ZFS espelhou novas unidades adicionadas sem informar o tamanho correto

3

Estou executando o Ubuntu 16.04 no ZFS.

Eu tenho meu sistema operacional no rpool e meus dados em / tank

Problema: Eu adicionei 2 drives de 6 TB ao meu zvol usando o seguinte comando:

# zpool add -f tank mirror ${DISK1} ${DISK2}

As unidades adicionadas. Eu estava esperando ganhar algo perto de 6TB, mas ganhei 2TB adicionais. Aqui está a saída de df -h /tank

Filesystem      Size  Used Avail Use% Mounted on
tank            2.1T     0  2.1T   0% /tank

e aqui está a saída de # zpool list tank

NAME   SIZE  ALLOC   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT
tank  2.57T   460G  2.12T         -     7%    17%  1.00x  ONLINE  -

Aqui está a saída de # zpool status

pool: rpool
state: ONLINE
scan: scrub repaired 0 in 0h0m with 0 errors on Sun Feb 12 00:24:58 2017
config:

NAME                                                     STATE     READ WRITE CKSUM
rpool                                                    ONLINE       0     0     0
  mirror-0                                               ONLINE       0     0     0
    ata-Samsung_SSD_850_EVO_250GB_S2R5NB0HA87070Z-part1  ONLINE       0     0     0
    ata-Samsung_SSD_850_EVO_250GB_S2R5NB0HB09374D-part1  ONLINE       0     0     0

errors: No known data errors

pool: tank
state: ONLINE
scan: scrub repaired 0 in 1h8m with 0 errors on Sun Feb 12 01:32:07 2017
config:

NAME                                             STATE     READ WRITE CKSUM
tank                                             ONLINE       0     0     0
  mirror-0                                       ONLINE       0     0     0
    wwn-0x50014ee0561bff3f-part1                 ONLINE       0     0     0
    wwn-0x50014ee1011a7ad7-part1                 ONLINE       0     0     0
  mirror-1                                       ONLINE       0     0     0
    ata-ST6000NE0021-2EN11C_ZA14Q289             ONLINE       0     0     0
    ata-ST6000NE0021-2EN11C_ZA13YT32             ONLINE       0     0     0
cache
  ata-Samsung_SSD_850_PRO_512GB_S39FNX0J102027A  ONLINE       0     0     0

errors: No known data errors

Eu tentei # zpool set autoexpand=on tank , mas não alegria. Ainda relatando 2,5 TB.

Aqui está a saída de # lsblk

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0   477G  0 disk 
├─sda1   8:1    0   477G  0 part 
└─sda9   8:9    0     8M  0 part 
sdb      8:16   0     2T  0 disk 
├─sdb1   8:17   0     2T  0 part 
└─sdb9   8:25   0     8M  0 part 
sdc      8:32   0     2T  0 disk 
├─sdc1   8:33   0     2T  0 part 
└─sdc9   8:41   0     8M  0 part 
sdd      8:48   0 596.2G  0 disk 
└─sdd1   8:49   0 596.2G  0 part 
sde      8:64   0 596.2G  0 disk 
└─sde1   8:65   0 596.2G  0 part 
sdf      8:80   0 232.9G  0 disk 
├─sdf1   8:81   0 232.9G  0 part 
├─sdf2   8:82   0  1007K  0 part 
└─sdf9   8:89   0     8M  0 part 
sdg      8:96   0 232.9G  0 disk 
├─sdg1   8:97   0 232.9G  0 part 
├─sdg2   8:98   0  1007K  0 part 
└─sdg9   8:105  0     8M  0 part 
sr0     11:0    1  1024M  0 rom  
zd0    230:0    0     4G  0 disk [SWAP]

Chave:

sda = L2ARC para tanque (samsung pro)

sdb & sdc = Seagate Ironwolf 6TB (novo espelho no tanque)

sdd & sde = WD 596G drive no espelho do tanque

sdf & sdg = espelho rpool

Você sabe por que minha máquina está vendo apenas essas novas unidades como 2TB?

Há algo que eu possa fazer sobre isso?

Preciso destruir meu tanque para corrigir o problema (se houver uma correção)?

    
por posop 22.02.2017 / 00:26

2 respostas

1

Duas coisas acontecendo aqui.

  1. O seu controlador SATA provavelmente não suporta discos > 2TB. Você terá que obter um novo controlador para obter a capacidade total deles.
  2. Você adicionou um espelho de 2 TB (6 TB discos) a um pool com um vdev espelho de 596 GB. Embora isso tecnicamente forneça o armazenamento adicional ao pool, essa é uma configuração ruim para o desempenho. Considere o caso em que a piscina está vazia. As gravações estão espalhadas sobre os vdevs listrados para aumentar o desempenho. O vdev de 596 GB encherá muito mais rápido que o vdev de 2 TB, forçando o ZFS a escrever quase que exclusivamente para o vdev de 2 TB. Isso nega qualquer ganho de desempenho que você viria ao executar espelhos com listras.

Você sempre desejará o mesmo tamanho de unidade (acredito que, idealmente, até mesmo a mesma geometria) em todos os vdevs em um pool para um desempenho ideal.

Is there anything I can do about it?

Você não pode remover os vdevs agora que eles foram adicionados, mas você pode substituir os discos por discos maiores. Se você quer um ótimo desempenho aqui, você pode

  • a) Obtenha um controlador SATA que suporte unidades > 2TB e mais 2 unidades de 6TB para substituir a unidade de 596GB.
  • b) Obtenha 4 unidades de 2 TB e substitua todas as 4 unidades e use as unidades de 6 TB para outra coisa.

Will I need to destroy my tank to fix the issue (if there is a fix)?

Não com nenhuma das soluções acima. Se você quiser remover um dos espelhos, terá que recriar o pool.

    
por 23.02.2017 / 08:22
0

Ao analisar lsblk ouput, seus dispositivos são informados como discos de 2 TB. Isso significa que a destruição e a recriação do pool não terão efeito sobre o espaço disponível.

Suas portas SATA estão configuradas no modo Legacy / IDE? Se assim for, tente colocá-los no modo AHCI.

Além disso, poste a saída de dmesg | grep -i sdb

    
por 23.02.2017 / 10:54