一、LVM概述
LVM机制的基本概念
PV(Physical Volume,物理卷)
物理卷是LVM机制的基本存储设备,通常对应为一个普通分区或整个硬盘。创建物理卷时,会在分区或硬盘的头部创建一个保留区块,用于记录 LVM 的属性,并把存储空间分割成默认大小为 4MB 的基本单元(PE),从而构成物理卷。
VG(Volume Group,卷组)
由一个或多个物理卷组成一个整体,即称为卷组,在卷组中可以动态地添加或移除物理卷。
LV(Logical Volume,逻辑卷)
从卷组中分割出的一块空间,形成逻辑卷。使用 mkfs 等工具可在逻辑卷上创建文件系统。
二、LVM的管理命令
主要命令
功能 | 物理卷管理 | 卷组管理 | 逻辑卷管理 |
---|---|---|---|
Scan 扫描 | pvscan | vgscan | lvscan |
Create 建立 | pvcreate | vgcreate | lvcreate |
Display 显示 | pvdisplay | vgdisplay | lvdisplay |
Remove 移除 | pvremove | vgremove | lvremove |
Extend 扩展 | ----- | vgextend | lvextend |
Reduce 减少 | ----- | vgreduce | lvreduce |
三、LVM应用实例
LVM操作主要命令步骤
1、关闭主机,添加两块新硬盘,重启主机
2、先使用 fdisk 工具将磁盘设备/dev/sdb、/dev/sdc划分出主分区sdb1、sdc1,并且把分区类型的 ID 标记号改为“8e”
fdisk /dev/sdb
fdisk /dev/sdc
分区类型的 ID 标记号改为“8e”
主分区划分好一定要“w”保存并查看是否成功
同理完成/dev/sdc
命令格式:
pvcreate 设备名1 [设备名2 ... ...]
vgcreate 卷组名 物理卷名1 物理卷名2
vgextend 卷组名 /dev/sdc2
lvcreate -L 容量大小 -n 逻辑卷名 卷组名
lvextend -L +大小 /dev/卷组名/逻辑卷名
3、创建物理卷
pvcreate /dev/sdb1 /dev/sdc1
4、创建卷组,卷组名为vgname1
vgcreate vgname1 /dev/sdb1 /dev/sdb2
5、创建逻辑卷,逻辑卷名为lvname1,容量为 20GB,生成的文件路径为/dev/vgname1/lvname1
vcreate -L 20G -n lvname1 vgname1
6、对逻辑卷进行格式化,创建 XFS 文件系统,并挂载到/datal目录下
mkfs -t xfs /dev/vgname1/lvname1
cd /
mkdir datal
ls
mount /dev/vgname1/lvname1 /datal
df -hT
7、扩容
lvextend -L +10G /dev/vgname1/lvname1 #在xfs格式中,可在线扩容,无需解挂
xfs_growfs /dev/vgname1/lvname1 #刷新文件系统容量,需要在挂载的时候使用,不使用可以显示
四、磁盘配额
概述
磁盘配额是用来限制用户和用户组的的磁盘使用额度,可以理解为限制该用户、组在该分区下的使用文件大小、文件数量。
注:磁盘配额是针对用户在分区下的操作,而无法管理用户在整个磁盘的文件,因为一个磁盘若干分区,这是不可控的。
实现磁盘配额的条件(安装软件)
- 需要Linux内核支持
- 安装xfsprogs与quota软件包(系统一般默认装了)
rpm -q 软件名 #查询指定软件是否已安装
没装软件
rpm -qa #显示当前系统中以 rpm方式安装的所有软件列表
用rpm -qa | grep " 软件名" (过滤出要装的软件)
再用yum命令装
yum -y install xxx
Linux磁盘限额的特点
- 作用范围:针对指定的文件系统(分区)
- 限制对象:用户账号、组长号
- 限制类型:磁盘容量、文件数量
- 限制方法:软限制、硬限制
五、CentOS7中设置xfs磁盘配额步骤
1、检查是否安装xfsprogs与quota软件包
2、挂载
以支持配额功能的方式挂载文件系统(如果挂载了需要先解挂)
umount /dev/vgname1/lvname1 #如果已挂载,需要解挂
mount -o usrquota,grpquota /dev/vgname1/lvname1 /opt #添加挂载参数“usrquota,grpquota”用于增加对用户、组配额功能的支持
或者
vim /etc/fstab
/dev/vgname1/lvname1 /opt xfs defaults,usrquota,grpquota 0 0
mount -a #-a选项,将/etc/fstab的所有内容重新加载
或者init 6 重启虚拟机
3、编辑用户和组账号的配额设置
useradd zhangsan #建立账号
passwd zhangsan #设置密码,激活账号
xfs_quota -x -c 'limit -u bsoft=80M bhard=100M isoft=4 ihard=5 zhangsan' /opt/ #限制磁盘容量和文件数
-x:表示启动专家模式,在当前模式下允许对配额系统进行修改的所有管理命令可用。
-c:表示直接调用管理命令。
-u:指定用户账号对象
-g:指定组账号对象
bsoft:设置磁盘容量的软限制数值(默认单位为 KB)。
bhard:设置磁盘容量的硬限制数值(默认单位为 KB)。
isoft:设置磁盘文件数的硬限制数值。
ihard:设置磁盘文件数的软限制数值。
xfs_quota -x -c 'limit -u bsoft=80M bhard=100M zhangsan' /opt/ #仅限制磁盘容量
xfs_quota -x -c 'limit -u isoft=4 ihard=5 zhangsan' /opt/ #仅限制文件数
xfs_quota -c 'quota -uv zhangsan' /opt/ #查看 zhangsan 磁盘容量限制
xfs_quota -c 'quota -i -uv zhangsan' /opt/ #查看 zhangsan 文件数限制
4、验证磁盘配额功能
chmod 777 /opt #给予最大权限
su zhangsan #切换到zhangsan用户
cd /opt
错误示范:chmod(修改文件权限)没输入正确
#验证磁盘容量超限
dd if=/dev/zero of=/opt/ddtest.txt bs=10M count=12
#验证磁盘文件数超限
dd if=/dev/zero of=/opt/ddtest.txt bs=1M count=60
注意点:
验证磁盘文件数时,之前限制文件数设置太大,想要改限制文件数需要exit退出su再进行配置。
xfs_quota -x -c ‘limit -u isoft=4 ihard=5 zhangsan’ /opt/
dd 命令是一个设备转换和连续复制命令
“if=” 指定输入设备(或文件)
“of=” 指定输出设备(或文件)
“bs=” 指定读取数据块的大小
“count=” 指定读取数据块的数量
/dev/zero “零”设备文件,可以无限的提供空字符。常用来生成一个特定大小的文件。