是否可以在Linux中更改zfs raidz池的分区的扇区大小?


9

我一直在通过稀疏文件的虚拟设备将Linux上的zfs raidz池迁移到新光盘。我在光盘上使用了分区,因为每个光盘的大小不同,均为1.9T。最后要添加的磁盘是4Tb磁盘,我将其与其他磁盘分区,并添加了1.9T分区以添加到池中。它使用的是GPT分区表。当我尝试用4T光盘上的1.9T分区替换最后一个文件时,得到以下内容

zpool replace -f zfs_raid /zfs_jbod/zfs_raid/zfs.2 /dev/sdd1 
cannot replace /zfs_jbod/zfs_raid/zfs.2 with /dev/sdd1: devices have different sector alignment

我如何像其他分区一样将分区扇区大小更改为512,否则,是否有可能将其他池设备更改为4024?显然,逻辑扇区大小均为512

cat /sys/block/sdd/queue/hw_sector_size
Disk /dev/sdd: 4000.8 GB, 4000787030016 bytes, 7814037168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes

当我对包含要替换的基于第4个文件的原始设备的光盘进行了重新分区时,该光盘无法正常工作,因此我重新创建了该设备文件,因此目前正在重新同步该文件。

zpool状态输出:

NAME                            STATE     READ WRITE CKSUM
zfs_raid                        DEGRADED     0     0     0
  raidz1-0                      DEGRADED     0     0     0
    sda3                        ONLINE       0     0     0
    sdc2                        ONLINE       0     0     0
    sdb1                        ONLINE       0     0     0
    replacing-3                 OFFLINE      0     0     0
      /zfs_jbod/zfs_raid/zfs.2  OFFLINE      0     0     0
      /mnt/butter2/zfs.4        ONLINE       0     0     0  (resilvering)

您不能做zfs附加zfs_raid <文件> <设备>,并且在同步zfs后分离zfs_raid <文件>
BitsOfNix 2013年

不会连接第五台设备不可逆地扩展阵列吗?还是您说的是添加备用零件之类的东西?
barrymac

不添加备用磁盘或添加新磁盘,而是执行zpool附加池old_device new_device,这会将old_device镜像到new_device,然后在重新镀银后将old_device与镜像分离:docs.oracle.com/cd/E26502_01/html/E29007/ gayrd.html#scrolltoc <-有关附加/分离以及添加和附加之间的区别的信息。
BitsOfNix 2013年

这确实看好的不幸返回“无法连接的/ dev / SDD1到/zfs_jbod/zfs_raid/zfs.2:只能连接到镜子和顶级磁盘”
barrymac

您能否将您当前的zpool状态zfs_raid输出,以查看RAID布局?
BitsOfNix 2013年

Answers:


4

我找到了必要的选择!发出以下命令后,池当前正在重新同步新分区:

 zpool replace  -o ashift=9 zfs_raid <virtual device> /dev/sdd1

尽管这是可行的,但不建议这样做,因为通过将4k类型的驱动器强制写入512b会获得可怕的性能。我已经学会了应该增加的困难方式

-o ashift=12 

创建池时避免以后再创建,因为当前无法“迁移”到4k扇区大小。

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.