![Linux 上的 zfs 设备名称](https://linux22.com/image/185675/Linux%20%E4%B8%8A%E7%9A%84%20zfs%20%E8%AE%BE%E5%A4%87%E5%90%8D%E7%A7%B0.png)
我是一个土生土长的 Solaris 人,当我研究更多的 Linux 使用时,我对在一些关于 Linux 上的 ZFS 的帖子中看到的主题有点困惑。
这些帖子提到了定义池时使用设备名称,然后当池从一台主机移动到另一台主机或更改磁盘控制器等时,这些设备名称会出现问题。许多人谈论使用“zpool import -d / dev/disk/by-id”来解决此问题,因为 /dev/sda、/dev/sdb 等可能在新系统上不匹配。
这对我来说似乎很奇怪。创建池后,Solaris 上的 ZFS 本身并不真正关心设备名称。池中的每个磁盘都标有元数据,用于标识磁盘、其所在的池以及其在该池中的角色。因此,将整个阵列导出/导入到具有完全不同的磁盘控制器和 /dev 布局的新服务器是毫不费力的。
导入池后,设备路径和 ID 就很重要,因此您可以执行添加/删除/更换驱动器等操作,但从整体池视图来看,这并不是您必须从一个系统携带到另一个系统的真正负担。
运行导入命令时,您可以看到每个磁盘轮询以自动查找所有成员,并且 /dev 路径也相应映射。
这在 ZFS 的 Linux 实现上有什么不同吗?如果没有,我在这里缺少什么?
谢谢