Linux--管理LVM的逻辑卷--原理+命令实操(LVM扩容+磁盘配额)

LVM介绍

文章目录

      • LVM介绍
    • 一:lvm概述
      • 1.1:LVM的基本概念
    • 二:LVM管理命令
      • 2.1:pvscan命令
      • 2.2:pvcreate命令
      • 2.3:pvddisplay命令
    • 三:VG卷组挂管理
      • 3.1: vgscan命令
      • 3.2:vgcreate命令
      • 3.3:vgdisplay命令
      • 3.4:vgremove命令
      • 3.5: vgextend命令
    • 四:LV逻辑卷管理
      • 4.1: Lvscan命令
      • 4.2: Lvcreate命令
      • 4.3: Lvdispaly命令
      • 4.4: Lvremove命令
    • 五:LVM推荐步骤
      • 实验:
      • 进行Lvm扩容
      • 磁盘配额
      • 实现磁盘限额的条件
      • 磁盘配额步骤
      • 启用磁盘盘配额
      • 磁盘配额管理
        • 编辑用户和组账号的配额设置
        • 验证磁盘配额功能
      • 查看配额使用情况
      • 实验:

许多Linux使用者安装操作系统时都会遇到这样的困境:如何精确评估和分配各个硬盘分区的容量,如果当初评估不准确,一旦系统分区不够用时可能不得不备份、删除相关数据,甚至被迫重新规划分区并重装操作系统,以满足应用系统的需要。

LVM是Linux环境中对磁盘分区进行管理的一种机制,是建立在硬盘和分区之上、文件系统之下的一个逻辑层,可提高磁盘分区管理的灵活性。RHEL5默认安装的分区格式就是LVM逻辑卷的格式,需要注意的是/boot分区不能基于LVM创建,必须独立出来.

一:lvm概述

Logical Volume Manager,逻辑卷管理

动态调整磁盘容量,从而提高磁盘管理的灵活性

/boot分区用于存放引导文件,不能基于LVM创建

图形界面管理工具:system-config-lvm

1.1:LVM的基本概念

  • PV(物理卷)文件类型8e格式

mark

物理卷是LVM机制的基本存储设备,通常对应为一个普通分区或整个硬盘。

创建物理卷时,会在分区或硬盘的头部创建一个保留区块,用于记录LVM的属性,并把存储空间分割成默认大小为4MB的基本单元(Physical Extent,PE),从而构成物理卷

物理卷一般直接使用设备文件名称,如/dev/sdb1 , /dev/sdb1, /dev/sdd等

对于转换成物理卷的普通分区,建议先使用fdisk工具将分区类型的ID标记号改为“8e”(8e表示LVM逻辑卷),若是整块硬盘,可以将所有磁盘空间划分为一个主分区后再做相对应调整

  • VG(卷组)

Linux--管理LVM的逻辑卷--原理+命令实操(LVM扩容+磁盘配额)_第1张图片

卷组:由一个或多个物理卷组成一个整体

在卷组中可以动态的添加或移除物理卷

许多个物理卷可以分别组成不同的卷组,卷组的名称由用户自定义

  • lv(逻辑卷)

Linux--管理LVM的逻辑卷--原理+命令实操(LVM扩容+磁盘配额)_第2张图片

逻辑卷建立在卷组之上,与物理卷没有直接关系

对于逻辑卷来说,每一个卷组就是一个整体,从这个整体中“切出”一小块空间,作为用户创建文件系统的基础,这一小块空间就称为逻辑卷

使用mkfs等工具在逻辑卷上创建文件系统以后,就可以挂载到Linux系统中的目录下使用

二:LVM管理命令

主要命令

  • LVM管理命令主要包括三大类

​ PV物理卷管理

​ VG卷组管理

​ LV逻辑卷管理

  • 对应的命令程序文件分别以“PV” “VG” “LV” 开头

Linux--管理LVM的逻辑卷--原理+命令实操(LVM扩容+磁盘配额)_第3张图片

主要命令的格式

pvcreate 设备名(磁盘) 【设备名2 ... ...】
vgcreate 卷组名 物理卷名1 物理卷名2
lvcreate -L 容量大小 -n 逻辑卷名 卷组名
lvextend -l +大小 /dev/卷组名/逻辑卷名

pv物理卷管理

2.1:pvscan命令

pvscan命令 会扫描系统中连接的所有硬盘,列出找到的物理卷列表。使用pvscan命令的-n选项可以显示硬盘中的不属于任何卷组的物理卷,这些物理卷是未被使用的.

语法

pvscan(选项)

选项

-d:调试模式;
-e:仅显示属于输出卷组的物理卷;
-n:仅显示不属于任何卷组的物理卷;
-s:短格式输出;
-u:显示UUID。

实例

使用pvscan命令扫描当前系统中所有硬盘的物理卷,在命令行中输入下面的命令:

[root@localhost ~]# pvscan     #扫描所有硬盘上的物理卷

输出信息如下:

PV /dev/sdb1         lvm2 [101.94 MB]  
PV /dev/sdb2         lvm2 [101.98 MB]  
Total: 2 [203.92 MB] / in use: 0 [0   ] / in no VG: 2 [203.92  
MB]

2.2:pvcreate命令

