linux – 创建zfs池,允许用稍小的磁盘替换其中一个磁盘

linux – 创建zfs池,允许用稍小的磁盘替换其中一个磁盘,第1张

概述这是关于 Linux(CentOS 7)上的zfs的问题.我有一个非常简单的设置,有两个8 TB磁盘,一个磁盘镜像另一个磁盘. zpool create -f -o ashift = 12 $zpoolName mirror $disksById 如果需要更换其中一个磁盘,则根据zpool手册页,替换磁盘的大小必须等于或大于配置中两个磁盘中的最小磁盘.根据我的理解,通常精确的尺寸通常在不同品牌和型 这是关于 Linux(CentOS 7)上的zfs的问题.我有一个非常简单的设置,有两个8 TB磁盘,一个磁盘镜像另一个磁盘.

zpool create -f -o ashift = 12 $zpoolname mirror $disksByID

如果需要更换其中一个磁盘,则根据zpool手册页,替换磁盘的大小必须等于或大于配置中两个磁盘中的最小磁盘.根据我的理解,通常精确的尺寸通常在不同品牌和型号(和型号修订版)的驱动器之间略有不同,即使它们都标记为8 TB.但是,我希望能够用任何其他8 TB磁盘替换它,不一定是相同的品牌和型号.

我该如何实现这一目标?

我本来期望zpool create命令的一个选项,这样就不会将整个磁盘用于池,但留下一些松弛,但是我找不到这样的选项.我看到的唯一建议是在创建池之前对磁盘进行分区,创建一个“池”分区和一个“松弛”分区,但我读过这会影响磁盘性能,因为磁盘缓存无法正常使用zfs,所以我想我想避免这个.

解决方法

The only suggestion that I have seen is partitioning the disk before creating the pool,creating one “pool” partition and one “slack” partition

这是正确的答案.

but I’ve read the this will affect disk performance as the disk cache can not be used properly by zfs.

这是一种误解.如果分区未对齐,则使用分区而不是完整磁盘只会影响性能,如果您使用的是模糊的现代分区编辑器,则通常需要对用户进行一些真正的确定. linux和BSD fdisk,sfdisk和gparted都了解分区边界并在其中工作,除非完全强制不这样做.

此外,如果你仔细观察一个已经整个被送到zfs的磁盘,你会发现zfs实际上已经对它自己进行了分区.例:

root@banshee:~# zpool status data  pool: data state: ONliNE  scan: scrub repaired 0 in 27h54m with 0 errors on Mon Mar 13 05:18:20 2017config:    name                                           STATE     READ WRITE CKSUM    data                                           ONliNE       0     0     0      mirror-0                                     ONliNE       0     0     0        wwn-0x50014ee206fd9549  ONliNE       0     0     0        wwn-0x50014ee2afb368a9    ONliNE       0     0     0      mirror-1                                     ONliNE       0     0     0        wwn-0x50014ee25d2510d4  ONliNE       0     0     0        wwn-0x5001517bb29d5333  ONliNE       0     0     0errors: No kNown data errorsroot@banshee:~# ls -l /dev/disk/by-ID | grep 510d4lrwxrwxrwx 1 root root  9 Mar 22 15:57 wwn-0x50014ee25d2510d4 -> ../../sddlrwxrwxrwx 1 root root 10 Mar 22 15:57 wwn-0x50014ee25d2510d4-part1 -> ../../sdd1lrwxrwxrwx 1 root root 10 Mar 22 15:57 wwn-0x50014ee25d2510d4-part9 -> ../../sdd9

如您所见,ZFS已经对池中的原始磁盘进行了分区.池使用分区1;分区9松弛.

root@banshee:~# sfdisk -d /dev/sddlabel: gptlabel-ID: B2DED677-DB67-974C-80A6-070B72EB8CFBdevice: /dev/sddunit: sectorsfirst-lba: 34last-lba: 3907029134/dev/sdd1 : start=        2048,size=  3907010560,type=6A898CC3-1DD2-11B2-99A6-080020736631,uuID=A570D0A4-EA32-F64F-80D8-7479D918924B,name="zfs"/dev/sdd9 : start=  3907012608,size=       16384,type=6A945A3B-1DD2-11B2-99A6-080020736631,uuID=85D0957B-65AF-6B4A-9F1B-F902FE539170

sdd9是16384个扇区.这是一个4K磁盘,因此它可以达到64M,并且任何比现有磁盘小不超过63M的磁盘应该可以替代这个磁盘,如果它失败了.

总结

以上是内存溢出为你收集整理的linux – 创建zfs池,允许用稍小的磁盘替换其中一个磁盘全部内容,希望文章能够帮你解决linux – 创建zfs池,允许用稍小的磁盘替换其中一个磁盘所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/yw/1038168.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存