解析Linux中LVM与磁盘配额

LVM 逻辑卷管理

LVM 概述

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

要建立 LVM 分区管理机制,首先,将普通分区或整个硬盘创建为物理卷;然后,将物理上比较分散的各物理卷的存储空间组成一个逻辑整体,即卷组;最后,基于卷组这个整体,分割出不同的数据存储空间,形成逻辑卷。逻辑卷才是最终用户可以格式化并挂载使用的存储单位。

1、PV(Physical Volume,物理卷)

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

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

2、VG(Volume Group,卷组)

由一个或多个物理卷组成一个整体,即称为卷组,在卷组中可以动态地添加或移除物理卷,许多个物理卷可以分别组成不同的卷组,卷组的名称由用户自行定义。

3、LV(Logical Volume,逻辑卷)

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

LVM的管理命令

LVM 管理命令主要包括三大类:物理卷(PV)管理卷组(VG)管理逻辑卷(LV)管理,对应的命令程序文件分别以pvvglv开头。

功能 PV管理命令 VG管理命令 LV管理命令
Scan(扫描) pvscan vgscan lvscan
Create(建立) pvcreate vgcreate lvcreate
Display(显示) pvdisplay vgdisplay lvdisplay
Remove(移除) pvremove vgremove lvremove
Extend(扩展) vgextend lvextend
Reduce(减少) vgreduce lvreduce

下面分别介绍这写命令的使用;首先,我们现在VMware虚拟机中添加三块硬盘每块硬盘20G,并重启Linux操作系统,识别新添加的硬盘;然后,把新添加的磁盘使用fdisk命令进行分区管理(因为创建的硬盘小,每个硬盘分区就只做一个分区),并将分区号修改为8eLinux LVM)。

物理卷管理

  • pvcreate命令

    用于将分区或整个硬盘转换成物理卷。

[[email protected] dev]# pvcreate /dev/sd{b..d}1     //将分区sdb1、sdc1、sdd1转化为物理卷
  Physical volume "/dev/sdb1" successfully created.
  Physical volume "/dev/sdc1" successfully created.
  Physical volume "/dev/sdd1" successfully created.
  • pvscan命令

    用于扫描系统中所有的物理卷,并输出相关信息。

[[email protected] ~]# pvscan
  PV /dev/sdd1                      lvm2 [<20.00 GiB]
  PV /dev/sdb1                      lvm2 [<20.00 GiB]
  PV /dev/sdc1                      lvm2 [<20.00 GiB]
  Total: 3 [<60.00 GiB] / in use: 0 [0   ] / in no VG: 3 [<60.00 GiB]
  • pvdisplay命令

    用于显示物理卷的详细信息,需要使用指定的物理卷作为命令参数,默认时将显示所有物理卷的信息。

[[email protected] ~]# pvdisplay /dev/sdb1
  "/dev/sdb1" is a new physical volume of "<20.00 GiB"
  --- 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               mnXUmC-NyMw-QaKv-Z6Ig-46wX-O8N1-i1gd5d
  • pvremove命令

    用于将物理卷还原成普通分区或磁盘,不再用于LVM 体系,被移除的物理卷将无法被pvscan 识别。

[[email protected] ~]# pvremove /dev/sdb1
  Labels on physical volume "/dev/sdb1" successfully wiped.
[[email protected] ~]# pvscan
  PV /dev/sdd1                      lvm2 [<20.00 GiB]
  PV /dev/sdc1                      lvm2 [<20.00 GiB]
  Total: 2 [<40.00 GiB] / in use: 0 [0   ] / in no VG: 2 [<40.00 GiB]

卷组管理

  • vgcreate命令

    用于将一个或多个物理卷创建为一个卷组,第一个命令参数用于设置新卷组的名称,其后依次指定需要加入该卷组的物理卷作为参数。

[[email protected] ~]# vgcreate siti /dev/sd{b..d}1   //将物理卷sdb1、sdc1、sdd1转创建为卷组
  Volume group "siti" successfully created
  • vgscan命令

    用于扫描系统中已建立的LVM卷组及相关信息。

[[email protected] ~]# vgscan
  Reading volume groups from cache.
  Found volume group "siti" using metadata type lvm2
  • vgdisplay命令

    用于显示系统中各卷组的详细信息,需要使用指定卷组名作为命令参数(未指定卷组时将显示所有卷组的信息)。