将物理硬盘分区初始化为物理卷

补充说明

pvcreate命令 用于将物理硬盘分区初始化为物理卷,以便LVM使用。

语法

pvcreate(选项)(参数)

选项

-f:强制创建物理卷,不需要用户确认;
-u:指定设备的UUID;
-y:所有的问题都回答“yes”;
-Z:是否利用前4个扇区。

参数

物理卷:指定要创建的物理卷对应的设备文件名。

例如
[root@localhost ~]# pvcreate /dev/sdd1
  Physical volume "/dev/sdd1" successfully created.

2.3:pvddisplay命令

显示物理卷的属性

补充说明

pvdisplay命令 用于显示物理卷的属性。pvdisplay命令显示的物理卷信息包括:物理卷名称、所属的卷组、物理卷大小、PE大小、总PE数、可用PE数、已分配的PE数和UUID。

语法

pvdisplay(选项)(参数)

选项

-s:以短格式输出;
-m:显示PE到LE的映射。

参数

物理卷:要显示的物理卷对应的设备文件名。

实例

使用pvdisplay命令显示指定的物理卷的基本信息。在命令行中输入下面的命令:

[root@localhost ~]# pvdisplay /dev/sdb1    #显示物理卷基本信息

输出信息如下:

"/dev/sdb1" is a new physical volume of "101.94 MB"  
--- NEW Physical volume ---  
PV Name               /dev/sdb1  
....省略部分输出内容......  
PV UUID         FOXiS2-Ghaj-Z0Mf- cdVZ-pfpk- dP9p-ifIZXN

三:VG卷组挂管理

3.1: vgscan命令

扫描并显示系统中的卷组

补充说明

vgscan命令 查找系统中存在的LVM卷组,并显示找到的卷组列表。vgscan命令仅显示找到的卷组的名称和LVM元数据类型,要得到卷组的详细信息需要使用vgdisplay命令。

语法

vgscan(选项)

选项

-d:调试模式;
--ignorerlockingfailure:忽略锁定失败的错误。

实例

使用vgscan命令扫描系统中所有的卷组。在命令行中输入下面的命令:

[root@localhost ~]# vgscan     #扫描并显示LVM卷组列表

输出信息如下:

Found volume group "vg2000" using metadata type lvm2  
Found volume group "vg1000" using metadata type lvm2

3.2:vgcreate命令

用于创建LVM卷组

补充说明

vgcreate命令 用于创建LVM卷组。卷组(Volume Group)将多个物理卷组织成一个整体,屏蔽了底层物理卷细节。在卷组上创建逻辑卷时不用考虑具体的物理卷信息。

语法

vgcreate(选项)(参数)

选项

-l:卷组上允许创建的最大逻辑卷数;
-p:卷组中允许添加的最大物理卷数;
-s:卷组上的物理卷的PE大小。

参数

  • 卷组名:要创建的卷组名称;
  • 物理卷列表:要加入到卷组中的物理卷列表。

实例

使用vgcreate命令创建卷组 “vg1000″,并且将物理卷/dev/sdb1/dev/sdb2添加到卷组中。在命令行中输入下面的命令:

[root@localhost ~]# vgcreate vg1000 /dev/sdb1 /dev/sdb2  #创建卷组"vg1000"

输出信息如下:

Volume group "vg1000" successfully created

3.3:vgdisplay命令

显示LVM卷组的信息

补充说明

vgdisplay命令 用于显示LVM卷组的信息。如果不指定”卷组”参数,则分别显示所有卷组的属性。

语法

vgdisplay(选项)(参数)

选项

-A:仅显示活动卷组的属性;
-s:使用短格式输出的信息。

参数

卷组:要显示属性的卷组名称。

实例

使用vgdisplay命令显示存在的卷组”vg1000″的属性。在命令行中输入下面的命令:

[root@localhost ~]# vgdisplay vg1000     #显示卷组"vg1000"的属性

输出信息如下:

  --- Volume group ---  
  VG Name               vg1000  
......省略部分输出内容......  
  free  PE / Size       50 / 200.00 MB  
  VG UUID  ICprwg-ZmhA-JKYF-WYuy-jNHa-AyCN-ZS5F7B

3.4:vgremove命令

用于用户删除LVM卷组

补充说明

vgremove命令 用于用户删除LVM卷组。当要删除的卷组上已经创建了逻辑卷时,vgremove命令需要进行确认删除,防止误删除数据。

语法

vgremove(选项)(参数)

选项

-f:强制删除。

参数

卷组:指定要删除的卷组名称。

实例

使用vgremove命令删除LVM卷组”vg1000″。在命令行中输入下面的命令:

[root@localhost ~]# vgremove vg1000    #删除卷组"vg1000"
Volume group "vg1000" successfully removed

3.5: vgextend命令

向卷组中添加物理卷

vgextend命令 用于动态扩展LVM卷组,它通过向卷组中添加物理卷来增加卷组的容量。LVM卷组中的物理卷可以在使用vgcreate命令创建卷组时添加,也可以使用vgextend命令动态的添加。

语法

vgextend(选项)(参数)

选项

-d:调试模式;
-t:仅测试。

参数

  • 卷组:指定要操作的卷组名称;
  • 物理卷列表:指定要添加到卷组中的物理卷列表。

