目录
一、LVM
1.LVM机制的基本概念
把磁盘分为:PV(物理卷) VG(卷组) LV(逻辑卷)
把一个物理卷PV划分成多个PE(为了方便管理)
LVM(逻辑卷)管理的是PE 最小单位4M
把sdb1定义为一个物理卷
多个物理卷PV 组成一个卷组VG (无法跨卷组)
2.逻辑卷管理
能够在保持现有数据不变的去情况下动态调整磁盘容量,从而提高磁盘管理的灵活性
主要命令:
Scan 扫描
create 建立
display 显示
remove 删除
extend 拓展 /
reduce 减少 /
这些命令通过与PV VG LV 组合,完成对各自物理卷,卷组和逻辑卷的控制。
例如:
3.创建LVM
1.硬盘分区
fdisk /dev/sdb
2.创建物理卷
dev 设备文件
pvcreate /dev/sdb1 /dev/sdc1 把分区或磁盘文件转换为PV
pvdisplay
![](https://i-blog.csdnimg.cn/blog_migrate/75bcb06f9d5cc9ed5d9f055ba8112bf1.png)
3.创建卷组
vgcreate vgname /dev/sdb1 /dev/sdc1 mail_store 创建卷组
vgdisplay
4.创建逻辑卷 磁盘分区
lvcreate -L 容量大小 -n 逻辑卷名 卷组名 /dev/mail_store/mbox 创建逻辑卷
这里因为创建的sdb6大小不够,所以报错。
如果此时创建错误,可以删除。
lvremove /etc/卷组名/逻辑卷名
5.创建文件系统
mkfs.xfs /dev/vgname/lv_name 格式化,创建文件系统
6.挂载目录 /mailbox
mount 挂载空间 需要挂载的目录 ###挂载目录
再扩容:
vgextend vgname1 /dev/sdc2 卷组扩容
lvextend -L +10G /dev/vgname1/lvname1 添加10G(逻辑卷扩容)
xfs_growfs /dev/vgname1/lvname1 格式化刷新xfs文件系统容量
resize2fs /dev/vgname1/lvname1 刷新ext4类型文件系统容量
4.LVM的管理
扩容/缩小卷组:
添加硬盘 不重启识别硬盘
echo ”- - -“ > /sys/class/scsi_host/host1/scan
卷组扩展
vgextend vgname /dev/sdd1
卷组名 磁盘设备
卷组缩小
vgreduce vgname /dev/sdd1
物理卷删除一个磁盘
pvremove /dev/sdd1
强制解挂载
umount -f /data
调整sfx分区大小(只能增加):
lvextend -L 120G /dev/mapper/centos-root #增加到120G
+20G #增加20G
xfs_growfs /dev/mapper/centos-root #执行调整
PS:ext2/ext3/ext4 的调整命令是resize2fs,
#resize2fs /dev/mapper/centos-root #执行调整
二、磁盘配额
1.什么是磁盘配额
磁盘配额核心部分:
创建文件的数量 可使用空间的上限(必须要指定目录)
2.centos7中设置磁盘配额步骤
1.检查环境
是否已经安装xfsprogs和xfs_quota软件包,如果没有需要安装
rpm -q xfsprogs quota
yum install -y xfsprogs quota
2.挂载文件系统
以支持配额功能的方式挂载文件系统
umount /dev/vgname1/lvname1
mount -o usrquota,grpquota /dev/vgname1/lvname1 /mnt
#添加挂载参数"usrquota,grpquota"用于增加对用户、组配额功能的支持
或者
vim /etc/fstab
/dev/vgname1/lvname1 /mnt xfs defaults,usrquota,grpquota 0 0
umoubnt /dev/vgname1/lvname1
mount -a 加-a选项,将/etc/fstab的所有内容重新加载
3.编辑用户和组账号的配额设置
useradd lisi
passwd lisi
xfs_quota -x -c 'limit -u bsoft=80M bhard=100M isoft=8 ihard=10 lisi' /opt/
这里出现了xfs_quota 函数未实现
这里vim /etc/fstab 进入在第二行defaults后面加上一个quota
-x:表示启动专家模式,在当前模式下允许对配额系统进行修改的所有管理命令可用
-c:表示直接调用管理命令。
-u:指定用户账号对象。
-g:指定组账号对象。
bsoft:设置磁盘容量软限制大小(默认单位KB)
bhard:设置磁盘容量硬限制大小(默认单位KB)
isoft:设置磁盘文件软限制数量。
ihard:设置磁盘文件硬限制数量。
#仅限制磁盘容量:
xfs_quota -x -c 'limit -u bsoft=80M bhard=100M lisi' /njzb_xm/
#仅限制文件数:
xfs_quota -x -c 'limit -u isoft=5 ihard=10 lisi' /njzb_xm/
#查看lisi磁盘容量限制:
xfs_quota -c 'quota -uv lisi' /njzb_xm/
#查看lisi磁盘文件数限制:
xfs_quota -c 'quota -i -uv lisi /njzb_xm/
4.验证磁盘配额功能
chmod 777 /mnt
改一下 /mnt的权限为777
su lisi
cd /mnt
###验证磁盘容量超限
dd if=/dev/zero of=/mnt/123.txt bs=10M count=12
dd是一个设备转换和连续复制命令
if 指定输入设备,从哪里拿数据
of 指定输出设备,放到哪里
bs 指定读取数据块的大小,每次拿多大
count 指定读取数据块的数量,拿几次
/dev/zero “零”设备文件,可以无限的提供空字符。常用来生成一个特定大小的文件。
###验证磁盘文件数超限
touch 创建文件
这里可以看到此时一个文件也无法创建,是因为空间已经被塞满。
5.查看配额使用情况
#查看所有可用分区的磁盘容量配额使用情况
xfs_quota -x -c 'report -aibh'
总结:
磁盘配额特点:
1.磁盘配额作用范围
xfs_quota quota限制
设置的磁盘配额功能,只在指定的文件系统(分区)内有效
用户使用其他未设置配额的文件系统时,将不会受到限制。
2.磁盘配额的限制对象
主要针对系统中指定的用户账号、组账号进行限制,没有被设置下呢的用户
或组将不受影响。对组账号设置配额后,组内所有用户使用的磁盘容量
文件数量的总和不能超限制。
3.磁盘配额的限制类型
磁盘容量:限制用户能够使用的磁盘数据块大小,也就是限制磁盘空间大小,默认单位KB
文件数量:限制用户能够拥有的文件个数。在linux系统中,每一个文件都有一个对应的inode编号,通过限制inode的数量来实现对文件数量的限制。
4.磁盘配额的限制方法
软限制:指定一个软性的配额数值,在固定的宽限期(默认七天)内允许暂时超过这个限制。
硬限制:指定一个硬性的配额数值,当达到硬限制数值时,系统给出警告并禁止继续写入数据。