[[email protected] ~]# vgdisplay siti
  --- Volume group ---
  VG Name               siti
  System ID
  Format                lvm2
  Metadata Areas        3
  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                3
  Act PV                3
  VG Size               <59.99 GiB
  PE Size               4.00 MiB
  Total PE              15357
  Alloc PE / Size       0 / 0
  Free  PE / Size       15357 / <59.99 GiB
  VG UUID               30M0xz-z17t-iJE0-vSR8-cj0Y-tTXh-c2kO8E
  • vgremove命令

    令用于删除指定的卷组,将指定卷组名称作为参数即可。

[[email protected] ~]# vgremove siti
  Volume group "siti" successfully removed
[[email protected] ~]# vgscan
  Reading volume groups from cache.
  • vgextend命令

    用于扩展卷组的磁盘空间。

[[email protected] ~]# vgdisplay
  --- Volume group ---
  VG Name               siti
  System ID
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  1
  ...//...省略部分内容...
  Free  PE / Size       10238 / 39.99 GiB
  VG UUID               dhPgdF-TJmR-tT6H-u9AO-Oxn2-i2bX-PObnr3
  [[email protected] ~]# vgextend siti /dev/sdb1          //添加sdb1物理卷
  Physical volume "/dev/sdb1" successfully created.
  Volume group "siti" successfully extended
[[email protected] ~]# vgdisplay siti
  --- Volume group ---
  VG Name               siti
  System ID
  Format                lvm2
  Metadata Areas        3
  Metadata Sequence No  2
  ...//...省略部分内容...
  Alloc PE / Size       0 / 0
  Free  PE / Size       15357 / <59.99 GiB
  VG UUID               dhPgdF-TJmR-tT6H-u9AO-Oxn2-i2bX-PObnr3

逻辑卷管理

  • lvcreate命令

    用于从指定的卷组中分割空间。

    lvcreate –L 容量大小 -n 逻辑卷名 卷组名

[[email protected] ~]# lvcreate -L 15G -n si siti
  Logical volume "si" created.
  • lvscan命令

    用于扫描系统中已建立的逻辑卷及相关信息。

[[email protected] ~]# lvscan
  ACTIVE            '/dev/siti/si' [15.00 GiB] inherit
  • lvdisplay命令

    用于显示逻辑卷的详细信息,可以指定逻辑卷的设备文件作为参数,也可以使用卷组名作为参数,以显示该卷组中所有逻辑卷的信息。

[[email protected] ~]# lvdisplay /dev/siti/si
  --- Logical volume ---
  LV Path                /dev/siti/si
  LV Name                si
  VG Name                siti
  LV UUID                awrGhu-Mq8p-G7uZ-IZkE-mkv3-NezU-KflFbz
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2019-08-23 14:40:59 +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:0
  • lvextend命令

    令用于动态扩展逻辑卷的空间,当目前使用的逻辑卷空间不足时,可以从所在卷组中分割额外的空间进行扩展。前提条件是该卷组中还有尚未分配的磁盘空间,否则需要先扩展卷组容量。

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

[[email protected] ~]# lvextend -L +25G /dev/siti/si
  Size of logical volume siti/si changed from 15.00 GiB (3840 extents) to 40.00 GiB (10240 extents).
  Logical volume siti/si successfully resized.
[[email protected] ~]# lvdisplay
  --- Logical volume ---
  LV Path                /dev/siti/si
  LV Name                si
  VG Name                siti
  LV UUID                awrGhu-Mq8p-G7uZ-IZkE-mkv3-NezU-KflFbz
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2019-08-23 14:40:59 +0800
  LV Status              available
  # open                 0
  LV Size                40.00 GiB
  Current LE             10240
  Segments               3
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0
  • lvremove命令

    用于删除指定的逻辑卷,直接使用逻辑卷的设备文件作为参数即可。

[[email protected] ~]# lvremove /dev/siti/si
Do you really want to remove active logical volume siti/si? [y/n]: y
  Logical volume "si" successfully removed
[[email protected] ~]# lvdisplay
[[email protected] ~]# 
  • 将磁盘创建好lvm后我们就可以将磁盘进行创建文件系统并挂载,这样我们就可以正常应用磁盘空间了。

    1、接上面的操作,从新创建逻辑卷si、ti分别设定25G、30G,并使用lvdispaly命令查看列表。

[[email protected] ~]# lvcreate -L 25G -n si siti
  Logical volume "si" created.