实例

使用vgextend命令向卷组”vg2000″中添加物理卷。在命令行中输入下面的命令:

[root@localhost ~]# vgextend vg2000 /dev/sdb2     #将物理卷"/dev/sdb2"加入卷组"vg2000"

输出信息如下:

Volume group "vg2000" successfully extended

四:LV逻辑卷管理

4.1: Lvscan命令

扫描逻辑卷

lvscan命令 用于扫描当前系统中存在的所有的LVM逻辑卷。使用lvscan指令可以发现系统中的所有逻辑卷,及其对应的设备文件。

语法

lvscan(选项)

选项

-b:显示逻辑卷的主设备和次设备号。

实例

使用lvscan命令扫描系统中的所有逻辑卷。在命令行中输入下面的命令:

[root@localhost ~]# lvscan     #扫描所有的逻辑卷

输出信息如下:

ACTIVE          '/dev/vg1000/lvol0' [200.00 MB] inherit

4.2: Lvcreate命令

用于创建LVM的逻辑卷

lvcreate命令 用于创建LVM的逻辑卷。逻辑卷是创建在卷组之上的。逻辑卷对应的设备文件保存在卷组目录下,例如:在卷组”vg1000″上创建一个逻辑卷”lvol0″,则此逻辑卷对应的设备文件为”/dev/vg1000/lvol0″。

语法

lvcreate(选项)(参数)

选项

-L:指定逻辑卷的大小,单位为“kKmMgGtT”字节;
-l:指定逻辑卷的大小(LE数)。

参数

逻辑卷:指定要创建的逻辑卷名称。

实例

使用lvcreate命令在卷组”vg1000″上创建一个200MB的逻辑卷。在命令行中输入下面的命令:

[root@localhost ~]# lvcreate -L 200M vg1000    #创建大小为200M的逻辑卷

输出信息如下:

Logical volume "lvol0" created

4.3: Lvdispaly命令

扩展逻辑卷空间

lvextend命令 用于在线扩展逻辑卷的空间大小,而不中断应用程序对逻辑卷的访问。使用lvextend命令动态在线扩展磁盘空间,整个空间扩展过程对于应用程序来说是完全透明的。

语法

lvextend(选项)(参数)

选项

-L:指定逻辑卷的大小,单位为“kKmMgGtT”字节;
-l:指定逻辑卷的大小(LE数)。

参数

逻辑卷:指定要扩展空间的逻辑卷。

使用lvextend命令为逻辑卷/dev/vg1000/lvol0增加100M空间。在命令行中输入下面的命令:

[root@localhost ~]# lvextend -L +100M /dev/vg1000/lvol0    #为了解决增加100M空间

输出信息如下:

Extending logical volume lvol0 to 300.00 MB  
Logical volume lvol0 successfully resized

4.4: Lvremove命令

删除指定LVM逻辑卷

补充说明

lvremove命令 用于删除指定LVM逻辑卷。如果逻辑卷已经使用mount命令加载,则不能使用lvremove命令删除。必须使用umount命令卸载后,逻辑卷方可被删除。

语法

lvremove(选项)(参数)

选项

-f:强制删除。

参数

逻辑卷:指定要删除的逻辑卷。

实例

使用lvremove命令删除指定的逻辑卷。在命令行中输入下面的命令:

[root@localhost ~]# lvremove /dev/vg1000/lvol0    #删除逻辑卷"lvol0"

输出信息如下:

Do you really want to remove active logical 
volume "lvol0"? [y/n]: y    #确认删除
  Logical volume "lvol0" successfully removed

五:LVM推荐步骤

Linux--管理LVM的逻辑卷--原理+命令实操(LVM扩容+磁盘配额)_第4张图片

实验:

首先添加磁盘

Linux--管理LVM的逻辑卷--原理+命令实操(LVM扩容+磁盘配额)_第5张图片

[root@localhost ~]# fdisk -l ##列出磁盘列表

磁盘 /dev/sdd:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

磁盘 /dev/sdc:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

磁盘 /dev/sda:322.1 GB, 322122547200 字节,629145600 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000a0b1b

设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 629145599 313523200 8e Linux LVM

磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

磁盘 /dev/sde:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

磁盘 /dev/mapper/centos-root:57.9 GB, 57852035072 字节,112992256 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

磁盘 /dev/mapper/centos-home:263.2 GB, 263192576000 字节,514048000 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

[root@localhost ~]# fdisk /dev/sdb ##给sdb磁盘新建分区
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0x61797857 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):n ##新建分区
Partition type:
p primary (0 primary, 0 extended, 4 free) ##p是主分区 e是逻辑分区
e extended
Select (default p): p ##这边默认是主分区
分区号 (1-4,默认 1): ##默认第一分区
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):
将使用默认值 41943039
分区 1 已设置为 Linux 类型,大小设为 20 GiB

命令(输入 m 获取帮助):t ##更改分区
已选择分区 1
Hex 代码(输入 L 列出所有代码):8e ##分区ID改为8e,是LVM格式
已将分区“Linux”的类型更改为“Linux LVM”

命令(输入 m 获取帮助):p ##列出磁盘的分区情况

磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x61797857

