Linux----LVM逻辑卷和磁盘配额

文章目录

  • 一、LVM逻辑卷管理
    • 1.1:LVM逻辑卷概述
      • 1.1.1:PV(Physical Volume,物理卷)
      • 1.1.2:VG(Volume Group,卷组)
      • 1.1.3:LV(Logical Volume,逻辑卷)
    • 1.2:LVM管理命令
      • 1.2.1:fdisk命令
      • 1.2.2:物理卷管理
      • 1.2.3:卷组管理
      • 1.2.4:逻辑卷管理
    • 1.3:LVM步骤
  • 二、磁盘配额管理
    • 2.1:磁盘配额概述
      • 2.1.1:磁盘配额的作用范围
      • 2.1.2:磁盘配额的限制对象
      • 2.1.3:磁盘配额的限制类型
      • 2.1.4:磁盘配额的限制方法
    • 2.2:磁盘配额管理
      • 2.2.1:以支持配额功能的方式挂载文件系统
      • 2.2.2:编辑用户和组账号的配额设置
      • 2.2.3:验证磁盘配额功能
      • 2.2.4:查看配额使用情况
    • 2.3:磁盘配置实验

一、LVM逻辑卷管理

1.1:LVM逻辑卷概述

  • LVM 是 Linux 操作系统中对磁盘分区进行管理的一种逻辑机制,它是建立在硬盘和分区之上、文件系统之下的一个逻辑层,在建立文件系统时屏蔽了下层的磁盘分区布局,因此能够在保持现有数据不变的情况下动态调整磁盘容量,从而增强磁盘管理的灵活性。

1.1.1:PV(Physical Volume,物理卷)

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

1.1.2:VG(Volume Group,卷组)

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

1.1.3:LV(Logical Volume,逻辑卷)

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

Linux----LVM逻辑卷和磁盘配额_第1张图片

1.2:LVM管理命令

1.2.1:fdisk命令

fdisk 工具在磁盘设备“/dev/sdb”中划分出三个主分区sdb1、sdb2、sdb3,每个磁盘的空间大小为 20GB,将分区类型的 ID 标记号改为“8e”。磁盘类型的 ID 为“8e”,表示该分区是 Linux LVM 类型的,支持 LVM 机制。

1.2.2:物理卷管理

  • pvcreate 命令
    用于将分区或整个硬盘转换成物理卷
例如:pvcreate /dev/sdb1 /dev/sdb2  把分区/dev/sdb1、/dev/sdb2转换成物理卷
  • pvscan 命令
    扫描系统中所有的物理卷,并输出相关信息
例如:pvscan
  PV /dev/sda2	VG cl   	lvm2 [99.00 GiB / 4.00 MiB free]
  Total: 1 [99.00 GiB] / in use: 1 [99.00 GiB] / in no VG: 0 [0	]
  • pvdisplay 命令
    显示物理卷的详细信息
例如:pvdisplay /dev/sdb3     查看物理卷/dev/sdb3 的详细信息
  • pvremove 命令
    将物理卷还原成普通分区或磁盘
例如:pvremove /dev/sdb3  将物理卷/dev/sdb3 从 LVM 体系中移除

1.2.3:卷组管理

  • vgcreate 命令
    用于将一个或多个物理卷创建为一个卷组
    第一个命令参数用于设置新卷组的名称,其后依次指定需要加入该卷组的物理卷作为参数
例如:vgcreate vg1 /dev/sdb1 /dev/sdb2  使用物理卷/dev/sdb1 和/dev/sdb2 创建名为vg1的卷组
  • vgscan 命令
    扫描系统中已建立的 LVM 卷组及相关信息
 vgscan
  • vgdisplay 命令
    用于显示系统中各卷组的详细信息,需要使用指定卷组名作为命令参数(未指定卷组时将显示所有卷组的信息)
vgdisplay vg1
  • vgremove 命令
    删除指定的卷组,将指定卷组名称作为参数
vgremove web_document
  • vgextend 命令
    扩展卷组的磁盘空间
vgcreate vg1 /dev/sdb1 

