这是一台FreeBSD 9.1 amd64电脑。 它有5个磁盘安装。 ada0和ada1磁盘用于hw raid以提供根文件系统:
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
我想为其余的磁盘创build一个raidz池:
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
啊哈,所以ada3已经是另一个raid卷的一部分了? 让我们来看看:
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 #
确实是的。 我想彻底摆脱raid / r1。 但是,控制器已经在BIOS中设置为“IDE”模式。 那么,为什么它正在创build一个RAID的? 我也尝试覆盖ada3的第一个16k数据,并重新启动计算机,但没有帮助。
我怎样才能删除/ 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 #
谢谢
(我知道你已经解决了你的问题,但当我寻找自己的答案时,我发现了这个问题,我解决了另一种方式)
当我用现有的ZFS池升级FreeBSD时,我遇到了类似于这个问题的问题(因为GRAID与我的系统混淆了)。
池然后变得退化,我收到了你收到的有关由GEOM_RAID构build的数组的相同types的DMESG消息。
我的解决scheme是使用“graid stop”和作为子磁盘名称提供的名称(在您的情况下,将是“Volume0”)。
arrays本身的名字(英特尔-fb8732fa在你的情况)可能也会奏效。
然而,你也需要确保GRAID从你的内核(或者作为一个模块)被卸载,这样它就不会在每次启动时运行,并且执行相同的操作。
(数组没有重新初始化下一次启动,但是我设法通过使用graid delete来防止它重新启动,因为我没有完全禁用graid)
这不是一个完美的答案,但这是我做的。 我在BIOS中将控制器的RAIDfunction转回。 然后我重新启动电脑,进入RAID卡的BIOS。 它显示了镜像的一部分,但没有function的磁盘。 (我不知道这是怎么发生的,因为这个磁盘从来不是镜像的一部分。)我已经删除了磁盘。 然后重新启动计算机,将BIOS从RAID设置为AHCI。 然后再次重新启动。 瞧! FreeBSD现在可以使用它们作为简单的磁盘,并且zpool的创build进行得很顺利。
故事的寓意:在BIOS中做什么并不重要。 FreeBSD + graid仍然可以识别和使用你的RAIDarrays,即使它们不起作用。 真正的问题是:为什么我无法用raid删除raid / r1卷 – 我不知道这个答案。 但我的解决scheme解决scheme工作(唯一的问题是,你必须重新启动计算机次)。