Linux RAID Mirror apenas metade do tamanho

0

Acabei de comprar um par de WDs de 4TB e, por algum motivo, quando tento espelhá-los, o array resultante tem apenas 2198,9 GB de tamanho.

Ambos os discos são formatados como Autodetectação de RAID do Linux (ID fd) com fdisk e o comando usado para fazer a matriz é:

mdadm --create /dev/md/mirror0 --level=mirror --raid-devices=2 /dev/sdc1 /dev/sdd1

fdisk -l output:

Disk /dev/sdb: 4000.8 GB, 4000787030016 bytes
255 heads, 63 sectors/track, 486401 cylinders, total 7814037168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00000000

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1  4294967295  2147483647+  ee  GPT
Partition 1 does not start on physical sector boundary.

Disk /dev/sda: 120.0 GB, 120034123776 bytes
255 heads, 63 sectors/track, 14593 cylinders, total 234441648 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0002868b

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048   218292223   109145088   83  Linux
/dev/sda2       218294270   234440703     8073217    5  Extended
/dev/sda5       218294272   234440703     8073216   82  Linux swap / Solaris

Disk /dev/sdc: 4000.8 GB, 4000787030016 bytes
90 heads, 3 sectors/track, 28940878 cylinders, total 7814037168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0xa36de11e

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1            2048  4294967294  2147482623+  fd  Linux raid autodetect

Disk /dev/sdd: 4000.8 GB, 4000787030016 bytes
90 heads, 3 sectors/track, 28940878 cylinders, total 7814037168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x8708ffe6

   Device Boot      Start         End      Blocks   Id  System
/dev/sdd1            2048  4294967294  2147482623+  fd  Linux raid autodetect

Disk /dev/md127: 2198.9 GB, 2198887792640 bytes
2 heads, 4 sectors/track, 536837840 cylinders, total 4294702720 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00000000

O que estou fazendo de errado?

    
por MarkD 31.12.2016 / 19:08

2 respostas

0

Suas partições são de fato apenas 2T de tamanho - então o espelho criado sobre elas tem o mesmo tamanho de 2T. O total de setores é quase o dobro do que é atribuído à partição.

Compare as informações sobre o dispositivo completo:

Disk /dev/sdd: 4000.8 GB, 4000787030016 bytes
90 heads, 3 sectors/track, 28940878 cylinders, total 7814037168 sectors

Com a do ataque:

Disk /dev/md127: 2198.9 GB, 2198887792640 bytes
2 heads, 4 sectors/track, 536837840 cylinders, total 4294702720 sectors

Os setores possuem 512 bytes, portanto, 512 * 7814037168 = 4000787030016 ou 4T. Suas partições abrangem os setores 1-4294967295 = 512 * 4294967295 ou cerca de 2.2T.
"Blocos" são blocos de 1k, então você deve ver tamanhos de partições na vizinhança de 4000000000 blocos (mais como 3,9 bilhões de blocos atualmente) para o seu tamanho de disco.

O problema aqui é que você está usando o fdisk ; não suporta partições maiores que 2T (ou, mais corretamente, maiores que 2 ^ 31 blocos). Para criar partições maiores, use dividido .

Se você reconstruir as partições usando todo o disco e, em seguida, criar o seu espelho novamente com o mesmo comando que você mostrou aqui e ele deve ficar bem.

    
por 31.12.2016 / 19:50
0

Na saída de /dev/sdb , podemos supor que você tenha uma variante não compatível com GPT de fdisk . Assim, seus discos RAID são particionados usando o MBR (porque eles são visíveis). Uma partição MBR pode ter um máximo de 4294967295 setores. Com setores de 512 bytes, são 2 TiB - 512 Byte.

A solução também é simples: use o GPT.

    
por 31.12.2016 / 23:40