Não é possível criar zpool, como se livrar do volume do Intel Raid?

1

Este é um computador FreeBSD 9.1 amd64. Tem 5 discos instalados. Os discos ada0 e ada1 são usados com um hw raid para fornecer o sistema de arquivos raiz:

root@gw:/home/gandalf # ls /dev | grep ada
ada0
ada1
ada2
ada3
ada4
root@gw:/home/gandalf # zpool status
  pool: zroot
 state: ONLINE
  scan: none requested
config:

    NAME          STATE     READ WRITE CKSUM
    zroot         ONLINE       0     0     0
      raid/r0s1a  ONLINE       0     0     0

errors: No known data errors

Eu quero criar um pool raidz para os discos restantes:

root@gw:/home/gandalf # zpool create -f data raidz1 ada2 ada3 ada4
cannot create 'data': one or more devices is currently unavailable
root@gw:/home/gandalf # dmesg | grep ada2
ada2 at ata4 bus 0 scbus6 target 0 lun 0
ada2: <WDC WD20EARS-00MVWB0 51.0AB51> ATA-8 SATA 2.x device
ada2: 300.000MB/s transfers (SATA 2.x, UDMA5, PIO 8192bytes)
ada2: 1907729MB (3907029168 512 byte sectors: 16H 63S/T 16383C)
ada2: Previously was known as ad16
root@gw:/home/gandalf # dmesg | grep ada3
ada3 at ata5 bus 0 scbus7 target 0 lun 0
ada3: <SAMSUNG HD103UJ 1AA01118> ATA-7 SATA 2.x device
ada3: 300.000MB/s transfers (SATA 2.x, UDMA5, PIO 8192bytes)
ada3: 953868MB (1953523055 512 byte sectors: 16H 63S/T 16383C)
ada3: Previously was known as ad18
GEOM_RAID: Intel-fb8732fa: Disk ada3 state changed from NONE to ACTIVE.
GEOM_RAID: Intel-fb8732fa: Subdisk Volume0:0-ada3 state changed from NONE to ACTIVE.
root@gw:/home/gandalf # dmesg | grep ada4
ada4 at ata6 bus 0 scbus8 target 0 lun 0
ada4: <TOSHIBA DT01ACA100 MS2OA750> ATA-8 SATA 3.x device
ada4: 300.000MB/s transfers (SATA 2.x, UDMA5, PIO 8192bytes)
ada4: 953869MB (1953525168 512 byte sectors: 16H 63S/T 16383C)
ada4: Previously was known as ad20
root@gw:/home/gandalf # dmesg | grep GEOM_RAID

Aha, então ada3 já faz parte de outro volume de ataque? Vamos ver:

root@gw:/home/gandalf # dmesg | grep GEOM_RAID
GEOM_RAID: SiI-130628113902: Array SiI-130628113902 created.
GEOM_RAID: SiI-130628113902: Disk ada0 state changed from NONE to ACTIVE.
GEOM_RAID: SiI-130628113902: Subdisk SiI Raid1 Set:1-ada0 state changed from NONE to STALE.
GEOM_RAID: SiI-130628113902: Disk ada1 state changed from NONE to ACTIVE.
GEOM_RAID: SiI-130628113902: Subdisk SiI Raid1 Set:0-ada1 state changed from NONE to STALE.
GEOM_RAID: SiI-130628113902: Array started.
GEOM_RAID: SiI-130628113902: Subdisk SiI Raid1 Set:0-ada1 state changed from STALE to ACTIVE.
GEOM_RAID: SiI-130628113902: Subdisk SiI Raid1 Set:1-ada0 state changed from STALE to RESYNC.
GEOM_RAID: SiI-130628113902: Subdisk SiI Raid1 Set:1-ada0 rebuild start at 0.
GEOM_RAID: SiI-130628113902: Volume SiI Raid1 Set state changed from STARTING to SUBOPTIMAL.
GEOM_RAID: SiI-130628113902: Provider raid/r0 for volume SiI Raid1 Set created.
GEOM_RAID: Intel-fb8732fa: Array Intel-fb8732fa created.
GEOM_RAID: Intel-fb8732fa: Force array start due to timeout.
GEOM_RAID: Intel-fb8732fa: Disk ada3 state changed from NONE to ACTIVE.
GEOM_RAID: Intel-fb8732fa: Subdisk Volume0:0-ada3 state changed from NONE to ACTIVE.
GEOM_RAID: Intel-fb8732fa: Array started.
GEOM_RAID: Intel-fb8732fa: Volume Volume0 state changed from STARTING to DEGRADED.
GEOM_RAID: Intel-fb8732fa: Provider raid/r1 for volume Volume0 created.
root@gw:/home/gandalf # 