[[email protected] ~]# lvcreate -L 30G -n ti siti
  Logical volume "ti" created.
[[email protected] ~]# lvdisplay
  --- Logical volume ---
  LV Path                /dev/siti/si
  LV Name                si
  VG Name                siti
  ...//省略部分内容...
  LV Size                25.00 GiB
  ...//省略部分内容...
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0

  --- Logical volume ---
  LV Path                /dev/siti/ti
  LV Name                ti
  VG Name                siti
  ...//省略部分内容...
  LV Size                30.00 GiB
  ...//省略部分内容...
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:1

? 2、创建文件系统。

[[email protected] ~]# mkfs.xfs /dev/siti/si
meta-data=/dev/siti/si           isize=512    agcount=4, agsize=1638400 blks
         =                       sectsz=512   attr=2, projid32bit=1
...//省略部分内容...
realtime =none                   extsz=4096   blocks=0, rtextents=0
[[email protected] ~]# mkfs.xfs /dev/siti/ti
meta-data=/dev/siti/ti           isize=512    agcount=4, agsize=1966080 blks
         =                       sectsz=512   attr=2, projid32bit=1
...//省略部分内容...
realtime =none                   extsz=4096   blocks=0, rtextents=0

? 3、将si、ti进行挂载,这我们就可以正常使用磁盘空间了。(我这里做的是自动挂载)

[[email protected] ~]# mkdir /opt/siti{1..2}       //创建siti1、siti2目录
[[email protected] ~]# ls /opt                     //查看是否创建成功
rh  siti1  siti2
[[email protected] ~]# vim /etc/fstab              //编辑配置文件
#
# /etc/fstab
# Created by anaconda on Fri Aug  9 11:45:58 2019
#
# 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
#
UUID=2e181f68-3027-48da-a779-ac380076d6f3 /               xfs     defaults        0 0
UUID=0de201d1-2be8-4457-a420-78547726c995 /boot           xfs     defaults        0 0
UUID=8ac2bc9f-2520-410e-9408-c462d1bd249f /home           xfs     defaults        0 0
UUID=22d52505-e702-48db-a1ed-f82cb4b1feca swap            swap    defaults        0 0
/dev/siti/si    /opt/siti1      xfs     defaults        0 0
/dev/siti/ti    /opt/siti2      xfs     defaults        0 0
~
:wq                                                  //保存退出
[[email protected] ~]# mount -a
[[email protected] ~]# df -hT
文件系统            类型      容量  已用  可用 已用% 挂载点
/dev/sda2           xfs        20G  4.3G   16G   22% /
devtmpfs            devtmpfs  1.9G     0  1.9G    0% /dev
tmpfs               tmpfs     1.9G     0  1.9G    0% /dev/shm
tmpfs               tmpfs     1.9G  9.0M  1.9G    1% /run
tmpfs               tmpfs     1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/sda5           xfs        10G   50M   10G    1% /home
/dev/sda1           xfs       2.0G  174M  1.9G    9% /boot
tmpfs               tmpfs     378M   12K  378M    1% /run/user/42
tmpfs               tmpfs     378M     0  378M    0% /run/user/0
/dev/mapper/siti-si xfs        25G   33M   25G    1% /opt/siti1    //成功挂载
/dev/mapper/siti-ti xfs        30G   33M   30G    1% /opt/siti2

磁盘配额

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

CentOS系统中,内核已经定制了支持Linux文件系统的磁盘配额功能,并且在系统中配置和管理磁盘配额的工具由 xfsgrogs软件包的xfs_quota配额管理程序提供。

首先我们先来查看Linux系统中是否安装xfsgrogs软件包,并查看软件包中是否存在配额组件

[[email protected] ~]# rpm -q xfsprogs
xfsprogs-4.5.0-12.el7.x86_64
[[email protected] ~]# rpm -ql xfsprogs | grep "xfs_quota"
/usr/sbin/xfs_quota
/usr/share/man/man8/xfs_quota.8.gz

然后把Linux操作系统中增强性安全功能关闭

[[email protected] ~]# setenforce 0

磁盘配额概述

1、磁盘配额作用范围

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

2、磁盘配额的限制对象

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

3.磁盘配额的限制类型

  • 磁盘容量:限制用户能够使用的磁盘数据块大小,也就是限制磁盘空间大小,默认单位为 KB。
  • 文件数量:限制用户能够拥有的文件个数。

