LVM与磁盘配额

目录

前言

一、LVM概述

PV(物理卷)

VG(卷组)

LV(逻辑卷)

 二、常用的LVM管理命令

三、创建LVM

四、扩展逻辑卷

五、磁盘配额

实现磁盘配额的条件

磁盘限额特点

磁盘配额概述

磁盘配额流程

其他配额命令

总结


前言

我们经常遇到一种困境,就是如何精确评估和分配个磁盘容量,比如A硬盘和B硬盘都剩余10G容量,这时我要放入一个大于10G的文件,如何在不添加新硬盘的情况下利用剩余容量,这就是我们要掌握的LVM。

一、LVM概述

LVM是Linux系统中对磁盘分区管理的逻辑机制,建立在硬盘分区之上更够保持现有数据不变的情况下动态调整磁盘容量,提高磁盘的灵活性。

在了解LVM之前必须要知道几个名词术语

PV(物理卷)

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

VG(卷组)

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

LV(逻辑卷)

逻辑卷建立在卷组之上,与物理卷没有直接关系,对逻辑卷来说每一个卷组就是一个整体,在这个整体中切出一块小的空间,而这个空间就是逻辑卷。

                                                         具体关系如图 

 二、常用的LVM管理命令

功能物理卷PV卷组VG逻辑卷LV
Scan扫描pvscan       vgscanlvscan
Create建立pvcreatevgcreatelvcreate
Display显示pvdisaplayvgdisplaylvdisplay
Remove移除pvremovevgremovelvremove
Extend扩展vgextendlvextend
Reducevgreducelvreduce

三、创建LVM

实验环境CentOSc7.4系统,添加两个20G的磁盘设置好分区,并将分区类型ID修改为8e

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

我们把这两个分区创建物理卷

[root@localhost ~]# pvcreate /dev/sdb1 /dev/sdc1 
                              需要创建的分区
完成后[root@localhost ~]# pvdisplay 查看
--- NEW Physical volume ---
  PV Name               /dev/sdb1
  VG Name               
  PV Size               <20.00 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               wwtSNy-24ex-Brof-5KBr-eiXE-6CcS-GBOGOx
   
  "/dev/sdc1" is a new physical volume of "<20.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdc1
  VG Name               
  PV Size               <20.00 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               PzwPUp-WAjf-XK1i-cWdO-wB5N-GsEN-egDs5n
接下来是把这两个分区合并成一个物理卷
[root@localhost ~]# vgcreate zhang /dev/sdb1 /dev/sdc1
zhang              :代表物理卷的名称
/dev/sdb1 /dev/sdc1:代表需要合并的两个分区
完成后[root@localhost ~]# vgdisplay 查看

 --- Volume group ---
  VG Name               zhang        物理卷名称
  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               lUyHcT-svfx-lalM-qNO1-LTW1-undV-d3D7a3
我们的物理卷已经创建好了
接下来就是划分逻辑卷了
[root@localhost ~]# lvcreate -L 30G -n shiyan zhang 
-L 30G     :创建逻辑卷的大小为30G
-n shiyan  :定义逻辑卷的名称
zhang      :选择从哪个物理卷划分除逻辑卷

完成root@localhost ~]# lvdisplay查看我的逻辑卷
LV Path                /dev/zhang/shiyan
  LV Name                shiyan                                       逻辑卷名称
  VG Name                zhang                                        从哪个物理卷划分的
  LV UUID                gt7PBu-e5Ql-L6h6-AHfo-zMnB-1fIe-4NLhVH
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2021-08-15 20:04:48 +0800
  LV Status              available
  # open                 0
  LV Size                30.00 GiB                                    逻辑卷容量
  Current LE             7680
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:2
接下来是定义文件系统为xfs格式
[root@localhost ~]# mkfs.xfs /dev/mapper/zhang-shiyan 
meta-data=/dev/mapper/zhang-shiyan isize=512    agcount=4, agsize=1966080 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=7864320, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=3840, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0


我们知道Linux系统中磁盘都是以挂载的方式运行,我们要将新创建的逻辑卷挂载到所需要的目录下才能使用

[root@localhost /]# mount /dev/mapper/zhang-shiyan KGC、
将我的逻辑卷挂载到KGC目录下
注意:这只是临时挂载重启就没有了,想要永久性挂载可以回看我之前的博客
 

