Ir para o conteúdo
ou

Software livre Brasil

 Voltar a Blog do Marc...
Tela cheia

Em breve no Kernel Linux 3.5 - Parte 2 - Sistemas de Arquivos e Armazenamento

3 de Julho de 2012, 0:00 , por Software Livre Brasil - | Ninguém está seguindo este artigo ainda.
Visualizado 318 vezes

Tux ElectricalAutor: Thorsten Leemhuis (Copyright (c) 2012 Heise Media UK Ltd.)
Traduzido: Marcelo Soares Souza (Dúvidas e melhorias na tradução envie por E-mail)
Originalmente: http://h-online.com/-1630816

O Linux 3.5 agora é capaz de "FireWire Target Disk Mode", recurso familiar ao Mac. O Btrfs pode registrar mais erros de dados, permitindo que dispositivos de armazenamento instáveis sejam identificados. Verificações de checksums foram implementados para garantir a consistência dos metadados no Ext4.
 
Juntamente com o a infraestrutura de software Linux-Iscsi.org[1] (LIO), a nova estrutura do módulo FireWire SBP-2[2] permite que o Linux 3.5 exporte dispositivos de armazenamento locais através da FireWire, assim outros sistemas podem montar um dispositivo de armazenamento FireWire remotamente. Muitos sistemas Apple oferecem tais "FireWire target disk mode[3]" já a algum tempo; um screenshot[4] de um dos desenvolvedores desta solução demonstra que o MacOS X pode montar um dispositivo FireWire que um sistema Linux disponibilizou através desta nova estrutura no módulo FireWire.
 
O nova estrutura do módulo TCM_QLA2XXX[5], juntamente com o suporte necessário[6] no driver Qla2xxx, permitem ao Linux operar como um "SCSI target" com as controladoras FC (fiber channel) Qlogic 2400, 2500 e 2600; o mesmo também pode ser feito com dispositivos USB [7] via UASP (USB Attached SCSI Protocol), desde que a controladora USB seja capaz de funcionalidades que permitam ao dispositivo USB operar como mestre.
 
Btrfs

 
Os desenvolvedores do Btrfs fizeram grandes mudanças[10], no ainda experimental sistema de arquivos, na manipulação de writeback; no email[11] para esta requisição de Git-Pull para o Linux 3.5, Chris Mason escreve que as mudanças foram projetadas para prevenir picos de latência que ocorrem ocasionalmente ao escrever metadados. Na mensagem, Mason também menciona que ele encontrou alguns problemas no código do Btrfs no suporte a RAID 5 e 6, que ainda estão em desenvolvimento; o mantenedor portanto não submeteu estas últimas correções para inclusão na versão 3.5.
 
Mason submeteu algumas funcionalidades para contar erros de dados que são detectados pelo Btrfs; este rastreamento de falhas é projetado para permitir que administradores de sistema identifiquem dispositivos de armazenamento instáveis e os substituam se necessário (1[12], 2[13], 3[14]). Agora o código fonte do sistema de arquivos também inclui alguns componentes básicos para envio/recebimento e quota de subvolume, embora os desenvolvedores ainda estejam trabalhando nestas funcionalidades.
 
Ext4
 
Agora o Ext4 pode adicionar verificações de checksum CRC32[15] a muitas das partes dos seus metadados (1[16], 2[17], 3[18], 4[19], 5[20]). Se a verificação de checksum revelar corrompimentos, o kernel pode recusar a montar um sistema de arquivos para evitar a corrupção acidental dos dados do usuário; se o corrompimento é detectado durante a operação, o kernel pode remontar o sistema de arquivo apenas para leitura (read-only). como explicado[21] pelo desenvolvedor do Ext4 Theodore "tytso" Ts'o, a funcionalidade de checksum só pode ser utilizado com uma versão de desenvolvimento da ferramenta E2fsprogs; Ts'o disse que ele não recomenda as pessoas a utilizarem esta funcionalidade neste momento. A funcionalidade de checksum pode ser habilitada manualmente através da ferramenta Tune2fs ou diretamente quando se formata um dispositivo via Mkfs.ext4; porém, kernels antigos podem apenas montar estas partições Ext4 no modo de leitura apenas.
 
Diversos
 
O código do subsistema MD (RAID por software) agora pode usar[22] as instruções AVX de processadores recentes para realizar operações XOR que são utilizadas para RAID 5. O código do MD também pode remodelar[23] uma RAID 10; como resultado, o número de dispositivos de armazenamento em tal RAID pode ser modificada.
 
Os desenvolvedores do Kernel consertaram diversos problemas de sincronização[24] em drivers de disquete (floppy) que se tornaram mais aparente em ferramentas de virtualização por conta de que a emulação de drivers de floppy disk trabalham mais rápido dos que os físicos.
 
Também aprimoraram o suporte ao sistema de arquivos HFS que possua entradas em codificação especificas de algumas regiões (1[25], 2[26]).
 
Os novos arquivos /proc/<pid>/task/<tid>/children em procfs[28] ajudam a identificar os processos filhos de um processo; a médio prazo, esta e várias outras extensões estão planejadas para formar a base para a movimentação de containers Linux para outros hosts durante sua operação (Checkpoint e Reinicio; C/R).
 
