全名:Logical Volume Manager
作用:
注:由于 /boot 中有系统内核、启动文件目录、引导文件,所以不能基于LVM创建
LVM 机制基本概念,由三部分组成:
功能 | 物理卷管理命令 | 卷组管理命令 | 逻辑卷管理命令 |
---|---|---|---|
Scan 扫描 | pvscan | vgscan | lvscan |
Create 建立 | pvcreate | vgcreate | lvcreate |
Display 显示 | pvdisplay | vgdisplay | lvdisplay |
Remove 删除 | pvremove | vgremove | lvremove |
Extend 扩展 | - | vgextend | lvextend |
Reduce 减少 | - | vgreduce | lvreduce |
注:物理卷的命令都是以pv开头,卷组是以vg开头,逻辑卷是以lv开头。一般来说我们用不到减少,因为我们绝大部分应该都是磁盘不够用才去使用LVM来实现动态调整磁盘容量
关闭主机,添加两块新硬盘,重启主机
先使用fdisk 工具将磁盘设备/dev/sdb、/dev/sdc划分出主分区sdb1、sdc1,并且把分区尖型的ID标记号改为"8e":
fdisk /dev/sdb
fdisk /dev/sdc
n p 1 回车 +5G p t 8e w
创建物理卷
pvcreate /dev/sdb1 /dev/sdc1 或 pvcreate /dev/sd[b-c]1
创建卷组,卷组名为vgname1
vgcreate vgname1 /dev/sdb1 /dev/sdc1
创建逻辑卷,逻辑卷名为lvnamel,容量为20GB,生成的文件路径为 /dev/vgname1/lvname1
lvcreate -L 20G -n lvname1 vgname1
对逻辑卷进行格式化,创建XFS 文件系统,并挂载到/opt目录下
mkfs -t xfs /dev/vgname1/lvname1
mount /dev/vgname1/lvname1 /opt
df -hT
再扩容
vgextend vgname1 /dev/sdc2
vgdisplay vgname1
lvextend -L+10G /dev/vgname1/lvname1
lvdisplay /dev/vgname1/lvname1
xfs_growfs /dev/vgname1/lvname1 #刷新xfs文件系统容量
resize2fs /dev/vgname1/lvname1 #刷新ext4类型文件系统容量
第一步:分区
1.给虚拟机新增两块磁盘,每块大小10G。启动系统, fdisk -l 查看新增的两块硬盘 /dev/sdc /dev/sdd
2.先将 /dev/sdc 磁盘分区类型设置为 Linux LVM ( 8e ),执行命令 fdisk /dev/sdc
3.同样的设置 /dev/sdd 磁盘分区类型设置为 Linux LVM ( 8e ),不过只先分配5G,留着5G空间后面进行 扩展LVM实验 用。执行命令 fdisk /dev/sdd
4.将 /dev/sdd 剩下的5G空间也设置为 Linux LVM ( 8e )。执行命令 fdisk /dev/sdd
5.现在有
第二步:创建物理卷
1.创建物理卷 pvcreat,/dev/sdc1 /dev/sdd1 两个设备都创建物理卷
2.执行 pvscan 命令,可以看到目前有两个物理卷了
第三步:创建卷组
1.创建一个卷组 vgcreat 卷组名 物理卷设备名
命令:vgcreat vgabc /dev/adc1 /dev/add1 命令等同于 vgcreat vgabc /dev/ad[cd]1
如图:
第四步:创建逻辑卷
1.创建逻辑卷,创建逻辑卷名为 abc01,使用卷组vgabc,容量为12GB,生成的 文件路径为 /dev/vgabc/abc01
第五步:创建文件系统、挂载逻辑卷
1.我们现在创建号了逻辑卷,不能直接使用,需要 对逻辑卷进行格式化,创建 XFS 文件系统,并挂载到 目录下,设备名格式是:/dev/vg名/lv名
此时LVM逻辑卷的12G空间可以进行使用
1.为什么要用磁盘限额
1.我们使用的Linux系统是可以多用户同时登录使用,如果同时有多个用户一起写文件,可能会导致根目录的容量被占满,会出现服务器崩溃不断重启的情况,为了防止这种情况,这时候就需要我们去设置磁盘限额,去控制多用户环境下限制每个用户的磁盘空间,规定某个用户最多只能创建多少个文件,最大使用多少容量
2.为了避免在服务器中出现类似因 操作不当或黑客攻击等 导致的磁盘空间不足的问题,可以启用 磁盘配额功能,对用户/组 在指定文件系统(分区)中使用的磁盘空间、文件数量进行限制,以防止个别用户恶意或无意间占用大量磁盘空间,从而保持系统存储空间的稳定性和持续可用性
3. 在Centos系统中,不同的文件系统 使用不同的磁盘配额配置管理工具。例如,XFS文件系统通过 xfs_quota 工具 进行管理;EXT3/4 文件系统通过 quota 工具 进行管理。Centos 7 使用 XFS 文件系统,Centos 6 使用 EXT4 文件系统
2.磁盘限额的概述
实现磁盘限额的条件:
1、需要Linux内核的支持。
2、需要安装xfsprogs与quota软件包,一般来说Linux系统都是自带的,可以通过rpm -q [软件包名]来查看,如果没有安装,可以通过 yum install -y 进行安装。
Linux磁盘限额的特点
第一步:检查系统是否已安装 xfsprogs 和 xfs_quota 软件包
命令:rpm -q xfsprogs quota 查看软件包是否已安装
如图:
如果安装的话
执行这个命令安装:yum install -y xfsprogs quota.
第二部:以支持配额功能的方式挂载文件系统
表示支持用户,组的配额功能
umount /dev/vgname1/lvname1 #先将正在使用 LVM 的磁盘进行解挂载
#添加挂载参数 "usrquota, grpquota"
#用于增加对用户、组配额功能的支持,(暂时生效,重启失效)
mount -o usrquota,grpquota /dev/vgname1/lvname1 /opt
进行永久设置
vim /etc/fstab
#在启动文件fstab中添加一行配置,【重启也生效】
/dev/vgname1/lvname1 /opt xfs defaults, usrquota, grpquota 0 0
umount /dev/vgname1/lvname1
mount -a #一a选项,将/etc/fstab 的所有内容重新挂载
第三步:编辑 用户和组账号 的配额设置
useradd zhangsan
passwd zhangsan
xfs_quota -x -c 'limit -u bsoft=80M bhard=100M isoft=40 ihard=50 zhangsan' /opt/
注: xfs_quota 命令来查看配额信息 以及 为用户和目录分配配额,并验证配额限制是否生效
选项与属性:
对于管理员命令选项有
#/opt/ 是磁盘挂载目录
限制磁盘容量
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/
第四步:验证磁盘配额功能
chmod 777 / opt #修改用户权限 写的权限,用来去认证
su zhangsan
cd /opt
验证磁盘容量超限
dd if=/dev/zero of=/opt/ddtest.txt bs=10M count=12
验证磁盘文件数超限
touch {aa, bb, cc, dd,ee,ff}.txt
注:dd 命令是一个 设备转换和连续复制命令
第五步:查看配额使用情况
查看所有可用分区的磁盘容量配额使用情况
xfs_quota -x -c 'report -a'
查看磁盘容量和文件数的报告
xfs_quota -x -c 'report -abih'
先将xfsprogs 和 xfs_quota 软件包 已经安装了
1.对磁盘容量进行配额设置,先解挂 ,再将添加到自动挂载文件 /etc/fstab 中
命令:格式: /卷组名 /挂载目录 xfs defaults, usrquota, grpquota 0 0
注:wq 保存并退出后,执行命令 mount -a,全部挂载 fstab 中的文件,在执行命令 mount 查看,发现该设备已经设置了配额
2 用户和组账号的配额设置,给 chenlei 用户设置配额限制:软限制磁盘容量80M,硬限制磁盘容量100M,文件数量8个,软限制硬限制10个
3 验证配额功能,为了能够用 chenlei 的非管理员账户操作 /lvmdata 目录,需要给设置目录的权限
命令: chmod 777 /lvmdata/ 赋予用户所有权限,验证用
注:格式是 touch {1…11 }.txt 联系创建多个文件,如果多敲一个点 ,那么就会被当成一个文件去创建
4 查看配额使用情况