Sim, de fato. Eu quero me livrar do raid / r1 completamente. No entanto, o controlador já estava configurado para o modo "IDE" no BIOS. Então, por que está criando um volume de ataque ??? Eu também tentei sobrescrever os primeiros dados de 16k de ada3 e reiniciar o computador, mas isso não ajudou.

Como posso excluir / dev / raid / r1?

root@gw:/home/gandalf # graid status
   Name      Status  Components
raid/r0  SUBOPTIMAL  ada0 (ACTIVE (RESYNC 4%))
                     ada1 (ACTIVE (ACTIVE))
raid/r1    DEGRADED  ada3 (ACTIVE (ACTIVE))
root@gw:/home/gandalf # graid delete raid/r1
graid: Array 'raid/r1' not found.
root@gw:/home/gandalf # graid delete /dev/raid/r1
graid: Array '/dev/raid/r1' not found.
root@gw:/home/gandalf #

Obrigado

    
por nagylzs 29.06.2013 / 15:58

2 respostas

1

Esta não é uma resposta perfeita, mas aqui está o que eu fiz. Voltei a função RAID do controlador no BIOS. Então reiniciei o computador e entrei na BIOS da placa RAID. Mostrou o disco que fazia parte de um espelho, mas não estava funcional. (Eu não sei como isso aconteceu porque esse disco nunca foi parte de um espelho). Lá eu apaguei o disco. Em seguida, reiniciei o computador novamente, configure o BIOS de RAID para AHCI. Então reiniciado novamente. E voila! O FreeBSD agora poderia usá-los como discos simples, e a criação do zpool correu bem.

A moral da história: não importa o que você faz na BIOS. O FreeBSD + graid ainda reconhecerá e usará seus arrays RAID, mesmo que eles não estejam funcionais. A verdadeira questão: por que não consegui deletar o volume raid / r1 com graid - não sei a resposta para isso. Mas minha solução alternativa funciona (o único problema é que você precisa reiniciar os horários do servidor).

    
por 01.07.2013 / 08:39
2

(Eu sei que você já resolveu seu problema, mas eu achei isso quando procurava por uma resposta minha que resolvi de outra forma)

Eu tive um problema semelhante a este (em que o GRAID estava mexendo com o meu sistema) quando atualizei o FreeBSD com um pool existente do ZFS.

O conjunto ficou degradado e recebi o mesmo tipo de mensagens DMESG que você recebeu sobre um array sendo construído por GEOM_RAID.

Minha solução foi usar 'graid stop' e o nome fornecido como o nome do subdisk (no seu caso, seria 'Volume0'.

O nome da matriz em si (Intel-fb8732fa no seu caso) provavelmente também funcionou.

No entanto, você também precisa ter certeza de que o GRAID foi então descarregado do seu kernel (ou como um módulo) para que ele não seja executado em cada inicialização e faça a mesma coisa.

(a matriz reinicializou a próxima inicialização, mas eu consegui impedi-la usando o graid delete depois que ela voltou, já que não tinha desativado graid completamente)

    
por 06.11.2013 / 20:18