Os desenvolvedores do cliente CIFS adicionaram diversos componentes básicos para suportar o protocolo Server Message Block 2[29] (SMB2) que foi introduzido no Windows Vista; porém, o suporte ainda esta incompleto e foi, portanto, marcado como "quebrado" (1[30], 2[31]).
 
O FUSE agora oferece [32] a funcionalidade "punch hole", recurso disponível através da chamada "fallocate" e permite aos programas informarem o sistema de arquivos sobre áreas dentro de um arquivo que não contém mais dados. A funcionalidade é útil para tarefas como manter arquivos esparsos pequenos e também é suportado [33] pelo Tmpfs, que agora também oferece realocação via Fallocate[34] assim como SEEK_DATA e SEEK_HOLE[35].
 
O "XFS status update for May 2012[36]" menciona várias novas funcionalidades no XFS. Mudanças em outras áreas podem ser encontrado no núcleo do Block I/O [37], Ceph[38], Infiniband[39], servidor NFS [40] e nas requisições de Git-Pull da infraestrutura de target[41].
 
Links deste artigo
[1] http://linux-iscsi.org/
[2] http://git.kernel.org/linus/a511ce3397803558a3591e55423f3ae6aa28c9db
[3] http://support.apple.com/kb/HT1661
[4] http://linux-iscsi.org/wiki/File%3ALinux-fireware-target-bootc-macosx.png
[5] http://git.kernel.org/linus/75f8c1f693eefacc17a65614eb4ed1ee0f84fda6
[6] http://git.kernel.org/linus/2d70c103fd2a066f904712b14239a5ce141f8236
[7] http://git.kernel.org/linus/c52661d60f636d17e26ad834457db333bd1df494
[8] http://thread.gmane.org/gmane.linux.kernel/1321063
[9] http://www.tux.org/lkml/
[10] http://git.kernel.org/linus/5fd02043553b02867b29de1ac9fff2ec16b84def
[11] http://article.gmane.org/gmane.linux.kernel/1306605
[12] http://git.kernel.org/linus/442a4f6308e694e0fa6025708bd5e4e424bbf51c
[13] http://git.kernel.org/linus/c11d2c236cc260b36ef644700fbe99bcc7e7da33
[14] http://git.kernel.org/linus/733f4fbbc1083aa343da739f46ee839705d6cfe3
[15] http://lwn.net/Articles/469805/
[16] http://git.kernel.org/linus/b0336e8d2108e6302aecaadd17c6c0bd686da22d
[17] http://git.kernel.org/linus/814525f4df50a196464ce2c7abe91f693203060f
[18] http://git.kernel.org/linus/d25425f8e0ed01fc0167c043aee7e619fc3f6ab2
[19] http://git.kernel.org/linus/5c359a47e7d999a0ea7f397da2c15590d0a82815
[20] http://git.kernel.org/linus/e93376c20b70d1e62bb3246acd1bbe21fe58859f
[21] http://article.gmane.org/gmane.comp.file-systems.ext4/32653
[22] http://git.kernel.org/linus/ea4d26ae24e58fbd2c61de9242adab053cb982d8
[23] http://git.kernel.org/linus/3ea7daa5d7fde47cd41f4d56c2deb949114da9d6
[24] http://git.kernel.org/linus/070ad7e793dc6ff753ee682ef7790b3373b471f6
[25] http://git.kernel.org/linus/71ca97da9d027009d318d319cbacf54a72f666c1
[26] http://git.kernel.org/linus/8b8c0daa2c5388b629e506f8fac486392f81c826
[27] http://git.kernel.org/linus/cc8394d86f045b86ff303d3c9e4ce47d97148951
[28] http://git.kernel.org/linus/818411616baf46ceba0cff6f05af3a9b294734f7
[29] http://en.wikipedia.org/wiki/Server_Message_Block#SMB2
[30] http://git.kernel.org/linus/675f36fb1dfc14eb9f6136cbac505e819ae4be9d
[31] http://git.kernel.org/linus/1080ef758fb87f286b25277d8373e680a9e73363
[32] http://git.kernel.org/linus/05ba1f0823004e947748523782e9c2f07f3bff0d
[33] http://git.kernel.org/linus/83e4fa9c16e4af7122e31be3eca5d57881d236fe
[34] http://git.kernel.org/linus/e2d12e22c59ce714008aa5266d769f8568d74eac
[35] http://git.kernel.org/linus/4fb5ef089b288942c6fc3f85c4ecb4016c1aa4c3
[36] http://thread.gmane.org/gmane.linux.kernel/1314824
[37] http://thread.gmane.org/gmane.linux.kernel/1305479
[38] http://thread.gmane.org/gmane.comp.file-systems.ceph.devel/6710
[39] http://thread.gmane.org/gmane.linux.drivers.rdma/11996
[40] http://thread.gmane.org/gmane.linux.nfs/50213
[41] http://thread.gmane.org/gmane.linux.scsi.target.devel/1918


Tags deste artigo: desenvolvimento gnu kernel software livre linux