在生产环境中无法精确地评估每个硬盘分区在日后的使用情况,因此会导致
原先分配的硬盘分区不够用。比如,伴随着业务量的增加,用于存放交易记录的数据库目录
的体积也随之增加;因为分析并记录用户的行为从而导致日志目录的体积不断变大,这些都
会导致原有的硬盘分区在使用上捉襟见肘。而且,还存在对较大的硬盘分区进行精简缩容的
情况。
我们可以通过部署 LVM 来解决上述问题。部署 LVM 时,需要逐个配置物理卷、卷
组和逻辑卷。常用的部署命令如表所示。
为了避免多个实验之间相互发生冲突,请大家自行将虚拟机还原到初始状态,并在虚拟
机中添加两块新硬盘设备,然后开机,如图所示。
在虚拟机中添加两块新硬盘设备的目的,是为了更好地演示 LVM 理念中用户无需关
心底层物理硬盘设备的特性。我们先对这两块新硬盘进行创建物理卷的操作,可以将该操作
简单理解成让硬盘设备支持 LVM 技术,或者理解成是把硬盘设备加入到 LVM 技术可用
的硬件资源池中,然后对这两块硬盘进行卷组合并,卷组的名称可以由用户来自定义。接下
来,根据需求把合并后的卷组切割出一个约为 150MB 的逻辑卷设备,最后把这个逻辑卷
设备格式化成 EXT4 文件系统后挂载使用。在下文中,我们将对每一个步骤再作一些简单
的描述。
第 1 步:让新添加的两块硬盘设备支持 LVM 技术。
root@kylin-vm:~# pvcreate /dev/sdb /dev/sdc
Physical volume "/dev/sdb" successfully created.
Physical volume "/dev/sdc" successfully created.
第 2 步:把两块硬盘设备加入到自定义卷组 storage 中,然后查看卷组的状态。
root@kylin-vm:~# vgcreate storage /dev/sdb /dev/sdc
Volume group "storage" successfully created
root@kylin-vm:~# vgdisplay
--- Volume group ---
VG Name storage
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 1
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 0
Open LV 0
Max PV 0
Cur PV 2
Act PV 2
VG Size 19.99 GiB
PE Size 4.00 MiB
Total PE 5118
Alloc PE / Size 0 / 0
Free PE / Size 5118 / 19.99 GiB
VG UUID UYxQGX-4xrp-jgfH-BTMz-WJU8-32px-Q58Ud3
第 3 步:切割出一个约为 150MB 的逻辑卷设备。
这里需要注意切割单位的问题。在对逻辑卷进行切割时有两种计量单位。第一种是以容
量为单位,所使用的参数为-L。例如,使用-L 150M 生成一个大小为 150MB 的逻辑卷。
另外一种是以基本单元的个数为单位,所使用的参数为-l。每个基本单元的大小默认为 4MB。
例如,使用-l 40 可以生成一个大小为 40×4MB=160MB 的逻辑卷。
root@kylin-vm:~# lvdisplay
root@kylin-vm:~# lvcreate -n vol -l 40 storage
Logical volume "vol" created.
root@kylin-vm:~# lvdisplay
--- Logical volume ---
LV Path /dev/storage/vol
LV Name vol
VG Name storage
LV UUID 8BvtIJ-Hpmc-9JMc-ZDjQ-3LBD-Otwk-ikV25C
LV Write Access read/write
LV Creation host, time kylin-vm, 2021-05-06 14:45:18 +0800
LV Status available
# open 0
LV Size 160.00 MiB
Current LE 40
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:0
第 4 步:把生成好的逻辑卷进行格式化,然后挂载使用。
Linux 系统会把 LVM 中的逻辑卷设备存放在/dev 设备目录中(实际上是做了一个符
号链接),同时会以卷组的名称来建立一个目录,其中保存了逻辑卷的设备映射文件(即
/dev/卷组名称/逻辑卷名称)。
root@kylin-vm:~# mkfs.ext4 /dev/storage/vol
mke2fs 1.46.5 (07-Jan-2020)
创建含有 40960 个块(每块 4k)和 40960 个 inode 的文件系统
文件系统 UUID:55c3fa0b-35f7-4e2d-ad25-ff9ba0ca5247
超级块的备份存储于下列块:
32768
正在分配组表: 完成
正在写入 inode 表: 完成
创建日志(4096 个块) 完成
写入超级块和文件系统账户统计信息: 已完成
root@kylin-vm:~# mkdir /data/vol
root@kylin-vm:~# mount /dev/storage/vol /data/vol
第 5 步:查看挂载状态,并写入到配置文件,使其永久生效。
root@kylin-vm:~# df -h|grep -v tmpfs
文件系统 容量 已用 可用 已用% 挂载点
udev 936M 0 936M 0% /dev
/dev/sda5 17G 12G 4.6G 72% /
/dev/sda7 12G 41M 11G 1% /data
/dev/sda1 976M 146M 764M 17% /boot
/dev/mapper/storage-vol 139M 176K 128M 1% /data/vol
root@kylin-vm:~# echo "/dev/storage/vol /data/vol ext4 defaults 0 0" >>
/etc/fstab
|
|
|
|
|
版权说明:论坛帖子主题均由合作第三方提供并上传,若内容存在侵权,请进行举报