基于omv的lvm可拓展btrfs实践小记
缘起
之前归集各种旧硬盘搞的omv备份服务器,使用的是omv自带的软raid组成raid0,然后在此基础上创建btrfs,利用btrfs的可以检查错误的特性,确保备份的数据是安全的。
这么运行了一段时间,发现有个致命的缺点,如果后续还有其他的废弃硬盘加到机器,就完全没办法加到现有的存储池子了,那就非常的不灵活了。
因此这次折腾尝试找到一个好的方案,可以支持下次拓展新的硬盘进来。
那么在omv系统上有没有合适的技术呢?有的,答案就是lvm,一种linux系统上推荐的下一代的硬盘管理技术。
折腾过程
关于lvm
经过各种尝试,包括不组建软raid,直接在创建btrfs时加入几块硬盘,但是后续都没办法再添加阵列中的硬盘数量了。
经过网上查询,发现有lvm的模式可以使用,接下来就是基于lvm折腾了。
LVM 是 Logical Volume Manager 的缩写,中文一般翻译为 “逻辑卷管理”,它是 Linux 下对磁盘分区进行管理的一种机制。LVM 是建立在磁盘分区和文件系统之间的一个逻辑层,系统管理员可以利用 LVM 在不重新对磁盘分区的情况下动态的调整分区的大小。如果系统新增了一块硬盘,通过 LVM 就可以将新增的硬盘空间直接扩展到原来的磁盘分区上。
看描述就知道这个技术完美的解决开头提出的问题。
怎么操作
安装lvm插件
在omv系统上,默认是没有按照lvm组件的,可以在系统设置的插件管理中找到并安装上去,安装后再磁盘管理下就有lvm菜单了
设置物理卷和逻辑卷
lvm系统里,物理卷的意思是把一个物理硬盘加到lvm可以管理的卷里边,可以近似理解一个物理卷就是一个硬盘
逻辑卷的意思,就是在某1个或几个物理卷上简历的逻辑类型的卷,这里可以选择物理卷的卷
建立文件系统
在lvm建立完想要的逻辑卷后,在文件系统中直接创建文件系统,文件系统的硬盘,可以直接选择lvm中的逻辑卷。
注意:
这里不需要再进行软raid的操作了,相当于把lvm的逻辑卷作为一个硬盘
而多个硬盘在文件系统层面是不需要感知的,因此也就不需要raid操作了。
这里直接基于逻辑卷创建btrfs文件系统即可
什么优势
优势就是开头提出的问题,未来现有的逻辑卷存储满了,可以直接加硬盘,然后按下面步骤操作:
在lvm逻辑卷中增加新的硬盘对应的物理卷,并调整逻辑卷可以占到100%
在文件系统中,点击现有文件系统,选择重新分配大小,把比例拉满即可,btrfs支持自动的在线的扩大文件系统空间到新的硬盘上。
和之前的jbod和raid0的区别
最大的区别就是灵活性,jbod和raid0一般创建后就很难更改raid中的硬盘了,lvm可以灵活更改。
什么劣势
这么好的技术,为啥没有很大范围铺开呢?
因为缺点也有的,比如这么操作相当于是多个硬盘组了raid0,如果有硬盘损坏,和raid0一样数据火葬场的。
另外套了一层lvm的逻辑层,性能上势必会有影响。
关于btrfs
为什么选择btrfs,因为它可以做错误的校验,既然是废弃硬盘利用,那必然需要一些校验能力,确保知道备份的状态。
另外也考虑到未来有文件去重、文件压缩的需求,选择btrfs也是先对方便的能够做到的。
关于btrfs的一些操作
1、btrfs的校验
使用下面的命令进行文件系统的校验:
sudo btrfs scrub start /srv/dev-disk-by-uuid-xxx
然后命令会在后台运行,可以使用下面的命令看到状态:
sudo btrfs scrub status /srv/dev-disk-by-uuid-xxx
这里也可以使用一些定时任务来做这个操作。
2、btrfs的去重和压缩
可以使用rmlint、duperemove、BEES这些工具来做,这次还没有研究的很明白,暂时不展开了。
总结
这次折腾学到了lvm这样一个linux下的磁盘管理系统,也学到了omv下的操作,整体还是比较顺畅的。 总之收获挺大的,lvm技术非常的灵活,挺好的一个技术。
参考文档
https://miaotony.xyz/2023/06/10/Server_HomeLab_2_openmediavault/
https://www.cnblogs.com/Yogile/p/12631543.html
https://www.reddit.com/r/btrfs/comments/qkm9rp/learning_btrfs_basics_deduplication/
https://archive.kernel.org/oldwiki/btrfs.wiki.kernel.org/index.php/Deduplication.html
https://www.reddit.com/r/btrfs/comments/12ypvxu/deduplication_how_to/
https://btrfs.readthedocs.io/en/latest/Deduplication.html
发表评论