感谢 PPA,我拥有一个支持 ZFS 的 Ubuntu (13.04) 桌面zfs-native/stable
。
一切都运行良好。我inground
使用以下命令创建了一个名为 RAID-Z1 的池:
zpool create inground raidz1 sdb sdc sdd sde sdf
后来,在无法访问我创建的挂载点后,我跑了起来,当我看到池中的 1和 2 个vdevzpool status
时,我差点从椅子上摔下来。深呼吸几次后,我注意到,当我最近重新启动系统时,我的塔式机箱的前端口之一中有一个 USD 拇指驱动器。这导致所有映射都发生了变化,一切都变得有意义了。我移除了 USB 驱动器,重新启动,一切正常。unavailable
corrupt
/dev/sd*
我的问题是,我该如何防止将来发生这种情况?在将物理驱动器作为 vdev 添加到 zpool 时,是否有其他规范的标识符可用于引用物理驱动器?
答案1
在 SCSI 设备名称可以更改的情况下,您不应该将 /dev/sdX 名称用于 ZFS 池。请参阅 /dev/disk 下的选项...
[root@Davalan /dev/disk]# cd by-
by-id/ by-path/ by-uuid/
我通常使用这些/dev/disk/by-id
条目来表示我的 Linux zpools......
# zpool status
pool: vol1
state: ONLINE
scan: scrub repaired 0 in 1h44m with 0 errors on Sat Jul 6 13:12:06 2013
config:
NAME STATE READ WRITE CKSUM
vol1 ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
scsi-35000c5003af99fa7 ONLINE 0 0 0
scsi-35000cca0153ec2d0 ONLINE 0 0 0
mirror-1 ONLINE 0 0 0
scsi-35000cca01540e340 ONLINE 0 0 0
scsi-35000cca01540e298 ONLINE 0 0 0
cache
ata-STEC_M8IOPS-50_STM000136649 ONLINE 0 0 0
和...
[root@Davalan /dev/disk/by-id]# ls -1
ata-STEC_M8IOPS-50_STM000136649
ata-STEC_M8IOPS-50_STM000136649-part1
ata-STEC_M8IOPS-50_STM000136649-part9
scsi-35000c5003af99fa7
scsi-35000c5003af99fa7-part1
scsi-35000c5003af99fa7-part9
scsi-35000cca0153ec2d0
scsi-35000cca0153ec2d0-part1
scsi-35000cca0153ec2d0-part9
scsi-35000cca01540e298
scsi-35000cca01540e298-part1
scsi-35000cca01540e298-part9
scsi-35000cca01540e340
scsi-35000cca01540e340-part1
scsi-35000cca01540e340-part9
scsi-SATA_STEC_M8IOPS-50_STM000136649
scsi-SATA_STEC_M8IOPS-50_STM000136649-part1
scsi-SATA_STEC_M8IOPS-50_STM000136649-part9
wwn-0x5000a720300411f7
wwn-0x5000a720300411f7-part1
wwn-0x5000a720300411f7-part9
wwn-0x5000c5003af99fa7
wwn-0x5000c5003af99fa7-part1
wwn-0x5000c5003af99fa7-part9
wwn-0x5000cca0153ec2d0
wwn-0x5000cca0153ec2d0-part1
wwn-0x5000cca0153ec2d0-part9
wwn-0x5000cca01540e298
wwn-0x5000cca01540e298-part1
wwn-0x5000cca01540e298-part9
wwn-0x5000cca01540e340
wwn-0x5000cca01540e340-part1
wwn-0x5000cca01540e340-part9
答案2
好消息是,您可以通过导出并重新导入池来更改 vdev 配置方案。(来自Linux 上的 ZFS 文档)
admin@Test-ZFS:~$ sudo zpool status tankz
pool: tankz
state: ONLINE
scan: resilvered 15K in 0h0m with 0 errors on Tue Feb 25 16:36:18 2014
config:
NAME STATE READ WRITE CKSUM
tankz ONLINE 0 0 0
raidz1-0 ONLINE 0 0 0
sdc ONLINE 0 0 0
sde ONLINE 0 0 0
sdd ONLINE 0 0 0
errors: No known data errors
admin@Test-ZFS:~$ sudo zpool export tankz
admin@Test-ZFS:~$ sudo zpool import -d /dev/disk/by-id tankz
admin@Test-ZFS:~$ sudo zpool status tankz
pool: tankz
state: ONLINE
scan: resilvered 15K in 0h0m with 0 errors on Tue Feb 25 16:36:18 2014
config:
NAME STATE READ WRITE CKSUM
tankz ONLINE 0 0 0
raidz1-0 ONLINE 0 0 0
ata-VBOX_HARDDISK_VB3b2901c3-c7700ec9 ONLINE 0 0 0
ata-VBOX_HARDDISK_VB4ad696a7-d3e6b542 ONLINE 0 0 0
ata-VBOX_HARDDISK_VBbed2a908-5ddcaedb ONLINE 0 0 0
errors: No known data errors