lvm中文翻译为逻辑卷管理器
lvm 的作法是将几个物理的分区通关软件组合成一块独立的大硬盘(VG),然后将这块大硬盘再经过成为可以使用的分区LV,最终就能挂载使用了。
lvm 的主要作用是实现一个可以弹性调整容量的文件系统上,而不是在新建一个性能为主的磁盘上。
PE是整个LVM的最小存储单位,lv的大小就与LV内的PE总数有关。
pv 物理卷
vg 卷用户组
lv 逻辑卷
lvm实作流程
1.添加一块磁盘,分一个扩展分区 并分成个4个逻辑分区
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 200M 0 part /boot
├─sda2 8:2 0 4G 0 part [SWAP]
└─sda3 8:3 0 15.8G 0 part /
sdb 8:16 0 20G 0 disk
├─sdb1 8:17 0 1G 0 part
├─sdb2 8:18 0 1K 0 part
├─sdb5 8:21 0 2G 0 part
├─sdb6 8:22 0 2G 0 part
├─sdb7 8:23 0 2G 0 part
└─sdb8 8:24 0 2G 0 part
sr0 11:0 1 4.2G 0 rom /mnt
2.创建物理卷
与pv有关的命令
pvcreate :将物理分区新建成为pv
pvscan : 查询目前系统里面任何具有pv的磁盘
pvdisplay :显示出目前系统上面的pv状态
pvremove : 将pv属性删除,让该分区不具有pv属性
将sdb5,6,7,8 四个个分区成为pv,
root@localhost ~]# pvcreate /dev/sdb{5,6,7,8}
Physical volume "/dev/sdb5" successfully created.
Physical volume "/dev/sdb6" successfully created.
Physical volume "/dev/sdb7" successfully created.
Physical volume "/dev/sdb8" successfully created.
查看系统里面具有pv的磁盘
[root@localhost ~]# pvscan
PV /dev/sdb8 lvm2 [2.00 GiB]
PV /dev/sdb7 lvm2 [2.00 GiB]
PV /dev/sdb6 lvm2 [2.00 GiB]
PV /dev/sdb5 lvm2 [2.00 GiB]
Total: 4 [8.00 GiB] / in use: 0 [0 ] / in no VG: 4 [8.00 GiB]
最后一行是 总共pv容量 和已经使用pv容量
2.卷组创建阶段
与vg相关的命令
vgcreate :创建卷组
vgscan : 查找系统上面是否有vg存在
vgdisplay : 显示系统上面vg状态
vgextend :在vg内增加额外的pv
vgreduce :在vg内删除pv
vgchange :设置vg是否启动
vgremove :删除一个vg
与pv不同的是,vg的名称是自定义的!
将/dev/sdb5,6,7 新建一个vg 名字为 myvg
[root@localhost ~]# vgcreate myvg /dev/sdb{5,6,7}
Volume group "myvg" successfully created
有一个分区没有用掉
[root@localhost ~]# pvscan
PV /dev/sdb5 VG myvg lvm2 [<2.00 GiB / <2.00 GiB free]
PV /dev/sdb6 VG myvg lvm2 [<2.00 GiB / <2.00 GiB free]
PV /dev/sdb7 VG myvg lvm2 [<2.00 GiB / <2.00 GiB free]
PV /dev/sdb8 lvm2 [2.00 GiB]
Total: 4 [<7.99 GiB] / in use: 3 [<5.99 GiB] / in no VG: 1 [2.00 GiB]
增加vg容量 vgextend
[root@localhost ~]# vgextend myvg /dev/sdb8
Volume group "myvg" successfully extended
3.逻辑卷阶段
lvcreate :新建lv
lvscan :查询系统上的lv
lvdisplay :显示系统上面的lv状态
lvextend :增加lv容量
lvreduce :减少lv容量
lvremove:删除一个lv
lvresize :对lv进行容量大小的调整
创建lv名字为mylv 大小为 2G 从卷组中创建
[root@localhost ~]# lvcreate -L 2G -n mylv /dev/myvg
Logical volume "mylv" created.
4.格式化分区
[root@localhost ~]# mkfs -t xfs /dev/myvg/mylv
meta-data=/dev/myvg/mylv isize=512 agcount=4, agsize=131072 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=524288, 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
5.挂载
[root@localhost ~]# mount /dev/myvg/mylv /mnt
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 16G 3.8G 13G 24% /
devtmpfs 902M 0 902M 0% /dev
tmpfs 912M 0 912M 0% /dev/shm
tmpfs 912M 8.6M 904M 1% /run
tmpfs 912M 0 912M 0% /sys/fs/cgroup
/dev/mapper/myvg-mylv 2.0G 33M 2.0G 2% /mnt
/dev/sda1 197M 113M 84M 58% /boot
tmpfs 183M 0 183M 0% /run/user/0
放大lv容量
1扩大lv 增加1Gb 容量
[root@localhost ~]# lvextend -L +1G /dev/myvg/mylv
Size of logical volume myvg/mylv changed from 2.00 GiB (512 extents) to 3.00 GiB (768 extents).
Logical volume myvg/mylv successfully resized.
2.扩大文件系统
xfs文件系统扩大
[root@localhost ~]# xfs_growfs /dev/myvg/mylv
meta-data=/dev/mapper/myvg-mylv isize=512 agcount=4, agsize=131072 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=524288, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 524288 to 786432
ext4 文件系统扩大
resize2fs /dev/myvg/mylv
lvm系统快照
快照就是将当时的系统文件信息保存下来,将来若有任何数据变动,原始数据会被移到快照区。
lv的快照必须要和lv在在同一个vg上面 。
快照创建
1.查看vg里面还剩下多少容量
[root@localhost ~]# vgdisplay
--- Volume group ---
VG Name myvg
System ID
Format lvm2
Metadata Areas 4
Metadata Sequence No 4
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 4
Act PV 4
VG Size 7.98 GiB
PE Size 4.00 MiB
Total PE 2044
Alloc PE / Size 768 / 3.00 GiB
Free PE / Size 1276 / 4.98 GiB
VG UUID UDvSa1-UL3u-FhqZ-ZDBk-fcol-1ZH8-WNHoOM
倒数第二行 显示还有剩余
2.利用lvcreate -s 新建系统快照
给lv创建名为mylv-snap 大小为1Gb 的系统快照
[root@localhost ~]# lvcreate -s -n mylv-snap -L +1G /dev/myvg/mylv
Using default stripesize 64.00 KiB.
Logical volume "mylv-snap" created.
3.格式化
4. 挂载