本节所讲内容:
l LVM日常管理
l LVM快照
l 磁盘配额
一、 逻辑卷管理(Logical Volume Manager)
LVM是linux环境下对底层磁盘的一种管理机制。可以整合多个实体磁盘,使这些磁盘看起来像是一个磁盘,并且在未来还可以新增或者移除这些磁盘,使得磁盘空间的使用具有弹性。
二、 LVM管理的基本术语
LVM的全名是Logical Volume Manager,翻译成中文即为逻辑卷管理。
1、PE(physical extent)
每一个物理卷被划分为称为PE的基本单元,具有唯一编号的PE是可以被LVM寻址的最小单元。PE的大小是可配置的,默认为4MB。
2、PV (physical volume)
LVM最底层的实体卷轴,称为物理卷(PV)。制作PV就是将物理磁盘划分成PE。
3、VG (Volume Group)
逻辑卷组,由PV整合而成。
4、LV(logical volume)
从逻辑卷组(PV)中划分的逻辑分区,可以被格式化使用。
LVM层次结构图
三、 创建LV的流程
1、 在虚拟机中添加一块磁盘sdb,大小为10G。
2、 准备分区
[root@xuegod63 Desktop]#fdisk /dev/sdb #通过命令在 sdb中划分三个分区: sdb1,sdb2,sdb3 [root@xuegod63 Desktop]# ls /dev/sdb* #查看 sdb 下三个分区 /dev/sdb /dev/sdb1 /dev/sdb2 /dev/sdb3
3、 制作PV
[root@xuegod63 Desktop]# pvcreate /dev/sdb{1,2} #sdb1,sdb2 的简写 Writing physical volume data to disk "/dev/sdb1" Physical volume "/dev/sdb1" successfully created #successfully 表示pv创建成功 Writing physical volume data to disk "/dev/sdb2" Physical volume "/dev/sdb2" successfully created
4、 制作VG
[root@xuegod63 Desktop]# vgcreate Vg1 /dev/sdb1 /dev/sdb2 Volume group "Vg1" successfully created #制作了一个名为Vg1的VG
5、 制作LV
[root@xuegod63 Desktop]# lvcreate -n LV1 -L 1.5G Vg1 Logical volume "LV1" created #-n 指定LV的名字 # -L 指定LV的大小
6、 LVM使用
[root@xuegod63 ~]# mkfs.ext4 /dev/Vg1/LV1 #格式化后才能进行挂载 [root@xuegod63 ~]# mount /dev/Vg1/LV1 /opt/#挂载 [root@xuegod63 ~]# ls !$ #!$为调用上一个命令的最后一个单词 ls /opt/ lost+found #lost+found 是用来存放 fsck 过程中部分修复的文件,如果误删除后,可用 mklost+found 进行恢复(不同与普通的 mkdir 命令)。
四、 LVM的查看命令
简单对应卷的信息 |
扫描相关的所有对应卷 |
详细对应卷的信息 |
|
查看物理卷(PV) |
pvs |
pvscan |
pvdisplay |
查看逻辑卷组(VG) |
vgs |
vgscan |
vgdisplay |
查看逻辑卷(LV) |
lvs |
lvscan |
lvdisplay |
【例】查看 PE 详细信息
[root@xuegod63 Desktop]# pvdisplay --- Physical volume --- PV Name /dev/sdb1 #pv名字 VG Name Vg1 #属于哪个vg PV Size 1.01 GiB / not usable 3.41 MiB #pv 的大小 Allocatable yes (but full) PE Size 4.00 MiB #pe 的大小 注:MIB 为 linux 默讣�m单位, 1MIB=1024KIB 但是 1MB=1000KB
【例】创建时指定 PE
[root@xuegod63 Desktop]# vgcreate -s 16M vg1 /dev/sdb1 /deb/sdb2 #-s 指定PE的大小为 16M, 并且PE 大小只能能为 2 的�缡�, 且最大为 512M
五、 LVM动态扩容和静态缩容
5.1、动态扩容
1、 查看相关的大小
[root@xuegod63 ~]# vgs VG #PV #LV #SN Attr VSize VFree Vg1 2 1 0 wz--n- 2.02g 528.00m [root@xuegod63 ~]# lvs LV VG Attr LSize Origin Snap% Move Log Copy% Convert LV1 Vg1 -wi-ao 1.50g
2、 逻辑卷动态扩容
[root@xuegod63 ~]# lvextend -L +300M /dev/Vg1/LV1 #+300M 为逻辑卷增加300M Extending logical volume LV1 to 1.79 GiB Logical volume LV1 successfully resized 查看现在的逻辑卷大小 root@xuegod63 ~]# lvs LV VG Attr LSize Origin Snap% Move Log Copy% Convert LV1 Vg1 -wi-ao 1.79g 扩展文件系统的大小 [root@xuegod63 ~]# resize2fs /dev/Vg1/LV1 [root@xuegod63 ~]# df �Ch /dev/mapper /Vg1-LV1 1.8G 35M 1.7G 2% /opt#文件系统增加为1.7G
5.2、 静态缩容
1、LV缩减
[root@xuegod63 ~]#umount /opt #缩容需要先卸载 [root@xuegod63 ~]#e2fsck �Cf /dev/Vg1/LV1 #强制检查文件系统 [root@xuegod63 ~]#resize2fs /dev/Vg1/LV1 1G#文件系统缩小至 1G [root@xuegod63 ~]#lvreduce -L 1G /dev/Vg1/LV1#逻辑分区缩小至 1G [root@xuegod63 ~]#mount /dev/Vg1/LV1 /opt
2、VG缩减
[root@xuegod63 ~]# vgreduce Vg1 /dev/sdb1 Physical volume "/dev/sdb1" still in use
表示当前pv正在被使用,而缩减时只能缩减没有被使用的pv。
[root@xuegod63 ~]# vgreduce Vg1 /dev/sdb3#将pv成vg中删除 Removed "/dev/sdb3" from volume group "Vg1"
六、 LVM的删除命令
1、 删除lv
[root@xuegod63 ~]#umount /dev/Vg1/LV1#先卸载lv [root@xuegod63 ~]#lvremove /dev/Vg1/LV1#删除lv
2、 删除vg
[root@xuegod63 ~]#vgremove Vg1
3、 删除pv
[root@xuegod63 ~]#pvremove /dev/sdb1 【例】 删除的应用 [root@xuegod63 ~]# lvremove /dev/Vg1/LV1 Do you really want to remove active logical volume LV1? [y/n]: y Logical volume "LV1" successfully removed [root@xuegod63 ~]# lvs [root@xuegod63 ~]# vgremove Vg1 Volume group "Vg1" successfully removed [root@xuegod63 ~]# pvremove /dev/sdb3
七、 LVM快照
lvm快照有两大用途,一是用来克隆虚拟机,例如做xen虚拟机时,可先新建一台完整虚拟机,假设大小为10G,然后我们可以在这台10G的虚拟机上创建1个3G的快照,接着通过这个3G的快照启动虚拟机,做完实验后,可以直接删除快照而保持原来完整虚拟机的纯净。二是实时备份(moment-in-time),即为了保持系统的一致性,我们先做一个快照冻结当前系统状态,这样快照里面的内容可暂时保持不变,系统本身继续运行,通过备份快照来实现不中断服务的的备份。
【例】 创建快照的步骤
原来有一个 lv 的基础上
[root@xuegod63 ~]#lvcreate -s -n lv_NAME_bak -L 200M /dev/Vg1/LV1 #创建一个名字为 lv_NAME_bak,大小为 200M 的快照。
八、 LVM相关命令总结
任务 |
PV阶段 |
VG阶段 |
LV阶段 |
查找(scan) |
pvscan |
vgscan |
Lvscan |
新建(create) |
pvcreate |
vgcreate |
Lvcreate |
显示(display) |
pvdisplay |
vgdisplay |
lvdisplay |
增加(extend) |
vgextend |
lvextend(lvresize) |
|
减少(reduce) |
vgreduce |
lvreduce(lvresize) |
|
删除(remove) |
pvremove |
vgremove |
lvremove |
改变容量(resize) |
lvresize |
||
改变属性(attribute) |
pvchange |
vgchange |
lvchange |
九、 磁盘配额
9.1、磁盘配额的用途
由于linux是多人多任务的工作环境,所以会有很多人共同使用一个磁盘,一次系统管理员应该可以限制用户的可用磁盘空间,以达到磁盘合理使用的目的。
9.2、启用quota磁盘配额功能
[root@xuegod63 ~]# fdisk /dev/sdb#格创建一个新的分区 [root@xuegod63 ~]# mkfs.ext4 /dev/sdb5#格式化该分区 [root@xuegod63 ~]# mkdir /sdb5#创建挂载点 [root@xuegod63 ~]# mount /dev/sdb5 /sdb5/#挂载分区 [root@xuegod63 ~]# mount -o remount,usrquota,grpquota /sdb5/#启用quota磁盘配额功能 [root@xuegod63 ~]# vim /etc/fstab#设置开机自动启动 /dev/sdb5/sdb5ext4defaults,usrquota,grpquota 0 0 [root@xuegod63 ~]# quotacheck -cugv /tmp/sdb5/#检测磁盘配额,并生成配额文件
# c 创建配额文件
# u 扫描磁盘空间,计算每个用户所占用的目录和文件数目
# g扫描磁盘空间,计算每个群组所占用的目录和文件数目
# v 显示指令执行过程
[root@xuegod63 ~]# ll /sdb5/ 总用量 32 -rw------- 1 root root 6144 9月 11 22:10 aquota.group -rw------- 1 root root 6144 9月 11 22:10 aquota.user drwx------ 2 root root 16384 9月 11 22:05 lost+found
9.3、用户和组账号的磁盘配额设置
[root@xuegod63 ~]# useradd mk [root@xuegod63 ~]# edquota -g mk Disk quotas for group mk (gid 500): Filesystem blocks soft hard inodes soft hard /dev/sdb5 0 50 80 0 0 0
各字段的含义依次为:配额的作用范围;已经使用的磁盘容量;磁盘容量的软限制数值;磁盘容量的硬限制数值;用户拥有的文件数量;文件数量的软限制;文件数量的硬限制
# g 设置群组的配额
[root@xuegod63 ~]# quotaon -ugv /tmp/sdb5/#激活配额设置 /dev/sdb5 [/sdb5]: group quotas turned on /dev/sdb5 [/sdb5]: user quotas turned on
# u 开启用户配额
# g 开启群组配额
9.4、验证磁盘配额
[root@xuegod63 ~]# mkdir /sdb5/test [root@xuegod63 ~]# chmod 777 / sdb5/test/ [mk@xuegod63 test]$ dd if=/dev/zero of=mk.txt bs=1K count=70 #大于 50K 报警 sdb3: warning, group block quota exceeded. 70+0 records in 70+0 records out 71680 bytes (72 kB) copied, 0.00388255 s, 18.5 MB/s [mk@xuegod63 test]$ rm -rf mk.txt [mk@xuegod63 test]$ dd if=/dev/zero of=mk.txt bs=1K count=90 #大于 80 报错 sdb5: write failed, group block limit reached. dd: writing `mk.txt': Disk quota exceeded [mk@xuegod63 test]$ ll -h total 80K -rw-rw-r-- 1 mk mk 80K Feb 2 22:30 mk.txt
学神-IT-教育51cto技术交流群:468845589 快来上我们公开课吧!
学神MK老师:1273815479
学神ZY老师:3054384936
学神教育学神IT-1508-VIP-哀殇整理提供