问题描述
如何在ECS云盘上使用逻辑卷管理器(LVM)创建并使用逻辑卷(LV)
问题分析
LVM 允许分配磁盘空间、重新镜像和调整逻辑卷的大小。使用 LVM,您可以将一个云盘或一组云盘分配给一个或多个物理卷。
要在云盘上使用 LVM 并扩展分区,大体步骤如下:
- 从云盘创建物理卷 (PV)。
- 创建一个卷组 (VG) 并将物理卷添加到该卷组。
- 在 LVM 上创建逻辑卷 (LV) 和挂载目录。
- 创建并挂载文件系统。
- 调整逻辑卷的大小。
解决方案
一. 从云盘创建物理卷
LVM 逻辑卷的底层物理存储单元是一个块储存设备,例如云盘的分区或整个云盘。您可以在单个云盘或多个云盘上创建 PV。
1.准备一台Linux(velinux系统),然后创建一个新的20G云盘,并挂载到ECS。
2.如果没有pvcreate,使用下面命令搜索安装:
root@i-2udbbtytcx3gv6bvmhzb:~# pvcreate
-bash: pvcreate: command not found
root@i-2udbbtytcx3gv6bvmhzb:~# aptitude search lvm2
p libblockdev-lvm2 - LVM plugin for libblockdev
p liblvm2-dev - LVM2 libraries - development files
p liblvm2cmd2.03 - LVM2 command library
p liblvm2cmd2.03-dbgsym - debug symbols for liblvm2cmd2.03
p lvm2 - Linux Logical Volume Manager
p lvm2-dbgsym - debug symbols for lvm2
p lvm2-dbusd - LVM2 D-Bus daemon
p lvm2-lockd - LVM locking daemon
p lvm2-lockd-dbgsym - debug symbols for lvm2-lockd
p udisks2-lvm2 - LVM2 support for udisks2
root@i-2udbbtytcx3gv6bvmhzb:~# aptitude install lvm2
3.使用 pvcreate 命令创建物理卷。
root@i-2udbbtytcx3gv6bvmhzb:~# pvcreate /dev/vdb
Physical volume "/dev/vdb" successfully created.
4.使用 pvs 或 pvdisplay 命令查看物理卷详细信息。
root@i-2udbbtytcx3gv6bvmhzb:~# pvs
PV VG Fmt Attr PSize PFree
/dev/vdb lvm2 --- 20.00g 20.00g
root@i-2udbbtytcx3gv6bvmhzb:~# pvdisplay
"/dev/vdb" is a new physical volume of "20.00 GiB"
--- NEW Physical volume ---
PV Name /dev/vdb
VG Name
PV Size 20.00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID KQhlAN-MzyE-Bg3U-50uM-6Ds6-q82w-c1U46M
二. 创建卷组并将物理卷添加到该卷组
1.使用 vgcreate 命令创建一个卷组,以合并新的物理卷。以下示例使用一个物理卷创建卷组 Dock。
root@i-2udbbtytcx3gv6bvmhzb:~# vgcreate Dock /dev/vdb
Volume group "Dock" successfully created
2.使用 vgs 或 vgdisplay 查看新卷组的详细信息.
root@i-2udbbtytcx3gv6bvmhzb:~# vgs
VG #PV #LV #SN Attr VSize VFree
Dock 1 0 0 wz--n- <20.00g <20.00g
root@i-2udbbtytcx3gv6bvmhzb:~# vgdisplay
--- Volume group ---
VG Name Dock
System ID
Format lvm2
Metadata Areas 1
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 1
Act PV 1
VG Size <20.00 GiB
PE Size 4.00 MiB
Total PE 5119
Alloc PE / Size 0 / 0
Free PE / Size 5119 / <20.00 GiB
VG UUID wmjcqY-DzN3-1elw-YH0S-PEw9-eJFf-D5QXLm
三. 创建逻辑卷 (LV) 和挂载目录
1.使用 lvcreate 命令从卷组创建逻辑卷(分区)。以下示例从 Dock 卷组创建一个 10GB 逻辑卷 station1。
root@i-2udbbtytcx3gv6bvmhzb:~# lvcreate -n station1 -L 10G Dock
Logical volume "station1" created.
2.使用 lvs 或 lvdisplay 命令查看逻辑卷详细信息。
root@i-2udbbtytcx3gv6bvmhzb:/var/log# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
station1 Dock -wi-a----- 10.00g
root@i-2udbbtytcx3gv6bvmhzb:/var/log# lvdisplay
--- Logical volume ---
LV Path /dev/Dock/station1
LV Name station1
VG Name Dock
LV UUID mCoAcP-wt9u-zxGO-93S9-zvV3-iBMy-GSRyf7
LV Write Access read/write
LV Creation host, time i-2udbbtytcx3gv6bvmhzb, 2021-09-14 11:30:15 +0800
LV Status available
# open 0
LV Size 10.00 GiB
Current LE 2560
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:0
- 使用 mkdir 命令创建一个挂载目录。以下示例创建目录 /mnt1 。
mkdir /mnt1
四. 创建并挂载文件系统
1.使用以下命令创建文件系统并挂载以供使用。
运行 mkfs -t 命令以创建文件系统。注意:将 xfs 替换为您的文件系统类型(如果不同)。例如,ext2、ext3 或 ext4。
root@i-2udbbtytcx3gv6bvmhzb:/dev/Dock# mkfs -t xfs /dev/Dock/station1
meta-data=/dev/Dock/station1 isize=512 agcount=4, agsize=655360 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=0
data = bsize=4096 blocks=2621440, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
2.运行 lsblk -f 命令以验证是否创建了新文件系统。注意:您在上一步中创建的文件系统类型将显示在 FSTYPE 下方。
root@i-2udbbtytcx3gv6bvmhzb:~# lsblk -f
NAME FSTYPE LABEL UUID FSAVAIL FSUSE% MOUNTPOINT
vda
└─vda1 ext4 45925258-0afa-4795-909f-f9130b2f8a28 35.5G 5% /
vdb LVM2_member KQhlAN-MzyE-Bg3U-50uM-6Ds6-q82w-c1U46M
└─Dock-station1 xfs 84f36315-6e1f-4dad-917d-f68f32c6ee6f
3.运行 mount 命令以在上一步中创建的挂载目录下挂载文件系统。
root@i-2udbbtytcx3gv6bvmhzb:~# mount /dev/Dock/station1 /mnt1
4.编辑 /etc/fstab 文件中的挂载选项,以便在重启后新挂载仍然存在。
root@i-2udbbtytcx3gv6bvmhzb:~# cat /etc/fstab
UUID=45925258-0afa-4795-909f-f9130b2f8a28 / ext4 defaults,errors=remount-ro 0 1
/dev/Dock/station1 /mnt1 xfs defaults,nofail 0 0
如果您有其他问题,欢迎您联系火山引擎技术支持服务