设备 Boot Start End Blocks Id System
/dev/sdb1 2048 41943039 20970496 8e Linux LVM

命令(输入 m 获取帮助):w ##保存退出
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。

[root@localhost ~]# fdisk /dev/sdc ##给sdc进行磁盘分区
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0xb56c7977 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
分区号 (1-4,默认 1):
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):
将使用默认值 41943039
分区 1 已设置为 Linux 类型,大小设为 20 GiB

命令(输入 m 获取帮助):t
已选择分区 1
Hex 代码(输入 L 列出所有代码):8e
已将分区“Linux”的类型更改为“Linux LVM”

命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。

下一步创建物理卷

[root@localhost ~]# pvcreate /dev/sd[b-c]1
  Physical volume "/dev/sdb1" successfully created.
  Physical volume "/dev/sdc1" successfully created.
[root@localhost ~]# pvscan           ##扫描物理卷
  PV /dev/sda2   VG centos          lvm2 [<299.00 GiB / 0    free]
  PV /dev/sdc1                      lvm2 [<20.00 GiB]
  PV /dev/sdb1                      lvm2 [<20.00 GiB]
  Total: 3 [338.99 GiB] / in use: 1 [<299.00 GiB] / in no VG: 2 [<40.00 GiB]

下一步进行创建卷组

[root@localhost ~]# vgcreate tom /dev/sd[b-c]1    ##创建tom卷组
  Volume group "tom" successfully created         
[root@localhost ~]# vgdisplay                     ##显示卷组的详细信息
  --- Volume group ---
  VG Name               tom                     
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  3
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               <299.00 GiB
  PE Size               4.00 MiB
  Total PE              76543
  Alloc PE / Size       76543 / <299.00 GiB
  Free  PE / Size       0 / 0   
  VG UUID               SyIZHz-XeVR-k9wm-9zPc-n1Ff-rZAs-bBvdHh
   
  --- Volume group ---
  VG Name               tom
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  1
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               39.99 GiB
  PE Size               4.00 MiB
  Total PE              10238
  Alloc PE / Size       0 / 0   
  Free  PE / Size       10238 / 39.99 GiB
  VG UUID               HOggVx-VR4K-bVMe-M9wA-H3Fq-ox7j-QnPLq2

下一步进行创建逻辑卷

[root@localhost ~]# lvcreate -L 20G -n tomshuai tom   
  Logical volume "tomshuai" created.
[root@localhost ~]# cd /dev/tom       ##进入tom目录
[root@localhost tom]# ls              ##列表查看
tomshuai

[root@localhost tom]# ll
总用量 0
lrwxrwxrwx. 1 root root 7 7月   1 00:02 tomshuai -> ../dm-2
[root@localhost tom]# mkfs.xfs /dev/tom/tomshuai 或者mkfs.xfs /dev/dm -2
meta-data=/dev/tom/tomshuai      isize=512    agcount=4, agsize=1310720 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=5242880, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

[root@localhost tom]# mkdir /abc1    ##创建目录abc1
[root@localhost tom]# mount /dev/tom/tomshuai /abc1      ##挂载到abc1
[root@localhost tom]# df -h                              ##查看挂载
文件系统                  容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root    54G  4.2G   50G    8% /
devtmpfs                  1.9G     0  1.9G    0% /dev
tmpfs                     1.9G     0  1.9G    0% /dev/shm
tmpfs                     1.9G   13M  1.9G    1% /run
tmpfs                     1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/sda1                1014M  179M  836M   18% /boot
/dev/mapper/centos-home   245G   33M  245G    1% /home
tmpfs                     378M  4.0K  378M    1% /run/user/42
tmpfs                     378M   24K  378M    1% /run/user/0
/dev/mapper/tom-tomshuai   20G   33M   20G    1% /abc1

进行Lvm扩容

[root@localhost ~]# fdisk -l    ##查看磁盘列表

磁盘 /dev/sdc:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节


磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节


磁盘 /dev/sda:322.1 GB, 322122547200 字节,629145600 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000a0b1b

   设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200   629145599   313523200   8e  Linux LVM

磁盘 /dev/mapper/centos-root:57.9 GB, 57852035072 字节,112992256 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节


磁盘 /dev/mapper/centos-home:263.2 GB, 263192576000 字节,514048000 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

[root@localhost ~]# fdisk /dev/sdb     ##进行sdb磁盘分区
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0x54ffa9e1 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):n              ##创建分区
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p         ##默认主分区
分区号 (1-4,默认 1):
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):
将使用默认值 41943039
分区 1 已设置为 Linux 类型,大小设为 20 GiB

命令(输入 m 获取帮助):t          ##更改分区
已选择分区 1
Hex 代码(输入 L 列出所有代码):8e         
已将分区“Linux”的类型更改为“Linux LVM”

命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@localhost ~]# fdisk /dev/sdc     ##进行sdc分区
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0xa8b34303 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
分区号 (1-4,默认 1):
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):
将使用默认值 41943039
分区 1 已设置为 Linux 类型,大小设为 20 GiB

命令(输入 m 获取帮助):t
已选择分区 1
Hex 代码(输入 L 列出所有代码):8e
已将分区“Linux”的类型更改为“Linux LVM”

