A opção de montagem nodatacow deve ser usada no btrfs em um servidor de banco de dados? Desativa as somas de verificação de corrupção de bits?

5

Eu estou olhando para implementar o btrfs na configuração do RAID 10 para um servidor de banco de dados e estou confuso sobre a opção nodatacow.

De acordo com o link :

Files with a lot of random writes can become heavily fragmented (10000+ extents) causing trashing on HDDs and excessive multi-second spikes of CPU load on systems with an SSD or large amount a RAM. On servers and workstations this affects databases and virtual machine images. The nodatacow mount option may be of use here, with associated gotchas.

A documentação indica então que a opção nodatacow é:

Do not copy-on-write data for newly created files, existing files are unaffected. This also turns off checksumming! IOW, nodatacow implies nodatasum. datacow is used to ensure the user either has access to the old version of a file, or to the newer version of the file. datacow makes sure we never have partially updated files written to disk. nodatacow gives slight performance boost by directly overwriting data (like ext[234]), at the expense of potentially getting partially updated files on system failures. Performance gain is usually < 5% unless the workload is random writes to large database files, where the difference can become very large. NOTE: switches off compression !

Isso significa que essa opção deve ser selecionada para discos em servidores de banco de dados E isso usando essa opção desativará as somas de verificação de corrupção?

    
por Greg 14.09.2016 / 17:36

1 resposta

1

Sim, geralmente é uma boa idéia para bancos de dados e sim desativa a soma de verificação (pelo mesmo motivo que desabilita a compactação em linha e provavelmente também desabilitará a criptografia depois que ela for implementada).

Dito isto, é geralmente uma idéia melhor não montar o sistema de arquivos inteiro com ele e, em vez disso, marcar o diretório no qual os arquivos do banco de dados serão armazenados antes de serem criados executando chattr +C nele. Esse atributo específico tem o mesmo efeito que a opção nodatacow mount, mas opera em uma base por arquivo e é herdado do diretório em que um arquivo é criado.

    
por 14.07.2017 / 19:38