LVM与磁盘配额
- LVM概述
- logical volume manager 逻辑卷管理
- LVM机制的基本概念
- PV(物理卷)
- VG(卷组)
- LV(逻辑卷)
- LVM管理命令
- 主要命令
- LVM应用实例
- 创建LVM流程:
- 删除LVM流程:
- 磁盘配额概述
- 实现磁盘限额的条件
- linux磁盘限额的特点
- 1.磁盘配额的作用范围
- 2.磁盘配额的限制对象
- 3.磁盘配额的限制类型
- 4.磁盘配额的限制方法
- 磁盘配额流程
- 设置磁盘配额
- 启用磁盘配额支持
- 启用文件系统的配额支持
- 磁盘配额管理
- 编辑用户和组账号的配额设置
- 使用xfs_quota命令编辑配额设置
- 常用选项
- 限制字段
- 验证磁盘配额功能
- 查看配额使用情况
- 总结
LVM属于动态分区可以运行环境中进行分区,就相当于边运行边分区
磁盘配额对于用户去限制磁盘大小,相当于百度网盘,空间越多越花钱
LVM概述
logical volume manager 逻辑卷管理
- 能够再爆出现有数据不变的情况下动态调整磁盘容量,从而提高磁盘管理的灵活性
- /boot分区用于存放引导文件,不能基于LVM创建
LVM机制的基本概念
PV(物理卷)
- 物理卷是LVM机制的基本存储设备,通常对应为一个普通分区或整个硬盘。创建物理卷时,会在分区或硬盘的头部创建一个保留区块,用于记录Ivw的属性,并把存储空间分割成默认大小为4MB的基本单元(Physical Extent,PE) ,从而构成物理卷。
- 每一个物理卷被划分为称为PE(Physical Extents)的基本单元,具有唯一编号的PE是可以被LVM寻址的最小单元。PE的大小是可配置的,默认为4MB。
- 由于vg是多个PE(块)组成的,而且每个vg块的PE最大数量是65534。默认每个PE的大小是4m
- 也就是说默认的每个vg最大也就是4m乘65534=256G,因此PE块的大小决定了最终vg的大小。
- PE的值可以是4,8,16,32,64(M)。PE越小硬盘利于率越高,但是每个VG块的最大数量是65534,所以PE大小决定了VG卷组的大小。
VG(卷组)
- 由一个或多个物理卷组成一个整体,即称为卷组,在卷组中可以动态地添加或移除物理卷
LV(逻辑卷)
- 逻辑卷建立在卷组之上,与物理卷没有直接关系。对于逻辑卷来说,每一个卷组就是一个整体,从这个整体中"切出"一小块空间,作为用户创建文件系统的基础,这一小块空间就称为逻辑卷。使用mkfs等工具在逻辑卷上创建文件系统
LVM管理命令
功能 | PV物理卷管理 | VG卷组管理 | LV逻辑卷股那里 |
Scan扫描 | pvscan | vgscan | lvscan |
Create建立 | pvcreate | vgcreate | lvcreate |
Display显示 | pvdisplay | vgdisplay | lvdisplay |
Remove删除 | pvremove | vgremove | lvremove |
Extend扩展 | vgextend | lvextend | |
Reduce减少 | vgreduce | lvreduce |
主要命令
pvcreate 设备名1 [设备名2... ...]
vgcreate 卷组名 物理卷名1 物理卷2
lvcreate -L 容量大小 -n 逻辑卷名 卷组名
lvextend -L +大小 /dev/卷组名/逻辑卷名
推荐步骤
1.关闭主机,添加两块新硬盘,重启主机或
echo “- - -” > /sys/class/scsi_host/host0/scan 扫描
2.先使用fdisk工具将磁盘设备/dev/sdb、/dev/sdc划分主分区sdb1、sdc1,并且把分区类型的ID标记号改为“8e”
fdisk /dev/sdb
fdisk /dev/sdc
3.创建物理卷
pvcreate /dev/sdbl /dev/sdc1
4.创建卷组,卷组名为vgname1
vgcreate vgname1 /dev/sdb1 /dev/sdc1
5.创建逻辑卷,逻辑卷名为lvname1,容量为20GB,生产的文件路径为/dev/vgname1/lvname1
lvcreate -L 20G -n lvname1 vgname1
6.对逻辑卷进行格式化,创建XFS文件系统,并且挂载到/opt目录下
mkfs -t xfs /dev/vgname1/lvname1
mount /dev/vgname1/lvname1 /opt目录下
df -Th
7.再扩容
vgextend vgname1 /dev/sd2
lvextend -L +10G /dev/vgname1/lvname1
xfs_growfs /dev/vgname1/lvname1 //刷新xfs文件系统容量
resize2fs /dev/vgname1/lvname1 //刷新ext4类型文件系统容量
LVM应用实例
创建LVM流程:
pvcreate 创建 pv -> vgcreate 创建卷组 -> lvcreate 创建逻辑卷 -> mkfs.xfs lv 格式化-> mount 挂载
删除LVM流程:
umount 卸载 -> lvremove lv 移出卷组中所有逻辑卷 -> vgremove vg 移出卷组 -> pvremove 移出 pv
调整xfs分区大小(只能增大):
lvextend -L 120G /dev/mapper/contos-root #增大至120G
lvextend -L +20G /dev/mapper/centos-root #增加20G
xfs_growfs /dev/mapper/centos-root #执行调整
注:ext2/ext3/ext4的调整命令是resize2fs,如下:
lvextend -L 120G /dev/mapper/centos-root #增大值120G
lvextend -L +20G /dev/mapper/centos-root #增加20G
lvreduce -L 50G /dev/mapper/centos-root #减小至50G
lvreduce -L -8G /dev/mapper/centos-root #减小8G
resize2fs /dev/mapper/centos-root #执行调整
磁盘配额概述
实现磁盘限额的条件
- 需要linux内核的支持
- 安装xfsprogs与quota软件包
linux磁盘限额的特点
- 作用范围:针对指定的文件系统(分区)
- 限制对象:用户账号、组账号
- 限制类型:磁盘容量、文件数量
- 限制方法:软限制、硬限制
1.磁盘配额的作用范围
xfs quota
设置的磁盘配额功能,只在指定的文件系统(分区)内有效,用户使用其他未设置配额的文件系统时,将不会受到限制。
2.磁盘配额的限制对象
xfs_quota
主要针对系统中指定的用户账号、组账号进行限制,没有被设置限额的用户或组将不受影响。对组账号设置配额后,组内所有用户使用的磁盘容量、文件数量的总和不能超过限制
3.磁盘配额的限制类型
磁盘容量:限制用户能够使用的磁盘数据块(Block)大小,也就是限制磁盘空间大小,默认单位为KB
文件数量:限制用户能够拥有的文件个数在Linux操作系统中,每一个文件都有一个对应的数字标记,称为i 结点(Inode)编号,这个编号在同一个文件系统内是唯一的,因此xfs_quota通过限制i结点的数量来实现对文件数量的限制
4.磁盘配额的限制方法
软限制:指定一个软性的配额数值(如480M 磁盘空间、180个文件),在固定的宽限期(默认为7天)内允许暂时超过这个限制,但系统会给出警告信息。
硬限制:指定一个硬性的配额数值(如500M磁盘空间、200个文件),是绝对禁止用户超过的限制值,当达到硬限制值时,系统也会给出警告并禁止继续写入数据。硬限制的配额值应大于相应的软限制值,否则软限制将失效。
以上描述中可以看出,在实施磁盘配额的实际过程中,只有当用户(或组)、文件系统(分区)及配额数值都满足限额条件时,xfs_quota才会对操作进行限制
磁盘配额流程
以支持配额功能的方式挂载文件系统 -> 编辑用户和组账号的配额设置 -> 验证磁盘配额功能 -> 查看磁盘配额使用情况
ssm
设置磁盘配额
当Linux根分区的磁盘空间耗尽时,Linux操作系统将无法再建立新的文件,同时也可能会出现服务程序崩溃、系统无法启动等故障。
为了避免在服务器中出现类似磁盘空间不足的问题,可以启用磁盘配额功能,对用户在指定文件系统(分区)中使用的磁盘空间、文件数量进行限制,以防止个别用户恶意或无意间占用大量磁盘空间,从而保持系统存储空间的稳定性和持续可在centos系统中,不同的文件系统使用不同磁盘配额配置管理工具。例如,XFS文件系统通过xfs_quota 工具进行管理;
EXT3/4文件系统通过quota工具进行管理。
启用磁盘配额支持
启用文件系统的配额支持
添加usrquota、grpquota挂载参数
[root@localhost~]#vi /etc/fstab
...... // 省略部分信息
/dev/mapper/mail_store-mbox /mailbox xfx default,usrquota,grpquota 0 0
[root@localhost~]#mount -o userquota,grpquota /dev/mail_store/mbox/mailbox/
[root@localhost~]#mount
...... //省略部分信息
/dev/mapper/mail_store-box on /mailbox type xfs(rw,relatime,attr2,inode64,usrquota,grpquota)
[root@localhost~]#chomd -R 777 /mailbox/
磁盘配额管理
编辑用户和组账号的配额设置
使用xfs_quota命令编辑配额设置
xfs_quota -x -c 'limit -u bsoft=N bhard=N isoft=N ihard=N 用户名' /opt(挂载点)
常用选项
- -u、-g、-x、-c
- -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=4 ihard=5 lisi' /njzb_xm/
#查看里斯磁盘:容量限制
xfs_quota -c 'quota -uv lisi' /njzb_xm/
#查看zhangsan文件数限制
xfs quota -c 'quota-i -uv lisi' /njzb_xm/
限制字段
- bsoft、bhard、isoft、ihard
验证磁盘配额功能
chmod 777 /njzb_xm
Su lisi
cd /njzb_xm
#验证磁盘容量超限
dd if=/dev/zero of =/njzb_xm/kgc.txt bs=10M count=12
#验证磁盘文件数超限
touch {aa,bb,cc,dd,ee,ff} .txt
touch test{1...6} .txt
dd命令是一个设备转化该和连续复制命令
"if="指定输入设备(或文件)
"of="指定输出设备(或文件)
"bs="指定读取数据块的大小
"count="指定读取数据块的数量
/dev/zero "零"设备文件,可以无限的提供空字符。常用来生成一个特定大小的文件
查看配额使用情况
#查看所有可用分区的磁盘容量配额使用情况
xfs_ quota -x -c 'report-aibh' #report后面跟的是挂载点
report常用选项:
- -u:对用户查看
- -g:对组查看
- -a:查看所有可用分区的配额使用报告
- -b:查看磁盘容量
- -i:查看文件数
总结
- 物理卷管理
- 卷组管理
- 逻辑卷管理
- 磁盘配额的作用范围、限制对象、限制类型、限制方法
- 磁盘配额管理