![Linux快速入门与实战:基础知识、容器与容器编排、大数据系统运维](https://wfqqreader-1252317822.image.myqcloud.com/cover/769/43806769/b_43806769.jpg)
3.3.4 LVM使用
本节介绍LVM的最常用操作示例,包括创建逻辑卷和LVM扩容,具体说明如下。
1.示例1:创建逻辑卷
(1)创建GPT分区p1和p2
在/dev/sdb上创建GPT分区,分别创建两个大小为100G的分区,名字为p1和p2,操作说明如下。
1)运行parted命令。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/95_03.jpg?sign=1739288467-qV5sLFl1AFv5uNm73swCHKXwUOAyDm6K-0-94c5056be618858a7e13fa69a4315aa5)
2)打印已有的分区信息,命令如下,可以看到已有两个分区p1和p2。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/95_04.jpg?sign=1739288467-xJ7cy4SoaxwzL9lI41vP2uXeVtIMS7fx-0-5c8ccd1054c08ded0922ab293c3df5d9)
3)删除已有分区,命令如下。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/95_05.jpg?sign=1739288467-d9Fgfw2jVfe0WfBJhABqYqb46K7EGbTd-0-f578cfe46b36cece948acb62d50ee05d)
4)打印分区信息,进行验证,可以看到p1和p2都已经被删除。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/95_06.jpg?sign=1739288467-dhvbjRylFBguHdwQH4EmYV3mighRnAkP-0-b6a524a08e0308e2b4a39fd18b708a5d)
5)重新创建分区p1,大小100G,命令如下。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/95_07.jpg?sign=1739288467-IQOs1Bwd6OX3enRKSSHUfvUXE2DGSMA2-0-6a4a746c174e3209a79549aae9ee5c30)
6)重新创建分区p2,大小100G,命令如下。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/95_08.jpg?sign=1739288467-yu0L7OlV6Fhmrp7k531jv9jJCfqaa1c9-0-1454722f33d6447bb1cdece641fd4152)
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/96_01.jpg?sign=1739288467-Skhm8MQ2iGKOXByd7WNOcdX2Ivhco0tz-0-cfc30f3f367b6f7c00b7b84c001c01a0)
此处在分区时不需要指定待构建的文件系统类型。
7)保存退出,命令如下。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/96_02.jpg?sign=1739288467-eqt1C9qE8bl5XvC3KAE7GkuV4r51wqHg-0-062e3a7630db5f1e09b49df7dc17c15f)
8)查看分区情况,命令如下,可以看到/dev/sdb已经被分成了p1和p2两个分区。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/96_03.jpg?sign=1739288467-7BLzggnUbIIU5yoq6HVqRalNLDW51P3I-0-52da296c483021941b80bc298fce2c01)
(2)创建PV
1)创建PV,将/dev/sdb1创建为物理卷,命令如下。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/96_04.jpg?sign=1739288467-ZKlmyj1tVsukDPDYLrfH9qVFmxVEE54m-0-bbd24fbcf7d22bb083b6cd821267df71)
2)创建PV,将/dev/sdb2创建为物理卷,命令如下。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/96_05.jpg?sign=1739288467-ff6OZ4XrkkJMJ4yL2pMtH4mu32z9hZaJ-0-0ecff08786f9d7d6922bda3b04578dbe)
3)打印本机的物理卷信息,命令如下,可以看到刚才创建的物理卷/dev/sdb1和/dev/sdb2。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/96_06.jpg?sign=1739288467-sekY42AFnwPG0JPFtjrr4cKadpTqf6cO-0-6ffd12061f7c615b98f561e7e212c294)
(3)创建VG(卷组)
1)创建VG datav,将物理卷/dev/sdb1和/dev/sdb2加入datav,命令如下。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/96_07.jpg?sign=1739288467-pWcrkT9c65KnDVcuXpAAtHoEkAdhcE9k-0-2373ad3399078463c7432cf1404c4bac)
2)打印卷组信息,命令如下,系统输出刚创建的datav。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/96_08.jpg?sign=1739288467-fYR26zlYcAsa9j3zDj9XJi7w5FagWAaP-0-012f1fdbca999c9f11d26ca2c9344a0f)
3)查看datav所包含的物理卷,命令如下。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/96_09.jpg?sign=1739288467-TiMd9uP6zk8mPoY6SKhZK4q7dhNKRu4B-0-6d4e2fef9b17f99bcad2868cfb95da0f)
(4)创建LV
1)在datav上创建一个逻辑卷lv1,大小为50G,命令如下。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/96_10.jpg?sign=1739288467-Gq7MpP544TKQT7kNczSiKKzHtQ4KUamV-0-bc0225fd26a87e81df608dcf252cd305)
2)在datav上再创建一个逻辑卷lv2,大小为50G,命令如下。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/96_11.jpg?sign=1739288467-LMgompPXUpn1ZynV4rw3Al493SZtS3Ob-0-4f0e6acb8f7fbbacecc1ffbe1227411c)
3)查看datav上的逻辑卷,命令如下。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/97_01.jpg?sign=1739288467-iF3UzaXyF3idqvhVHbXz1xUsYCoH3E2Q-0-5c0febf17e943bd1b34ce35aeb1e55da)
4)查看lv1和lv2对应的设备文件,命令如下,可以看到 /dev/mapper/datav-lv1和/dev/mapper/datav-lv2是两个软链接文件,分别链接到了 /dev/dm-2和/dev/dm-3。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/97_02.jpg?sign=1739288467-j92J70KyRF1ZIpggPdNXmdY1Dds14W7z-0-5cae2244696b5e41cbfcaa3993da0e4c)
5)查看 /dev/dm-2和/dev/dm-3的属性,命令如下,可以看到这两个文件都是块设备文件,也就是说逻辑卷lv1对应 /dev/dm-2块设备文件,逻辑卷lv2对应 /dev/dm-3块设备文件。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/97_03.jpg?sign=1739288467-mQMxI5nQv7T3oo97CqNqyRj8Q0BGHJHA-0-32154d225132e4c2ef0f197295a6ed4a)
(5)创建文件系统
1)在lv1上构建文件系统Ext4,命令如下。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/97_04.jpg?sign=1739288467-qN5YYOKbXZeQ7wgOEUIlMlPsys9TjiXs-0-184e8d4513166aeb589c71752f708909)
2)在lv2上构建文件系统XFS,命令如下。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/97_05.jpg?sign=1739288467-HHMCoh3fzSLbgZ9H8b86rbbZskkrJcJS-0-173048bdfbc53754962187c52fc77e9a)
3)使用lsblk查看块设备文件系统信息,命令如下。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/97_06.jpg?sign=1739288467-zOP0NXq6i4MK3xhvrqfQOeXPAmMGfqHo-0-ee88ec484835ada376eb10992b77cfe3)
输出信息如图3-23所示,可以看到每个分区上的逻辑卷,以及每个逻辑卷的文件系统。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/97_07.jpg?sign=1739288467-mH9xeVcMC52rnBzPjlbn4EEnR3JelBF3-0-56521806d5bcf8ba486f486ec6b9163a)
图3-23 逻辑卷分区信息图
(6)挂载逻辑卷
1)将lv1挂载到 /mnt,命令如下。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/97_08.jpg?sign=1739288467-FptqfpgFFsLP3STjsPxxiuEo6AGomhBL-0-6e2f533f1347c2e2ff34405e287c7f36)
2)查看挂载信息,命令如下,可以看到lv1已经挂载到 /mnt。同样也可以将lv2挂载到其他目录,从而实现对lv2的操作。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/97_09.jpg?sign=1739288467-GtyHuYcQDX59RBkJdFjM2hPkEBJXlinj-0-87f9185d99dbe0872dab58ffdfbc8329)
2.LVM扩容操作
LVM的扩容包括两方面,在卷组容量足够的情况下,实现逻辑卷的扩容;卷组容量不足的情况下,对卷组进行扩容,示例说明如下。
(1)示例2:逻辑卷扩容
1)将lv1的容量由50G扩展到80G,命令如下。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/98_01.jpg?sign=1739288467-qYx2nL5Gdxndsa4EybeDf6XKZFwmHy1r-0-54843d4d9c046a521a3671c30510bd2d)
-L 80G表示将lv1扩展到80G,因为原来的大小是50G,因此也可以表示为在原来的基础上增加30G,则可以写成-L+30G。
2)查看lv1的信息,命令如下。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/98_02.jpg?sign=1739288467-mWCejYBBZ0kdSlTfOl9Bu3bKKOs5GkIq-0-a998487a9ff3936d0f7e144f4939d050)
可以看到lv1的容量已经变成了80G。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/98_03.jpg?sign=1739288467-0taBHRGw1JrCZfgOVQLEfN6Ydsf83d1V-0-15a19205be701a5449ad01bfe1bd27d9)
3)查看挂载点信息,lv1的容量还是50G,命令如下。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/98_04.jpg?sign=1739288467-k0y3VSfcCRMvKhlf10KbaQ2IRaXTb3aA-0-bccdaa7822853e3a28506b8b0a47c3ef)
可以看到,挂载点显示lv1的容量还是50G。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/98_05.jpg?sign=1739288467-p4GZBER9VV6cCeIP6u9zMtGR2ZzgiV2o-0-228d175b7cbbec4368731000ec09cf78)
4)这是因为文件系统也要随之扩容,lv1的文件系统为Ext4,扩容命令如下。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/98_06.jpg?sign=1739288467-9Wx3VewyZzpuLUWYEVbtutPOA5KW5giG-0-867db35e8c06f4f54ef2126938381e24)
扩容命令resize2fs可以在线执行,执行后再次查看挂载点信息,可以看到挂载点容量变成了79G,如下所示,因为文件系统自身也有开销,因此,最终显示的容量不到80G。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/98_07.jpg?sign=1739288467-SedAivNXnROO5lnAkfVK7Fd73BfRPA19-0-a46add54c37d7cab1b45b07927180009)
(2)示例3:卷组扩容
1)在/dev/sdb上新建一个分区p3,大小为100G,命令如下。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/98_08.jpg?sign=1739288467-9GJMi4SEw9qWEzI3pTGox46an92ucVz1-0-6cb2b008381fe96faf783731864a885c)
2)打印分区信息,命令如下,可以看到3个分区的信息。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/98_09.jpg?sign=1739288467-cC3kVqNhpmmdTpgGQiZqrufivOS4wB1v-0-8ed7da6a597f87ddbaa5b7f8dd2e1519)
3)退出分区,命令如下。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/98_10.jpg?sign=1739288467-wzMV6WgMIEuQQ7guCVAo0JtBWl0aGFXn-0-6cde8001a9d7bc9f5e29c26eae982c20)
4)在外部再次查看分区信息,命令如下。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/99_01.jpg?sign=1739288467-rdiNK85OI87bTBbErTbb14a7uaLauMs6-0-300697740be6b7a772300e6b9524e8c5)
分区信息如下所示,可以看到3个分区,其中sdb3是新建的分区。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/99_02.jpg?sign=1739288467-vgXzgmwbPrESM4sVnZD4UjvHjMDiqVJP-0-6a2bbc5faebef04ee58418851ac4a098)
5)将/dev/sdb3创建为物理卷,命令如下。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/99_03.jpg?sign=1739288467-3mb0k6YlcRAiDIIjw2cTWehl8FdE3m45-0-be510f1624c43cc7c8cd0a1f85d0495c)
6)查看物理卷信息,命令如下,可以看到sdb3还未加入卷组。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/99_04.jpg?sign=1739288467-AaebQ1nIMKm6AzzDNeid8dw2d5OWpSEU-0-e7be838358d54957b8d655b9507182da)
7)将sdb3加入卷组datav,命令如下。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/99_05.jpg?sign=1739288467-fwBwj1jwwRNFCS4XAw0KbJZCMAZx171k-0-a3943c6e784fef02b7a068744972631d)
8)再次查看物理卷信息,可以看到sdb3已经加入datav卷组,命令如下。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/99_06.jpg?sign=1739288467-33jixbkvHkPJ6F29R686TaUIElnj9Roa-0-9dedcf533f31ef095a50a24b55405207)
9)查看卷组datav信息,可以看到datav由原来的180G,扩展到了279.39G,如下所示,至此卷组扩容完成。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/99_07.jpg?sign=1739288467-rxg6RuDWyNikKYKbGSiqGPiYaHcG3fIl-0-c803db166b8d5258b914aefb02d28317)