4、磁盘配额的限制方法

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

磁盘配额管理

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

除了内核和xfs_quota软件的支持以外,实施磁盘配额功能还有一个前提条件,即指定的分区必须已经挂载且支持磁盘配额功能。 在配置调试过程中,可以使用带-o usrquota,grpquota选项的mount命令挂载指定的分区,以便增加对用户、组配额功能的支持。

  • 首先,我这里先把之前挂载的两个lvm卸载掉(在配置中添加的自动挂载条目也要删掉)。
[[email protected] ~]# umount /dev/siti/si
[[email protected] ~]# umount /dev/siti/ti
[[email protected] ~]# df -h
文件系统        容量  已用  可用 已用% 挂载点
/dev/sda2        20G  4.3G   16G   22% /
devtmpfs        1.9G     0  1.9G    0% /dev
tmpfs           1.9G     0  1.9G    0% /dev/shm
tmpfs           1.9G  9.0M  1.9G    1% /run
tmpfs           1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/sda5        10G   50M   10G    1% /home
/dev/sda1       2.0G  174M  1.9G    9% /boot
tmpfs           378M   12K  378M    1% /run/user/42
tmpfs           378M     0  378M    0% /run/user/0
  • 然后,再进行支持配额功能的方式挂载,我这里以两种不同的方式挂载(自动挂载、手动挂载)。
[[email protected] ~]# mount -o usrquota,grpquota /dev/siti/si /opt/siti1  //手动挂载
[[email protected] ~]# df -h
文件系统             容量  已用  可用 已用% 挂载点
/dev/sda2             20G  4.3G   16G   22% /
devtmpfs             1.9G     0  1.9G    0% /dev
tmpfs                1.9G     0  1.9G    0% /dev/shm
tmpfs                1.9G  9.0M  1.9G    1% /run
tmpfs                1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/sda1            2.0G  174M  1.9G    9% /boot
/dev/sda5             10G   50M   10G    1% /home
tmpfs                378M   12K  378M    1% /run/user/42
tmpfs                378M     0  378M    0% /run/user/0
/dev/mapper/siti-si   25G   33M   25G    1% /opt/siti1
[[email protected] ~]# vim /etc/fstab                      //进入编辑,设置自动挂载
#
# /etc/fstab
# Created by anaconda on Fri Aug  9 11:45:58 2019
#
# 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
#
UUID=2e181f68-3027-48da-a779-ac380076d6f3 /                 xfs     defaults        0 0
UUID=0de201d1-2be8-4457-a420-78547726c995 /boot             xfs     defaults        0 0
UUID=8ac2bc9f-2520-410e-9408-c462d1bd249f /home             xfs     defaults        0 0
UUID=22d52505-e702-48db-a1ed-f82cb4b1feca swap              swap    defaults        0 0
/dev/siti/ti    /opt/siti2      xfs     defaults,usrquota,grpquota      0 0
~                                                                                         :wq
[[email protected] ~]# mount -a
[[email protected] ~]# df -h
文件系统             容量  已用  可用 已用% 挂载点
/dev/sda2             20G  4.3G   16G   22% /
devtmpfs             1.9G     0  1.9G    0% /dev
tmpfs                1.9G     0  1.9G    0% /dev/shm
tmpfs                1.9G  9.0M  1.9G    1% /run
tmpfs                1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/sda1            2.0G  174M  1.9G    9% /boot
/dev/sda5             10G   50M   10G    1% /home
tmpfs                378M   12K  378M    1% /run/user/42
tmpfs                378M     0  378M    0% /run/user/0
/dev/mapper/siti-si   25G   33M   25G    1% /opt/siti1
/dev/mapper/siti-ti   30G   33M   30G    1% /opt/siti2

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

  • xfs_quota -x -c ‘limit -u bsoft=N bhard=N isoft=N ihard=N 用户名‘ 挂载点
  • 常用选项

    -x:启用专家模式

    -c:使用命令执行

    -u:指定用户

    -g:指定组

  • 限制字段

    limit:可以设置磁盘容量的软、硬限制;及文件数的软、硬限制;-u表示指定用户(如果指定组使用-g)

    bsoft:表示设置磁盘容量的软限制数值

    bhard:表示设置磁盘容量的硬限制数值

    isoft:表示设置磁盘文件数的软限制数值

    ihard:表示设置磁盘文件数的硬限制数值

