目录
一.LVM概述
LVM
LVM机制的基本概念
PV(Physical Volume,物理卷)
VG(Volume Group,卷组)
LV(Logical Volume,逻辑卷)
二.LVM 的管理命令
三.创建并使用LVM
1.创建并扩容逻辑卷步骤
添加三块新的硬盘,重启主机
先使用fdisk工具将其中的两块磁盘设备/dev/sdb、/dev/sdc划分出主分区sdb1、sdc1,并且把分区类型的ID标记号改为"8e";
创建物理卷
4.创建卷组,卷组名为vg01
5.创建逻辑卷,逻辑卷名为lv01,容量为30GB,生成的文件路径为/dev/vg01/lv01
6.对逻辑卷进行格式化,创建XFS文件系统,并挂载到/data目录下
7.逻辑卷再扩容
8.扩容逻辑卷
9.刷新XFS文件系统
四.磁盘配额
实现磁盘限额的条件
作用范围
CentOS7 中设置磁盘配额步骤
1、检查是否已安装xfsprogs和xfs_quota软件包
2、以支持配额功能的方式挂载文件系统
3.编辑用户和组账号的配额设置
4.查看磁盘容量和文件数限制
5.查看磁盘限额使用情况
一.LVM概述
LVM
- Logical Volume Manager,逻辑卷管理能够在保持现有数据不变的情况下动态调整磁盘容量,从而提高磁盘管理的灵活性
- ·/boot分区用于存放引导文件,不能基于LVM创建
LVM机制的基本概念
- PV (物理卷)
- VG (卷组)
- LV (逻辑卷)
PV(Physical Volume,物理卷)
- 物理卷是LVM机制的基本存储设备,通常对应为一个普通分区或整个硬盘。创建物理卷时,会在分区或硬盘的头部创建一个保留区块,用于记录 LVM 的属性,并把存储空间分割成默认大小为 4MB 的基本单元(PE),从而构成物理卷。
VG(Volume Group,卷组)
- 由一个或多个物理卷组成一个整体,即称为卷组,在卷组中可以动态地添加或移除物理卷。
LV(Logical Volume,逻辑卷)
- 从卷组中分割出的一块空间,形成逻辑卷。使用 mkfs 等工具可在逻辑卷上创建文件系统。
二.LVM 的管理命令
- 建立物理卷:pvcreate 设备名1 [设备名2…](分区或磁盘)
- 建立卷组:==vgcreate 卷组名 物理卷名1 物理卷名2
- 建立逻辑卷:lvcreate -L 指定容量大小 -l 指定PV数量 -n 逻辑卷名 卷组名
- 扩容卷组:vgextend -L +大小 /dev/卷组名
- 扩容逻辑卷:lvextend -L +大小 /dev/卷组名/逻辑卷名
创建逻辑卷的时候,是从前往后,先创建物理卷,在创建卷组,最后创建逻辑卷;
删除逻辑卷的时候,是从后往前,先删除逻辑卷,在删除卷组,最后删除物理卷。
三.创建并使用LVM
1.创建并扩容逻辑卷步骤
-
添加三块新的硬盘,重启主机
先使用fdisk工具将其中的两块磁盘设备/dev/sdb、/dev/sdc划分出主分区sdb1、sdc1,并且把分区类型的ID标记号改为"8e";
fdisk /dev/sdb /dev/sdc
n
#第一次回车,创建主分区
#第二次回车,选择分区号,默认为1
#第三次回车,填写起始扇区,默认为2048
#第四次回车,填写终止扇区,默认为41943039
t
8e #更改分区类型为'8e',Linux LVM类型
w fdisk -l
3.创建物理卷
pvcreate /dev/sdb1 /dev/sdc1
pvscan #物理卷由分区/dev/sdc1和/dev/sdb1构成
pvdisplay
4.创建卷组,卷组名为vg01
vgcreate vg01 /dev/sd[bc]1 #在物理卷[/dev/sdb1 /dev/sdc1]基础上创建卷组vg01
vgdisplay #已成功创建卷组vg01
5.创建逻辑卷,逻辑卷名为lv01,容量为30GB,生成的文件路径为/dev/vg01/lv01
lvcreate -L 10G -n lv01 vg01 #在卷组vg01基础上创建逻辑卷lv01
lvdisplay
6.对逻辑卷进行格式化,创建XFS文件系统,并挂载到/data目录下
mkfs -t xfs /dev/vg01/lv01 #将新创建的逻辑卷/dev/vg01/lv01格式化为xfs类型
mkdir /data
mount /dev/vg01/lv01 /data #将xfs文件系统挂载到/lll目录下
df
7.逻辑卷再扩容
- 先将可以进行扩容的设备进行分区,然后再扩容
- 创建物理卷,再扩展卷组
-
pvcreate /dev/sdd1 #为分区/dev/sdd1创建物理卷 vgextend vg01 /dev/sdd1 #将/dev/sdd1作为卷组abc的扩展卷组 vgdisplay
8.扩容逻辑卷
lvextend -L +5G /dev/vg01/lv01 #将逻辑卷/dev/vg01/lv01再扩容20G,+号代表再原来基础上扩展增加20G大小,不带+号代表指定大小
9.刷新XFS文件系统
df
/dev/vg01/lv01 xfs 此处显示并未扩容成功
xfs_growfs /dev/vg01/lv01 刷新XFS文件系统容量df
/dev/vg01/lv01 xfs 再次查看已经扩容成功lsblk 查看系统中所有可用块设备信息
四.磁盘配额
当Linux根分区的磁盘空间耗尽时,Linux操作系统将无法再建立新的文件,同时也可能会出现服务程序崩溃、系统无法启动等故障。
为了避免在服务器中出现类似磁盘空间不足的问题,可以启用磁盘配额功能,对用户在指定文件系统(分区)中使用的磁盘空间、文件数量进行限制,以防止个别用户恶意或无意间占用大量磁盘空间,从而保持系统存储空间的稳定性和持续可用性。
在 CentOS 系统中,不同的文件系统使用不同磁盘配额配置管理工具。
实现磁盘限额的条件
- 需要Linux内核支持
- 安装xfsprogs与quota软件包Linux 磁盘限额的特点
作用范围
- 针对指定的文件系统(分区)
- 限制对象:用户帐号、组帐号
- 限制类型:磁盘容量、文件数量
- 限制方法:软限制、硬限制
CentOS7 中设置磁盘配额步骤
1、检查是否已安装xfsprogs和xfs_quota软件包
rpm -q xfsprogs quota
yum install -y xfsprogs quota
2、以支持配额功能的方式挂载文件系统
umount /data/ #卸载原先没有添加配额参数的挂载
dfmount -o usrquota,grpquota /dev/vg01/lv01 /data #添加挂载参数"usrquota,grpquota"用于增加对用户、组配额功能的支持###或者采用下面永久挂载文件系统的方式
vim /etc/fstab #永久添加挂载参数,增加对用户和组配额功能的支持
/dev/vg01/lv01 /data xfs defaults,usrquota,grpquota 0 umount /dev/vg01/lv01 #卸载挂载目录
mount -a #-a选项,将/etc/fstab的所有内容重新加载
df #查看是否挂载成功
mount #查看配额参数设置
/dev/mapper/vg01-lv01 on /data type xfs (rw,relatime,seclabel,attr2,inode64,usrquota,grpquota)
3.编辑用户和组账号的配额设置
常用知识点
- #同时限制磁盘容量和文件数
- xfs_quota -x -c 'limit -u bsoft=80M bhard=100M isoft=8 ihard=10 zhangsan' /data/ #设置对zhangsan用户的配额要求
- -x:表示启动专家模式,在当前模式下允许对配额系统进行修改的所有管理命令可用。
- -c:表示直接调用管理命令。
- -u:指定用户账号对象
- -g:指定组账号对象
- -v:显示详细信息
- bsoft:设置磁盘容量的软限制数值(默认单位为KB)。
- bhard:设置磁盘容量的硬限制数值(默认单位为KB)。
- isoft:设置磁盘文件数的软限制数值。
- ihard:设置磁盘文件数的硬限制数值。
- #仅限制磁盘容量
- xfs_quota -x -c 'limit -u bsoft=80M bhard=100M zhanqsan' /opt/
- #仅限制文件数
- xfs_quota -x -c 'limit -u isoft=4 ihard=5 zhangsan' /opt/
useradd ZS
echo '123' |passwd --stdin LS
xfs_quota -x -c 'limit -u bsoft=80M bhard=100M isoft=8 ihard=10 ZS' /lll/
设置对zhangsan用户的配额要求
4.查看磁盘容量和文件数限制
chmod 777 /lll
ll /lll
su - ZS
cd /lll
dd if=/dev/zero of=./test1.txt bs=10M count=12
ll -h
exit
su - ZS
cd /lll
touch file{1..10}
ls -h
touch file11
5.查看磁盘限额使用情况
xfs_quota -x -c 'report -abih'