LVM逻辑卷 与 磁盘配额


一、LVM 逻辑卷管理

1.1 LVM 概述

 Logical Volume Manager,逻辑卷管理 作用:

● 能够在保持现有数据不变的情况下 动态调整磁盘容量(动态增加、减少磁盘的容量),从而提高磁盘管理的灵活性;

注意 :/boot 分区用于存放引导文件,不能用于 LVM 创建;

由于 /boot 中有系统内核、启动文件目录、引导文件,所以不能基于LVM创建;

LVM 机制基本概念,由三部分组成:

PV ( Physical Volume,物理卷)

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

VG (Volume Group,卷组)

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

LV (Logical Volume,逻辑卷)

 从卷组中分割出的一块空间(基于PE进行分割),形成逻辑卷。使用 mkfs 等工具可在逻辑卷上创建文件系统。

在这里插入图片描述

LVM的管理命令:

功能物理卷管理命令卷组管理命令逻辑卷管理命令
Scan 扫描pvscanvgscanlvscan
Create 建立pvcreatevgcreatelvcreate
Display 显示pvdisplayvgdisplaylvdisplay
Remove 删除pvremovevgremovelvremove
Extend 扩展-vgextendlvextend
Reduce 减少-vgreducelvreduce

1.2 LVM 实现步骤

LVM操作主要命令步骤:

 建立:先创建 物理卷 → 再创建卷组 → 最后创建逻辑卷;

在这里插入图片描述

 删除:先删除 逻辑卷 → 再删除卷组 → 最后删除物理卷。

1、关闭主机,添加两块新硬盘,重启主机

2、先使用fdisk 工具将磁盘设备/dev/sdb、/dev/sdc划分出主分区sdb1、sdc1,并且把分区尖型的ID标记号改为"8e"

fdisk /dev/sdb
fdisk /dev/sdc

~~n p 1 回车 +5G p t  8e w~~ 

3、创建物理卷

pvcreate /dev/sdb1 /dev/sdc1   pvcreate /dev/sd[b-c]1

4、创建卷组,卷组名为vgname1

vgcreate vgname1 /dev/sdb1 /dev/sdc1

5、创建逻辑卷,逻辑卷名为lvnamel,容量为20GB,生成的文件路径为 /dev/vgname1/lvname1:

lvcreate -L 20G -n lvname1 vgname1

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

mkfs -t xfs /dev/vgname1/lvname1
mount /dev/vgname1/lvname1 /opt
df -hT

7、再扩容
vgextend vgname1 /dev/sdc2
vgdisplay vgname1

lvextend -L+10G /dev/vgname1/lvname1
lvdisplay /dev/vgname1/lvname1

xfs_growfs /dev/vgname1/lvname1    #刷新xfs文件系统容量
resize2fs /dev/vgname1/lvname1       #刷新ext4类型文件系统容量

1.3 LVM 实验

1.3.1 创建 LVM 实验

第一步:分区

 给虚拟机新增两块磁盘,每块大小10G。启动系统, fdisk -l 查看新增的两块硬盘 /dev/sdc /dev/sdd
在这里插入图片描述
 先将 /dev/sdc 磁盘分区类型设置为 Linux LVM ( 8e ),执行命令 fdisk /dev/sdc :
在这里插入图片描述
 同样的设置 /dev/sdd 磁盘分区类型设置为 Linux LVM ( 8e ),不过只先分配5G,留着5G空间后面进行 扩展LVM实验 用。执行命令 fdisk /dev/sdd :
在这里插入图片描述
 将 /dev/sdd 剩下的5G空间也设置为 Linux LVM ( 8e )。执行命令 fdisk /dev/sdd :
在这里插入图片描述
 现在有:

/dev/sdc1 10G  
/dev/sdd1 5G  
/dev/sdd2 5G,都是Linux LVM 类型

第二步:创建物理卷

创建物理卷 pvcreat,/dev/sdc1 /dev/sdd1 两个设备都创建物理卷。
在这里插入图片描述
 执行 pvscan 命令,可以看到目前有两个物理卷了。
在这里插入图片描述
第三步:创建卷组

