我正在尝试使用 4 个裸驱动器设置 ZFS 池,这些驱动器已通过 SATA 热插拔背板连接到我的 Ubuntu 系统。
这些是日立 SATA 驱动器。当我列出 的内容时/dev/disk/by-id,我会看到每个驱动器的两个条目:
root@scorpius:/dev/disk/by-id# ls | grep Hitachi
ata-Hitachi_HDS5C3030ALA630_MJ1323YNG0ZJ7C
ata-Hitachi_HDS5C3030ALA630_MJ1323YNG1064C
ata-Hitachi_HDS5C3030ALA630_MJ1323YNG190AC
ata-Hitachi_HDS5C3030ALA630_MJ1323YNG1DGPC
scsi-SATA_Hitachi_HDS5C30_MJ1323YNG0ZJ7C
scsi-SATA_Hitachi_HDS5C30_MJ1323YNG1064C
scsi-SATA_Hitachi_HDS5C30_MJ1323YNG190AC
scsi-SATA_Hitachi_HDS5C30_MJ1323YNG1DGPC
Run Code Online (Sandbox Code Playgroud)
我知道这些是相同的驱动器,因为我记下了序列号,并且该系统中的所有其他驱动器都是 Seagate 或 WD。例如,第一个的序列号是 YNG0ZJ7C。
为什么这里每个驱动器有两个条目?更重要的是,当我创建 ZFS 池时,我应该使用哪个池;那个scsi-还是那个ata-?
我刚刚升级了 Ubuntu 14.04,服务器上有两个 ZFS 池。我在使用 ZFS 驱动程序和内核版本时遇到了一些小问题,但现在已经解决了。一个池上线,安装良好。另一个没有。该工具之间的主要区别是一个只是磁盘池(视频/音乐存储),另一个是 raidz 集(文档等)
我已经尝试导出和重新导入池,但无济于事,尝试导入让我得到这个:
root@kyou:/home/matt# zpool import -fFX -d /dev/disk/by-id/
pool: storage
id: 15855792916570596778
state: UNAVAIL
status: One or more devices contains corrupted data.
action: The pool cannot be imported due to damaged devices or data.
see: http://zfsonlinux.org/msg/ZFS-8000-5E
config:
storage UNAVAIL insufficient replicas
raidz1-0 UNAVAIL insufficient replicas
ata-SAMSUNG_HD103SJ_S246J90B134910 UNAVAIL
ata-WDC_WD10EARS-00Y5B1_WD-WMAV51422523 UNAVAIL
ata-WDC_WD10EARS-00Y5B1_WD-WMAV51535969 UNAVAIL
Run Code Online (Sandbox Code Playgroud)
那些的符号链接/dev/disk/by-id也存在:
root@kyou:/home/matt# ls -l /dev/disk/by-id/ata-SAMSUNG_HD103SJ_S246J90B134910* /dev/disk/by-id/ata-WDC_WD10EARS-00Y5B1_WD-WMAV51*
lrwxrwxrwx 1 root root 9 May 27 19:31 /dev/disk/by-id/ata-SAMSUNG_HD103SJ_S246J90B134910 -> ../../sdb
lrwxrwxrwx 1 …Run Code Online (Sandbox Code Playgroud) 我已将 Ubuntu 从 13.04 版更新到 13.10 版,结果发现 SATA 磁盘 ID 已更改,并且我的 ZFS 池现在出现故障。
在新的 Ubuntu 13.10 上,磁盘 ID 现在是 ata-* 而不是 scsi-SATA_*。
这是更新后的池状态:
pool: nestpool
state: UNAVAIL
status: One or more devices could not be used because the label is missing
or invalid. There are insufficient replicas for the pool to continue
functioning.
action: Destroy and re-create the pool from
a backup source.
see: http://zfsonlinux.org/msg/ZFS-8000-5E
scan: none requested
config:
NAME STATE READ WRITE CKSUM
nestpool UNAVAIL 0 0 0 insufficient …Run Code Online (Sandbox Code Playgroud) 我在 Ubuntu 14.04 上创建了一个 ZFS 池,没有指定 RAID 或冗余选项,向其中写入了一些数据,重新启动了机器并且池不再可用(UNAVAIL)。我手头没有确切的错误,但它提到没有足够的复制可用。我在由 2 个 3TB 磁盘组成的池中创建了两个数据存储。ZFS 因其重复数据删除能力而被推荐给我,我目前并不关心冗余。
我实际上只想要 RAID0,所以短期内没有镜像或冗余。有没有办法用 ZFS 做到这一点,或者我会更好地使用 LVM?
zpool status -v:
sudo zpool status -v
pool: cryptoporticus
state: UNAVAIL
status: One or more devices could not be used because the label is missing
or invalid. There are insufficient replicas for the pool to continue
functioning.
action: Destroy and re-create the pool from
a backup source.
see: http://zfsonlinux.org/msg/ZFS-8000-5E
scan: none requested
config:
NAME STATE READ WRITE CKSUM
cryptoporticus UNAVAIL 0 0 …Run Code Online (Sandbox Code Playgroud) ubuntu ×3
zfs ×3
linux ×2
zfsonlinux ×2
lvm ×1
redundancy ×1
sata ×1
scsi ×1
ubuntu-13.04 ×1
zpool ×1