Criando uma matriz RAID1, “O disco não contém uma tabela de partição válida”

0

Estou tentando criar (dois) arrays RAID1 de software em duas unidades idênticas de 4 TB que não são de inicialização. Estou seguindo o conselho de vários posts do fórum, mas continuo com problemas. Aqui está o que eu fiz até agora:

  • para cada drive novo (/ 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 nova partição

    • "p" e "1" para criar a partição primária # 1

    • "2048" (padrão) início da partição

    • "+ 3500M" final da partição em 3,5 GB.

    • Repita com "p", "2", "+ 500M" para criar uma partição menor de 500MB

    • Isto cria / dev / sdb1, / dev / sdb2, / dev / sdc1, / dev / sdc2

  • Criar arrays de raid: 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 resulta em nenhum erro, 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 a coisa "não contém uma tabela de partição válida". Isso é um problema ou é para ser assim?

Pergunta bônus: supondo que eu tenha esses dois arrays funcionando, qual é o local "padrão" para montá-los? Raiz?

    
por JaredL 19.09.2014 / 21:39

1 resposta

0

Como você não criou uma tabela de partições e apenas uma partição, sim, é suposto que seja 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 criar uma tabela de partições, use algo 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 com fdisk para 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á dele se o dispositivo inteiro estiver indo para uma partição.

    
por muru 20.09.2014 / 08:14