命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@localhost ~]# pvcreate /dev/sd[b-c]1     ##将分区转换物理卷
  Physical volume "/dev/sdb1" successfully created.
  Physical volume "/dev/sdc1" successfully created.
[root@localhost ~]# vgcreate shuai /dev/sd[b-c]1    ##将dev/sdb1 dev/sdc1创建名为shuai的卷组
  Volume group "shuai" successfully created
[root@localhost ~]# lvcreate -L 15G -n shuaige shuai  ##在shuai卷组新建一个新的逻辑卷 容量是15G 名称为hsuaige
  Logical volume "shuaige" created.
[root@localhost ~]# lvdisplay   ##显示逻辑卷信息
  --- Logical volume ---
  LV Path                /dev/shuai/shuaige
  LV Name                shuaige
  VG Name                shuai
  LV UUID                CEyyqH-yJVy-ILVI-Ebf9-ff2P-289L-x0XdR2
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2020-07-01 14:57:34 +0800
  LV Status              available
  # open                 0
  LV Size                15.00 GiB
  Current LE             3840
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:2
进行格式化
[root@localhost ~]# mkfs.xfs /dev/shuai/shuaige
meta-data=/dev/shuai/shuaige     isize=512    agcount=4, agsize=983040 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=3932160, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
进行挂载
[root@localhost ~]# vim /etc/fstab

#
# /etc/fstab
# Created by anaconda on Wed Jun 17 23:11:20 2020
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root /                       xfs     defaults        0 0
UUID=d660d2ef-3140-4cb0-a5d6-0063f55828dc /boot                   xfs     defaults        0 0/dev/mapper/centos-home /home                   xfs     defaults        0 0
/dev/shuai/shuaige      /opt/shuai       xfs     defaults        0 0     

mark

[root@localhost ~]# mkdir /opt/shuai    ##创建挂载目录
[root@localhost ~]# ls /opt
rh  shuai
[root@localhost ~]# mount -a    ##自动挂载
[root@localhost ~]# df -h     ##查看挂载
文件系统                   容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root     54G  4.1G   50G    8% /
devtmpfs                   1.9G     0  1.9G    0% /dev
tmpfs                      1.9G     0  1.9G    0% /dev/shm
tmpfs                      1.9G   13M  1.9G    1% /run
tmpfs                      1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/sda1                 1014M  179M  836M   18% /boot
/dev/mapper/centos-home    245G   33M  245G    1% /home
tmpfs                      378M   12K  378M    1% /run/user/42
tmpfs                      378M     0  378M    0% /run/user/0
/dev/mapper/shuai-shuaige   15G   33M   15G    1% /opt/shuai1
进行扩容
[root@localhost ~]# lvextend -L +10G /dev/shuai/shuaige  为shuaige逻辑卷增加10G大小的磁盘的空间大小
  Size of logical volume shuai/shuaige changed from 15.00 GiB (3840 extents) to 25.00 GiB (6400 extents).
  Logical volume shuai/shuaige successfully resized.
[root@localhost ~]# df -h     ##查看挂载
文件系统                   容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root     54G  4.1G   50G    8% /
devtmpfs                   1.9G     0  1.9G    0% /dev
tmpfs                      1.9G     0  1.9G    0% /dev/shm
tmpfs                      1.9G   13M  1.9G    1% /run
tmpfs                      1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/sda1                 1014M  179M  836M   18% /boot
/dev/mapper/centos-home    245G   33M  245G    1% /home
tmpfs                      378M   12K  378M    1% /run/user/42
tmpfs                      378M     0  378M    0% /run/user/0
/dev/mapper/shuai-shuaige   15G   33M   15G    1% /opt/shuai1
[root@localhost ~]# xfs_growfs /dev/shuai/shuaige
meta-data=/dev/mapper/shuai-shuaige isize=512    agcount=4, agsize=983040 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=3932160, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 3932160 to 6553600
[root@localhost ~]# df -h
文件系统                   容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root     54G  4.1G   50G    8% /
devtmpfs                   1.9G     0  1.9G    0% /dev
tmpfs                      1.9G     0  1.9G    0% /dev/shm
tmpfs                      1.9G   13M  1.9G    1% /run
tmpfs                      1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/sda1                 1014M  179M  836M   18% /boot
/dev/mapper/centos-home    245G   33M  245G    1% /home
tmpfs                      378M   12K  378M    1% /run/user/42
tmpfs                      378M     0  378M    0% /run/user/0
/dev/mapper/shuai-shuaige   25G   33M   25G    1% /opt/shuai1

注意:在使用pvcreate, vgcreate Ivextend等命令拓展分区的时候,发现出现了找不到逻辑块的问题,最后问题是现在的文件格式是xfs, resize2fs命令 是读取不了
的,故而查找到了需要使用xfs_ growfs

磁盘配额

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。
磁盘配额可以限制指定账户能够使用的磁盘空间,这样可以避免因某个用户的过度使用磁盘空间造成其他用户无法正常工作甚至影响系统运行。在服务器管理中此功能非常重要,但对单机用户来说意义不大。

实现磁盘限额的条件

  • 需要Linux内核支持
  • 安装xfsprogs与quota软件包 (CentOS 6.0需要额外安装quota软件包,CentOS 7.0中,quota包含在xfsprogs内,不需要额外安装)