[[email protected] ~]# xfs_quota -x -c 'limit -u bsoft=100M bhard=150M isoft=100 ihard=150 sun' /opt/siti1
//设置用户sun的磁盘配额,磁盘容量软限制为100M,硬限制为150M;文件数软限制为100,硬限制为150
  • 我们可以通过命令查看用户容量限制情况

    xfs_quota -c ‘quota -uv 用户名‘ 挂载点 查看用户磁盘限制

    xfs_quota -c ‘quota -uv -i 用户名‘ 挂载点 查看用户文件数量限制

[[email protected] ~]# xfs_quota -c 'quota -uv -i sun' /opt/siti1
Disk quotas for User sun (1000)
Filesystem               Files      Quota      Limit  Warn/Time      Mounted on
/dev/mapper/siti-si          0        100        150   00 [--------] /opt/siti1
[[email protected] ~]# xfs_quota -c 'quota -uv sun' /opt/siti1
Disk quotas for User sun (1000)
Filesystem              Blocks      Quota      Limit  Warn/Time      Mounted on
/dev/mapper/siti-si          0     102400     153600   00 [--------] /opt/siti1

3、验证磁盘配额功能

  • 使用受配额限制的用户账号登录 Linux 操作系统,并切换到应用了配额的文件系统中,进行复制文件等写入操作,测试所设置的磁盘配额项是否有效。在此之前首先查看设置磁盘配额的用户是否由权限在磁盘中写入文件。
[email protected] ~]# ls -l /opt
总用量 0
drwxr-xr-x. 2 root root 6 3月  26 2015 rh
drwxr-xr-x. 2 root root 6 8月  23 16:10 siti1
drwxr-xr-x. 2 root root 6 8月  23 16:11 siti2
[[email protected] ~]# chmod 777 /opt/siti1
[[email protected] ~]# ls -l /opt
总用量 0
drwxr-xr-x. 2 root root 6 3月  26 2015 rh
drwxrwxrwx. 2 root root 6 8月  23 16:10 siti1
drwxr-xr-x. 2 root root 6 8月  23 16:11 siti2
[[email protected] ~]# su - sun                     //切换用户
上一次登录:五 8月  9 12:19:27 CST 2019:1 上
[[email protected] ~]$ 
  • 在sun用户中进入到siti1,进行文件创建,验证文件数量限制是否成功。
[[email protected] ~]$ cd /opt/siti1                //进入到siti1目录
[[email protected] siti1]$ touch demo{1..100}.txt   //创建文件demo1~demo100,我们设置的软限制数值
[[email protected] siti1]$ touch demo{101..150}.txt //创建文件demo101~demo150,我们设置的硬限制数
[[email protected] siti1]$ touch demo151.txt        //创建文件demo151,此设置超出设置的限制
touch: 无法创建"demo151.txt": 超出磁盘限额          //系统提示无法创建
[[email protected] siti1]$ 
  • 我们用验证命令来写入文件来验证限制。首先删除之前创建的空文件,然后再用命令写入文件。

    dd if=/dev/zero of=文件路径 bs=N count=N

    dd:复制

    if=/dev/zero:从zero中拿取容量

    of=文件路径:将的容量写入设置配额磁盘下的文件中

    bs=N:每次拿多少

    count=N:拿多少次

[[email protected] siti1]$ rm -rf *
[[email protected] siti1]$ dd if=/dev/zero of=/opt/siti1/123.txt bs=10M count=8
记录了8+0 的读入           //从zero中拿取80M写入sist1目录下123.txt文件中
记录了8+0 的写出
83886080字节(84 MB)已复制,0.0741589 秒,1.1 GB/秒
[[email protected] siti1]$ ls -lh        //查看siti1目录下文件,已写入文件
总用量 80M
-rw-rw-r--. 1 sun sun 80M 8月  23 19:11 123.txt
[[email protected] siti1]$ dd if=/dev/zero of=/opt/siti1/1234.txt bs=10M count=8
dd: 写入"/opt/siti1/1234.txt" 出错: 超出磁盘限额
记录了8+0 的读入           //从zero中拿取80M写入sist1目录下1234.txt文件中,出现出错,超出限额
记录了7+0 的写出
73400320字节(73 MB)已复制,0.0852517 秒,861 MB/秒
[[email protected] siti1]$ ls -lh       //查看siti1目录内容,总容量写入150M,设置的限制数值。
总用量 150M
-rw-rw-r--. 1 sun sun 70M 8月  23 19:13 1234.txt
-rw-rw-r--. 1 sun sun 80M 8月  23 19:11 123.txt

