Linux中的LVM(动态逻辑卷)与磁盘配额

一、LVM概述



(一)、Logical Volume Manager,逻辑卷管理

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



(二)、LVM机制的基本概念

PV (Pysical Volume物理卷)

物理卷是LVM机制里面的基本储存设备,通常对应为一个普通分区或者整个硬盘。创建物理卷时,会在分区或硬盘的头部创建一个保留区。用于记录LVM属性,并且把存储空间分割成默认大小为4GB的基本单元从而构成物理卷,例如:/dev/sdb1、/dev/sdd(PE的值可以是4、8、16、32、、64MB。PE值越小传输速率越高,而 LVM 的 VG 最多仅能含有 65534 个 PE ,因此默认的 LVM VG 会有 4M*65534/(1024M/G)=256G。

VG(Volume Group,卷组)

由一个多个物理卷组成一个整体,即称为卷组,在卷组中可以动态地添加或移除物理卷

LV(Logical Volume ,逻辑卷)

逻辑卷建立在卷组之上,与物理卷没有直接关系。对于逻辑卷来说,每一个卷组就是一个整体,从这个整体中“切出”一小块空间,作为用户创建文件系统的基础,这一小块空间就成为逻辑卷。

Linux中的LVM(动态逻辑卷)与磁盘配额

二、LVM的管理命令

(一)、主要命令

Linux中的LVM(动态逻辑卷)与磁盘配额

pvcreate 设备名1   [设备名2 .....]  
vgcreate  卷组名 物理卷名1  物理卷名2
lvcreate  -L 容量大小 -n 逻辑卷名 卷组名
lvextend -L +大小 /dev/卷组/各逻辑卷名

当想要扩展逻辑卷大小的时候,使用“lvextend”命令扩展。注意扩展之前不能在该逻辑卷中,该逻辑卷可以不解挂载就能编辑,也可解挂载之后编辑,而且扩展的空间之前一定要有"+",否则则是将原来的空间更改为20G,而不是扩展。这里将逻辑卷扩展20G。

Linux中的LVM(动态逻辑卷)与磁盘配额

 使用lvdisplay 命令查看扩展后的逻辑卷空间大小。

Linux中的LVM(动态逻辑卷)与磁盘配额

三、磁盘配额概述

(一)、实现磁盘限额的条件

(一)、实现磁盘限额的条件
1、需要Linux内核支持
2、安装xfsprogs与quota软件包(系统中检查是否安装了这两个软件包,可以使用“rpm -qa | grep xfsprogs ”过滤筛选。)
使用rpm -q quota xfsprogs 查询两个软件是否已经安装,发现都已经安装好了。因为在Linux 7 系统中这两个软件是默认安装的。如果发现没有安装,可以用“yum install -y …”安装。
Linux中的LVM(动态逻辑卷)与磁盘配额

(二)、Linux磁盘限额的特点

1、作用范围:针对指定的文件系统(分区)
2、限制对象:用户帐号、组帐号
3、限制类型:磁盘容量、文件数量(节点号)
4、限制方法:软限制、硬限制Linux中的LVM(动态逻辑卷)与磁盘配额

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

(四)、Centos7中设置磁盘配额步骤

1、检查是否已安装 xfsprogs 和 xfsquota 软件包

rpm   -q   xfsprogs   quota (检查是否已经安装)
yum  install  -y  xfsprogs   quota  (没有安装的话使用该命令安装)

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

umount   /dev/vgname1/lvname1
mount   -o  usrquota, grpquota    /dev/vgname1/ lvname1   /opt(手动挂载)
添加挂载参数"usrquota, grpquota"用于增加对用户、组配额功能的支持
或者
vim    /etc/fstab
/dev/vgname1/lvname1        /opt        xfs        defaults,usrquota,grpquota     0    0(自动挂载)

umount    /dev/vgname1/lvname1
mount    -a                   ###-a选项,将/etc/fstab的所有内容重新加载

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

useradd     zhangsan    (创建一个新用户)
passwd      zhangsan      (设置密码用来激活该新用户)
xfs_quota     -x     -c    'limit   -u    bsoft=80M   bhard=100M    isoft=40     ihard=50    zhangsan'      /opt/

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

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

仅限制文件数

xfs_quota    -x   -c    'limit    -u    isoft=40    ihard=50    zhangsan'     /opt/

查看zhangsan磁盘容量限制

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

4、验证磁盘配额功能

chmod    777  /opt
su    zhangsan
cd    /opt

验证磁盘容量超限:

dd    if=/dev/zero    of=/opt/ddtest.txt    bs=10M    count=12 (意思是:每次给10M,连续给12次)

验证磁盘文件数超限

touch  {1..101}.txt

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

5、查看配额使用情况

查看所有可用分区的磁盘容量配额使用情况

xfs_quota    -x    -c    'report    -a'

查看磁盘容量和文件数的报告

xfs_quota   -x   -c 'report   -abih'

首先检查软件包是否安装好,然后使用自动挂载命令。Linux中的LVM(动态逻辑卷)与磁盘配额

 将自动挂载的程序写进去保存并退出。Linux中的LVM(动态逻辑卷)与磁盘配额

 使用“mount -a”命令挂载,其中的“-a” 选项,可以将/etc/fstab的所有内容重新加载,这样就可以实现自动挂载了。Linux中的LVM(动态逻辑卷)与磁盘配额

 在需要挂载的地方创建一个新的用户,此处创建的是zhangsan 用户,创建好新用户之后需要设置密码来激活该新用户后才可使用。Linux中的LVM(动态逻辑卷)与磁盘配额

 创建好新用户之后,使用下面的命令来编辑用户的配额限制。其中的“-x”:表示启动专家模式,在当前模式下允许对配额系统进行修改的所有管理命令可用。 “-c”:表示直接调用管理命令。“-u”:指定用户账号对象。“bsoft”:设置磁盘容量的软限制数值为80M,“bhard”:设置磁盘容量的硬限制数值为100M,“isoft”:设置磁盘文件数的软限制数值为40个,“ihard”:设置磁盘文件数的硬限制数值为50个。
Linux中的LVM(动态逻辑卷)与磁盘配额

 使用以下的命令查看zhangsan磁盘容量限制。发现限额已经设置成功。Linux中的LVM(动态逻辑卷)与磁盘配额

 然后设置用户权限,需要给777最高权限,不然该用户不能执行其中的命令。接着使用验证磁盘容量超限的命令验证一下:
dd if=/dev/zero of=/abc01/test.txt bs=10M count=12 (意思是:每次给10M,连续给12次)其中test.txt是自己创的一个文件。
然后设置用户权限,需要给777最高权限,不然该用户不能执行其中的命令。接着使用验证磁盘容量超限的命令验证一下:
dd if=/dev/zero of=/abc01/test.txt bs=10M count=12 (意思是:每次给10M,连续给12次)其中test.txt是自己创的一个文件。
Linux中的LVM(动态逻辑卷)与磁盘配额

 当存入的容量过多时,会提示超出磁盘限额。Linux中的LVM(动态逻辑卷)与磁盘配额

 限制文件数的命令为:xfs_quota -x -c ‘limit -u isoft=4 ihard=5 zhangsan’ /opt/,最大硬限制数为5个文件,通过在该分区下创建6个文件,发现超出了磁盘限额。Linux中的LVM(动态逻辑卷)与磁盘配额

 Linux中的LVM(动态逻辑卷)与磁盘配额

总结

物理卷管理

卷组管理

逻辑卷管理

磁盘配额的作用范围、限制范围、限制对象、限制方法

次哦按配额管理

上一篇:Java-Android Studio-未安装HAX内核模块


下一篇:Comparison-of-OS-emulation-or-virtualization-apps-on-Android