Linux磁盘限额的特点

  • 作用范围:针对指定的文件系统(分区)

  • 限制对象:用户账号,组账号

  • 限制类型:磁盘容量,文件数量

  • 限制方法:软限制,硬限制

  • 软限制:可以超出限制,但是有时限期,如时限7天,超出时间就将多余的删除

    软限制 小于等于 硬限制

    磁盘配额步骤

    序号 步骤
    1 以支持配额功能的方式挂载文件系统
    2 编辑用户和组账号的配额设置
    3 验证磁盘配额功能
    4 查看磁盘配额使用情况

配置配额功能挂载文件系统的时效有临时生效和永久生效

临时生效就是用mount -o 命令(临时设置,关机后会失效),永久需要配置相关配置文件(大部分)

备注:大部分的命令设置都是临时生效,重启失效;配置文件设置是永久生效,随着开机自动启动挂载

启用磁盘盘配额

  • 添加usrquota,grpquota挂载参数
  • 临时设置需要加上 -o 参数

磁盘配额管理

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

  • 使用xfs_quota命令编辑配额设置
基本格式
xfs_quota -x -c'limit -u bsoft =N bhard=N isoft=N ihard=N 用户名'挂载点

常用选项
-u		//user
-g		//group
-x		//专家模式
-c		//命令(command)

限制字段
bsoft		//容量软限制
bhard		//容量硬限制		(block 块)
isoft		//数量软限制
ihard		//数量硬限制		(inode 节点)

验证磁盘配额功能

使用受配额限制的用户账号登录 Linux 操作系统,并切换到应用了配额的文件系统中, 进行复制文件等写入操作,测试所设置的磁盘配额项是否有效。

在测试过程中,为了快速看到效果,可以使用 dd 转换工具。dd 命令是一个设备转换和复制命令,分别使用“if=”选项指定输入设备(或文件)、“of=”选项指定输出设备(或文件)、“bs=”选项指定读取数据块的大小、“count=”指定读取数据块的数量

查看配额使用情况

xfs_quota -x -c ‘report 选项 ’ 挂载点

report常用选项

选项	解释
-a	查看该挂载点的所有配额使用情况
-i	查看该挂载点的文件数量的配额使用情况
-b	查看该挂载点的磁盘容量的配额使用情况
-u	查看该挂载点的用户的配额使用情况
-g	查看该挂载点的组账号的配额使用情况

实验:

添加3块磁盘

Linux--管理LVM的逻辑卷--原理+命令实操(LVM扩容+磁盘配额)_第6张图片

重启查看磁盘情况

[root@localhost ~]# fdisk -l             ##列出磁盘列表

磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节


磁盘 /dev/sda:322.1 GB, 322122547200 字节,629145600 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000a0b1b

   设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200   629145599   313523200   8e  Linux LVM

磁盘 /dev/sdc:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节


磁盘 /dev/sdd:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

新建分区

[root@localhost ~]# fdisk /dev/sdb              ##给sdb进行分区
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0x77319150 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):n                       ##新建分区
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p                      ##p主分区
分区号 (1-4,默认 1):1
起始 扇区 (2048-41943039,默认为 2048):      ##这边默认回车
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):
将使用默认值 41943039
分区 1 已设置为 Linux 类型,大小设为 20 GiB
命令(输入 m 获取帮助):t                       ##更改分区
已选择分区 1
Hex 代码(输入 L 列出所有代码):8e              ##改为8e
已将分区“Linux”的类型更改为“Linux LVM”

命令(输入 m 获取帮助):w                      ##保存
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。


[root@localhost ~]# fdisk /dev/sdc
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0x9c111a03 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
分区号 (1-4,默认 1):1
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):
将使用默认值 41943039
分区 1 已设置为 Linux 类型,大小设为 20 GiB

命令(输入 m 获取帮助):t
已选择分区 1
Hex 代码(输入 L 列出所有代码):8e
已将分区“Linux”的类型更改为“Linux LVM”

命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@localhost ~]# fdisk /dev/sdd
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0x04bccce5 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
分区号 (1-4,默认 1):1
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):
将使用默认值 41943039
分区 1 已设置为 Linux 类型,大小设为 20 GiB

命令(输入 m 获取帮助):t
已选择分区 1
Hex 代码(输入 L 列出所有代码):8e
已将分区“Linux”的类型更改为“Linux LVM”

命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。

下一步进行创建物理卷

[root@localhost ~]# pvcreate /dev/sd[b-d]1
  Physical volume "/dev/sdb1" successfully created.
  Physical volume "/dev/sdc1" successfully created.
  Physical volume "/dev/sdd1" successfully created.

创建卷组,卷组名为tom

[root@localhost ~]# vgcreate tom /dev/sd[b-d]1
  Volume group "tom" successfully created

从卷组中分-L 40G 创建LVM逻辑卷 名字-n 为tom2

[root@localhost ~]# lvcreate -L 40G -n tom2 tom
  Logical volume "tom2" created.
[root@localhost ~]# cd /dev/tom
[root@localhost tom]# ll
总用量 0
lrwxrwxrwx. 1 root root 7 7月   5 23:03 tom2 -> ../dm-2
[root@localhost tom]# mkfs.xfs /dev/tom/tom2              ##进行格式化
meta-data=/dev/tom/tom2          isize=512    agcount=4, agsize=2621440 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=10485760, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=5120, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

