如何创建具有不同扇区大小的磁盘的 ZFS 镜像?

如何创建具有不同扇区大小的磁盘的 ZFS 镜像?

尝试修复 ZFS 池中的镜像:

louis@watson:~$ sudo zpool status
  pool: watson
 state: ONLINE
  scan: resilvered 1.55T in 7h22m with 0 errors on Fri Oct  6 03:19:16 2017
config:

NAME                                            STATE     READ WRITE CKSUM
watson                                          ONLINE       0     0     0
  mirror-0                                      ONLINE       0     0     0
    wwn-0x50014ee0ad3655a3                      ONLINE       0     0     0
    ata-Hitachi_HUA723020ALA640_MK0271YGJA5BSA  ONLINE       0     0     0
  wwn-0x50014ee058480994                        ONLINE       0     0     0

当我尝试添加磁盘时,我收到消息“设备具有不同的扇区对齐“:

louis@watson:~$ sudo zpool attach -f watson wwn-0x50014ee058480994 scsi-SATA_ST2000DM001-1CH_Z1F2ZSLP
cannot attach scsi-SATA_ST2000DM001-1CH_Z1F2ZSLP to wwn-0x50014ee058480994:
devices have different sector alignment

以下是新驱动器和目标驱动器的扇区报告:

 louis@watson:~$ sudo hdparm -I /dev/disk/by-id/scsi-SATA_ST2000DM001-1CH_Z1F2ZSLP | fgrep Sector
        Logical  Sector size:                   512 bytes
        Physical Sector size:                  4096 bytes
        Logical Sector-0 offset:                  0 bytes
 louis@watson:~$ sudo hdparm -I /dev/disk/by-id/wwn-0x50014ee058480994 | fgrep Sector
        Logical/Physical Sector size:           512 bytes
           *    SCT Long Sector Access (AC1)

如何将这些驱动器混合在一个池中?

答案1

我认为这与这张支票(详细信息从用户处复制破解版):

主要目的是当您使用 ashift=9 创建池时,尝试替换/附加具有 4k 扇区的磁盘时,这是一种“强制”命令。ZFS 不喜欢这种情况(并且有充分的理由),因此指定 -o ashift=9 会覆盖扇区大小检测并让 ZFS 接受它。

[...]

不,要求是 ashift_of(inserting_disk) <= ashift_of(existing_vdev)。不满足此条件将导致返回 EDOM 且操作无法继续。inserting_disk 值是从磁盘本身读取的,但可以使用 -o ashift=value 覆盖该值,并使用满足上述不等式的值,以使 ZFS 接受该磁盘。

理由是,连接偏移量过大的磁盘会导致性能极差(对于旋转介质而言),用户会不满意。我做过这样的事,我的 500G(半满的 1TB 驱动器)镜像花了 24 小时才重新镀银,而本来应该 2 小时。这是由于混合使用 512 和 4096 字节扇区驱动器造成的。

[...]

反之亦然。池的 ashift=9,但插入具有 4k 个扇区的磁盘(ashift=12)会导致不等式 12 <= 9,这是不正确的。使用 zpool ... -o ashift=9 会使它变为 9 <= 9,并且 ZFS 会接受它。

因此,您可以使用 附加磁盘sudo zpool attach -o ashift=9 -f watson wwn-0x50014ee058480994 scsi-SATA_ST2000DM001-1CH_Z1F2ZSLP,但性能可能会受到影响。替代方法是使用正确对齐的磁盘重新创建池,或者不要混合和匹配扇区大小(这意味着使用不同的磁盘)。

相关内容