PVE单张盘ZFS
原创大约 2 分钟
PVE单张盘ZFS
背景
单张盘
zfs raidz
是极大浪费的,正常情况是不应该出现的。但是考虑到在不久的后来,在尽可能少的磁盘下,可以进行更好的扩容。所以需要将单张盘zfs raidz
拆分成多张盘zfs raidz
。
模拟场景:
- 1张盘创建三个分区,组成
raid5
,也即允许1
张磁盘损坏; 目前三个分区在同1个磁盘上;sdb1 sdb2 sdb3 - 更换1个分区到另一个磁盘,更换后;目前2个磁盘,其中1个磁盘承担2个分区;此时容量未充分激活;sdb1 sdb2 sdc
- 更换1个分区到另一个磁盘,更换后;目前3个磁盘;先替换1个分区到磁盘;sdb1 sdc sdd
- 成功后,再替换1个分区到本地磁盘;sdc sdd sdb
- 后续,可以随意扩容(前提是你的设备支持更多的磁盘);
步骤
创建三个分区
,组成 raid5
,也即允许 1
张磁盘损坏;
gdisk /dev/sdb
o
- 创建一个新的空的GPT分区表(这将删除现有分区表上的所有分区数据)w
- 写入分区表并退出。
新建分区: 使用 n 命令创建新分区。系统会提示输入分区编号、起始扇区和终止扇区。重复此操作,创建三个分区。
起始扇区是4096
的倍数 , 自己算好;算错也没关系会自动修正;
保存并退出: 使用 w 命令写入分区表并退出。
完成后去后台看下容量,确认下是不是三等分;
zpool create datazfs raidz1 /dev/sdb1 /dev/sdb2 /dev/sdb3
zfs list
zpool status datazfs -V
更换dev/sda3
分区到另一个磁盘 /dev/sdc
zpool offline datazfs /dev/sda3
zpool replace datazfs /dev/sda3 /dev/sdc
zpool status datazfs
更换dev/sda2
分区到另一个磁盘 /dev/sdd
zpool offline datazfs /dev/sda2
zpool replace datazfs /dev/sda2 /dev/sdd
zpool status datazfs
替换dev/sda1
分区到另一个磁盘 /dev/sda
zpool offline datazfs /dev/sda1
zpool replace datazfs /dev/sda1 /dev/sda
zpool status datazfs
扩容
zpool add datazfs /dev/sde
zpool status datazfs
其他常用命令
zpool clear datazfs
smartctl -a /dev/sdc
数据无价,请预留充足的时间来解决意外的发生。
为防止意外的发生,关键节点替换之前可以同步备份到云端,没问题再删除云端数据。
当然可以多准备一张磁盘做冷备份。