创建挂载点,设置自动挂载

[root@localhost mnt]# mkdir shuai
[root@localhost mnt]# vim /etc/fstab

Linux--管理LVM的逻辑卷--原理+命令实操(LVM扩容+磁盘配额)_第7张图片

:wq保存退出

[root@localhost mnt]# mount -a              ##启动挂载
[root@localhost mnt]# df -Th                ##查看已挂载
文件系统                类型      容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root xfs        54G  4.1G   50G    8% /
devtmpfs                devtmpfs  1.9G     0  1.9G    0% /dev
tmpfs                   tmpfs     1.9G     0  1.9G    0% /dev/shm
tmpfs                   tmpfs     1.9G   13M  1.9G    1% /run
tmpfs                   tmpfs     1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/sda1               xfs      1014M  179M  836M   18% /boot
/dev/mapper/centos-home xfs       245G   33M  245G    1% /home
tmpfs                   tmpfs     378M  4.0K  378M    1% /run/user/42
tmpfs                   tmpfs     378M   24K  378M    1% /run/user/0
/dev/sr0                iso9660   4.3G  4.3G     0  100% /run/media/root/CentOS 7 x86_64
/dev/mapper/tom-tom2    xfs        40G   33M   40G    1% /mnt/shuai   ##挂载成功

磁盘配额权限需要先查看自己的系统有没有xfsprogs软件,没有的需要安装

[root@localhost dev]# rpm -q xfsprogs
xfsprogs-4.5.0-18.el7.x86_64
[root@localhost dev]# rpm -ql xfsprogs | grep quota     ##查看是否开启quota
/usr/sbin/xfs_quota
/usr/share/man/man8/xfs_quota.8.gz
将刚刚挂载的解除,我们开始启动磁盘配额支持
[root@localhost dev]# umount /mnt/shuai 
[root@localhost dev]# vim /etc/fstab

Linux--管理LVM的逻辑卷--原理+命令实操(LVM扩容+磁盘配额)_第8张图片

:wq保存退出

[root@localhost ~]# umount /mnt/shuai      ##取消挂载
[root@localhost ~]# mount -a               ##重新挂载
[root@localhost ~]# mount
/dev/mapper/tom-tom2 on /mnt/shuai type xfs (rw,relatime,seclabel,attr2,inode64,usrquota,grpquota)
##显示可以配置组账号的磁盘配额
编辑合查看用户和组的配额设置
列如:设置tom用户 软容量为50M 硬容量为100M 软数量4 硬数量6
[root@localhost ~]# xfs_quota -x -c 'limit -u bsoft=50M bhard=80M isoft=4 ihard=6 tom' /mnt/shuai
[root@localhost ~]# xfs_quota -c 'quota -uv tom' /mnt/shuai     ##查看用户tom限制容量
Disk quotas for User tom (1001)
Filesystem              Blocks      Quota      Limit  Warn/Time      Mounted on
/dev/mapper/tom-tom2          0      51200      81920   00 [--------] /mnt/shuai
查看tom用户用户数量限制信息
[root@localhost ~]# xfs_quota -c 'quota -iuv tom' /mnt/shuai
Disk quotas for User tom (1001)
Filesystem               Files      Quota      Limit  Warn/Time      Mounted on
/dev/mapper/tom-tom2          0          4          6   00 [--------] /mnt/shuai
查看tom用户容量和数量一起查看
[root@localhost ~]# xfs_quota -c 'quota -biuv tom' /mnt/shuai
Disk quotas for User tom (1001)
Filesystem              Blocks      Quota      Limit  Warn/Time            Files      Quota      Limit  Warn/Time      Mounted on
/dev/mapper/tom-tom2          0      51200      81920   00 [--------]           0          4          6   00 [--------] /mnt/shuai
查看所有用户配额
[root@localhost ~]# xfs_quota -x -c 'report -a' /mnt/shuai
User quota on /mnt/shuai (/dev/mapper/tom-tom2)
                               Blocks                     
User ID          Used       Soft       Hard    Warn/Grace     
---------- -------------------------------------------------- 
root                0          0          0     00 [--------]
tom                 0      51200      81920     00 [--------]

Group quota on /mnt/shuai (/dev/mapper/tom-tom2)
                               Blocks                     
