1、LVM的概念
逻辑上把多块磁盘空间组合一个空间,但实际上是在不同的磁盘空间
LVM可以实现对磁盘的动态管理,在磁盘不用重新分区的情况下动态调整文件系统的大小,利用LVM管理的文件系统可以跨越磁盘。“/boot”分区用于存放系统引导文件,不能应用LVM机制。
分区类型—8e
建立物理卷前要分区并改为lvm逻辑卷格式(8e)
分区完之后要转换成PV
物理卷PV
经过处理后的磁盘分区。
卷组VG
由一个或多个物理卷组成,类似于非LVM系统中的物理磁盘。
逻辑卷LV
在逻辑卷之上可以创建文件系统,类似于非LVM系统中的磁盘分区。
物理块PE
物理卷的组成部分,PE的大小默认为4MB,大小可调,一个卷组中最多能包括65534个PE。
2、LVM的管理命令:
功能 | 物理卷管理 | 卷组管理 | 逻辑卷管理 |
---|---|---|---|
scan 扫描 | pvscan | vgscan | lvscan |
Create 建立 | pvcreate | vgcreate | lvcreate |
Display 显示 | pvdisplay | vgdisplay | lvdisplay |
Remove 删除 | pvremove | vgremove | lvremove |
Reduce 缩减 | vgreduce | lvreduce | |
Extend 扩展 | vgextend | lvextend |
3、准备实验环境
在虚拟机中额外添加2块硬盘(整个虚拟机共有3块硬盘)
为虚拟机创建快照
1、创建磁盘分区修改类型
创建物理分区: /dev/sdb1 和 /dev/sdb5,并修改分区标记为8e。
2、创建物理卷PV
然后创建物理卷PV,用到的命令是pvcreate (相当于图形操作中的初始化磁盘)
pvcreate /dev/sdb1 /dev/sdb5
3、创建卷组VG
接下来创建卷组VG ,用到的命令是vgcreate
使用物理卷/dev/sdb1 和 /dev/sdb5 创建名为wgroup的卷组
vgcreate wgroup /dev/sdb1 /dev/sdb5
创建完后可以用vgdisplay命令查看卷组的信息
将物理卷移至wgroup
vgextend 组名 卷名
vgextend wgroup /dev/sdc1 /dev/sdc2 /dev/sdc5 /dev/sdc6
4、创建逻辑卷
从卷中创建逻辑卷,用到的命令是lvcreate
格式如下:
lvcreate -L 容量大小 -n 逻辑卷名 卷组名
例:从wgroup卷组中创建名为ftp的容量为19G的逻辑卷
lvcreate -L 19G -n ftp wgroup
5、格式化并挂载文件系统
逻辑卷相当于一个磁盘分区,要使用它首先要将其格式化
mkfs -t ext4 /dev/wgroup/ftp
然后创建挂载目录点,将逻辑卷挂载
mkdir /var/ftp
挂载:
mount /dev/wgroup/ftp /mnt/ftp
修改/etc/fstab文件,实现永久挂载
vim /etc/fstab
/dev/wgroup/ftp /mnt/ftp ext4 defaults 0 0
mount -a 使挂载生效
6、扩展逻辑空间 pv-vg-lv
最后将第三块硬盘/dev/sdc加入到逻辑卷中。
先将硬盘分成一个分区/dev/sdc1,并将分区标记修改为8e
然后将分区转换为物理卷:
pvcreate /dev/sdc1
将物理卷/dev/sdc1添加到卷组wgroup中:
vgextend wgroup /dev/sdc1
扩展逻辑卷的空间:
lvextend -L +10G /dev/wgroup/ftp
7、缩减逻辑空间: lv—vg—pv
8、执行resize2fs命令重设文件系统的大小:
resize2fs /dev/wgroup/ftp
再次查看文件系统/var/ftp的空间大小,可以看到已经变成了29GB:
df -HT
9、删除卷:lv—vg—pv
例1
(1)分区并修改分区类型
fdisk -l 查看磁盘分区
删除已有分区
fdisk /dev/sdb
d
新建一个主分区
fdisk /dev/sdb
n
查看已有类型
p 发现ID为83
查看所有类型
l
修改分区类型
t
8e
保存分区
w
fdisk -l 查看磁盘分区发现ID为8e system为Linux LVM
(2)创建物理卷–pvcreate
格式:pvcreate 设备点
pvcreate /dev/sdb1
(3)查看物理卷-pvscan
pvscan
(4)创建物理组-vgcreate
使用物理卷/dev/sdbl和/dev/sdb5 创建名为wgroup的卷组
vgcreate wgroup /dev/sdb1 /dev/ sdb5
(5)查看物理组-vgscan
(6)查看详细信息-vgdisplay
(7)创建逻辑卷-lvcreate
格式:lvcreate -L容量大小 -n 逻辑卷名 卷组名
例:从wgroup卷组中创建名为ftp的容量为19G的逻辑卷
lvcreate -L 19G -n ftp wgroup
lvcreate -L 2G -n FTP wgroup
(8)查看逻辑卷-lvscan
lvscan
(9)格式化 -mkfs
mkfs -t ext4 /dev/wgroup/FTP
(10)挂载到mnt/FTP
mkdir FTP
mount -t ext4 /dev/wgroup/FTP /mnt/FTP
(11)永久挂载–/etc/fstab
vim /etc/fstab
/dev/wgroup/FTP /mnt/FTP etx4 defaults 0 0
mount -a #使永久挂载生效
(12)扩展逻辑卷–lvextend
vgdisplay 查看剩余空间
格式:lvextend -L +/-大小 目的逻辑空间
lvextend -L +7.99G /dev/wgorup/FTP
(13)缩减逻辑空间–lvreduce
lvreduce -L -2G /dev/wgroup/FTP
注:删除物理卷-pvremove 设备点
例2
1、向虚拟机添加两块分别为20G的硬盘,分区如下:
Sdb1(10) Sdb5(10G)
虚拟机——设置——添加硬盘2*20G
建立相应分区n
更改类型 t 8e
1)新建一个主分区为10G fdisk /dev/sdb——>n p 1 默认起始扇区 分区大小+10G
2)新建扩展分区:n p 2 默认起始 默认大小
3)新建逻辑分区:n l 默认起始 默认大小
4)w保存
2、分区:
Sdc1(5G) Sdc2(5G) Sdc5(5G) Sdc6(5G)
分析:两个5G的主分区,一个10G扩展分区(2个5G逻辑分区)
创建两个主分区:fdisk /dev/sdc n p 1 默认 +5G
创建一个扩展分区:n e 3 默认 默认
创建两个逻辑分区 n l 5 默认 +5G
w保存
3、使用命令将sdb1与sdb5转化为物理卷
1)修改文件类型为8e
fdisk /dev/sdb
t
1 和 5
8e
w保存并退出
2)为/dev/sdb1 和sdb5创建物理卷
创建:pvcreate /dev/sdb1 /dev/sdb5
查看物理卷是否成功:pvscan
4、使用命令新建卷组wgroup,并将sdb1与sdb5加入到卷组wgroup;
1)创建卷组:vgcreate wgroup /dev/sdb1 /dev/sdb5
3、使用命令在卷组wgroup上新两个逻辑卷,分别为FTP(10G)和WEB(10G)
创建FTP和WEB的逻辑卷
lvcreate -L +10G -n FTP wgroup
lvcreate -L +10G -n WEB wgroup
5、将FTP和WEB逻辑卷进行格式化,格式为ext4,并分别挂载到/mnt/FTP和/mnt/WEB目录供用户使用。
1)创建/mnt/FTP 和/mnt/WEB
mkdir FTP /WEB
2)格式化逻辑卷
mkfs -t ext4 /dev/wgroup/WEB;mount -t ext4 /dev/wgroup/FTP /mnt/WEB
6、随着公司业务量的增加,发现FTP卷空间已经不能满足业务需求,要求将sdc1,sdc2、sdc5、sdc6加入到wgroup卷组,并将FTP卷扩容至25G,WEB卷扩容至15G。
vgextend wgroup /dev/sdc1 /dev/sdc2 /dev/sdc5 /dev/sdc6
更改sdc类型为8e fdisk /dev/sdc ——t 1和2和5和6 8e
扩容空间
lvextend -L +15G /dev/wgroup/FTP
lvextend -L +10G /dev/wgroup/WEB
查看是否扩充成功
lvdisplay
7、经过一段时间运行,发现WEB卷空间不够用,但FTP卷的空间剩余较多,要求将FTP卷的容量缩减至20G,将WEB卷的容量扩展至20G,以暂时满足公司的需求。
把FTP减5G:lvreduce -L -5G /dev/wgroup/FTP
把WEB加5G:lvextend -L +5G /dev/wgroup/WEB