使用df -h查看
/dev/mapper/zhang-shiyan   30G   33M   30G    1% /KGC
这个逻辑卷已经可以使用了

四、扩展逻辑卷

步骤基本和上面差不多

1 首先把要扩展的分区类型ID设置为8e
2 pvcreate [新的的分区]                       将新的分区建立物理卷
例:pvcreate /dev/sdb2
3 vgextend [需要扩展的卷组名称] [新的物理卷]    将新的物理卷扩展到卷组
例:vgextend zhang /dev/sdb2
4 lvextend -L +20G /dev/卷组名/逻辑卷名        选择扩展逻辑卷的容量和名称
例:lvextend -L +20G /dev/zhang/shiyan
5 xfs_growfs /dev/mapper/物理卷-逻辑卷      进去逻辑卷挂载目录在线刷新逻辑卷
例:xfs_growfs /dev/mapper/zhang-shiyan   
6 df -h查看扩展后的容量

五、磁盘配额

在linux系统中,由于是多用户、多任务的环境,如果有少数几个用户大量使用磁盘空间,导致其他用户的正常使用,因此需要对各个用户的磁盘空间进行管理和限定。

实现磁盘配额的条件

     安装xfsprogs 和quota软件包

磁盘限额特点

    作用范围:针对指定文件系统

    限制对象:用户账号、组账号

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

    限制方法:软限制、硬限制

磁盘配额概述

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

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

    3验证磁盘配额功能

    4查看磁盘配额使用情况

磁盘配额流程

1先检查xfsprogs与quota软件包是否安装

[root@localhost /]# rpm -q xfsprogs
xfsprogs-4.5.0-12.el7.x86_64
[root@localhost /]# rpm -q quota
quota-4.01-14.el7.x86_64

2添加支持配额功能挂载

[root@localhost ~]# vim /etc/fstab      进行编辑
/dev/mapper/zhang-shiyan      /KGC       xfs     defaults,usrquota,grpquota 0 0 


/dev/mapper/zhang-shiyan    代表挂载的物理卷和逻辑卷
 /KGC                       代表挂载的目录
xfs                         代表文件格式
defaults,usrquota,grpquota  代表配额挂载的参数 
0 0                         代表不进行验证

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

常用参数
-x:表示启动专家模式当前模式下允许配额系统进行修改管理命令
-c:表示直接调用管理员命令
-u:指定用户账号对象
-g:指定组账号对象
bsoft:设置磁盘然限制数值
bhard:设置硬盘硬限制数值
isoft:设置磁盘文件数软限制
ihard:设置磁盘文件数硬限制
打上这条命令
 xfs_quota -x -c 'limit -u bsoft=80M bhard=100M isoft=5 ihard=8 fang' /KGC/
-x,-c,-u的意思在前面图片
limit       :限制
bsoft=80M   :软限制为80M报警
bhard=100M  :硬限制为100M  无法创建超过100M的文件
isoft=5     :文件节点,值创建5个文件报警
ihard=8     :最大创建文件节点,最多智能创建8个
fang        :被限制的用户名
/KGC/       :挂载的目录

4验证磁盘配额功能

chmod 777 /KGC   将挂载的目录权限设置为最高
su -fang         登陆限制的用户
输入这条命令
[fang@localhost KGC]$ dd if=/dev/zero of=/KGC/kcg.txt bs=10M count=12
值我向KGC目录创建12个大小为10M的假文件
dd: 写入"/KGC/kcg.txt" 出错: 超出磁盘限额
记录了11+0 的读入
记录了10+0 的写出

由于我前面限制最大创建不超过8个文件,最大不超过100M容量,所以这里无法创建

5查看配额使用情况

进入root用户输入xfs_quota -x -c 'report -aibh'

 可以看配额使用情况,用户名,文件节点,配额容量大小一目了然。

其他配额命令

xfs_ quota -x -c 'limit -u bsoft=80M bhard=100M fang' /KGC/
仅限制磁盘容量
xfs_ quota -x -c 'limit -u isoft=5 ihard=10 fang' /KGC/
仅限制磁盘文件数
xfs_ quota -c 'quota -uv fang' /KGC/
查看fang用户的磁盘容量限制
xfs_ quota -c 'quota -i fang' /KGC/
查看fang用户文件数量限制

总结

生产环境中我们对磁盘的使用更加严苛,面对每天海量的日志文件和多用户的操作,需要我们更加合理的调配磁盘的使用,和对不同用户的限制。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值