一.LVM概述
(1)Logical Volume Manager 逻辑卷管理
- 能够在保持现有数据不变得情况下动态调整磁盘容量,从而提高磁盘管理的灵活性
- /boot分区用于存放引导文件,不能基于LVM创建
(2)Lvm机制的基本概念及相关命令
- PV(物理卷):底层物理磁盘分区(分区但未格式化)的磁盘标识符必须为8e或8300,使用pvcreate命令将其创建为PV,才可以被LVM使用
- PV管理涉及到的命令:
pvcreate //创建pv
pvdisplay //列出pv详细信息(PV name/size及所属的VG等)此命令有一个重要的参数-m,可以查看该PV中PV的使用分布,只有知道PE的分布,才能使用pvmove在不同的PV之间进行PE数据的移动
pvcan //扫描并显示所有pv
pvmove //移动pv中的数据,通常用于收缩LVM磁盘
pvremove //移除pv
pvs //简要显示pv信息
- VG(卷组):使用vgcreate命令将多个PV组合创建为VG
- VG管理涉及到的命令:
vgcreate //创建VG,其常用选项是 -s ,指定PE的大小,不指定就默认PE的大小是 4M
vgscan //扫描并列出所有VG
vgdisplay //显示VG的详细信息
vgremove //移除/删除VG
vgreduce //从VG中移除PV(注意:先做pvmove操作,先移动有数据的PE至其他空闲PV上的PE)
vgextend //将PV添加到VG(扩容VG)
vgchange //修改VG的属性信息(如VG的激活状态,VG的激活状态会影响LV的使用)
- LV(逻辑卷):LV是通过VG划分得到的其中一个分区,VG中以PE为单元,指定划分多少个;PE给LV,然后LV再进行格式化创建文化系统来使用。
- 在VG的基础上就可以对VG进行分区,创建LV,管理LV的相关命令有:
lvcreate //创建LV,主要选项有:lvcreate {-L size(M/G) | -l PEnum} -n lv_name vg_name
lvscan //扫描并列出所有的lv
lvdisplay //显示lv详细信息
lvremove //移除/删除lv
lvreduce //收缩lv容量
lvextend //扩容lv容量
lvresize //改变lv容量(lvredunce及lvextend可以使用lvresize命令统一实现)
二.LVM的管理命令
- 主要命令
pvcreate 设备名1 【设备名2... ...】
vgcreate 卷组名 物理卷名1 物理卷名2
lvcreate -L 容量大小 -n 逻辑卷名 卷组名
lvextend -L +大小 /dev/卷组名/逻辑卷名
三.LVM应用
LVM操作命令步骤:
(1)关闭主机,添加两块新硬盘,重启主机
(2)先使用fdisk工具n将磁盘设备/dev/sdb,/dev/sdc划分出主分区sdb1,sdc1,并且把分区类型的ID标记号改为‘8e’
fdisk /dev/sdb
fdisk /dev/sdc
(3)创建物理卷
pvcreate /dev/adb1 /dev/sdc1
(4)创建卷组,卷组名为vgname1
vgcreate vgname1 /dev/sdb1 /dev/sdc1
(5)创建逻辑卷,逻辑卷为lvname1,容量为20G,生成的文件路径为/dev/vgname1/lvname1
lvcreate -L 20G -n lvname vgname1
(6)对逻辑卷进行格式化,创建XFS文件系统,并挂载到/opt目录下
mkfs -t xfs /dev/vgname1/lvname1
mount /dev/vgname1/lvname1 /opt
(7)再扩容
vgextend vgname1 /dev/sdc2
lvextend -L +10G /dev/vgname1/lvname1
xis growfs /dev/ygnamel:lwname1 #刷新xfs文件系统容量
resize2fs /dev/vgname1/lvname1 #刷新ext4类型文件系统容量
四.磁盘配额概述
- 当Linux根分区的磁盘空何耗尽时,Linux操作系统将无法再建立新的文件,同时也可能会出现服务程序崩溃、系统无法启动等故障
- 为了避免在服务器在出现类似磁盘空间不足的问题,可以启用磁盘配额功能,对用户在指定文件系统(分区)中使用的磁盘空间,文件数量进行限制,以防止个别用户恶意或无意问占用大量磁盘空间,从而保持系统存储空间的稳定性和持续可用性
- 在 Centos 系统中,不同的文件系统使用不同磁盘配额配置管理工具。例如,XFS 文件系统通过 xfs_quota 工具进行管理 EXT3/4 文件系统通过 quota工具进行管理
1.实现磁盘限额的条件:
- 需要Linux内核支持
- 安装xfsprogs与quota软件包
2.Linux磁盘限额的特点
- 作用范围:针对指定的文件系统(分区)
- 限制对象:用户账号,组账号
- 限制类型:磁盘容量,文件数量
- 限制方法: 软限制,硬限制
3.验证磁盘配额功能
- 切换到设置配额的分区(挂载目录)
- 创建指定数量的文件:使用touch命令,或cp命令
- 创建指定容量的文件:使用dd命令,或cp命令
4.查看配额使用情况
xfs_quota -x -c 'report选项'挂载点'
report常用选项
选项 | 功能 |
---|---|
-u | 对用户查看 |
-g | 对组查看 |
-a | 查看所有可用分区的配额使用报告 |
-b | 查看磁盘容量 |
-l | 查看文件数 |
五.Centos7中设置磁盘配额步骤
1.检查是否已实装xfsprogs和xfs quota软件包
rom -g xIsprogs quota
yum install -y xfsprogs quota
2、以支持配额功能的方式挂载文件系统
umount. /dev/vgname1 /lwnamel
mount -o usrquota, grpquota /dev/vgnamel/lvnamel /opt //添加挂载参数”usrquota,grpquota”用于增加对用户、组配额功能的支持
或者
wim /etc/fstab
/dcv/vgnamel/lwname1 /opt xfs dcfaults,usrquota,qrpquota 0 0
umount /dev/vgnamel/lvnamel
mount. -a //-a选项,将/etc/fstab;的所有内容重新加载
3、编辑用户和组账号的配额设置
useradd zhangsan
passwd zhangean
xfs guota -x -c 'limit -u bsoft-80M bhard-100M isoft-40 ihard-50 zhangsan' /opt/
-x | 表示启动专家模式,在当前模式下允许对配额系统进行修改的所有管理命令可用 |
-c | 表示直接调用管理命今 |
-u | 指定用户账导对象 |
-q | 指定组账号对象 |
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/
- 查看 zhangsan 磁盘容量限制制
xfs _quota -c 'quota -uv zhangsan' /opt/
- 查看 zhangsan 文件数限制
xfs _quota -c 'quota -i -uv zhangsan' /opt/
4.验证磁盘配置
chmod 777 /opt功能
su zhangsan
cd opt
- 验证磁盘容量超限
dd if=/dew/zero of=/opt/ddtest.txt bs=10M count=12
- 验证磁盘文件数超限
touch faa,bb, cc,dd, ee, ffl.txt
dd 命令是一个设备转换和连续复制制命令
if | 指定输入设备(或文件 ) |
of | 指定输出设备 (或文件) |
bs | 指定读取数据块的大小 |
count | 指定读取数据块的数量 |
/dev/zero“零"设备文件,可以无限的提供空字符。常用来生成一个特定大小的文件。
5.查看配额使用情况
- 查看所有可用分区的磁盘容量配额使用情况
xfs quota -x -c "report -a'
- 查看磁盘容量和文件数的报告
xfs quota -x -c 'report -abih'