LVM概述
- LVM(逻辑卷管理Logical Volume Manager )
- LVM具有弹性伸缩功能
- LVM能够在保持现有数据不变的情况下动态调整磁盘容量,从而提高磁盘管理的灵活性
- 因为/boot分区是用于存放引导文件,所以/boot分区不能够基于LVM创建
- LVM是由多个磁盘分区组成
名称 | 说明 |
---|---|
PV (Physical Volume,物理卷) | 物理卷是LVM机制的基本存储设备,通常对应为一个普通分区或整个硬盘。创建物理卷时会在分区或硬盘的头部创建一个保留区块,用于记录 LVM的属性,并把存储空间分割成默认大小为4MB的基本单元(PE),从而构成物理卷。 (物理卷是由fdisk创建出的磁盘分区) |
PE | PE是物理卷基本单元,大小为4M。由逻辑卷与卷组的大小来决定 |
VG(volume Group,卷组) | 由一个或多个物理卷组成一个整体,即称为卷组,在卷组中可以动态地添加或移除物理卷 |
LV Logical volume,逻辑卷) | 从卷组中分割出的一块空间,形成逻辑卷。使用mkfs等工具可在逻辑卷上创建文件系统 |
LVM的管理命令及操作步骤
LVM管理命令
功能 | PV管理 | VG管理 | LV管理 |
---|---|---|---|
Scan扫描 | pvscan | vgscan | lvscan |
Creata建立 | pvcreata | vgcreata | lvcreata |
Display显示 | pvdisplay | vgdisplay | lvdisplay |
Remove删除 | pvremove | vgremove | lvremove |
Extend扩展 | —— | vgextend | lvextend |
Reduce减少 | —— | vgreduce | lvreduce |
LVM主要操作步骤
- 1.关闭主机,添加两块新硬盘,重启主机
- 2.先使用fdisk 工具将磁盘设备/dev/sdb、/dev/sdc划分出主分区sdb1、sdcl,并且把分区类型的ID标记号改为"8e"
用fdisk创建好的分区不用格式化直接创建物理卷- fdisk /dev/sdb
fdisk /dev/sdc
- fdisk /dev/sdb
- 3.创建物理卷
- pvcreate /dev/sdb1 /dev/sdc1
- 4.创建卷组,卷组名为vgnamel
- vgcreate vgname1 / dev/sdb1/ dev/sdb2
- 5.创建逻辑卷,逻辑卷名为lvname1,容量为15GB,生成的文件路径为/dev/vgname1/lvname1
- lvcreate -L 15G -n lvname1 vgname1
- 6.对逻辑卷进行格式化,创建XFS文件系统,并挂载到/opt日录下
- mkfs -t xfs / dev/vgname1/lvname1
- mount /dev/vgname1/lvname1 /opt
- 7.再扩容
- vgextend vgname1 / dev / sdc2
- lvextend -L +5G /dev/ vgname1/ lvname1
如果5G前面没有"+"则表示磁盘空间最多为5G - xfs_growfs /dev/vgnamel/lvname1
刷新文件系统容量(xfs) - resize2fs /dev/vgnamel/lvname1
刷新文件系统容量(ext4)
磁盘配额
磁盘配额概述
- 作用:给指定的用户或组限制磁盘的使用空间,或者限制创建文件的数量
- 实现磁盘限额的条件
- 需要Linux内核支持
- 安装xfsprogs与quota软件包
- Linux磁盘限额的特点
- 作用范围:针对指定的文件系统(分区)
- 限制对象:用户账号、组账号
- 限制类型:磁盘容量、文件数量
- 限制方法:软限制、硬限制
- 为什么使用磁盘配额功能?
- 因为当Linux根分区的磁盘空间耗尽时,linux操作系统将无法再建立新的文件,同时也可能会出现服务程序崩溃、系统无法启动等故障。所以为了避免在服务器中出现类似磁盘空间不足的问题,可以启用磁盘配额功能,对用户在指定文件系统(分区)中使用的磁盘空间、文件数量进行限制,以防止个别用户恶意或无意间占用大量磁盘空间,从而保持系统存储空间的稳定性和持续可用性。
在CentOS系统中,不同的文件系统使用不同磁盘配额配置管理工具。例如,XFS文件系统通过xfs quota工具进行管理;EXT3、EXT4文件系统通过quota 工具进行管理。
- 因为当Linux根分区的磁盘空间耗尽时,linux操作系统将无法再建立新的文件,同时也可能会出现服务程序崩溃、系统无法启动等故障。所以为了避免在服务器中出现类似磁盘空间不足的问题,可以启用磁盘配额功能,对用户在指定文件系统(分区)中使用的磁盘空间、文件数量进行限制,以防止个别用户恶意或无意间占用大量磁盘空间,从而保持系统存储空间的稳定性和持续可用性。
磁盘配额操作步骤(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 /opt
添加挂载参数"usrquota, grpquota"用于增加对用户、组配额功能的支持 - 因为临时挂载,重启后mount的挂载会失效
所以使用下面编辑/etc/fstab进行挂载,防止重启失效 - vim /etc/fstab
- /dev/vgname1/lvname1/ opt xfs defaults,usrquota, grpquota 0 0
- mount -a
-a选项,将/etc/fstab的所有内容重新加载
- umount / dev / vgname1 / lvname1
- 3.编辑用户和组账号的配额设置
- useradd qianzhan
- passwd qianzhan
- xfs_quota -x -c ‘limit -u bsoft=80M bhard=100M isoft=40 ihard=50 qianzhan’ /opt/
- -x:表示启动专家模式,在当前模式下允许对配额系统进行修改的所有管理命令可用
-c:表示直接调用管理命令
-g:指定组账号对象
-u:指定用户账号对象
bsoft:设置磁盘容量的软限制数值(默认单位为KB)
bhard:设置磁盘容量的硬限制数值(默认单位为KB)
isoft:设置磁盘文件数的软限制数值
ihard:设置磁盘文件数的硬限制数值 - xfs_quota -x -c ‘limit -u bsoft=80M bhard=100M qianzhan’ /opt/
仅限制磁盘容量 - xfs_quota -x -c 'limit -u isoft=4 ihard=5 qianzhan '/opt/
仅限制文件数 - xfs_quota -c ‘quota -uv qianzhan’ /opt/
查看qianzhan磁盘容量限制 - xfs_quota -c ‘quota -i -uv qianzhan’ /opt/
查看qianzhan文件数限制
- 4.验证磁盘配额功能
- chmod 777 /opt
给目录权限 - su qianzhan
- cd /opt
- dd if=/dev/zero of=/opt/ddtest.txt bs=10M count=12
验证磁盘容量超限
dd命令是一个设备转换和连续复制命令
if=指定输入设备(或文件)
of=指定输出设备((或文件)
bs=指定读取数据块的大小
count=指定读取数据块的数量
/dev/zero "零"设备文件,可以无限的提供空字符。常用来生成一个特定大小的文件 - touch {aa,bb,cc,dd, ee,ff}.txt
验证磁盘文件数超限
- chmod 777 /opt
- 5.查看配额使用情况
- xfs_quota -x -c 'report -a’
查看所有可用分区的磁盘容量配额使用情况 - xfs_quota -x -c ’ report -abih"
查看磁盘容量和文件数的报告
- xfs_quota -x -c 'report -a’
磁盘配额操作步骤(ext4)
- 1.基本磁盘管理 (柱面)
- 分区
- fdisk /dev/sdb(磁盘设备)
- n:创建分区
e:扩展分区
p:主分区 - 序列号 1
- 柱面序列 回车
- 分区大小 +5G
- 分区类型
83 ext4 类型(默认)
82 swap类型
b fat类型 - p:查看
w:保存退出
q:放弃退出
- 分区
- 格式化
- ext4类型
mkfs -t ext4 /dev/sdb1(设备) - swap类型
mkswap /dev/sdb5(设备)
swapon /dev/sdb5 (添加虚拟内存)
swapoff /dev/sdb5 (关闭虚拟内存)(不可变更原有swap大小) - fat类型
mkfs.vfat -F 32 /dev/sdb6(设备)
- ext4类型
- 2.动态卷轴管理
- 物理卷(分区类型 8e)
pvcreate /dev/sdc1(设备1) /dev/sdd1(设备2) - 卷组
vgcreate yu(卷组名称) /dev/sdc1(设备1) /dev/sdd1(设备2) - 逻辑卷
lvcreate -L 50G(大小) -n yu01(逻辑卷名称) yu(卷组名称) - 格式化
mkfs -t ext4 /dev/yu/yu01 - 挂载
mkdir /yu01 (创建挂载点)
mount /dev/yu/yu01 /yu01
- 物理卷(分区类型 8e)
- 2.磁盘配额管理quota
- vim /etc/fstab
/dev/yu/yu01 /yu01 ext4 defaults,usrquota,grpquota 0 0
mount -a - 关闭安全功能
setenforce 0 - 创建配额配置文件
quotacheck -cvug /dev/yu/yu01
-u、-g:检测用户、组配额
-c:创建配额数据文件
-v:显示执行过程信息 - cd /yu01
- ls 挂载点查看
aquota.group aquota.user 是否存在 - 对指定用户zhangsan设置配额
edquota -u zhangsan - 开启配额功能,若关闭配额功能用quotaoff
quotaon -ugv /yu01
chmod 777 /yu01
su zhangsan - 验证
dd if=/dev/zero of=yun.txt bs=10k(每次指定读取数据块的大小) count=6(指定读取数据块的数量)
touch {1,2,3,4,5}.txt - 查看配额使用情况
quota -u 用户名
quota -g 组名
requota /yun01
- vim /etc/fstab