LUKS 分区上的 ZFS

LUKS 分区上的 ZFS

我遇到了一个奇怪的问题,我无法解释。

我有三块硬盘。一块是根磁盘 sda,还有两块,分别是 sdb 和 sdc。后者有两个 LUKS 分区 sdb1 和 sdc1,我将它们用在 ZFS 池中(仅镜像)。

基本上,一切都正常;但是,有时 Linux 会混淆 sda 和 sdb 的名称,因此启动后,我应该从 sda1 和 sdc1 而不是 sdb1 和 sdc1 构建 ZFS 池。我可以创建 LUKS 分区,但随后无法挂载该分区,因为 ZFS 会报 I/O 错误。我非常惊讶 ZFS 竟然没有忽略原始分区名称,而且不仅仅关心所使用的 LUKS 分区的调用方式。

为了解决这个问题,我决定改用 LUKS UUID,但这会出现同样的错误。我不知道现在该怎么办;我不断重新启动系统,直到 sda 和 sdb 命名正确的磁盘,然后一切正常,但现在我显然相当恼火。

如果有人能帮助我解决这个问题,我将不胜感激。这可能很简单,但我不知道该怎么做。

答案1

这个问题的一般解决方法是通过 id 添加磁盘,即

 ls -l /dev/disk/by-id | grep sda | head -n1
 ls -l /dev/disk/by-id | grep sdb | head -n1

您将看到指向磁盘的指针。在我的系统上,ls -l /dev/disk/by-id | grep sda结果为 -

$ ls -l /dev/disk/by-id | grep sda
lrwxrwxrwx 1 root root  9 Apr 19 15:36 ata-ST95005620AS_5YX07EY0 -> ../../sda
lrwxrwxrwx 1 root root 10 Apr 19 15:36     -> ../../sda1
lrwxrwxrwx 1 root root 10 Apr 19 15:36 ata-ST95005620AS_5YX07EY0-part2 -> ../../sda2
lrwxrwxrwx 1 root root 10 Apr 19 15:36 ata-ST95005620AS_5YX07EY0-part5 -> ../../sda5
lrwxrwxrwx 1 root root  9 Apr 19 15:36 scsi-SATA_ST95005620AS_5YX07EY0 -> ../../sda
lrwxrwxrwx 1 root root 10 Apr 19 15:36 scsi-SATA_ST95005620AS_5YX07EY0-part1 -> ../../sda1
lrwxrwxrwx 1 root root 10 Apr 19 15:36 scsi-SATA_ST95005620AS_5YX07EY0-part2 -> ../../sda2
lrwxrwxrwx 1 root root 10 Apr 19 15:36 scsi-SATA_ST95005620AS_5YX07EY0-part5 -> ../../sda5
lrwxrwxrwx 1 root root  9 Apr 19 15:36 wwn-0x5000c5002aa74475 -> ../../sda
lrwxrwxrwx 1 root root 10 Apr 19 15:36 wwn-0x5000c5002aa74475-part1 -> ../../sda1
lrwxrwxrwx 1 root root 10 Apr 19 15:36 wwn-0x5000c5002aa74475-part2 -> ../../sda2
lrwxrwxrwx 1 root root 10 Apr 19 15:36 wwn-0x5000c5002aa74475-part5 -> ../../sda5

你的会有所不同,但例如/dev/sda1;我想补充一下 -

/dev/disk/by-id/ata-ST95005620AS_5YX07EY0-part1

相关内容