sábado, 14 de junho de 2014

Nem tudo da Apple é a quinta-essência

O sistema de arquivos usado no OS X (HFS+) possui sérias limitações.

HFS+ Bit Rot (Aymeric on Software) (via OSNews)
Mac OS X 10.7 Lion: the Ars Technica review (Ars Technica) (pág. 12)

Apesar do artigo dizer ser o HFS+ o responsável pelo bit rot, acho meio improvável que esteja tão escangalhado assim a ponto de corromper por conta os arquivos. Está mais para algo no hardware. Sistemas de arquivos que não mantêm checksums dos dados não possuem nenhuma forma de validar a integridade dos mesmos e simplesmente confiam no que o hardware entrega. Checksums dos metadados têm igual propósito, mas protegem apenas as estruturas do sistema de arquivos em si, não dos dados armazenados.

Comparando com os Unix-like, temos no Linux:
EXT4 - Apesar de ter também raízes nos anos 80, tem menos limitações. Peca pela forma como indexa espaço livre (bitmaps) e pela confusão de opções de formatação/montagem, algumas incompatíveis entre si. Enquanto escrevo (e2fsprogs 1.42.x), o mke2fs ainda não usa incondicionalmente a opção 64bit em volumes menores que 16 TiB. Isso impede redimensionar posteriormente o sistema de arquivos acima dessa marca.

O limite de tamanho de 16 TiB para arquivos existe mesmo com a opção 64bit. Para superá-lo, é necessário na formação usar a opção bigalloc: clusters de até 256 MiB (!), sendo o padrão 64 KiB (recomendação: se você precisar de bigalloc, pare e pense se não vale a pena migrar para o XFS). Desde o kernel 3.5, suporta checksums dos metadados. Ambos recursos, entretanto, não são considerados estáveis.

XFS - Definitivamente superior. Excelente design (usa árvores B+ para tudo). Sua primeira aparição foi em 1994 no IRIX 5.3; portado para Linux em 2001. Sinônimo de escalabilidade. Recentemente, ganhou checksums dos metadados (kernel 3.15, xfsprogs 3.2.0). Na mudança, o formato em disco foi alterado. Para ter CRCs (formato v5), o volume precisa ser formatado do zero com a opção -m crc=1 do mkfs.xfs. Recurso ainda não habilitado por padrão, porém considerado estável. A decisão de mudar o formato em disco foi tomada justamente para não comprometê-lo e acabar como os EXT, que, sendo em partes compatíveis entre si, obrigam o EXT4 carregar legado de suas encarnações anteriores. XFS é o sistema de arquivos padrão no RHEL 7.

Btrfs - Muito mais recursos: checksums dos dados e metadados, snapshots, subvolumes, compressão, funcionalidade RAID embutida, entre outros. Ainda em desenvolvimento.

Existem mais sistemas de arquivos suportados no kernel. Listei os três de uso geral que são ativamente desenvolvidos e mantidos.
Solaris e BSDs:
ZFS - Similar ao Btrfs em recursos. Seu diferencial: estável e usado em produção. Um mistério a Apple não tê-lo adotado no OS X levando em conta que o XNU é da família dos BSDs e a licença CDDL não deve trazer impeditivo.
Até a Microsoft, no ciclo de desenvolvimento do Windows Server 2012, viu que precisava de um sucessor para o NTFS que usasse checksums. Saiu o ReFS, cujo nome alude a sua principal novidade. Ainda não pode ser usado no volume do sistema (Windows 8.1/Server 2012 R2).

Quando o ReFS puder ser usado no volume do sistema (e o for por padrão) e o Btrfs for considerado estável, o OS X estará ainda pior na foto se até lá não tiver algo melhor do que o HFS+.

Relacionado:
Por que você deve considerar o XFS
Apareceu o sucessor do NTFS: ReFS

Nenhum comentário:

Postar um comentário