4、查看配额使用情况

  • 若需要了解在文件系统中用户或组的配额使用情况,可以使用 report命令查看。同时我们也需要先回到root用户,再进行查看。

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

    常用选项

    -a:查看所有配额

    -i:查看节点信息

    -b:输出报告

    -u:查看用户配额

    -g:查看组配额

[[email protected] ~]# xfs_quota -x -c 'report -aib' /opt/siti1
User quota on /opt/siti1 (/dev/mapper/siti-si)
                               Blocks                                          Inodes
User ID          Used       Soft       Hard    Warn/Grace           Used       Soft       Hard    Warn/ Grace
---------- -------------------------------------------------- --------------------------------------------------
root                0          0          0     00 [--------]          3          0          0     00 [--------]
sun            153600     102400     153600     00  [6 days]          2        100        150     00 [--------]

Group quota on /opt/siti1 (/dev/mapper/siti-si)
                               Blocks                                          Inodes
Group ID         Used       Soft       Hard    Warn/Grace           Used       Soft       Hard    Warn/ Grace
---------- -------------------------------------------------- --------------------------------------------------
root                0          0          0     00 [--------]          3          0          0     00 [--------]
sun            153600          0          0     00 [--------]          2          0          0     00 [--------]

补充内容

在挂载好的lvm中扩展磁盘容量,这个时候我们直接查看磁盘信息系统是不会显示扩展后的容量的,这个时候我们就需要使用xfs_growfs /dev/卷组名/逻辑卷名命令,重新加载才可以。

[[email protected] ~]# lvextend -L +4G /dev/siti/si   //给逻辑卷si增加4G容量
  Size of logical volume siti/si changed from 25.00 GiB (6400 extents) to 29.00 GiB (7424 extents).
  Logical volume siti/si successfully resized.
[[email protected] ~]# df -h                         //查看磁盘信息
文件系统             容量  已用  可用 已用% 挂载点
/dev/sda2             20G  4.3G   16G   22% /
...//省略部分内容...
/dev/mapper/siti-si   25G  183M   25G    1% /opt/siti1    //没有显示增加容量
/dev/mapper/siti-ti   30G   33M   30G    1% /opt/siti2
[[email protected] ~]# xfs_growfs /dev/siti/si              //重新加载
meta-data=/dev/mapper/siti-si    isize=512    agcount=4, agsize=1638400 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=6553600, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=3200, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 6553600 to 7602176
[[email protected] ~]# df -h                       //查看磁盘信息
文件系统             容量  已用  可用 已用% 挂载点
/dev/sda2             20G  4.3G   16G   22% /
...//省略部分内容...
/dev/mapper/siti-si   29G  183M   29G    1% /opt/siti1  //显示增加的容量
/dev/mapper/siti-ti   30G   33M   30G    1% /opt/siti2

原文地址:https://www.cnblogs.com/SiceLc/p/11657931.html

时间: 2024-10-05 04:27:28

解析Linux中LVM与磁盘配额的相关文章

详解CentOS 7中LVM 与磁盘配额

LVM 逻辑卷管理 LVM 概述 LVM 是 Linux 操作系统中对磁盘分区进行管理的一种逻辑机制,它是建立在硬盘和分区之上.文件系统之下的一个逻辑层,在建立文件系统时屏蔽了下层的磁盘分区布局,因此能够在保持现有数据不变的情况下动态调整磁盘容量,从而增强磁盘管理的灵活性. 要建立 LVM 分区管理机制,首先,将普通分区或整个硬盘创建为物理卷:然后,将物理上比较分散的各物理卷的存储空间组成一个逻辑整体,即卷组:最后,基于卷组这个整体,分割出不同的数据存储空间,形成逻辑卷.逻辑卷才是最终用户可以格

Linux下的LVM和磁盘配额的配置和管理

Linux下的LVM和磁盘配额的配置和管理   一:实验目标 LVM日常管理 LVM快照 磁盘配额 二:实验概念 概念(名词):最小存储单位为:PE PV Physical Volume(物理卷) VG Volume Group(卷组) LV Logical Volume(逻辑卷) 总结: 名称      最小存储单位   cre硬盘      扇区(512字节)  文件系统  block(1K或4K ) raid     chunk (512K)  mdadm -c   LVM      PE

