小弟我对 lvm 精简池不熟悉,想用这个主要是因为有给虚拟机创建快照的需求,因为精简池创建后大小只能增加不能减小,所以干脆专门用一块 2TB 的 990 pro 来创精简池(并且专门给这个 ssd 创建一个卷组),不打算以后对这个精简池进行扩容,目前比较纠结到底该选用多大的 chunk 大小比较合适(因为 chunk 大小只能在创建精简池的时候指定,以后如果想更改就只能把数据捣腾出来再捣腾进去,太麻烦了),redhat 的文档说 chunk 大小会影响性能和空间效率(这两者之间我更看重性能,空间效率可以差一些),我的虚拟机里只打算存放例如 windows 和 linux 的系统分区以及其它的非大型的文件(比如游戏或电影原片,这些我打算存放在普通的 lvm 逻辑卷上),那么我该选多大的 chunk 大小比较合适?
如果我不指定 chunk 大小,lvcreate 会给 2 条警告,如下
root@f41-vm:~# lvcreate -l 100%FREE -T vg/pool
Thin pool volume with chunk size 2.00 MiB can address at most <508.01 TiB of data.
WARNING: Pool zeroing and 2.00 MiB large chunk size slows down thin provisioning.
WARNING: Consider disabling zeroing (-Zn) or using smaller chunk size (<512.00 KiB).
Logical volume "pool" created.
root@f41-vm:~#
我按照这个警告的建议添加 -Zn 参数就能消除这个警告,但是我不理解这个参数,man page 的解释我也看不懂,不知道添加这个参数是否适合我的使用场景,另外如果我指定 chunk size 为小于 512KiB 的值(比如 256KiB )也能消除这个警告,但是这和默认的 2MiB 的 chunk size 有比较大的差距,感觉会对性能有一些影响。
简而言之,我创建精简池后不打算以后扩容,并且希望性能尽可能的好,可以接受空间效率差一些,我该用什么命令创建这个精简池?
另外如果 linux 虚拟机又用了 btrfs 作为系统分区,那么这种 lvm 精简池叠加 btrfs 的用法会不会对性能和 ssd 寿命有不良的影响?
redhat 关于 chunk size 的文档: