使用kickstart和CentOS/RHEL 7/8中的示例配置Thin Provision LVM
在本文中,我将分享针对RHEL 7和RHEL 8的"使用带有示例的kickstart实例配置精简配置LVM的步骤"
什么是LVM精简配置?
创建LV时会分配标准逻辑卷中的块,但是在精简配置的逻辑卷中写入时会分配它们。
因此,精简配置的LV具有虚拟大小,并且可能比物理可用存储大得多。
以后可以根据需要增加为精简配置的LV提供的物理存储量。
标准LV中的块是从VG分配的(在创建过程中),而精简LV中的块是从特殊的精简池LV分配的(使用过程中)。
精简池LV包含物理存储块,精简LV中的块只是精简池LV中的参考块。
在较早的文章中,我分享了各种示例,这些示例使用具有不同存储和网络布局的kickstart执行PXE安装。
配置精简配置LVM
要配置精简配置LVM,必须先创建精简池LV,然后才能其中创建精简LV。
通过组合两个标准LV来创建精简池LV:
大数据LV,将容纳用于薄LV的块,并且
将保存元数据的元数据LV。
元数据跟踪哪些数据块属于每个精简LV。
示例Kickstart文件
在我的示例中,我有一个磁盘sda,我计划在该磁盘上使用基于kickstart的安装配置精简配置LVM。
现在,以下片段仅包含kickstart文件的一部分。
我们可以参考我的其他文章,以获取完整的示例kickstart配置文件的摘要。
# System bootloader configuration bootloader --location=mbr --driveorder=sda --append="rhgb novga console=ttyS0,115200 console=tty0" # Partition clearing information clearpart --all --initlabel --drives=sda # Disk partitioning information part pv.746 --fstype="lvmpv" --ondisk=sda --size=1 --grow part /boot --fstype="ext4" --ondisk=sda --size=512 part swap --fstype="swap" --ondisk=sda --size=4096 volgroup rhel --pesize=4096 pv.746 logvol none --fstype="None" --size=1 --grow --thinpool --metadatasize=4 --chunksize=65536 --name=pool00 --vgname=rhel logvol/--fstype="ext4" --size=40960 --thin --poolname=pool00 --name=root --vgname=rhel logvol /home --fstype="ext4" --size=20480 --thin --poolname=pool00 --name=home --vgname=rhel logvol swap --fstype="swap" --size=4096 --thin --poolname=pool00 --name=swap --vgname=rhel
在这个例子中
- 我们在磁盘
/dev/sda
上创建一个物理卷pv.746
。
现在,由于我们不知道磁盘的大小,我们将使用--grow参数,因此它将占用该池的所有可用空间。
-/boot分区不能是逻辑卷的一部分,因此我们将其创建为单独的标准分区
创建一个卷组rhel
创建思考配置LVM瘦池
在" thinpool"下创建一个具有预定义大小的交换区和其他分区
说明:
其中我的节点只有一个磁盘,如果我们打算使用多个磁盘,则配置选项也会根据环境和要求而更改。
块大小
创建精简池LV时,可以使用--chunksize
选项指定由精简池管理的数据块的大小。
默认单位是千字节,默认值是64KiB。
该值必须是4KiB和1GiB之间的2的幂。
当精简池主要用于精简配置功能时,较大的值是最佳的。
为了优化大量快照,较小的值可减少复制时间并占用较少的空间。
池元数据LV的大小
精简元数据的数量取决于精简LV之间共享多少块(即通过快照)。
具有许多快照的精简池可能需要较大的元数据LV。
当命令自动创建精简元数据LV时,可以使用--poolmetadatasize选项指定非默认大小。
默认单位是兆字节。
安装成功后,使用df
命令验证可用分区
rhel-8:~ # df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/rhel-root 40G 1.8G 36G 5% / devtmpfs 63G 0 63G 0% /dev tmpfs 2.0G 0 2.0G 0% /dev/shm tmpfs 500M 9.7M 491M 2% /run tmpfs 63G 0 63G 0% /sys/fs/cgroup /dev/sda1 488M 127M 326M 28% /boot /dev/mapper/rhel-home 20G 45M 19G 1% /home tmpfs 100M 0 100M 0% /run/user/1000 tmpfs 1.0M 4.0K 1020K 1% /opt/sdf/queues tmpfs 100M 0 100M 0% /run/user/1003 tmpfs 100M 0 100M 0% /run/user/1006
检查可用的逻辑卷。
我们可以看到我们的" thinpool"也配置为逻辑卷,但具有所有可用空间。
rhel-8:~ # lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert home rhel Vwi-aotz-- 20.00g pool00 8.12 pool00 rhel twi-aotz-- <1.09t 0.70 11.13 root rhel Vwi-aotz-- 40.00g pool00 15.47 swap rhel Vwi-aotz-- 4096.00m pool00 0.01
检查可用的物理卷。
rhel-8:~ # pvs PV VG Fmt Attr PSize PFree /dev/sda3 rhel lvm2 a-- <1.09t 0
检查可用的卷组。
rhel-8:~ # vgs VG #PV #LV #SN Attr VSize VFree rhel 1 3 0 wz--n- <1.09t 0