目录
LVM概述
- LVM(逻辑卷管理Logical Volume Manager )
- LVM具有弹性伸缩功能
- LVM能够在保持现有数据不变的情况下动态调整磁盘容量,从而提高磁盘管理的灵活性
- 因为/boot分区是用于存放引导文件,所以/boot分区不能够基于LVM创建
- LVM是由多个磁盘分区组成
名称 | 说明 |
---|---|
PV (Physical Volume,物理卷) | 物理卷是LVM机制的基本存储设备,通常对应为一个普通分区或整个硬盘。创建物理卷时会在分区或硬盘的头部创建一个保留区块,用于记录 LVM的属性, |
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
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 vgname
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 工具进行管理。
磁盘配额操作步骤(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的所有内容重新加载
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
验证磁盘文件数超限
5.查看配额使用情况
xfs_quota -x -c 'report -a’
查看所有可用分区的磁盘容量配额使用情况
xfs_quota -x -c ’ report -abih"
查看磁盘容量和文件数的报告
磁盘配额操作步骤(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(设备) -
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
-
3.磁盘配额管理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
- 分区