目录
一、LVM概述
1.1、LVM机制的基本概念
Logical Lolume Manager 逻辑卷管理
能够在保持现有数据不变的情况下动态调整磁盘容量,从而提高磁盘管理的灵活性
/boot分区用于存放引导文件,不能基于lvm创建
三个常用术语
PV (物理卷)
VG(卷组)
LV (逻辑卷)
PV(Physical Volume,物理卷)
物理卷是LVM机制的基本存储设备,通常对应为一个普通分区或整个硬盘。创建物理卷时,会在分区或硬盘的头部创建一个保留区块,用于记录LVM的属性,并把存储空间分割成默认大小为4MB的基本单元(Physical Extent,PE),从而构成物理卷(例:/dev/sdb1 /dev/sdc1)。
PE的值可以是4、8、16、32、64。PE越小硬盘利于率高,但是每个VG块的最大数65534,所以PE大小决定了VG卷组大小。
VG(Volume Group,卷组)
由一个或多个物理卷组成一个整体,即称为卷组,在卷组中可以动态地添加或移除物理卷
LV(Logical Volume,逻辑卷
逻辑卷建立在卷组之上,与物理卷没有直接关系。对于逻辑卷来说,每一个卷组就是一个整体,从这个整体中“切出”一小块空间,作为用户创建文件系统的基础,这一小块空间就称为逻辑卷。使用mkfs等工具在逻辑卷上创建文件系统
1.2、LVM的管理命令
主要命令 | 功能 | 物理卷管理 | 卷组管理 | 逻辑卷管理 |
---|---|---|---|---|
Scan扫描 | 扫描物理卷 | pvscan | vgscan | lvscan |
Create建立 | 建立新的卷组或逻辑卷 | pvcreate | vgcreate | lvcreate |
Display显示 | 显示物理卷、卷组或逻辑卷的信息 | pvdisplay | vgdisplay | lvdisplay |
Remove删除 | 移除物理卷、卷组或逻辑卷 | pvremove | vgremove | lvremove |
Extend扩展 | 扩展卷组或逻辑卷的大小 | 不可用 | vgextend | lvextend |
Reduce减少 | 减少卷组中的物理卷数量 | 不可用 | vgreduce | 不可用(逻辑卷减少通常用lvreduce ) |
可以缩,但是不建议缩容,会影响数据。
1.3、LVM存储两种机制
- 线性模式:先将数据存储在属于一个PV的PE,然后再向下一个PV中PE
- 条带模式:将一份数据拆分为多份,分别写入该对应的每个pv中,类似raid 0, 因此读写性能会优于线性模式,但是条线模式,如果坏了一个就不行了会丢数据,没有冗余。
1.4、LVM应用实例
- 创建lvm流程:
pvcreate创建PV --> vgcreate创建卷组 lvcreate创建逻辑卷 --> mkfs.xfs格式化 --> 挂载 mount
还是先添加一个磁盘
别忘记重启主机
或echo "- - - " > /sys/class/scsi_host/host0/scan 扫描
创建一个主分区
分区类型的ID标记号改为“8e”,逻辑分区
创建pv
创建vg 需要组名 (添加多个pv也可以)
创建lv 需要逻辑卷名 卷组名
对逻辑卷进行格式化,创建XFS文件系统,并且挂载到/opt目录下
- 再扩容
先分区(和之前步骤一样,t,8e)
然后追加
- 删除LVM流程:
umount 卸载 -> lvremove 卷组或者/dev/vgname1/lvname1 -> vgremove 移出卷组-> 移出pv pvremove /dev/sdXN 这会将磁盘标记为不再属于LVM。
二、磁盘配额概述
当Linux根分区的磁盘空间耗尽时,Linux操作系统将无法再建立新的文件,同时也可能会出现服务程序崩溃、系统无法启动等故障。
为了避免在服务器中出现类似磁盘空间不足的问题,可以启用磁盘配额功能,对用户在指定文件系统(分区)中使用的磁盘空间、文件数量进行限制,以防止个别用户恶意或无意间占用大量磁盘空间,从而保持系统存储空间的稳定性和可持续。
在Centos系统中,不同的文件系统使用不同磁盘配额配置管理工具。
例如,
XFS文件系统通过xfs_quota 工具进行管理;
EXT3/4 文件系统通过quota工具进行管理。
2.1、设置磁盘配额
2.2.1、实现磁盘限额的条件
- 需要linux内核支持
- 安装xfsprogs与quota软件包
2.2.2、linux磁盘限额的特点
作用范围:针对指定的文件系统(分区)
限制对象:用户帐号,组帐号
限制类型:磁盘容量,文件数量
限制方法:软限制,硬限制
2.2.3、磁盘配额管理
1.检查是否已安装xfsprogs和xfs_ quota软件包
如果没有则
yum install -y xfsprogs quota
2.以支持配额功能的方式挂载文件系统
永久挂载
vim /dev/fstab
/dev/vgname1/lvname1 /opt xfs defaults, usrquota, grpquota 0 0
将普通的挂载去掉
umount /dev/vgname1/ lvname1 取消挂载文件或者挂载点都行 /opt
-a选项,将/etc/ fstab的所有内容重新加载
mount -a
3、编辑用户和组账号的配额设置
写入
xfs_quota -x -c "limit -u bsoft=80M bhard=100M isoft=4 ihard=5 lisi" /opt
- -x:表示启动专家模式,在当前模式下允许对配额系统进行修改的所有管理命令可用。
- -c: 表示直接调用管理命令。
- -u: 指定用户账号对象
- -g: 指定组账号对象
- bsoft: 设置磁盘容量的软限制数值(默认单位为KB)。
- bhard:设置磁盘容量的硬限制数值(默认单位为KB)。
- isoft:设置磁盘文件数的软限制数值。
- ihard:设置磁盘文件数的硬限制数值。
其他补充
#查看lisi磁盘:容量限制
xfs_ quota -c 'quota -uv lisi' /opt/
#查看lisi文件数限制
xfs_quota -c 'quota -i -uv lisi' /opt/
3.验证
创建一个用户lisi
给/opt挂载点全部权限
验证磁盘容量超限
因为bhard=100M 120M超过,就不行
扩展
dd命令是一一个设备转换和连续复制命令
“if=” 指定输入设备(或文件)
"of="指定输出设备(或文件)
"bs=" 指定读取数据块的大小
"count=”指定读取数据块的数量
/dev/zero “零"设备文件,可以无限的提供空字符。常用来生成一个特定大小的文件。
验证磁盘文件数超限
因为 ihard=5所以文件超过5个就不行了
4.查看配额使用情况
report常用选项:
- -u:对用户查看
- -g:对组查看
- -a:查看所有可用分区的配额使用报告
- -b:查看磁盘容量
- -i:查看文件数