Até aqui trabalhamos com RAIDZ-1 usando dois discos. Irei passar alguns exemplos de raid com 4 discos.
Discos que Usarei Nesse Artigo
Usarei os 4 alaranjados abaixo para criar o pool
elder@server02:~$ lsblk -d NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 12G 0 disk sdb 8:16 0 100M 0 disk sdc 8:32 0 100M 0 disk sdd 8:48 0 100M 0 disk sde 8:64 0 100M 0 disk sdf 8:80 0 100M 0 disk
Um Pool Simpes
Na verdade se trata de um raid-0, se um dos discos danificar então estará tudo perdito se não houver backup em algum outro lugar
elder@server02:~$ sudo zpool create meuPool sdb sdc sdd sde
Veja como ficou nosso raidz-0.
elder@server02:~$ sudo zpool status pool: meuPool state: ONLINE scan: none requested config: NAME STATE READ WRITE CKSUM meuPool ONLINE 0 0 0 sdb ONLINE 0 0 0 sdc ONLINE 0 0 0 sdd ONLINE 0 0 0 sde ONLINE 0 0 0 errors: No known data errors
Se um dos 4 disco morrer todos os dados vão para o espaço sideral!
A vantagem é o tamanho. A soma dos 4 discos de 100MB
elder@server02:~$ sudo zpool list NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT meuPool 320M 110K 320M - - 0% 0% 1.00x ONLINE -
Vamos destruir o pool
elder@server02:~$ sudo zpool destroy meuPool
Criando RAID Simples Espelhado
Iremos espelhar os 4 discos
elder@server02:~$ sudo zpool create meuPool mirror sdb sdc sdd sde
Olha o status, todos os discos fazem parte do mirror-0. Não confunda mirror-0 com raid-0. Mirror-0 aqui é apenas rótulo, um nome qualquer atribuído. Na verdade, abaixo temos um raidz-1
elder@server02:~$ sudo zpool status pool: meuPool state: ONLINE scan: none requested config: NAME STATE READ WRITE CKSUM meuPool ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 sdb ONLINE 0 0 0 sdc ONLINE 0 0 0 sdd ONLINE 0 0 0 sde ONLINE 0 0 0 errors: No known data error
Vejamos o tamanho, capacidade de armazenamento
elder@server02:~$ sudo zpool list NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT meuPool 80M 108K 79,9M - - 3% 0% 1.00x ONLINE -
Na verdade, 4 discos ficam como se fosse apenas um e isso até no tamanho. Mas para perder os dados seria preciso os 4 discos queimarem. Mas assim não é o que prefiro!
Destrua o pool
elder@server02:~$ sudo zpool destroy meuPool
Criando RAID-10
RAID-10 é junção do raid-1 + raid-0. Na verdade temos dois raid-0 que se juntam formando raid-10
elder@server02:~$ sudo zpool create meuPool mirror sdb sdc mirror sdd sde
Vejamos o status
elder@server02:~$ sudo zpool status pool: meuPool state: ONLINE scan: none requested config: NAME STATE READ WRITE CKSUM meuPool ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 sdb ONLINE 0 0 0 sdc ONLINE 0 0 0 mirror-1 ONLINE 0 0 0 sdd ONLINE 0 0 0 sde ONLINE 0 0 0 errors: No known data errors
A capacidade de armazenamento
elder@server02:~$ sudo zpool list NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT meuPool 160M 108K 160M - - 1% 0% 1.00x ONLINE -
Temos 4 discos de 100, mas no raid ficamos com a capacidade de apenas 2 dos 4 discos.
destrua o pool
elder@server02:~$ sudo zpool destroy meuPool
Conclusão
Esse post foi mais um reforço do que já vimos nos anteriores.
Aqui tivemos um bom entendimento sobre pool e VDEVs. VDEVs são os dispositivos físicos que usamos, no caso os discos; pool é o espaço disponibilizado na junção dos VDEVs. Com o pool pronto podemos criar os datasets conforme vimos em outros artigos.