实验:lvm配置
前提:添加一块5G硬盘
LVM简介
LVM是 Logical Volume Manager(逻辑卷管理)的简写,LVM将若干个磁盘或者磁盘分区连接为一个整块的卷组,形成一个存储池。管理员可以在卷组上任意创建逻辑卷,,并进一步在逻辑卷上创建文件系统。管理员通过LVM可以方便调整存储卷组大小,并且可以对磁盘存储按照组的方式进行命名、管理和分配。假设有三块磁盘/dev/sdb、/dev/sdc和/dev/sdd/用来划分逻辑卷,LVM模型如图所示:
注:物理卷只属于一个卷组
Lvs 简单逻辑卷
pvs查看物理卷
vgs查看卷组
LVM基本术语
通过LVM技术,屏蔽了磁盘分区的底层差异,在逻辑上给文件系统提供了一个卷的概念,然后在这些卷上建立相应的文件系统。在了解LVM之前,先熟悉LVM中的几个常用术语
(1)物理存储设备:指系统的存储设备文件,如:/dev/回答、/dev/sda等等
(2)物理卷:简称PV,可以是整个磁盘、硬盘分区或者逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但是和基本的物理存储介质(如分区、磁盘)比较,却包含有与LVM相关的管理参数。
(3)卷组:简称VG,可以看成单独饿逻辑磁盘,,建立在PV之上,一个卷组中至少包含一个PV或者多个,在卷组建立之后可以动态的添加PV到卷组中。卷组的名称可以自定义
(4)PE物理区域:物理区域是物理卷中可用于分偶的最小存储单元,物理区域的小默认为4MB。物理区域大小一旦确定将不能更改,同一卷组,也可以属于不同的多个卷组。
(5)逻辑卷:简称LV,相当于物理分区。逻辑卷建立在卷组之上,卷组中的未分配空间可以拥有建立新的逻辑卷,逻辑卷建立后可以动态的扩展或者缩小空间。系统中的多个逻辑卷,可以属于同一个卷组,也可属于不同的多个卷组。
(6)逻辑区域:简称LE,逻辑区域是逻辑卷中可用于分配的最小存储单元,逻辑区域大小取决于逻辑卷的大小。LE的大小和PE的大小一样。
(7)卷组描述符区域;简称VGDA,和非LVM系统将包含分区信息的元数据保存在位于分区的起始位置的分区表中一样,逻辑卷以及卷组相关的元数据也是保存在位于物理卷起始的卷组描述符区域中。VGDA包括以下内容:PV描述符、VG描述符、LV描述符和一些PE描述符
创建和管理逻辑卷
安装LVM
首先确定系统中是否安装lvm工具:
[root@kongd Desktop]# rpm -qa | grep lvm
lvm2-2.02.130-5.el7.x86_64
mesa-private-llvm-3.6.2-2.el7.x86_64
lvm2-libs-2.02.130-5.el7.x86_64
查看结果可知系统已安装LVM管理工具:如果命令没有输出则说明没有安装LVM管理工具,则需要从网络上下载或者从光盘装LVM rpm 工具包
常用命令
1> 查看磁盘是否识别?
Lsblk 或者 fdisk -l
2> 分区
划分了两个500M的主分区,剩余的给扩展分区,扩展分区里面划分两个逻辑分区
fdisk /dev/sdb
3> 更改分区类型--8e
t
Command (m for help): p 注释:primary主分区 extended扩展分区 logical逻辑分区
Disk /dev/sdb: 5368 MB, 5368709120 bytes, 10485760 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x81984c04
Device Boot Start End Blocks Id System
/dev/sdb1 2048 1026047 512000 8e Linux LVM
/dev/sdb2 1026048 2050047 512000 8e Linux LVM
/dev/sdb4 2050048 10485759 4217856 5 Extended
/dev/sdb5 2052096 3076095 512000 8e Linux LVM
/dev/sdb6 3078144 4102143 512000 8e Linux LVM
4> 保存后没有识别执行:partprobe /dev/sdb
lsblk或cat /proc/partitions
5> 创建pv
[root@desktop ~]# pvcreate /dev/sdb{1,2,5,6}
Physical volume "/dev/sdb1" successfully created
Physical volume "/dev/sdb2" successfully created
Physical volume "/dev/sdb5" successfully created
Physical volume "/dev/sdb6" successfully created
查看:
简单查看 pvs
详细查看 pvdisplay
6> 创建vg
[root@desktop ~]# vgcreate myvg1 /dev/sdb{1,2}
Volume group "myvg1" successfully created
vgs和vgdisplay
扩展vg:
[root@desktop ~]# vgextend myvg1 /dev/sdb{5,6}
Volume group "myvg1" successfully extended
[root@desktop ~]# vgs myvg1
VG #PV #LV #SN Attr VSize VFree
myvg1 4 0 0 wz--n- 1.94g 1.94g
7> 创建lv
[root@desktop ~]# lvcreate -n mylv1 -L 800M myvg1
Logical volume "mylv1" created.
[root@desktop ~]# lvs /dev/myvg1/mylv1
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
mylv1 myvg1 -wi-a----- 800.00m
8> 格式化
[root@desktop ~]# mkfs.xfs /dev/myvg1/mylv1
9> 挂载
[root@desktop ~]# tail -1 /etc/fstab
UUID="3598ab57-8c54-419e-a8ac-f557090c7ea5" /tools xfs defaults 0 0
[root@desktop ~]# mkdir /tools
[root@desktop ~]# mount -a
[root@desktop ~]# df -h | grep /tools
/dev/mapper/myvg1-mylv1 797M 33M 765M 5% /tools
案例2:lvm扩展
模拟:[root@desktop ~]# dd if=/dev/zero of=/tools/叶问4.rmvb bs=100M count=7
1、查看vg是否有剩余空间?
[root@desktop ~]# vgs myvg1
VG #PV #LV #SN Attr VSize VFree
myvg1 4 1 0 wz--n- 1.94g 1.16g
如果vg没有足够空间,需要扩展vg
2、扩展lv
[root@desktop ~]# lvs /dev/myvg1/mylv1
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
mylv1 myvg1 -wi-ao---- 800.00m
[root@desktop ~]#
[root@desktop ~]# lvextend -L +500M /dev/myvg1/mylv1
Size of logical volume myvg1/mylv1 changed from 800.00 MiB (200 extents) to 1.27 GiB (325 extents).
Logical volume mylv1 successfully resized.
[root@desktop ~]# lvs /dev/myvg1/mylv1
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
mylv1 myvg1 -wi-ao---- 1.27g
3、文件系统扩展
[root@desktop ~]# df -h | grep /tools
/dev/mapper/myvg1-mylv1 797M 733M 65M 92% /tools
[root@desktop ~]# xfs_growfs /dev/myvg1/mylv1
[root@desktop ~]# df -h | grep /tools
/dev/mapper/myvg1-mylv1 1.3G 733M 565M 57% /tools
如果文件系统为ext:扩展命令为resize2fs /dev/myvg1/mylv1
反向操作:
1、删除文件:rm -f /tools/*
2、卸载:umount /tools/
删除fstab里面自动挂载。
3、删除lv:lvremove /dev/myvg1/mylv1
4、删除vg:vgremove myvg1
5、删除pv:pvremove /dev/sdb{1,2,5,6}
ext文件系统缩小:
[root@kongd ~]# mkdir /mnt/ext
[root@kongd ~]# mount /dev/vg2/lv3 /mnt/ext
[root@kongd ext]# df -h | grep /mnt/ext
/dev/mapper/vg2-lv3 2.0G 15M 1.8G 1% /mnt/ext
1、缩小前,先卸载
[root@kongd ~]# umount /mnt/ext
2、强制检查文件系统的正确性
[root@kongd ~]# e2fsck -f /dev/mapper/vg2-lv3
3、先缩小文件系统的大小
[root@kongd ~]# resize2fs /dev/mapper/vg2-lv3 200M
4、再缩小LVM大小
[root@kongd ~]# lvresize -L 200M /dev/mapper/vg2-lv3
5、挂载分区
[root@kongd ~]# mount /dev/mapper/vg2-lv3 /mnt/ext/
检查:
[root@kongd ~]# df -h | grep /mnt/ext
/dev/mapper/vg2-lv3 132M 11M 108M 10% /mnt/ext
[root@kongd ~]# cd /mnt/ext/
[root@kongd ext]# head -5 passwd
root:x:0:0:root:/root:/bin/bash
222222222222222222222222
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin