LVM与磁盘配额

LVM与磁盘配额

一、LVM概述

  • LVM是Linux系统中对磁盘分区进行管理的一种逻辑机制,它是建立在硬盘和分区之上,文件系统之下的一个逻辑层,在建立文件系统时屏蔽了下层的磁盘分区布局,能够在保持现有数据不变的情况下动态调整磁盘容量,从而提高了磁盘管理的灵活性
2、LVM机制的基本概念
2.1 PV(Physical Volume,物理卷)
  • 物理卷是LVM机制的基本存储设备,通常对应为一个普通分区或整个硬盘。创建物理卷时,会在分区或硬盘的头部创建一个保留区快,用于记录LVM的属性,并把储存空间分割成默认大小为4MB的基本单元(PE),从而构成物理卷
2.2 VG(Logical Volume,逻辑卷
  • 由一个或多个物理卷组成一个整日,即称为卷组,在卷组中可以动态的添加或移除物理卷
2.3 LV(Logical Volume,逻辑卷)
  • 逻辑卷建立在卷组上,与物理卷没有直接关系。对于逻辑卷来说,每一个卷组就是一个整体,从卷组中分割出的一块空间,作为用户创建文件系统的基础,这就是逻辑卷。使用 mkfs等工具可在逻辑卷上穿件文件系统

LVM建立步骤

首先需要把物理硬盘分成分区,当然也可以是整块物理硬盘。

然后把物理分区建立成为物理卷(PV),也可以直接把整块硬盘都建立为物理卷。

接下来把物理卷整合成为卷组(VG)。卷组就已经可以动态的调整大小了,可以把物理分区加入卷组,也可以把物理分区从卷组中删除。

最后就是把卷组再划分成为逻辑卷(LV),当然逻辑卷也是可以直接调整大小的。逻辑卷可以理解成为分区,所以也需要格式化和挂载。

安装系统时使用LVM

在这里插入图片描述

分区方案

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

查看系统中的信息

在这里插入图片描述

查看LVM信息

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

二、LVM 管理命令

1、主要命令
pvcreate  设备名1  [设备名2   … …]
vgcreate  卷组名  物理卷名1     物理卷名2
lvcreate   -L  容量大小  -n  逻辑卷名  卷组名
lvextend  -L  +大小  /dev/卷组名/逻辑卷名 
功能物理卷管理卷组管理逻辑卷管理
Scan 扫描pvscanvgscanlvscan
Create 建立pvcreatevgcreatelvcreate
Display 显示pvdisplayvgdisplaylvdisplay
Remove 删除pvremovevgremovelvremove
Extend 扩展————vgextendlvextend
Reduce 减少————vgreducelvreduce

三.PV物理卷 pvcreate命令

一般用整个硬盘创建,当然也可以是分区

如果用分区创建PV,分区的类型不再是 Linux 默认的83 了,而要改成8e。

创建物理卷

pvcreate  设备名1  [设备名2   … …]
pvcreate  /dev/sdb  (整个硬盘创建为PV)
pvcreate  /dev/sdb2   (分区创建为PV)

pvcreate /dev/sd[bc]:将/dev/sd[bc]转换成物理卷

[root@localhost ~]# pvcreate /dev/sd[bc]
  Physical volume "/dev/sdb" successfully created.
  Physical volume "/dev/sdc" successfully created.
查看物理卷pvdisplay命令或 pvscan
  • 概述:显示物理卷的详细信息,需要使用指定的物理卷作为命令参数,默认时将显示所有的物理卷信息

pvdisplay :显示所有物理卷信息

pvdisplay /dev/sd[bc] :显示/dev/sd[bc]物理卷信息

[root@localhost ~]# pvdisplay /dev/sd[bc]
  --- Physical volume ---
  PV Name               /dev/sdb
  VG Name               abc
  PV Size               20.00 GiB / not usable 4.00 MiB
  Allocatable           yes
  PE Size               4.00 MiB
  Total PE              5119
  Free PE               5119
  Allocated PE          0
  PV UUID               pAuvcd-W3W9-TgDc-lB0e-iyAP-eBaT-feUrRa

  --- Physical volume ---
  PV Name               /dev/sdc
  VG Name               abc
  PV Size               20.00 GiB / not usable 4.00 MiB
  Allocatable           yes
  PE Size               4.00 MiB
  Total PE              5119
  Free PE               5119
  Allocated PE          0
  PV UUID               mYT4wR-iVxz-DlaH-WESx-UVAf-w0NM-gHNiOQ

删除物理卷

pvremove 设备名

四.VG卷组 vgcreate命令

创建卷组

vgcreate   [选项]  卷组名   物理卷名1   [物理卷名2...]
选项:-s PE大小 (指定 PE 的大小,默认 4MB)
  • 概述:用于将一个或多个物理卷创建为一个卷组
  • 格式:vgcreate 卷组名 物理卷名1 物理卷名2
  • vgcreate abc /dev/sdb /dev/sdc 用单个物理卷创建组名abc的卷组
#给vgcreate abc /dev/sd[bc]方法创建组名abc的卷组

[root@localhost ~]# vgcreate abc /dev/sd[bc]
  Volume group "abc" successfully created

查看卷组vgscan 或 vgdisplay命令

  • 概述:显示系统中各卷组的信息,需要指定卷组名作为指定参数,若不指定卷组名,则显示所有卷组参数
  • vgdisplay :显示所有卷组信息

vgdisplay abc:显示卷组名为abc的参数信息

[root@localhost ~]# vgdisplay  abc
  --- Volume group ---
  VG Name               abc
  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               lpJbbK-iM0t-ofaa-8ndh-bLC1-OOak-taAwzp

卷组扩容

  • 概述:用于扩展磁盘空间。当创建了新的物理卷,并需要将它添加到已有卷组中,就使用该命令

  • 格式:vgextend 卷组名 新物理卷

    vgextend abc /dev/sdd1:将新物理卷/dev/sdd1扩加值卷组abc中

vgextend   卷组名  物理卷名

卷组减少容量

vgreduce   卷组名  物理卷名
vgreduce   -a (删除卷组中未使用的物理卷)

删除卷组

vgremove   卷组名 

五.LV逻辑卷 lvcreate 命令

  • 用于从指定的卷组中分割空间,创建新的逻辑卷,需要指定逻辑卷的大小名称及所在的卷组作为参数
  • 格式:lvcreate -L 逻辑卷容量大小 -n 逻辑卷名 卷组名
lvcreate  -L 逻辑卷容量  -n  逻辑卷名  卷组名

lvcreate  -L 20G  -n  mylv  myvg(在myvg卷组中创建20G的逻辑卷mylv)

注意:逻辑卷创建后需要格式化和挂载才可正常使用

#:从卷组abc中划出10G创建名为mysql的逻辑卷
lvcreate -L 10G -n mysql abc

[root@localhost ~]# lvcreate -n mysql -L 10G abc
  Logical volume "mysql" created.
[root@localhost ~]# ll /dev/abc/mysql
lrwxrwxrwx. 1 root root 7 1228 15:14 /dev/abc/mysql -> ../dm-2
[root@localhost ~]# ll /dev/mapper/abc-mysql
lrwxrwxrwx. 1 root root 7 1228 15:14 /dev/mapper/abc-mysql -> ../dm-2

查看逻辑卷 lvscan 或 lvdisplay命令

  • 概述:用于显示逻辑卷的详细信息,可使用卷组名作为参数,以显示该卷组中的所有逻辑卷信息,若不指定卷组名,则显示全部逻辑卷信息

  • 格式:lvdisplay 卷组名 逻辑卷名:显示卷组中逻辑卷信息

    lvdisplay: 显示所有逻辑卷信息

示例 :lvdisplay /dev/abc/mysql
[root@localhost ~]# lvdisplay /dev/abc/mysql
  --- Logical volume ---
  LV Path                /dev/abc/mysql
  LV Name                mysql
  VG Name                abc
  LV UUID                dqDsSG-gWYB-Fi8g-q8sp-dmBr-2Dzb-QaHIg2
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2023-12-28 15:14:32 +0800
  LV Status              available
  # open                 0
  LV Size                10.00 GiB
  Current LE             2560
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:2

调整逻辑卷容量

lvresize   –L   容量   逻辑卷的设备名
可用 + - 来增减容量,也可直接指定容量
  • 概述:动态扩展逻辑卷的空间,可以从所在卷组中分割额外的空间进行扩展,只需指定增加的容量大小及逻辑卷文件位置即可,前提是该卷组中还有未分配的磁盘空间,否则需要先扩充卷组
  • 格式:lvextend -L +大小 /dev/卷组名/逻辑卷名

lvextend -L +10G /dev/abc/mysql :将abc卷组中剩余的空间给mysql逻辑卷中新增10G ,最后可lvdisplay查看一下lv扩展是否成功

[root@localhost ~]# lvextend -L +10G /dev/abc/mysql
  Size of logical volume abc/mysql changed from 10.00 GiB (2560 extents) to 20.00 GiB (5120 extents).
  Logical volume abc/mysql successfully resized.
[root@localhost ~]# lvdisplay  /dev/abc/mysql
  --- Logical volume ---
  LV Path                /dev/abc/mysql
  LV Name                mysql
  VG Name                abc
  LV UUID                dqDsSG-gWYB-Fi8g-q8sp-dmBr-2Dzb-QaHIg2
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2023-12-28 15:14:32 +0800
  LV Status              available
  # open                 0
  LV Size                20.00 GiB(空间增加10G)
  Current LE             5120
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:2

注:如果未生效可以使用刷新命令

-r:自动刷新逻辑卷容量大小

手动刷新

xfs_growfs 文件系统(文件系统为xfs)
resize2fs 文件系统(文件系统为ext4)

命令:xfs_growfs /dev/卷组名/逻辑卷名——刷新xfs文件系统容量

resize2fs /dev/卷组名/逻辑卷名——刷新ext4文件系统容量

在这里插入图片描述

六.设置磁盘配额

磁盘配额(Quota)就是 Linux 系统中用来限制特定的普通用户或用户组在指定的分区上占用的磁盘空间或文件个数的。

磁盘配额限制只能针对分区,而不能针对某个目录

可以限制用户占用的磁盘容量大小(block),当然也能限制用户允许占用的文件个数(inode)

1、磁盘配额的概述
1.1 实现磁盘配额的条件

需要Linux内核支持(grep “QUOTA” /boot/config-x…)

安装xfsprogs与quota软件包

1.2 Linux磁盘限额的特点
  • 作用范围:针对指定的文件系统(分区)
  • 限制对象:用户账号和组账号
  • 限制类型:磁盘容量、文件数量
  • 限制方法:软限制、硬限制(软限制:发出警告提示;硬限制:直接中断执行)
  • 宽限时间:软限制只会警告,超时后就升级为硬限制
2、磁盘配额步骤
  • 步骤1:以支持配额功能的方式挂载文件系统
  • 步骤2:编辑用户和组账号的配额设置
  • 步骤3:验证磁盘配额功能
  • 步骤4、查看磁盘配额使用情况
3、启用磁盘配额支持
3.1.安装软件 xfaprogs quota
检查是否已安装xfsprogs和xfs_quota软件包

rpm -q xfsprogs xfs_quota

在这里插入图片描述

yum install -y xfsprogs xfs-quota

在这里插入图片描述

在这里插入图片描述

3、以支持磁盘限额的方式挂载文件系统

mount -o usrquota,grpquota

启用文件系统的配额支持

添加usrquota、grpquota挂载参数

在这里插入图片描述

/etc/fstab

在这里插入图片描述

ext4:usrquota,grpquoto ; xfs:uquota,gquota

mount -o remount /mydisk (ext4有效、xfs无效)

4、生成quota配置文件

ext4:quotacheck命令

#命令
quotacheck -avu
-a:扫描全部分区
-v:显示扫描过程
-u:生成 aquota.user
-g:生成 aquota.group
-m:强制生成(根分区)

xfs:不需要生成配置文件,此步骤省略

注意:都需要关闭selinux(/etc/selinux/config)

5、配置用户配额

edquota (ext4、xfs都支持)

edquota -u user1
edquota -p user1 -u user2
-u:配置用户配额
-g:配置组配额
-t:设置宽限时间
-p:复制配额配置

还可以使用xfs_quota命令编辑配额设置

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

xfs_quota -x -c 'limit -u bsoft=20m bhard=30m isoft=5 ihard=10 tom'  /mydisk

-x:专家模式
-c:以字符串的非交互模式提供参数

6、开启/关闭磁盘配额

ext4:quotaon、quotaoff

quotaon -avu
quotaon -vu /mydisk
quotaoff -au

xfs:配置后自动生效,无需命令

查看配额

etx4、xfs通用

在这里插入图片描述

  • xfs_quota -x -c ‘report 选项’
常用选项
xfs_quota  -x  -c  'report'  /mydisk/

report 常用选项
-a、-i、-b 、-u、-g

-a  代表所有用户账号和组账号
-b  代表容量
-i  代表文件数量
-h  代表人性化显示

=30m isoft=5 ihard=10 tom’ /mydisk

-x:专家模式
-c:以字符串的非交互模式提供参数


6、开启/关闭磁盘配额

ext4:quotaon、quotaoff

```shell
quotaon -avu
quotaon -vu /mydisk
quotaoff -au

xfs:配置后自动生效,无需命令

查看配额

etx4、xfs通用

[外链图片转存中…(img-Aq0c8khd-1728442587796)]

  • xfs_quota -x -c ‘report 选项’
常用选项
xfs_quota  -x  -c  'report'  /mydisk/

report 常用选项
-a、-i、-b 、-u、-g

-a  代表所有用户账号和组账号
-b  代表容量
-i  代表文件数量
-h  代表人性化显示

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值