|
首先感谢飞牛团队,给大家带来了非常优秀的产品。
以个人为例,比如两块硬盘组的Linear存储池,空间写满后,增加一块更大的硬盘,替换掉原来的小硬盘,对于我来说是刚需的应用场景。
WEB端只支持扩容,不支持替换硬盘。经过查阅资料和尝试,和大家分享Linear模式扩容替换硬盘的操作步骤。
一、测试环境
虚拟机,飞牛OS v0.8.20,添加了1G、2G、3G共三块硬盘。
1G+2G创建Linear存储池
写入2.1G的文件占用存储池
二、操作步骤
1.在WEB端添加3G的硬盘扩容
2.在终端运行 sudo pvdisplay 查看硬盘卷组结构。我这里1G对应sdc1、2G对应sda1、3G对应sdd1。
根据提示输入管理员密码,下同。
运行 lsblk 记下红框中的一串数字备用
2.此时3G硬盘中应该没有数据,但是freePE(可以理解为卷组的最小存储单元)为0,被预分配了,无法转存其他硬盘数据,需要先进行缩容,释放freePE。
在终端运行 sudo lvreduce -L -2.5G /dev/mapper/trim_3db66039_852a_489c_933e_2549addc03bf-0
以上参数中,缩容的2.5G,建议略小于新硬盘的容量,trim_xxx就是红框中的数字。
3. 将1G硬盘sdc1的数据移动到3G硬盘sdd1
在终端运行 sudo pvmove /dev/sdc1 /dev/sdd1
4. 将1G硬盘sdc1从卷组中删除
sudo vgreduce trim_3db66039_852a_489c_933e_2549addc03bf /dev/sdc1
注意:这时trim_xxx最后面的-0要删除
5. 将1G硬盘sdc1从物理卷中删除
sudo pvremove /dev/sdc1
6. 恢复卷组至全部可用空间
sudo lvextend -l +100%FREE /dev/mapper/trim_3db66039_852a_489c_933e_2549addc03bf-0
注意:这时trim_xxx最后面要加-0
可以看到可用空间已经变为4.99G(2G+3G)
7. 重启机器,此时会报错,因为存储空间大小不一致导致的,WEB端无响应,不要着急
8. SSH终端输入sudo btrfs rescue fix-device-size /dev/dm-0
修复btrfs ctree
9. 再次重启机器,进入WEB端,存储空间变为3G+2G组成的Linear,1G硬盘空闲可以拔出,原文件没有影响
以上是全部流程,缩容时要妥善选择大小,不然有数据丢失风险,适合有一定基础的同学尝试。
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|