1.2.4:逻辑卷管理

  • lvcreate 命令
    从指定的卷组中分割空间,以创建新的逻辑卷
    需要指定逻辑卷大小、名称及所在的卷组名作为参数
    lvcreate –L 容量大小 -n 逻辑卷名 卷组名
例如: lvcreate -L 10G -n lv1 vg1  建立一个新的逻辑卷,容量为 10GB,名lv1

称设为
  • lvscan 命令
    扫描系统中已建立的逻辑卷及相关信息
 lvscan
  • lvdisplay 命令
    显示逻辑卷的详细信息
lvdisplay /dev/vg1/lv1
  • lvremove 命令
    删除指定的逻辑卷
lvremove /dev/vg1/lv1
  • lvextend 命令
    动态扩展逻辑卷的空间
lvextend -L +大小 /dev/卷组名/逻辑卷名

Linux----LVM逻辑卷和磁盘配额_第2张图片

1.3:LVM步骤

1、多块物理硬盘变成物理卷
2、加入卷组
3、在卷组中,调用空间制作逻辑卷-----/dev/vg1/lv1 2G
4、格式化-----mkfs -t ext4 /dev/vg1/lv1 2G
5、挂载-----mount /dev/vg1/lv1 /mnt/disk8

二、磁盘配额管理

2.1:磁盘配额概述

当 Linux 根分区的磁盘空间耗尽时,Linux 操作系统将无法再建立新的文件(包括程序运行的临时文件),从而出现服务程序崩溃、系统无法启动等故障。为了避免在服务器中出现类似磁盘空间不足的问题,可以启用磁盘配额功能,对用户在指定文件系统(分区)中使用的磁盘空间、文件数量进行限制,以防止个别用户恶意或无意间占用大量磁盘空间,从而保持系统存储空间的稳定性和持续可用性。
在 CentOS 系统中,内核已经定制了支持 Linux 文件系统的磁盘配额功能,并且在系统中配置和管理磁盘配额的工具由 xfsgrogs 软件包的 xfs_quota 配额管理程序提供。

2.1.1:磁盘配额的作用范围

xfs_quota 设置的磁盘配额功能,只在指定的文件系统(分区)内有效,用户使用其他未设置配额的文件系统时,将不会受到限制。

2.1.2:磁盘配额的限制对象

xfs_quota 主要针对系统中指定的用户账号、组账号进行限制,没有被设置限额的用户或组将不受影响。对组账号设置配额后,组内所有用户使用的磁盘容量、文件数量的总和不能超过限制。

2.1.3:磁盘配额的限制类型

  • 磁盘容量:限制用户能够使用的磁盘数据块(Block)大小,也就是限制磁盘空间大小,默认单位为 KB。
  • 文件数量:限制用户能够拥有的文件个数。在 Linux 操作系统中,每一个文件都有一个对应的数字标记,称为 i 结点(Inode)编号,这个编号在同一个文件系统内是唯一的,因此 xfs_quota 通过限制i 结点的数量来实现对文件数量的限制。

2.1.4:磁盘配额的限制方法

  • 软限制:指定一个软性的配额数值(如 480MB 磁盘空间、180 个文件),在固定的宽限期(默认为七天)内允许暂时超过这个限制,但系统会给出警告信息。
  • 硬限制:指定一个硬性的配额数值(如 500MB 磁盘空间、200 个文件),是绝对禁止用户超过的限制值,当达到硬限制值时,系统也会给出警告并禁止继续写入数据。硬限制的配额值应大于相应的软限制值,否则软限制将失效。

2.2:磁盘配额管理

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

在配置调试过程中,可以使用带“-o usrquota,grpquota”选项的 mount 命令挂载指定的分区,以便增加对用户、组配额功能的支持。需要注意的是,XFS 文件系统只有在首次挂载时才启动磁盘限额功能,所以不能使用“-o remount”挂载选项。对于支持配额功能的文件系统,将在 mount 信息中显示“usrquota,grpquota”。

 umount /mailbox/	          //卸载之前/mailbox 目录挂载的分区
 mount -o usrquota,grpquota /dev/mail_store/mbox /mailbox/
 mount

chmod 777 /mailbox/     	//为后续测试方便,允许任何用户写入数据

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

