逻辑卷管理LVM的重点在于可以弹性调整逻辑文件系统的容量,LVM可以整合多个实体分区在一起,让这些分区看起来像一个磁盘一样,而且还可以在未来新增或者移除实体分区到LVM管理的磁盘当中,于是在磁盘空间的使用上就相当具有弹性了。
pv 物理卷 实体滚动条
pvcreate
vg 逻辑滚动条
多个物理卷合成一个vg,每个vg最小的单位成为pe
一个vg的最大容量为256G
创建vg的过程中指定pe的个数及大小
vgcreate
lv 逻辑卷
在vg中分割出lv
lvcreate
写入lv时,写入的机制有两种:
线性机制(默认):假如 /dev/sda1 /dev/sdb1 两个分区加入到VG中,并且整个vg只有一个lv时,所谓的线性模式就是当一个磁盘空间的容量用完了之后,才会用到另一个磁盘
交错模式(没什么特别大的用处):将一笔数据拆分成2部分,分别写入 /dev/sda1 和 /dev/sdb1中,有点类似于raid
逻辑卷管理
pvscan、pvdisplay看到当前系统中有哪些pv
[root@localhost dev]# pvdisplay
--- Physical volume ---
PV Name /dev/sda2
VG Name rhel
PV Size 29.00 GiB / not usable 3.00 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 7423
Free PE 1
Allocated PE 7422
PV UUID tCfHxX-zCRo-mXCu-OGNl-nqTm-mY90-mNgaDm
[root@localhost dev]# pvscan
PV /dev/sda2 VG rhel lvm2 [29.00 GiB / 4.00 MiB free]
Total: 1 [29.00 GiB] / in use: 1 [29.00 GiB] / in no VG: 0 [0 ]
创建pv
[root@localhost ~]# pvcreate /dev/sdd1
Physical volume "/dev/sdd1" successfully created.
[root@localhost ~]# pvcreate /dev/sdd2
Physical volume "/dev/sdd2" successfully created.
[root@localhost ~]# pvscan
PV /dev/sda2 VG rhel lvm2 [29.00 GiB / 4.00 MiB free]
PV /dev/sdd1 lvm2 [49.00 MiB]
PV /dev/sdd2 lvm2 [46.66 MiB]
Total: 3 [29.09 GiB] / in use: 1 [29.00 GiB] / in no VG: 2 [95.66 MiB]
删除pv
[root@localhost ~]# pvremove /dev/sdd1
Labels on physical volume "/dev/sdd1" successfully wiped.
创建vg
vgcreate -s 指定pe的大小
[root@localhost ~]# vgcreate -s 16M lalin /dev/sdd1 /dev/sdd2
Volume group "lalin" successfully created
[root@localhost ~]# vgdisplay
--- Volume group ---
VG Name lalin
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 80.00 MiB
PE Size 16.00 MiB
Total PE 5
Alloc PE / Size 0 / 0
Free PE / Size 5 / 80.00 MiB
VG UUID O3qcPD-RSl4-HPJR-wlBh-KltA-pVvb-mWOG0L
--- Volume group ---
VG Name rhel
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 1
Act PV 1
VG Size 29.00 GiB
PE Size 4.00 MiB
Total PE 7423
Alloc PE / Size 7422 / 28.99 GiB
Free PE / Size 1 / 4.00 MiB
VG UUID qNS8jD-VDUR-Ga4W-vv3m-UQzs-0BAo-ddpXrB
创建lv
lvcreate -n 指定lv的名字
lvcreate -l 指定pe的个数
lvcreate -L 指定lv的大小
[root@localhost ~]# lvcreate -n lvm1 -l 5 lalin
Logical volume "lvm1" created.
[root@localhost ~]# vgdisplay
--- Volume group ---
VG Name lalin
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 80.00 MiB
PE Size 16.00 MiB
Total PE 5
Alloc PE / Size 0 / 0
Free PE / Size 5 / 80.00 MiB
VG UUID O3qcPD-RSl4-HPJR-wlBh-KltA-pVvb-mWOG0L
--- Volume group ---
VG Name rhel
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 1
Act PV 1
VG Size 29.00 GiB
PE Size 4.00 MiB
Total PE 7423
Alloc PE / Size 7422 / 28.99 GiB
Free PE / Size 1 / 4.00 MiB
VG UUID qNS8jD-VDUR-Ga4W-vv3m-UQzs-0BAo-ddpXrB
[root@localhost ~]# lvcreate -n lvm1 -l 5 lalin
Logical volume "lvm1" created.
[root@localhost ~]# lvdisplay
--- Logical volume ---
LV Path /dev/lalin/lvm1
LV Name lvm1
VG Name lalin
LV UUID sXPzIe-FEI7-F4XU-NzUS-iUq3-PwFc-DWFPty
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2020-04-17 02:23:54 +0800
LV Status available
# open 0
LV Size 80.00 MiB
Current LE 5
Segments 2
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:2
--- Logical volume ---
LV Path /dev/rhel/swap
LV Name swap
VG Name rhel
LV UUID i7paW3-7dgs-DkTw-ICvZ-Pxmg-WhBF-tzf6rU
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2020-04-16 17:45:49 +0800
LV Status available
# open 2
LV Size 2.00 GiB
Current LE 512
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:1
--- Logical volume ---
LV Path /dev/rhel/root
LV Name root
VG Name rhel
LV UUID Z10ry6-uJdY-Rdgf-0oO2-OIyw-mK1Y-XJsC2k
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2020-04-16 17:45:49 +0800
LV Status available
# open 1
LV Size 26.99 GiB
Current LE 6910
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:0
使用逻辑卷
lalin是vg的名字
lvm1是lv的名字
[root@localhost ~]# cd /dev/lalin/
[root@localhost lalin]# ls
lvm1
格式化逻辑卷
[root@localhost lalin]# mkfs -t ext4 /dev/lalin/lvm1
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
20480 inodes, 81920 blocks
4096 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=33685504
10 block groups
8192 blocks per group, 8192 fragments per group
2048 inodes per group
Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729
Allocating group tables: done
Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done
修改挂载文件
[root@localhost lalin]# vim /etc/fstab
#
# /etc/fstab
# Created by anaconda on Thu Apr 16 17:45:50 2020
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/rhel-root / xfs defaults 0 0
UUID=00d3a5f5-0011-4d3f-bf0e-1aafd51b4e23 /boot xfs defaults 0 0
/dev/mapper/rhel-swap swap swap defaults 0 0
/dev/sr0 /mnt/cdrom iso9660 defaults 0 0
/dev/sdb2 /mnt/lalin ext4 defaults 0 0
/mnt/lalin/test /mnt/testLoop ext4 defaults 0 0
/dev/sdc1 swap swap defaults 0 0
/dev/lalin/lvm1 /mnt/testLogical ext4 defaults 0 0
/"/etc/fstab" 16L, 687C written
[root@localhost lalin]# mount -a
[root@localhost lalin]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/rhel-root xfs 27G 1.7G 26G 7% /
devtmpfs devtmpfs 902M 0 902M 0% /dev
tmpfs tmpfs 912M 0 912M 0% /dev/shm
tmpfs tmpfs 912M 8.7M 904M 1% /run
tmpfs tmpfs 912M 0 912M 0% /sys/fs/cgroup
/dev/sr0 iso9660 3.6G 3.6G 0 100% /mnt/cdrom
/dev/sdb2 ext4 991M 3.8M 920M 1% /mnt/lalin
/dev/loop0 ext4 19M 332K 17M 2% /mnt/testLoop
/dev/sda1 xfs 1014M 139M 876M 14% /boot
tmpfs tmpfs 183M 0 183M 0% /run/user/0
/dev/mapper/lalin-lvm1 ext4 74M 1.6M 67M 3% /mnt/testLogical
开机指定执行指令文件
[root@localhost lalin]# vim /etc/rc.local
#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In contrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.
touch /var/lock/subsys/local
~
~
mount -o loop 等于 defaults,loop
lvresize:修改lv的大小
lvresize可以增加或者减少lv大小
[root@localhost lalin]# lvresize -l 4 /dev/lalin/lvm1
WARNING: Reducing active and open logical volume to 64.00 MiB.
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce lalin/lvm1? [y/n]: y
Size of logical volume lalin/lvm1 changed from 80.00 MiB (5 extents) to 64.00 MiB (4 extents).
Logical volume lalin/lvm1 successfully resized.
[root@localhost lalin]# lvdisplay
--- Logical volume ---
LV Path /dev/lalin/lvm1
LV Name lvm1
VG Name lalin
LV UUID sXPzIe-FEI7-F4XU-NzUS-iUq3-PwFc-DWFPty
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2020-04-17 02:23:54 +0800
LV Status available
# open 1
LV Size 64.00 MiB
Current LE 4
Segments 2
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:2
--- Logical volume ---
LV Path /dev/rhel/swap
LV Name swap
VG Name rhel
LV UUID i7paW3-7dgs-DkTw-ICvZ-Pxmg-WhBF-tzf6rU
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2020-04-16 17:45:49 +0800
LV Status available
# open 2
LV Size 2.00 GiB
Current LE 512
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:1
--- Logical volume ---
LV Path /dev/rhel/root
LV Name root
VG Name rhel
LV UUID Z10ry6-uJdY-Rdgf-0oO2-OIyw-mK1Y-XJsC2k
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2020-04-16 17:45:49 +0800
LV Status available
# open 1
LV Size 26.99 GiB
Current LE 6910
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:0