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


2

尝试修复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)

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


手动添加,但你会失去性能。
DGoiko

Answers:


2

我假设它与此检查有关(从用户DeHackEd复制的详细信息):

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

[...]

不,要求是ashift_of(insertion_disk)<= ashift_of(existing_vdev)。如果不这样做将导致返回EDOM并且操作不会继续。insert_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,但您的性能可能会受到影响。另一种方法是使用正确对齐的磁盘重新创建池,或者不混合和匹配扇区大小(这意味着使用不同的磁盘)。


很棒的发现!有希望......一旦备份完成,将尝试。
路易斯

一直遇到备份问题。介意看看这个? serverfault.com/questions/882591 / ...
路易斯

这有效!Resilvering似乎很慢,速度为50 MB /秒。但这是一个用户很少的传统盒子,所以绝对是一个成本/努力的胜利。:)
路易斯

@ user121391那么,将512字节添加到现有4096字节的过程应该可以正常工作吗?我有一个4k镜像组,ashift为0和几个512个磁盘,单独安装了ashift为0(通过“zpool get all”)。我想用这些创建一个4磁盘0/1集。它会运作得相当好吗?
MikeP
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.