创建一个卷组 vgcreat 卷组名 物理卷设备名,

vgcreat vgabc /dev/adc1 /dev/add1 命令等同于 vgcreat vgabc /dev/ad[cd]1 

在这里插入图片描述
第四步:创建逻辑卷

创建逻辑卷,创建逻辑卷名为 abc01,使用卷组vgabc,容量为12GB,生成的 文件路径为 /dev/vgabc/abc01

【命令格式 lvcreat -L 大小 -n 逻辑卷名 卷组名】

执行 lvcreat 时如果提示: 

【Volume group "vgabc" has insufficient free space (3838 extents): 3840 required.

意思是:卷组“vgabc”的可用空间不足(3838个扩展数据块):需要3840

说明卷组空间没有 15G。上面用命令 vgdisplay vgabc 看到了空间就 14.99G,分配少一点即可。

在这里插入图片描述
第五步:创建文件系统、挂载逻辑卷

 我们现在创建号了逻辑卷,导师不能直接使用,需要 对逻辑卷进行格式化,创建 XFS 文件系统,并挂载到 目录下,设备名格式是:/dev/vg名/lv名
在这里插入图片描述
 此时LVM逻辑卷的12G空间可以进行使用。


1.3.2 LVM 扩容实验

组卷扩容、逻辑卷扩容

 如果我12G觉得不够,想进行扩容该怎么操作呢?这时候就要用到 LVM再扩容命令vgextend 与 lvextend 。注:之前分区的 /dev/sdd2 还有5G没使用,在这里做扩展用。

第一步:创建物理卷

 首先对 /dev/sdd2 进行 创建物理卷:
在这里插入图片描述
第二步:卷组扩展

格式:vgextend 卷组名 物理卷设备名
在这里插入图片描述
第三步:逻辑卷扩展

格式:lvextend -L +大小 /dev/组卷名/逻辑卷名

 -L 换成 -l 的话,以PE的4M为单位添加的,+5G 是添加5G的大小,不加+,代表覆盖后总大小为5G。
在这里插入图片描述
第四步:刷新文件系统容量

 但是这时候执行 df -h 发现挂载的目录大小还是之前的 12G,所以我们需要刷新下 xfs 文件系统容量。刷新前:
在这里插入图片描述
 执行命令:xfs_growfs /dev/vgabc/abc01 后,发现逻辑卷的容量已经变成我们扩展后的大小了。 如果是ext4类型文件系统:则需要执行 resize2fs /dev/vgname1/lvname1 ,两个文件类型执行的命令不一样。刷新后:
在这里插入图片描述
 扩展前在LVM挂载目录中创建的文件还在。
在这里插入图片描述

二、磁盘配额

2.1 磁盘配额概述

磁盘配额:规定某个用户账号、某个组账号 只能创建一定空间限额的文件/目录大小。

为什么要设置磁盘配额?

 因为当Linux根分区的磁盘空间耗尽时,Linux操作系统将无法再建立新的文件,同时也可能会出现 服务程序崩溃、系统无法启动 等故障。

 为了避免在服务器中出现类似因 操作不当或黑客攻击等 导致的磁盘空间不足的问题,可以启用 磁盘配额功能对用户/组 在指定文件系统(分区)中使用的磁盘空间、文件数量进行限制,以防止个别用户恶意或无意间占用大量磁盘空间,从而保持系统存储空间的稳定性和持续可用性。

 在Centos系统中,不同的文件系统 使用不同的磁盘配额配置管理工具。例如,XFS文件系统通过 xfs_quota 工具 进行管理EXT3/4 文件系统通过 quota 工具 进行管理。Centos 7 使用 XFS 文件系统,Centos 6 使用 EXT4 文件系统。

实现磁盘限额的条件:

  • 需要Linux内核支持
  • 需要已安装好 xfsprogsquota 软件包

Linux磁盘限额的特点:

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

 软限制意思是创建的目录大小超过的配额,会进行提示,但是仍然可以继续创建;而硬限制是,创建的目录大小超过的配额,就会报错,不允许创建。

 可以执行 mount 命令查看磁盘限额情况,noquota 表示没有配置限额。