Group ID         Used       Soft       Hard    Warn/Grace     
---------- -------------------------------------------------- 
root                0          0          0     00 [--------]
验证磁盘配额功能 
[root@localhost ~]# su - tom                            ##切换到tom用户
上一次登录:一 7月  6 08:52:06 CST 2020pts/0 上
[tom@localhost ~]$ df -Th                               ##查看挂载
文件系统                类型      容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root xfs        54G  4.1G   50G    8% /
devtmpfs                devtmpfs  1.9G     0  1.9G    0% /dev
tmpfs                   tmpfs     1.9G     0  1.9G    0% /dev/shm
tmpfs                   tmpfs     1.9G   13M  1.9G    1% /run
tmpfs                   tmpfs     1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/sda1               xfs      1014M  179M  836M   18% /boot
/dev/mapper/centos-home xfs       245G   33M  245G    1% /home
tmpfs                   tmpfs     378M  4.0K  378M    1% /run/user/42
tmpfs                   tmpfs     378M   32K  378M    1% /run/user/0
/dev/mapper/tom-tom2    xfs        40G   33M   40G    1% /mnt/shuai
[tom@localhost ~]$ cd /mnt/shuai                       ##切换到挂载目录
[tom@localhost shuai]$ touch hua{1..3}.txt
touch: 无法创建"hua1.txt": 权限不够
touch: 无法创建"hua2.txt": 权限不够
touch: 无法创建"hua3.txt": 权限不够
[tom@localhost shuai]$ cd ~
[tom@localhost ~]$ ll
总用量 0
[root@localhost ~]# chmod 777 /mnt/shuai         ##给挂载点设置最高权限
[root@localhost /]# cd /mnt
[root@localhost mnt]# ll
总用量 0
drwxrwxrwx. 2 root root 6 7月   5 23:06 shuai
[root@localhost mnt]# su - tom                  ##切换到tom用户
上一次登录:一 7月  6 08:52:36 CST 2020pts/0 上
[tom@localhost ~]$ cd /mnt/shuai                ##进入挂载目录
[tom@localhost shuai]$ touch hua{1..6}.txt      ##再次创建文件
[tom@localhost shuai]$ ls                       ##查看列表  可以看出创建成功
hua1.txt  hua2.txt  hua3.txt  hua4.txt hua5.txt  hua6.txt
[tom@localhost shuai]$ touch hua7.txt          ##可以看出已经超过设定的
touch: 无法创建"hua7.txt": 超出磁盘限额
[tom@localhost shuai]$ xfs_quota -c 'quota -iuv tom' /mnt/shuai   ##查看限制信息
Disk quotas for User tom (1001)
Filesystem               Files      Quota      Limit  Warn/Time      Mounted on
/dev/mapper/tom-tom2          6          4          6   00  [6 days] /mnt/shuai     ##发现文件数量已达到硬限制

测试了文件数量的权限,接下来测试磁盘容量的权限

[tom@localhost shuai]$ dd if=/dev/zero of=/mnt/shuai/hua1.txt bs=1M count=80
记录了80+0 的读入         源路径     目标路径                 一次性读写的大小    循环次数
记录了80+0 的写出
83886080字节(84 MB)已复制,0.055757 秒,1.5 GB/秒
[tom@localhost shuai]$ dd if=/dev/zero of=/mnt/shuai/hua2.txt bs=1M count=80
dd: 打开"/mnt/shuai/hua2.txt" 失败: 超出磁盘限额
[tom@localhost shuai]$ xfs_quota -c 'quota -uv tom' /mnt/shuai      ##再次查看
Disk quotas for User tom (1001)
Filesystem              Blocks      Quota      Limit  Warn/Time      Mounted on
/dev/mapper/tom-tom2      81920      51200      81920   00  [6 days] /mnt/shuai
[tom@localhost shuai]$ ll               ##已占满
总用量 81920
-rw-rw-r--. 1 tom tom 83886080 7月   6 09:21 hua1.txt

上一次登录:一 7月  6 08:52:36 CST 2020pts/0 上
[tom@localhost ~]$ cd /mnt/shuai                ##进入挂载目录
[tom@localhost shuai]$ touch hua{1..6}.txt      ##再次创建文件
[tom@localhost shuai]$ ls                       ##查看列表  可以看出创建成功
hua1.txt  hua2.txt  hua3.txt  hua4.txt hua5.txt  hua6.txt
[tom@localhost shuai]$ touch hua7.txt          ##可以看出已经超过设定的
touch: 无法创建"hua7.txt": 超出磁盘限额
[tom@localhost shuai]$ xfs_quota -c 'quota -iuv tom' /mnt/shuai   ##查看限制信息
Disk quotas for User tom (1001)
Filesystem               Files      Quota      Limit  Warn/Time      Mounted on
/dev/mapper/tom-tom2          6          4          6   00  [6 days] /mnt/shuai     ##发现文件数量已达到硬限制

测试了文件数量的权限,接下来测试磁盘容量的权限

[tom@localhost shuai]$ dd if=/dev/zero of=/mnt/shuai/hua1.txt bs=1M count=80
记录了80+0 的读入 源路径 目标路径 一次性读写的大小 循环次数
记录了80+0 的写出
83886080字节(84 MB)已复制,0.055757 秒,1.5 GB/秒
[tom@localhost shuai]$ dd if=/dev/zero of=/mnt/shuai/hua2.txt bs=1M count=80
dd: 打开"/mnt/shuai/hua2.txt" 失败: 超出磁盘限额
[tom@localhost shuai]$ xfs_quota -c ‘quota -uv tom’ /mnt/shuai ##再次查看
Disk quotas for User tom (1001)
Filesystem Blocks Quota Limit Warn/Time Mounted on
/dev/mapper/tom-tom2 81920 51200 81920 00 [6 days] /mnt/shuai
[tom@localhost shuai]$ ll ##已占满
总用量 81920
-rw-rw-r–. 1 tom tom 83886080 7月 6 09:21 hua1.txt

你可能感兴趣的:(linux)