实现磁盘配额,使用edquota 命令结合“-u”及“-g” 选项可用于指定用户或组的配额设置。结合“limit”命令可以设置磁盘容量,以及文件数的软、硬限制数值。

xfs_quota -x -c 'limit -u bsoft=N bhard=N isoft=N ihard=N   用户名' 挂载点

选项:
-x:表示启动专家模式,在当前模式下允许对配额系统进行修改的所有管理命令可用;
-c:表示直接调用管理命令。xfs_quota 命令可以以交互方式进行。如果不加“-c”选项,那么命令执行后失败,并切入“xfs_quota>”环境下,以交互方式配置管理磁盘配额。
除“-x”“-c”选项之外,limit 命令后面还包含四个磁盘配额的限制字段,各字段的含义如下所述。
bsoft::设置磁盘容量的软限制数值。
bhard:设置磁盘容量的硬限制数值。
isoft:设置磁盘文件数的硬限制数值。
ihard:设置磁盘文件数的软限制数值。
例如,执行以下操作可以设置用户 zhangsan 的磁盘配额:磁盘容量软限制 80MB、磁盘容量硬限制 100MB、文件数软限制 40、文件数硬限制 50。

xfs_quota -x -c 'limit -u bsoft=80M bhard=100M isoft=40 ihard=50 zhangsan' /mailbox/

若仅限制磁盘容量或文件数,可以使用如下命令(0 表示无限制):

xfs_quota -x -c 'limit -u bsoft=80M bhard=100M zhangsan' /mailbox/    仅限制磁盘容量
xfs_quota -x -c 'limit -u isoft=40 ihard=50 zhangsan' /mailbox/    仅限制文件数

设置用户的磁盘配额后可使用“xfs_quota -c ‘quota -uv zhangsan’ /mailbox/“命令查看用户 zhangsan 的磁盘容量限制。结果输出后”Quota”字段对应的是软限制,“Limit”字段对应的是硬限制

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

结合”-i“选项可以查看 zhangsan 用户的磁盘文件数限制

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

2.2.3:验证磁盘配额功能

向/mailbox 目录下写入一个名为 ddtest.data 的测试文件,大小为 4MB

dd if=/dev/zero of=/mailbox/ddtest.data bs=1M count=4 

ls -lh /mailbox/ddtest.data

测试/mailbox 文件系统对用户 zhangsan 的磁盘配额是否有效需要以 zhangsan 用户登录,并切换到/mailbox 目录下,使用 dd 命令创建特定大小的文件进行测试

cd /mailbox/

dd if=/dev/zero of=myfile bs=1M count=60 

ls -lh myfile

dd if=/dev/zero of=myfile bs=1M count=90

 ls -lh myfile
 
dd if=/dev/zero of=myfile bs=1M count=120 

ls -lh myfile

2.2.4:查看配额使用情况

若需要了解在文件系统中用户或组的配额使用情况,可以使用 report 命令查看。结合“-u”和“-g”选项分别查看指定用户和组的配额使用情况;结合“-a”选项可以查看所有可用分区的配额使用报告

xfs_quota -x -c 'report -a'    查看所有可用分区的磁盘容量配额使用情况
xfs_quota -x -c 'report -abi'    同时查看磁盘容量和文件输的报告可结合“-i”与“-b”选项使用

2.3:磁盘配置实验

1、添加一块硬盘做实验挂载
2、将/dev/sdb1以支持配额的方式挂载到/mnt下做配额实验
Linux----LVM逻辑卷和磁盘配额_第3张图片
Linux----LVM逻辑卷和磁盘配额_第4张图片
3、设置限额
Linux----LVM逻辑卷和磁盘配额_第5张图片
4、验证
文件数量
Linux----LVM逻辑卷和磁盘配额_第6张图片
容量限制
Linux----LVM逻辑卷和磁盘配额_第7张图片
Linux----LVM逻辑卷和磁盘配额_第8张图片
5、查看
Linux----LVM逻辑卷和磁盘配额_第9张图片

你可能感兴趣的:(Linux----LVM逻辑卷和磁盘配额)