Linux:LVM与磁盘配额

LVM与磁盘配额

一、LVM概述

(一)LVM逻辑卷Logical Volume Manager

1.能够在保持现有数据不变的情况下动态调整磁盘容量,从而提高磁盘管理的灵活性
2./boot分区用于存放引导文件,不能基于LVM创建

(二)LVM机制的基本概念

  • PV(物理卷):物理卷是LVM机制的基本存储设备,通常对应为一个普通分区或整个硬盘。创建物理卷时,会在分区或硬盘的头部创建一个保留区块,用于记录LVM的属性,并把存储空间分割成默认大小为4MB的基本单元(PE),从而构成物理卷
  • VG(卷组):由一个或多个物理卷组成一个整体,即称为卷组,在卷组中可以动态地添加或移除物理卷
  • LV(逻辑卷):从卷组中分割出的一块空间,形成逻辑卷。使用mkfs等工具可在逻辑卷上创建文件系统

(三)LVM的管理命令

功能 物理卷管理 卷组管理 逻辑卷管理
Scan扫描 pvscan vgscan lvscan
Create建立 pvscreate vgcreate lvcreate
Display显示 pvdisplay vgdisplay lvdisplay
Remove删除 pvremove vgremove lvremove
Extend扩展 vgextend lvextend
Reduce减少 vgreduce lvreduce

(四)LVM操作主要命令步骤

1.关闭主机,添加两块新硬盘,重启主机
Linux:LVM与磁盘配额
Linux:LVM与磁盘配额

2.先使用fdisk工具将磁盘设备/dev/sdb、/dev/sdc划分出主分区sdb1、sdc1,并且把分区类型的ID标记号改为“8e”
fdisk /dev/sdb —>n —>t 8e
fdisk /dev/sdc—>n —>t 8e
Linux:LVM与磁盘配额
Linux:LVM与磁盘配额

3.创建物理卷

 pvcreate /dev/sdb1 /dev/sdc1

Linux:LVM与磁盘配额

4.创建卷组,卷组名为abc1

vgcreate abc1 /dev/sdb1 /dev/sdb2
或 vgcreate abc1 /dev/sd[bc]1

Linux:LVM与磁盘配额
Linux:LVM与磁盘配额

5.创建逻辑卷,逻辑卷名为abc,容量为8G,生成的文件路径为/dev/abc1/abc

 vcreate -L 8G -n abc abc1

Linux:LVM与磁盘配额

6.对逻辑卷进行格式化,创建XFS文件系统,并挂载到/opt目录下

 mkfs -t xfs /dev/abc/abc1
 mkdir /ABC
 mount /dev/abc1/abc /ABC
 df -Th

Linux:LVM与磁盘配额

7.再扩容

 vgextend abc1 /dev/sdc2  (如果sdc没有载分区直接输入sdc)
 lvextend -L +5G /dev/abc1/abc  没有+号则表示扩展到指定容量
 xfs_growfs /dev/abc1/abc       ext4:resize2fs /dev/abc1/abc
 

二、磁盘限额

(一)实现磁盘限额的条件及特点

1.需要Linux内核支持
2.安装xfsprogs与quota软件包
3.磁盘限额的特点

  • 作用范围:针对指定的文件系统(分区)
  • 限制对象:用户账号、组账号
  • 限制类型:磁盘容量、文件数量
  • 限制方法:软限制、硬限制

(二)设置磁盘配额步骤

当Linux分区的磁盘空间耗尽时,Linux操作系统将无法再建立新的文件,同时也可能会出现服务程序崩溃、系统无法启动等故障。
为了避免在服务器中出现类似磁盘空间不足的问题,可以启用磁盘配额功能,对用户在指定文件系统(分区)中使用的磁盘空间、文件数量进行限制,以防止个别用户恶意或无意间占用大量磁盘空间,从而保持系统存储空间的稳定性和持续可用性

1.检查是否已安装xfsprogs和xfs_quota软件包。在CentOS系统中,不同的文件系统使用不同磁盘配额配置管理工具。例如,XFS文件系统通过xfs_quota工具进行管理:EXT3/4文件系统通过quota工具进行管理

  rpm -q xfsprogs quota
  yum install -y xfsprogs

2.以支持配额功能的方式挂载文件系统

 umount /dev/abc1/labc
 mount -o usrquota,grpquota /dev/abc1/abc       添加挂载参数“usrquota,grpquota”用于增加对用户、组配额功能的支持

或者

vim /etc/fstab   添加参数
 /dev/abc1/abc        /ABC     xfs         defaults,usrquota,grpquota    0 0 
 :wq
 umount /dev/abc1/abc
 mount -a        将/etc/fstab的所有内容重新加载

3.编辑用户和组账号的配额设置

 useradd zhangsan
 passwd 123456
 xfs_quota -x -c 'limit -u bsoft=80M bhard=100M isoft=40 ihard=50 zhangsan' /ABC/
 

常用选项解释
-x表示启动专家模式,在当前模式下允许对配额系统进行修改的所有管理命令可用
-c表示直接调用管理命令-u指定用户账号对象
-g指定组账号对象
bsoft设置磁盘容量的软限制数值(默认单位KB)
bhard设置磁盘容量的硬限制数值(默认单位为KB)
isoft设置磁盘文件数的软限制数值
ihard设置磁盘文件数的硬限制数值

——>仅限制磁盘容量

xfs_quota -x -c 'limit -u bsoft=80M bhard=100M zhangsan' /ABC/

——>仅限制文件数

 xfs_quota -x -c 'limit -u isoft=4 ihard=5 zhangsan' /ABC/

查看zhangsan磁盘容量限制

 xfs_quota -c 'quota -uv zhangsan' /ABC/

查看zhangsan文件数限制

 xfs_quota -c 'quota -i -uv zhangsan' /ABC/

4.验证磁盘配额功能

 chmod 777 /ABC  配置所有用户可读可写可执行
 su zhangsan     
 cd /ABC
 dd if=/dev/zero of=/opt/ddtest.txt bs=10M count=12   验证磁盘容量超限
  touch {aa,bb,cc,dd,ee,ff}.TXT             验证磁盘文件数超限 

**补充:**dd命令是一个设备转换和连续复制命令
if= 指定输入设备(或文件)要取文件的设备
of= 指定输出设备(或文件)要写入的设备
bs= 指定读取数据块的大小
count= 指定读取数据块的数量
/dev/zero “零”设备文件,可以无限的提供空字符。常用来生成一个特定大小的文件
Linux:LVM与磁盘配额

Linux:LVM与磁盘配额

上一篇:Linux操作系统中LVM磁盘配额


下一篇:test