Estou tentando criar (duas) matrizes RAID1 de software em duas unidades idênticas de 4 TB sem inicialização. Estou seguindo conselhos de vários posts do fórum, mas continuo tendo problemas. Aqui está o que fiz até agora:
para cada unidade nova (/dev/sdb e /dev/sdc):
sudo fdisk <drive>
"o" para criar uma nova tabela de partições (acho que isso é necessário?)
"n" para criar uma nova partição
"p" e "1" para criar a partição primária nº 1
Início da partição "2048" (padrão)
A partição "+3500M" termina em 3,5 GB.
Repita com "p", "2", , "+500M" para criar uma partição menor de 500 MB
Isso cria /dev/sdb1, /dev/sdb2, /dev/sdc1, /dev/sdc2
Crie matrizes de ataque:
sudo mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sdb1 /dev/sdc1
- Repita com /dev/md0, /dev/sdb2, /dev/sdc2
Criar sistema de arquivos:
sudo mkfs -t ext4 /dev/md0
A criação do sistema de arquivos não resulta em erros, mas se eu executar, sudo fdisk -l /dev/md0
obtenho:
Disk /dev/md0: 3667 MB, 3667853312 bytes
2 heads, 4 sectors/track, 895472 cylinders, total 7163776 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
Disk /dev/md0 doesn't contain a valid partition table
Não consigo consertar o problema "não contém uma tabela de partição válida". Isso é um problema ou deveria ser assim?
Pergunta bônus: supondo que esses dois arrays funcionem, qual é o local "padrão" para montá-los? Raiz?
Responder1
Como você não criou umtabela de partição, e apenas uma partição, sim, deveria ser assim.
Exemplo:
$ dd if=/dev/zero of=/tmp/file bs=4096 count=$((1024*1024 / 4096))
$ mkfs -t ext4 /tmp/file
mke2fs 1.42.9 (4-Feb-2014)
/tmp/file is not a block special device.
Proceed anyway? (y,n) y
$ fdisk -l !$
fdisk -l /tmp/file
Disk /tmp/file: 1 MB, 1048576 bytes
255 heads, 63 sectors/track, 0 cylinders, total 2048 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: 0x00000000
Disk /tmp/file doesn't contain a valid partition table
Para fazer uma tabela de partições, você usaalgo como:
parted /dev/md0 mklabel msdos
Com fdisk
:
$ fdisk /tmp/file
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0xb1f4c1d2.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
You must set cylinders.
You can do this from the extra functions menu.
Command (m for help): w
Basta abri-lo para fdisk
criar uma tabela de partições. Use w
para salvá-lo. Você precisará criar uma nova partição dentro dela.
Você provavelmente não precisará disso se todo o dispositivo estiver indo para uma partição.