LVM概念
LVM 是 Logical Volume Manager 的简称,译为中文就是逻辑卷管理。
它是 Linux 下对硬盘分区的一种管理机制。LVM 适合于管理大存储设备,
并允许用户动态调整文件系统的大小。此外,LVM 的快照功能可以帮助我们快速备份数据。
LVM 为我们提供了逻辑概念上的磁盘,使得文件系统不再关心底层物理磁盘的概念。
物理卷(Physical Volume,PV):就是真正的物理硬盘或分区。
卷组(Volume Group,VG):将多个物理卷合起来就组成了卷组。组成同一个卷组的物理卷可以是同一块硬盘的不同分区,也可以是不同硬盘上的不同分区。我们可以把卷组想象为一块逻辑硬盘。
逻辑卷(Logical Volume,LV):卷组是一块逻辑硬盘,硬盘必须分区之后才能使用,我们把这个分区称作逻辑卷。逻辑卷可以被格式化和写入数据。我们可以把逻辑卷想象为分区。
物理扩展(Physical Extend,PE):PE 是用来保存数据的最小单元,我们的数据实际上都是写入 PE 当中的。PE 的大小是可以配置的,默认是 4MB。
LVM的优点:
LVM是可以允许对卷组进行方便操作的抽象层,包括重新设定文件系统的大小。
允许在多个物理设备间重新组织文件系统。
可以弹性的更改LVM的容量。
/boot分区用于存放引导文件,不能基于LVM创建
新加的硬盘必须先格式化后才能挂载使用
LVM的管理命令
功能 | 物理卷管理 | 卷组管理 | 逻辑卷管理 |
scan 扫描 | pvscan | vgscan | lvscan |
create 建立 | pvcreate | vgcreate | lvcreate |
display 显示 | pvdisplay | vgdisplay | lvdisplay |
remove 删除 | pvremove | vgremove | lvremove |
extend 扩展 | —— | vgremove | lvextend |
reduce 减少 | —— | vgreduce | lvreduce |
命令格式
1)创建命令:
pvcreate 设备名1 设备名2 [设备名3]... //创建物理卷
vgcreate 卷组名 物理卷名1 物理卷名2 [物理卷3]... //创建卷组
lvcreate -L 容量大小 -n 逻辑卷名 卷组名 //创建逻辑卷
mkfs.xfs 逻辑卷名(/dev/卷组名/逻辑名) //将逻辑卷格式化
mount 逻辑卷名(/dev/卷组名/逻辑名) 挂载点 //将逻辑卷挂载
vim /etc/fstab //将逻辑卷永久挂载
2)扩展容量命令:
pvcreate 设备名4... //创建新的物理卷
vgextend 卷组名 物理卷名4 //扩容卷组
lvextend -L +大小 /dev/卷组名/逻辑卷名 //扩容逻辑卷
xfs_growfs 挂载点 //XFS文件系统扩容
resize2fs /dev/VG_NAME/LV_NAME //EXT4文件系统扩容
磁盘配额
磁盘配额(Quota)就是 Linux 系统中用来限制特定的普通用户或用户组在指定的分区上占用的磁盘空间或文件个数的
磁盘配额的使用条件
内核必须支持磁盘配额。
系统中必须安装了 Quota 工具。我们的 Linux 中默认安装了 Quoted 工具
要支持磁盘配额的分区必须开启磁盘配额功能。这项功能可以手动开启,不再是默认开启的
磁盘配额中的常见概念
磁盘容量限制和文件个数限制
我们除了可以通过限制用户可用的 block 数量来限制用户可用的磁盘容量,也可以通过限制用户可用的 inode 数量来限制用户可以上传或新建的文件个数。
软限制和硬限制
软限制可理解为警告限制,硬限制就是真正的限制了。比如,规定软限制为 100MB,硬限制为 200MB,那么,当用户使用的磁盘空间为 100~200MB 时,用户还可以继续上传和新建文件,但是每次登录时都会收到一条警告消息,告诉用户磁盘将满。
磁盘配额中常见的命令
使用 mount 命令,添加usrquota、grpquota挂载参数
umount /dev/sdb1 //因为sdb1之前已经挂载过,需要先解挂
mount -o usrquota,grpquota /dev/sdb1 /data/aa
vim /etc/fstab //修改配置文件,启用磁盘配额支持,永久修改
UUID=e0b714cd-c33e-42b2-a051-1e1f3333b4b7 /data/aa xfs defaults,usrquota,grpquota 0 0 mount -a //重新挂载
编辑用户和组账号的配额设置
使用 xfs_quota 命令编辑配额设置
xfs_quota -x -c "limit -u bsoft=N bhard=N isoft=N ihard=N 用户名" 挂载点
常用选项:
-x:表示启动专家模式,在当前模式下允许对配额系统进行修改的所有管理命令可用。
-c:表示直接调用管理命令。
-u:指定用户账号对象。
-g:指定组账号对象。
限制字段:
bsoft:设置磁盘容量的软限制数值(默认单位为KB)。
bhard:设置磁盘容量的硬限制数值(默认单位为KB)。
isoft:设置磁盘文件数的软限制数值。
ihard:设置磁盘文件数的硬限制数值。
验证:
dd if=/dev/zero of=挂载点/123.txt bs=10M count=12 查看空间限制情况
[zhangsan@192 data1]$ touch {1..50}.txt 查看数量限制情况
查看磁盘配额使用
xfs_quota -x -c "report 选项" 挂载点
report 常用选项:
-u:对用户查看
-g:对组查看
-a:查看所有可用分区的配额使用报告
-b:查看磁盘容量
-i:查看文件数
-h:人性化显示
取消磁盘配额
xfs_quota -x -c "disable -up" 挂载点
#暂时取消quota的限制,但其实系统还是在计算quota中,只是没有管制而已。
xfs_quota -x -c "enable -up" 挂载点
#恢复到正常管制的状态,与disable相互取消、启用。
xfs_quota -x -c "off -up" 挂载点
#完全关闭quota的限制,使用了这个状态后,只有卸载再重新挂载才能再次启动quota。(并不移除quota的限制设置,只是关闭。)
xfs_quota -x -c "remove -p" 挂载点
#必须要在off的状态下才能执行的指令,可以移除quota的限制设置。(注意:"remove -p"会移除所有项目的限制
验证:
dd if=/dev/zero of=/opt/wangyibo/123.txt bs=10M count=12
[zhangsan@192 data1]$ touch {1..50}.txt
实验
实验内容
1:新建三块硬盘,各创建一个物理卷
使用同样的方法对 /dev/sdc /s/dev/sdd 两块硬盘操作
2:创建物理卷
3:创建卷组
创建aaa卷组并查看
4创建逻辑卷
、
5 将逻辑卷格式化
6 逻辑卷挂载
上面的是临时挂载的方法,可以修改/etc/fatab文件,改为永久挂载
7 卷组扩容
(1)首先先创建格式为8e的磁盘分区
(2)创建物理卷
(3)将/dev/sdb2加入卷组aaa
8:逻辑卷扩容
9
xfs_growfs 命令,使XFS文件系统识别到新增的空间,实现文件系统扩容
xfs_growfs /opt/messi //将文件系统扩容 (/opt/messi是挂载点)
9逻辑卷缩容(xfs格式只能扩容,不能缩容)
同理新建基于ext4格式的文件创建逻辑卷
10 新建一个分区xfs格式化,磁盘配额
增加一个用户,设置用户
useradd zhang //添加用户
xfs_quota -x -c "limit -u bsoft=30M bhard=50M isoft=30 ihard=50 shan" /opt/abc //设置磁盘配额
xfs_quota -x -c "report -bih" /opt/abc //检查磁盘配额情况
给挂载点设置777权限,可以执行读写执行权限
检查配额情况