O striping combina várias unidades de disco em um único volume. O striping pode ser realizado através do uso de hardwares controladores de RAID. O subsistema de disco GEOM fornece suporte de software para striping de disco, também conhecido como RAID0, sem a necessidade de um controlador RAID de disco.
No RAID0, os dados são divididos em blocos que são gravados em todas as unidades do array. Como pode ser visto na ilustração a seguir, em vez de esperar no sistema para gravar 256k em um disco, o RAID0 pode gravar 64k simultaneamente em cada um dos quatro discos do array, oferecendo um desempenho de I/O superior. Esse desempenho pode ser aprimorado ainda mais usando vários controladores de disco.
Cada disco em um stripe RAID0 deve ser do mesmo tamanho, pois as solicitações de I/O são intercaladas para ler ou gravar em vários discos em paralelo.
O RAID0 não fornece qualquer redundância. Isso significa que, se um disco no array falhar, todos os dados nos discos serão perdidos. Se os dados forem importantes, implemente uma estratégia de backup que salva regularmente os backups em um sistema ou dispositivo remoto.
O processo para criar um RAID0 por software, baseado no GEOM, em um sistema FreeBSD usando discos comuns é o seguinte. Uma vez que o stripe tiver sido criado, consulte gstripe(8) para obter maioress informações sobre como controlar uma stripe existente.
Carregue o módulo geom_stripe.ko
:
#
kldload geom_stripe
Assegure-se de que exista um ponto de montagem adequado. Se esse volume se tornar uma partição root, use temporariamente outro ponto de montagem, como /mnt
.
Determine os nomes dos dispositivos para os discos que serão striped e crie o novo dispositivo de stripe. Por exemplo, para distribuir dois discos ATA não utilizados e não particionados com nomes de dispositivos /dev/ad2
e /dev/ad3
:
#
gstripe label -v st0 /dev/ad2 /dev/ad3
Metadata value stored on /dev/ad2. Metadata value stored on /dev/ad3. Done.
Escreva um label padrão, também conhecido como tabela de partição, no novo volume e instale o código do bootstrap padrão:
#
bsdlabel -wB /dev/stripe/st0
Este processo deve criar dois outros dispositivos em /dev/stripe
além de st0
. Esses incluem o st0a
e o st0c
. Neste ponto, um sistema de arquivos UFS pode ser criado no st0a
usando o newfs
:
#
newfs -U /dev/stripe/st0a
Muitos números irão deslizar pela tela e, após alguns segundos, o processo será concluído. O volume foi criado e está pronto para ser montado.
Para montar manualmente o stripe de disco criado:
#
mount /dev/stripe/st0a /mnt
Para montar este sistema de arquivos distribuído automaticamente durante o processo de inicialização, coloque as informações do volume no arquivo /etc/fstab
. Neste exemplo, um ponto de montagem permanente, chamado stripe
, é criado:
#
mkdir /stripe
#
echo "/dev/stripe/st0a /stripe ufs rw 2 2" \
>> /etc/fstab
O módulo geom_stripe.ko
também deve ser carregado automaticamente durante a inicialização do sistema, adicionando uma linha ao arquivo /boot/loader.conf
:
#
echo 'geom_stripe_load="YES"' >> /boot/loader.conf
All FreeBSD documents are available for download at https://download.freebsd.org/ftp/doc/
Questions that are not answered by the
documentation may be
sent to <freebsd-questions@FreeBSD.org>.
Send questions about this document to <freebsd-doc@FreeBSD.org>.