在这里插入图片描述

 mount 查看,如下图,需要将有些不支持磁盘配额的 noquota 改成支持配额 quota。
在这里插入图片描述

2.2 设置磁盘配额步骤

 Centos7中设置磁盘配额步骤:

第一步:检查系统是否已安装 xfsprogs 和 xfs_quota 软件包

rpm -q xfsprogs quota  #查看软件包是否已安装

在这里插入图片描述

 如果没安装执行命令进行安装:yum install -y xfsprogs quota

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

 表示支持 用户、组的配额功能。

umount /dev/vgname1/lvname1 #先将正在使用 LVM 的磁盘进行解挂载

#添加挂载参数 "usrquota, grpquota"
#用于增加对用户、组配额功能的支持,【暂时生效,重启失效】
mount -o usrquota,grpquota /dev/vgname1/lvname1 /opt

或者 进行永久设置:

vim /etc/fstab
#在启动文件fstab中添加一行配置,【重启也生效】
/dev/vgname1/lvname1 /opt xfs defaults, usrquota, grpquota 0 0

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

第三步:编辑 用户和组账号 的配额设置

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

xfs_quota 命令来查看配额信息 以及 为用户和目录分配配额,并验证配额限制是否生效。

选项与属性:

  • -x:表示启动专家模式,在当前模式下允许对配额系统进行修改的所有管理命令可用;
  • -c:表示直接调用 管理员命令,后面跟 ‘命令体’。(也可以不用-c,而去配置文件中修改) ;

对于管理员命令选项有:

  • -u:指定用户账号对象;
  • -g:指定组账号对象;
  • -v:显示详细信息。
  • bsoft:设置 磁盘容量软限制大小值(默认单位为KB);
  • bhard:设置 磁盘容量硬限制大小值(默认单位为KB);
  • isoft:设置 磁盘文件数软限制数量值
  • ihard:设置 磁盘文件数硬限制数量值
#/opt/ 是磁盘挂载目录

#仅限制磁盘容量 配置
xfs_quota -x -c 'limit -u bsoft=80M bhard=100M zhangsan' /opt/

#仅限制文件数 配置
xfs_quota -x -c 'limit -u isoft=4 ihard=5 zhangsan' /opt/

#查看zhangsan 磁盘容量限制
xfs_quota -c 'quota -uv zhangsan' /opt/  

#查看zhangsan 文件数限制
xfs_quota -c 'quota -i -uv zhangsan' /opt/

第四步:验证磁盘配额功能

chmod 777 / opt  #修改用户权限 写的权限,用来去认证
su zhangsan
cd /opt

#验证磁盘容量超限
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: "零"设备文件,可以无限的提供空字符。常用来生成一个特定大小的文件。

第五步:查看配额使用情况

#查看所有可用分区的磁盘容量配额使用情况
xfs_quota -x -c 'report -a'

#查看磁盘容量和文件数的报告
xfs_quota -x -c 'report -abih'

2.3 磁盘配额实验

 xfsprogs 和 xfs_quota 软件包 已经安装了。

2.3.1 对磁盘容量进行配额设置

加粗样式 先解挂 ,再将添加到自动挂载文件 /etc/fstab 中。
在这里插入图片描述

格式: /卷组名 /挂载目录 xfs defaults, usrquota, grpquota 0 0

在这里插入图片描述

  wq 保存并退出后,执行命令 mount -a全部挂载 fstab 中的文件,在执行命令 mount 查看,发现该设备已经设置了配额:
在这里插入图片描述

2.3.2 用户和组账号的配额设置

给 chenlei 用户设置配额限制:软限制磁盘容量80M,硬限制磁盘容量100M,文件数量8个,软限制硬限制10个。
在这里插入图片描述

2.3.3 验证配额功能

  为了能够用 chenlei 的非管理员账户操作 /lvmdata 目录,需要给设置目录的权限。

chmod 777 /lvmdata/ #赋予用户所有权限,验证用
在这里插入图片描述
  格式是 touch {1…11 }.txt 联系创建多个文件,如果多敲一个点 ,那么就会被当成一个文件去创建。

  查看配额使用情况
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值