磁盘管理——LVM的创建与管理(Linux)

不以物喜不以己悲,生活不会突变,你要做的只是耐心和积累。

 认识LVM

LVM(逻辑卷管理器),所谓逻辑就是不是真实存在的实物,是想象出来的。LVM有什么用呢?我们普通的磁盘分区或者磁盘阵列部署完之后再想去修改分区的大小就不容易了。换句话说,当用户想随着实际需求动态调整分区大小,会受到硬盘“灵活性”的限制,这时候就需要一种可以动态调整磁盘分区大小的技术,LVM技术诞生,LVM 技术是在硬盘分区和文件系统之间添加了一个逻辑层,它提供了一个抽象的卷组,可以把多块硬盘进行卷组合并。这样一来,用户不必关心物理硬盘设备的底层架构和布局,就可以实现对硬盘分区的动态调整。LVM技术架构如图所示:

为了能更好的理解LVM,通过一个之前看过的蒸馒头的例子来说明。小明家里蒸馒头,但面粉不够,然后去两邻居家借了些面粉(也就是硬盘或者分区),来蒸馒头吃。首先需要把这些面粉(物理卷PV揉成一个大的面团VG(卷组)),然后再把大的面团分割成一个个小馒头(LV(逻辑卷)),而且每个小馒头使用的面粉量都是一勺(PE(基本单元))。

 部署LVM的常用命令

功能/命令 物理卷管理(PV) 卷组管理(VG) 逻辑卷管理(LV)
扫描 pvscan vgscan lvscan
建立 pvcreate vgcreate lvcreate
显示 pvdisplay vgdisplay lvdisplay
删除 pvremove vgremove lvremove
扩展   vgextend lvextend(lvresize)
缩小   vgreduce lvreduce(lvresize)

LVM 创建过程演示

百闻不如一见,看书不如实验,实践是检验真理的唯一标准。

1.安装LVM管理工具

yum -y install lvm2

2.查看创建LVM卷的硬盘或者分区

lvmdiskscan

3.创建PV(物理卷),添加2块硬盘(至少需要一个硬盘或者分区,这里用两块硬盘来演示),让新添加的两块硬盘设备支持 LVM 技术

[root@linuxprobe ~]# pvcreate /dev/sdb /dev/sdc
Physical volume "/dev/sdb" successfully created
Physical volume "/dev/sdc" successfully created

4.创建VG(卷组),“storage”为卷组名

[root@linuxprobe ~]# vgcreate storage /dev/sdb /dev/sdc
Volume group "storage" successfully created
[root@linuxprobe ~]# vgdisplay //显示卷组状态
--- Volume group ---
VG Name storage
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 39.99 GiB
PE Size 4.00 MiB
Total PE 10238
Alloc PE / Size 0 / 0 Free PE / Size 10238 / 39.99 GiB
VG UUID KUeAMF-qMLh-XjQy-ArUo-LCQI-YF0o-pScxm1
………………省略部分输出信息………………

5.创建LV(逻辑卷),切割出一个约为 150MB 的逻辑卷设备,“vo”为逻辑卷名。

[root@linuxprobe ~]# lvcreate -n vo -L 150M storage
Logical volume "vo" created
[root@linuxprobe ~]# lvdisplay
--- Logical volume ---
LV Path /dev/storage/vo
LV Name vo
VG Name storage
LV UUID D09HYI-BHBl-iXGr-X2n4-HEzo-FAQH-HRcM2I
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2017-02-01 01:22:54 -0500
LV Status available
# open 0
LV Size 148.00 MiB
Current LE 37
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:2
………………省略部分输出信息………………

6.把生成好的逻辑卷进行格式化,然后挂载使用。

[root@linuxprobe ~]# mkfs.ext4 /dev/storage/vo
[root@linuxprobe ~]# mkdir /linuxprobe   //创建挂载目录
[root@linuxprobe ~]# mount /dev/storage/vo /linuxprobe     //挂载

7.查看挂载状态,并写入到配置文件,使其永久生效。

[root@linuxprobe ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/rhel-root 18G 3.0G 15G 17% /
devtmpfs 905M 0 905M 0% /dev
tmpfs 914M 140K 914M 1% /dev/shm
tmpfs 914M 8.8M 905M 1% /run
tmpfs 914M 0 914M 0% /sys/fs/cgroup
/dev/sr0 3.5G 3.5G 0 100% /media/cdrom
/dev/sda1 497M 119M 379M 24% /boot
/dev/mapper/storage-vo 145M 7.6M 138M 6% /linuxprobe
[root@linuxprobe ~]# echo "/dev/storage/vo /linuxprobe ext4 defaults 0 0" >> /
etc/fstab

逻辑卷的扩容和缩容

提示:xfs格式的磁盘,只能扩不能缩

说明:“-r”参数的含义是:检查硬盘完整性,并重置硬盘容量。

增加大小
lvresize -L +100M -r /dev/storage/vo
lvextend -L +100M -r /dev/storage/vo

减小大小
lvresize -L -100M -r /dev/storage/vo
lvreduce -L -100M -r /dev/storage/vo

删除LVM

LVM 的删除步骤:
1.先卸载lv
umount /linuxprobe

2.删除lv
lvremove /dev/storage/vo

3.删除vg
vgremove /dev/storage

4.删除pv
pvremove /dev/sdb /dev/sdc

或者直接vgremove /dev/storage,再pvremove /dev/sdb /dev/sdc

猜你喜欢

转载自blog.csdn.net/weixin_42342456/article/details/84848730