Linux命令 LVM与磁盘管理

LVM与磁盘配额一.LVM逻辑卷管理1.LVM概述Logical Volume Manager,逻辑卷管理(1)动态调整磁盘容量,从而提高磁盘管理的灵活性.(2)/boot分区用于存放引导文件,不能基于LVM创建(3)图形界面管理工具:system-config-lvmLVM机制的基本概念(1)PV (Physical Volume 物理卷)物理卷是LVM机制的基本储存设备,通常对应为一个普通分区或整个硬盘.物理卷是由多个默认大小为4MB的基本单元(PE)组成的,在它的头部会创建一个保留分区,用

Linux中LVM功能使用方法

1.介绍        LVM全称Logical Volume Manager(逻辑卷管理器),是将存储空间虚拟化成虚拟设备来进行管理的一种机制.LVM本身通过调用Linux内核中的"Device-mapper"功能来实现这种机制.         LVM组成部分: Physical volume(pv)物理卷:是LVM底层的设备,可以是硬盘分区,硬盘. Volume group (vg)卷组:是组织pv的管理单元. Logical volume(lv)逻辑卷:虚拟分区,既可以存储数据

解析Linux中的系统安全及应用(一)

# 各位小伙伴大家好,本次和大家分享的是Linux系统中的系统安全及应用的相关理论知识及操作.我将通过以下几点和相关的实验进行分析说明: 一.系统账号清理: 将非登录用户的shell设为/sbin/nologin 锁定长期不使用的账号 删除无用账号 锁定账号文件passwd.shadow 接下来我们做对于账号文件的控制管理实验: 输入:grep "bash"$" /etc/passwd(查看哪些用户可以登录当前服务器)输入:useradd lisi(添加用户lisi)输入:p

RAID和LVM以及磁盘配额的综合使用

一.实验需求 1.添加四块硬盘,建立RAID5环境(md5),三主一备. 2.将md5使用LVM做成VG01组,在该VG中新建了两个LV. 3.将这两个LV格式化为ext4\xfs,开机自动挂载到系统mnt1,mnt2目录下 4.开启磁盘配额功能,用来进行用户与组分配额的实验 5.在系统中添加用户tom,lisa并加入caiwu组中 6.对组和用户同时设置磁盘配额,分别切换至永华目录下写文件,验证生效优先关系. 二.实验步骤 1.打开虚拟机VMware添加四块硬盘 **2.查看添加的硬盘是否生效

理论+实操:LVM与磁盘配额

[TOC] 前言: LVM是逻辑卷管理的简称,它是Linux环境下对磁盘分区管理的一种机制,实现文件系统跨越不同磁盘和分区,工作原理是将若干个磁盘分区连接成一个整块卷组,在卷组上随意创建逻辑卷组,最后在逻辑卷组上创建文件系统,管理员可以动态调整逻辑卷的大小,不会丢失现有的数据,通过创建LVM可以对磁盘进行动态管理. 一:LVM(逻辑卷)概述 1.1 Logical Volume Manager,逻辑卷管理 动态调整磁盘容量,从而提高磁盘管理的灵活性 /boot(系统内核)分区用于存放引导文件,不

【Red Hat linux】quota软件磁盘配额管理

磁盘配额介绍 quota软件设置的磁盘配额功能,只在指定的文件系统(分区)有效,磁盘配额的限制对象为系统中指定的用户账号.组账号进行限制. 磁盘配额的限制类型分为: 磁盘容量:限制用户能够使用的磁盘数据块大小,也就是限制磁盘空间的大小,默认单位为KB. 文件数量:限制用户能够拥有的文件个数,在linux中每一个文件都有一个对应的数字标记,称为i节点            号,这个编号在同一个文件系统内是唯一的. 磁盘配额的限制方法: 软限制:指在固定期限内暂时允许这个用户超过这个限制,但是系统会

关于Linux中LVM的使用总结

首先借鉴一段图文,如下:LVM是逻辑盘卷管理(LogicalVolumeManager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和 分区之上的一个逻辑层,来提高磁盘分区管理的灵活性.通过LVM系统管理员可以轻松管理磁盘分区,如:将若干个磁盘分区连接为一个整块的卷组 (volumegroup),形成一个存储池.管理员可以在卷组上随意创建逻辑卷组(logicalvolumes),并进一步在逻辑卷组上创建文件系 统.管理员通过LVM可以方便的调整存储卷组的大小,并且