LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是创建在硬盘和分区之上的一个逻辑层,来提升磁盘分区管理的灵活性。node
LVM最大的特色就是能够对磁盘进行动态管理。由于逻辑卷的大小是能够动态调整的,并且不会丢失现有的数据。若是咱们新增长了硬盘,其也不会改变现有上层的逻辑卷。做为一个动态磁盘管理机制,逻辑卷技术大大提升了磁盘管理的灵活性。若是指望扩容云盘的IO能力,则能够经过将多块容量相同的云盘作RAID0。服务器
图1:LVM逻辑示意图app
以下以5块云盘经过LVM建立弹性可扩展逻辑卷为例。ui
root@lvs06:~# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT vda 252:0 0 40G 0 disk └─vda1 252:1 0 40G 0 part / vdb 252:16 0 1T 0 disk vdc 252:32 0 1T 0 disk vdd 252:48 0 1T 0 disk vde 252:64 0 1T 0 disk vdf 252:80 0 1T 0 disk
pvcreate <磁盘路径1> ... <磁盘路径N>
说明:此处须要填写云盘的设备名称,若是须要添加多个云盘,则能够添加多云盘设备名称,中间以空格间隔。以下以/dev/vdb, /dev/vdc,/dev/vdd,/dev/vde,/dev/vdf为例,执行结果以下:spa
root@lvs06:~# pvcreate /dev/vdb /dev/vdc /dev/vdd /dev/vde /dev/vdf Physical volume "/dev/vdb" successfully created. Physical volume "/dev/vdc" successfully created. Physical volume "/dev/vdd" successfully created. Physical volume "/dev/vde" successfully created. Physical volume "/dev/vdf" successfully created.
lvmdiskscan | grep LVM
执行结果以下:code
root@lvs06:~# lvmdiskscan | grep LVM /dev/vdb [ 1.00 TiB] LVM physical volume /dev/vdc [ 1.00 TiB] LVM physical volume /dev/vdd [ 1.00 TiB] LVM physical volume /dev/vde [ 1.00 TiB] LVM physical volume /dev/vdf [ 1.00 TiB] LVM physical volume 5 LVM physical volume whole disks 0 LVM physical volumes
vgcreate <卷组名> <物理卷路径1>……<物理卷路径N>
执行结果以下:orm
root@lvs06:~# vgcreate lvm_01 /dev/vdb /dev/vdc /dev/vdd /dev/vde /dev/vdf Volume group "lvm_01" successfully created
说明:blog
1.卷组名:该参数可自定义 2.物理卷路径:此处填写云盘的物理卷名称,多个物理卷直接以空格间隔 3.当提示 “Volume group XXX successfully created”标识卷组建立成功;
- step2:执行如下命令,能够向卷组(VG)中添加物理卷(PV)get
vgextend 卷组名称 <物理卷路径1>……<物理卷路径N>
以下,向卷组(VG)lvm_01中添加一块新的物理卷:it
root@lvs06:~# pvcreate /dev/vdg Physical volume "/dev/vdg" successfully created. root@lvs06:~# vgextend lvm_01 /dev/vdg Volume group "lvm_01" successfully extended
root@lvs06:~# vgs VG #PV #LV #SN Attr VSize VFree lvm_01 6 0 0 wz--n- <6.00t <6.00t
lvcreate [-L <逻辑卷大小>][ -n <逻辑卷名称>] <卷组名称>
参数说明:
1.逻辑卷大小:逻辑卷的大小应小于卷组(VG)剩余可用空间,单位能够选择MB、GB或者TB 2.逻辑卷名称:可自定义 3.卷组名称:此处填写逻辑卷所在的卷组名称
本文以建立1个4TB的逻辑卷(LV)为例,执行结果以下:
root@lvs06:~# lvcreate -L 5T -n lv01 lvm_01 Logical volume "lv01" created.
root@lvs06:~# lvdisplay --- Logical volume --- LV Path /dev/lvm_01/lv01 LV Name lv01 VG Name lvm_01 LV UUID svB00x-l6Ke-ES6M-ctsE-9P6d-dVj2-o0h3Kz LV Write Access read/write LV Creation host, time lvs06, 2019-06-06 15:27:19 +0800 LV Status available # open 0 LV Size 5.00 TiB Current LE 1310720 Segments 6 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:0
mkfs.文件系统格式 逻辑卷路径
针对上一步中的逻辑卷建立ext4文件系统,执行结果以下:
root@lvs06:~# mkfs.ext4 /dev/lvm_01/lv01 mke2fs 1.44.1 (24-Mar-2018) Creating filesystem with 1342177280 4k blocks and 167772160 inodes Filesystem UUID: 2529002f-9209-4b6a-9501-106c1145c77f Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 102400000, 214990848, 512000000, 550731776, 644972544 Allocating group tables: done Writing inode tables: done Creating journal (262144 blocks): done Writing superblocks and filesystem accounting information: done
mount 逻辑卷路径 挂载点
执行结果以下:
root@lvs06:~# mount /dev/lvm_01/lv01 /media/lv01 root@lvs06:~# df -h Filesystem Size Used Avail Use% Mounted on udev 12G 0 12G 0% /dev tmpfs 2.4G 3.7M 2.4G 1% /run /dev/vda1 40G 3.6G 34G 10% / tmpfs 12G 0 12G 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 12G 0 12G 0% /sys/fs/cgroup tmpfs 2.4G 0 2.4G 0% /run/user/0 /dev/mapper/lvm_01-lv01 5.0T 89M 4.8T 1% /media/lv01
lvextend [-L +/- <增减容量>] <逻辑卷路径>
参数说明:
1.增减容量:当卷组中可剩余容量时 ,能够执行扩容逻辑卷操做。扩容逻辑卷以后还须要扩容对应的文件系统才能生效; 2.逻辑卷路径:此处填写带扩容的逻辑卷路径
以下针对/dev/lvm_01/lv01 卷再扩容500GB物理空间,执行结果以下:
root@lvs06:~# lvextend -L +500GB /dev/lvm_01/lv01 Size of logical volume lvm_01/lv01 changed from 5.00 TiB (1310720 extents) to <5.49 TiB (1438720 extents). Logical volume lvm_01/lv01 successfully resized.
root@lvs06:~# pvs PV VG Fmt Attr PSize PFree /dev/vdb lvm_01 lvm2 a-- <1024.00g 0 /dev/vdc lvm_01 lvm2 a-- <1024.00g 0 /dev/vdd lvm_01 lvm2 a-- <1024.00g 0 /dev/vde lvm_01 lvm2 a-- <1024.00g 0 /dev/vdf lvm_01 lvm2 a-- <1024.00g 0 /dev/vdg lvm_01 lvm2 a-- <1024.00g <523.98g
resize2fs 逻辑卷路径
执行结果以下:
root@lvs06:~# resize2fs /dev/lvm_01/lv01 resize2fs 1.44.1 (24-Mar-2018) Filesystem at /dev/lvm_01/lv01 is mounted on /media/lv01; on-line resizing required old_desc_blocks = 640, new_desc_blocks = 703 The filesystem on /dev/lvm_01/lv01 is now 1473249280 (4k) blocks long.
root@lvs06:~# df -h Filesystem Size Used Avail Use% Mounted on udev 12G 0 12G 0% /dev tmpfs 2.4G 3.7M 2.4G 1% /run /dev/vda1 40G 3.6G 34G 10% / tmpfs 12G 0 12G 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 12G 0 12G 0% /sys/fs/cgroup tmpfs 2.4G 0 2.4G 0% /run/user/0 /dev/mapper/lvm_01-lv01 5.5T 83M 5.2T 1% /media/lv01
原文连接 本文为云栖社区原创内容,未经容许不得转载。