当前位置:   article > 正文

玄子Share-LVM与磁盘配额

玄子Share-LVM与磁盘配额

玄子Share-LVM与磁盘配额

LVM概述

Logical Volume Manager,逻辑卷管理

  • Linux系统中对磁盘分区进行管理的一种逻辑机制,是建立在硬盘和分区之上的一个逻辑层
  • 动态调整磁盘容量,从而提高磁盘管理的灵活性

/boot分区用于存放引导文件,不能基于LVM创建。

LVM机制的基本概念

  • PV(物理卷):是对物理磁盘和经过RAID之后逻辑磁盘的统称;
  • VG(卷组):由一个或多个物理卷组成的存储池;
  • LV(逻辑卷): 在卷组上进行的逻辑划分,可以建立文件系统;

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

LVM的管理命令

功能物理卷管理卷组管理逻辑卷管理
Scan 扫描pvscanvgscanlvscan
Create 建立pvcreatevgcreatelvcreate
Display 显示pvdisplayvgdisplaylvdisplay
Remove 删除pvremovevgremovelvremove
Extend 扩展————vgextendlvextend
Reduce 减少————vgreducelvreduce
pvcreate  设备名1  [设备名2   … …]

vgcreate  卷组名  物理卷名1     物理卷名2

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

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

lvreduce  -L  -容量大小  /dev/卷组名/逻辑卷名
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

实操案例

pvcreate /dev/sdb1 /dev/sdc1
pvdisplay
# 转换物理卷
vgcreate  mail_store /dev/sdb1 /dev/sdc1
vgdisplay
# 创建卷组
lvcreate -L 50G mail_store -n mbox
lvdisplay
# 创建逻辑卷
mkfs.xfs /dev/mail_store/mbox
# 格式化为XFS文件系统
mkdir  /mailbox
mount /dev/mail_store/mbox /mailbox/
# 挂载到 /mailbox 目录
df -hT
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

磁盘配额概述

磁盘配额是一种磁盘空间的管理机制,使用磁盘配额可限制用户或组在某个特定文件系统中使用较多空间。

  • 实现磁盘限额的条件
    • 需要 Linux 内核支持
    • 安装 xfsprogs 与 quota 软件包

Linux 磁盘限额的特点

  • 作用范围:针对指定的文件系统(分区)
  • 限制对象:存在的用户帐号、存在的组帐号
  • 限制类型:磁盘容量(默认为kb)、文件数量
  • 限制方法:软限制(警告)、硬限制(完全限制)

启用磁盘配额支持

[root@xuanzi ~]# mount -o usrquota,grpquota /dev/mail_store/mbox  /mailbox/
[root@xuanzi ~]# mount | grep /mailbox
/dev/mapper/mail_store-mbox on /mailbox type xfs (rw,relatime,seclabel,attr2,inode64,usrquota,grpquota)
[root@xuanzi ~]# chmod 777 /mailbox/
[root@xuanzi ~]# ls -ld /mailbox/
drwxrwxrwx. 2 root root 6 319 22:56 /mailbox/
[root@xuanzi ~]# vim /etc/fstab 
# /dev/mapper/mail_store-mbox /mailbox    xfs     defaults,usrquota,grpquota 0 0
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

磁盘配额管理

编辑用户和组帐号的配额设置,使用 xfs_quota 命令编辑配额设置

xfs_quota -x -c 'limit -u bsoft=N  bhard=N isoft=N  ihard=N  用户名'  挂载点
[root@xuanzi ~]# xfs_quota -x -c 'limit -u bsoft=80M  bhard=100M  isoft=80  ihard=100   XuanZi' /mailbox/
[root@xuanzi ~]# xfs_quota -c 'quota  -iuv  XuanZi' /mailbox/
Disk quotas for User XuanZi (1001)
Filesystem               Files      Quota      Limit  Warn/Time      Mounted on
/dev/mapper/mail_store-mbox
                             0         80        100   00 [--------] /mailbox
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 常用选项
    • -u(用户限额)
    • -g(用户组限额)
    • -x(专家模式)
    • -c(调用管理命令)
  • 限制字段
    • bsoft:设置用户的磁盘容量软限制
    • bhard:设置用户的磁盘容量硬限制
    • isoft:设置用户的文件数量软限制
    • ihard:设置用户的文件数量硬限制

验证磁盘配额功能

切换到设置配额的分区(挂载目录)创建指定数量的文件:使用touch命令,或cp命令创建指定容量的文件:使用dd命令,或cp命令

查看配额使用情况

[root@bogon ~]# xfs_quota -x  -c 'report -a'
User quota on /mailbox (/dev/mapper/mail_store-mbox)
                               Blocks                     
User ID          Used       Soft       Hard    Warn/Grace     
---------- -------------------------------------------------- 
root                0          0          0     00 [--------]
zhangsan       102400      81920     102400     00  [6 days]

Group quota on /mailbox (/dev/mapper/mail_store-mbox)
                               Blocks                     
Group ID         Used       Soft       Hard    Warn/Grace     
---------- -------------------------------------------------- 
root                0          0          0     00 [--------]
users               0    1048576    2097152     00 [--------]
zhangsan       102400          0          0     00 [--------]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

磁盘配额实战

虚拟机添加两块硬盘,重启系统

fdisk -l
# 查看系统中所有磁盘的分区情况,以便选择要操作的磁盘设备,/dev/sdb 和 /dev/sdc

fdisk /dev/sdb
# 使用 fdisk 对 /dev/sdb 磁盘进行分区管理,使用命令 n 创建新分区,p 显示分区表,t 修改分区类型,ID设为 8e 以支持 Linux LVM,w 保存并退出

fdisk /dev/sdc
# 同样使用 fdisk 对 /dev/sdc 磁盘进行分区管理,步骤与对 /dev/sdb 的操作一致

fdisk -l
# 再次查看系统中所有磁盘的分区情况,确认分区已经完成

partx /dev/sdb
partx /dev/sdc
# 更新内核关于磁盘分区表的信息

pvcreate /dev/sdb1 /dev/sdc1
# 创建物理卷,将 /dev/sdb1 和/ dev/sdc1 分区标记为LVM物理卷,以便后续创建逻辑卷

vgcreate mail_store /dev/sdb1 /dev/sdc1
# 创建卷组,将物理卷 /dev/sdb1 和 /dev/sdc1 添加到名为 mail_store 的卷组中

lvcreate -L 80G -n mbox mail_store
# 在 mail_store 卷组中创建一个名为 mbox 的逻辑卷,大小为 80GB

mkfs -t xfs /dev/mail_store/mbox
# 对新创建的逻辑卷 /dev/mail_store/mbox 进行文件系统格式化,使用 XFS 文件系统

mkdir /mailbox
# 创建一个目录 /mailbox,用于挂载文件系统

mount /dev/mail_store/mbox /mailbox/
# 将逻辑卷 /dev/mail_store/mbox 挂载到 /mailbox 目录,使其可被访问

mount | tail -1
# 查看最后一行挂载信息,确认挂载成功
# /dev/mapper/mail_store-mbox on /mailbox type xfs (rw,relatime,seclabel,attr2,inode64,noquota)

ll /dev/dm-3
# 查看 /dev/dm-3 的详细属性
# brw-rw----. 1 root disk 253, 3 3月  20 21:54 /dev/dm-3

ll /dev/mapper/mail_store-mbox
# 查看/dev/mapper/mail_store-mbox的详细属性,这是逻辑卷的符号链接
# lrwxrwxrwx. 1 root root 7 3月  20 21:54 /dev/mapper/mail_store-mbox -> ../dm-3

ll /dev/mail_store/mbox
# 查看/dev/mail_store/mbox的详细属性,这也是逻辑卷的符号链接
# root root 7 3月  20 21:54 /dev/mail_store/mbox -> ../dm-3

umount /mailbox/
# 卸载/mailbox目录下的文件系统

mount -o usrquota,grpquota /dev/mail_store/mbox  /mailbox/
# 重新挂载 /mailbox 目录,并启用用户和组的磁盘配额功能

mount | tail -1
# 查看最后一行挂载信息,确认配额已启用
# /dev/mapper/mail_store-mbox on /mailbox type xfs (rw,relatime,seclabel,attr2,inode64,usrquota,grpquota)

chmod 777 /mailbox/
# 将 /mailbox 目录的权限设置为 777,以便所有用户都有读写执行权限

ll -d /mailbox/
# 查看 /mailbox 目录的详细属性,确认权限设置成功
# drwxrwxrwx. 2 root root 6 3月  20 21:54 /mailbox/

vim /etc/fstab
# 使用vim编辑器打开/etc/fstab文件,添加一行内容,以便系统启动时自动挂载文件系统
# 添加如下内容:/dev/mapper/mail_store-mbox /mailbox xfs defaults,usrquota,grpquota 0 0

useradd zhangsan
# 创建一个名为 zhangsan 的测试用户

passwd zhangsan
# 为用户 zhangsan 设置密码

xfs_quota -x -c 'limit -u bsoft=80M bhard=100M isoft=80 ihard=100 zhangsan' /mailbox/
# 为用户 zhangsan 设置磁盘配额,软限制为80MB,硬限制为100MB

xfs_quota -c 'quota -uv  zhangsan' /mailbox/
# 查看用户 zhangsa n的磁盘使用情况和配额限制

xfs_quota -c 'quota -uvi  zhangsan' /mailbox/
# 查看用户 zhangsan 的文件索引节点(inode)使用情况和配额限制

su - zhangsan
# 切换到 zhangsan 用户

cd /mailbox/
# 进入 /mailbox 目录

dd if=/dev/zero of=/mailbox/kc60.data bs=1M count=85
# 使用 dd 命令在 /mailbox 目录下创建一个名为 kc60.data 的 85MB 大小的文件

ls -hl kc60.data
# 查看创建的文件的详细信息
# -rw-rw-r--. 1 zhangsan zhangsan 85M 3月  20 22:42 kc60.data

exit
# 退出 zhangsan 用户

xfs_quota -c 'quota -uv  zhangsan' /mailbox/
# 再次查看用户 zhangsan 的磁盘使用情况和配额限制,确认文件创建后的磁盘使用情况
# # Disk quotas for User zhangsan (1001)
# Filesystem              						Blocks      Quota      Limit  		Warn/Time      Mounted on
# /dev/mapper/mail_store-mbox		87040      81920     102400   	00  [6 days] 		/mailbox
# Warn/Time:00 [6 days] 表示用户已经达到了磁盘配额的警告限制,并且该警告会持续6天,到期后仅能读取无法写入

xfs_quota -x  -c 'report -a'
# 生成关于磁盘使用情况和配额限制的报告,包括用户和组的配额情况
# User quota on /mailbox (/dev/mapper/mail_store-mbox)
#                               Blocks                     
# User ID          Used       Soft       Hard    Warn/Grace     
# ---------- -------------------------------------------------- 
# root                0          0          0     00 [--------]
# zhangsan       102400      81920     102400     00  [6 days]
#
# Group quota on /mailbox (/dev/mapper/mail_store-mbox)
#                               Blocks                     
# Group ID         Used       Soft       Hard    Warn/Grace     
# ---------- -------------------------------------------------- 
# root                0          0          0     00 [--------]
# users               0    1048576    2097152     00 [--------]
# zhangsan       102400          0          0     00 [--------]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125

玄子Share-LVM与磁盘配额 2024-03-19

玄子Share-LVM与磁盘配额

LVM概述

Logical Volume Manager,逻辑卷管理

  • Linux系统中对磁盘分区进行管理的一种逻辑机制,是建立在硬盘和分区之上的一个逻辑层
  • 动态调整磁盘容量,从而提高磁盘管理的灵活性

/boot分区用于存放引导文件,不能基于LVM创建。

LVM机制的基本概念

  • PV(物理卷):是对物理磁盘和经过RAID之后逻辑磁盘的统称;
  • VG(卷组):由一个或多个物理卷组成的存储池;
  • LV(逻辑卷): 在卷组上进行的逻辑划分,可以建立文件系统;

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

LVM的管理命令

功能物理卷管理卷组管理逻辑卷管理
Scan 扫描pvscanvgscanlvscan
Create 建立pvcreatevgcreatelvcreate
Display 显示pvdisplayvgdisplaylvdisplay
Remove 删除pvremovevgremovelvremove
Extend 扩展————vgextendlvextend
Reduce 减少————vgreducelvreduce
pvcreate  设备名1  [设备名2   … …]

vgcreate  卷组名  物理卷名1     物理卷名2

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

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

lvreduce  -L  -容量大小  /dev/卷组名/逻辑卷名
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

实操案例

pvcreate /dev/sdb1 /dev/sdc1
pvdisplay
# 转换物理卷
vgcreate  mail_store /dev/sdb1 /dev/sdc1
vgdisplay
# 创建卷组
lvcreate -L 50G mail_store -n mbox
lvdisplay
# 创建逻辑卷
mkfs.xfs /dev/mail_store/mbox
# 格式化为XFS文件系统
mkdir  /mailbox
mount /dev/mail_store/mbox /mailbox/
# 挂载到 /mailbox 目录
df -hT
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

磁盘配额概述

磁盘配额是一种磁盘空间的管理机制,使用磁盘配额可限制用户或组在某个特定文件系统中使用较多空间。

  • 实现磁盘限额的条件
    • 需要 Linux 内核支持
    • 安装 xfsprogs 与 quota 软件包

Linux 磁盘限额的特点

  • 作用范围:针对指定的文件系统(分区)
  • 限制对象:存在的用户帐号、存在的组帐号
  • 限制类型:磁盘容量(默认为kb)、文件数量
  • 限制方法:软限制(警告)、硬限制(完全限制)

启用磁盘配额支持

[root@xuanzi ~]# mount -o usrquota,grpquota /dev/mail_store/mbox  /mailbox/
[root@xuanzi ~]# mount | grep /mailbox
/dev/mapper/mail_store-mbox on /mailbox type xfs (rw,relatime,seclabel,attr2,inode64,usrquota,grpquota)
[root@xuanzi ~]# chmod 777 /mailbox/
[root@xuanzi ~]# ls -ld /mailbox/
drwxrwxrwx. 2 root root 6 319 22:56 /mailbox/
[root@xuanzi ~]# vim /etc/fstab 
# /dev/mapper/mail_store-mbox /mailbox    xfs     defaults,usrquota,grpquota 0 0
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

磁盘配额管理

编辑用户和组帐号的配额设置,使用 xfs_quota 命令编辑配额设置

xfs_quota -x -c 'limit -u bsoft=N  bhard=N isoft=N  ihard=N  用户名'  挂载点
[root@xuanzi ~]# xfs_quota -x -c 'limit -u bsoft=80M  bhard=100M  isoft=80  ihard=100   XuanZi' /mailbox/
[root@xuanzi ~]# xfs_quota -c 'quota  -iuv  XuanZi' /mailbox/
Disk quotas for User XuanZi (1001)
Filesystem               Files      Quota      Limit  Warn/Time      Mounted on
/dev/mapper/mail_store-mbox
                             0         80        100   00 [--------] /mailbox
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 常用选项
    • -u(用户限额)
    • -g(用户组限额)
    • -x(专家模式)
    • -c(调用管理命令)
  • 限制字段
    • bsoft:设置用户的磁盘容量软限制
    • bhard:设置用户的磁盘容量硬限制
    • isoft:设置用户的文件数量软限制
    • ihard:设置用户的文件数量硬限制

验证磁盘配额功能

切换到设置配额的分区(挂载目录)创建指定数量的文件:使用touch命令,或cp命令创建指定容量的文件:使用dd命令,或cp命令

查看配额使用情况

[root@bogon ~]# xfs_quota -x  -c 'report -a'
User quota on /mailbox (/dev/mapper/mail_store-mbox)
                               Blocks                     
User ID          Used       Soft       Hard    Warn/Grace     
---------- -------------------------------------------------- 
root                0          0          0     00 [--------]
zhangsan       102400      81920     102400     00  [6 days]

Group quota on /mailbox (/dev/mapper/mail_store-mbox)
                               Blocks                     
Group ID         Used       Soft       Hard    Warn/Grace     
---------- -------------------------------------------------- 
root                0          0          0     00 [--------]
users               0    1048576    2097152     00 [--------]
zhangsan       102400          0          0     00 [--------]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

磁盘配额实战

虚拟机添加两块硬盘,重启系统

fdisk -l
# 查看系统中所有磁盘的分区情况,以便选择要操作的磁盘设备,/dev/sdb 和 /dev/sdc

fdisk /dev/sdb
# 使用 fdisk 对 /dev/sdb 磁盘进行分区管理,使用命令 n 创建新分区,p 显示分区表,t 修改分区类型,ID设为 8e 以支持 Linux LVM,w 保存并退出

fdisk /dev/sdc
# 同样使用 fdisk 对 /dev/sdc 磁盘进行分区管理,步骤与对 /dev/sdb 的操作一致

fdisk -l
# 再次查看系统中所有磁盘的分区情况,确认分区已经完成

partx /dev/sdb
partx /dev/sdc
# 更新内核关于磁盘分区表的信息

pvcreate /dev/sdb1 /dev/sdc1
# 创建物理卷,将 /dev/sdb1 和/ dev/sdc1 分区标记为LVM物理卷,以便后续创建逻辑卷

vgcreate mail_store /dev/sdb1 /dev/sdc1
# 创建卷组,将物理卷 /dev/sdb1 和 /dev/sdc1 添加到名为 mail_store 的卷组中

lvcreate -L 80G -n mbox mail_store
# 在 mail_store 卷组中创建一个名为 mbox 的逻辑卷,大小为 80GB

mkfs -t xfs /dev/mail_store/mbox
# 对新创建的逻辑卷 /dev/mail_store/mbox 进行文件系统格式化,使用 XFS 文件系统

mkdir /mailbox
# 创建一个目录 /mailbox,用于挂载文件系统

mount /dev/mail_store/mbox /mailbox/
# 将逻辑卷 /dev/mail_store/mbox 挂载到 /mailbox 目录,使其可被访问

mount | tail -1
# 查看最后一行挂载信息,确认挂载成功
# /dev/mapper/mail_store-mbox on /mailbox type xfs (rw,relatime,seclabel,attr2,inode64,noquota)

ll /dev/dm-3
# 查看 /dev/dm-3 的详细属性
# brw-rw----. 1 root disk 253, 3 3月  20 21:54 /dev/dm-3

ll /dev/mapper/mail_store-mbox
# 查看/dev/mapper/mail_store-mbox的详细属性,这是逻辑卷的符号链接
# lrwxrwxrwx. 1 root root 7 3月  20 21:54 /dev/mapper/mail_store-mbox -> ../dm-3

ll /dev/mail_store/mbox
# 查看/dev/mail_store/mbox的详细属性,这也是逻辑卷的符号链接
# root root 7 3月  20 21:54 /dev/mail_store/mbox -> ../dm-3

umount /mailbox/
# 卸载/mailbox目录下的文件系统

mount -o usrquota,grpquota /dev/mail_store/mbox  /mailbox/
# 重新挂载 /mailbox 目录,并启用用户和组的磁盘配额功能

mount | tail -1
# 查看最后一行挂载信息,确认配额已启用
# /dev/mapper/mail_store-mbox on /mailbox type xfs (rw,relatime,seclabel,attr2,inode64,usrquota,grpquota)

chmod 777 /mailbox/
# 将 /mailbox 目录的权限设置为 777,以便所有用户都有读写执行权限

ll -d /mailbox/
# 查看 /mailbox 目录的详细属性,确认权限设置成功
# drwxrwxrwx. 2 root root 6 3月  20 21:54 /mailbox/

vim /etc/fstab
# 使用vim编辑器打开/etc/fstab文件,添加一行内容,以便系统启动时自动挂载文件系统
# 添加如下内容:/dev/mapper/mail_store-mbox /mailbox xfs defaults,usrquota,grpquota 0 0

useradd zhangsan
# 创建一个名为 zhangsan 的测试用户

passwd zhangsan
# 为用户 zhangsan 设置密码

xfs_quota -x -c 'limit -u bsoft=80M bhard=100M isoft=80 ihard=100 zhangsan' /mailbox/
# 为用户 zhangsan 设置磁盘配额,软限制为80MB,硬限制为100MB

xfs_quota -c 'quota -uv  zhangsan' /mailbox/
# 查看用户 zhangsa n的磁盘使用情况和配额限制

xfs_quota -c 'quota -uvi  zhangsan' /mailbox/
# 查看用户 zhangsan 的文件索引节点(inode)使用情况和配额限制

su - zhangsan
# 切换到 zhangsan 用户

cd /mailbox/
# 进入 /mailbox 目录

dd if=/dev/zero of=/mailbox/kc60.data bs=1M count=85
# 使用 dd 命令在 /mailbox 目录下创建一个名为 kc60.data 的 85MB 大小的文件

ls -hl kc60.data
# 查看创建的文件的详细信息
# -rw-rw-r--. 1 zhangsan zhangsan 85M 3月  20 22:42 kc60.data

exit
# 退出 zhangsan 用户

xfs_quota -c 'quota -uv  zhangsan' /mailbox/
# 再次查看用户 zhangsan 的磁盘使用情况和配额限制,确认文件创建后的磁盘使用情况
# # Disk quotas for User zhangsan (1001)
# Filesystem              						Blocks      Quota      Limit  		Warn/Time      Mounted on
# /dev/mapper/mail_store-mbox		87040      81920     102400   	00  [6 days] 		/mailbox
# Warn/Time:00 [6 days] 表示用户已经达到了磁盘配额的警告限制,并且该警告会持续6天,到期后仅能读取无法写入

xfs_quota -x  -c 'report -a'
# 生成关于磁盘使用情况和配额限制的报告,包括用户和组的配额情况
# User quota on /mailbox (/dev/mapper/mail_store-mbox)
#                               Blocks                     
# User ID          Used       Soft       Hard    Warn/Grace     
# ---------- -------------------------------------------------- 
# root                0          0          0     00 [--------]
# zhangsan       102400      81920     102400     00  [6 days]
#
# Group quota on /mailbox (/dev/mapper/mail_store-mbox)
#                               Blocks                     
# Group ID         Used       Soft       Hard    Warn/Grace     
# ---------- -------------------------------------------------- 
# root                0          0          0     00 [--------]
# users               0    1048576    2097152     00 [--------]
# zhangsan       102400          0          0     00 [--------]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125

玄子Share-LVM与磁盘配额 2024-03-19

玄子Share-LVM与磁盘配额

LVM概述

Logical Volume Manager,逻辑卷管理

  • Linux系统中对磁盘分区进行管理的一种逻辑机制,是建立在硬盘和分区之上的一个逻辑层
  • 动态调整磁盘容量,从而提高磁盘管理的灵活性

/boot分区用于存放引导文件,不能基于LVM创建。

LVM机制的基本概念

  • PV(物理卷):是对物理磁盘和经过RAID之后逻辑磁盘的统称;
  • VG(卷组):由一个或多个物理卷组成的存储池;
  • LV(逻辑卷): 在卷组上进行的逻辑划分,可以建立文件系统;

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

LVM的管理命令

功能物理卷管理卷组管理逻辑卷管理
Scan 扫描pvscanvgscanlvscan
Create 建立pvcreatevgcreatelvcreate
Display 显示pvdisplayvgdisplaylvdisplay
Remove 删除pvremovevgremovelvremove
Extend 扩展————vgextendlvextend
Reduce 减少————vgreducelvreduce
pvcreate  设备名1  [设备名2   … …]

vgcreate  卷组名  物理卷名1     物理卷名2

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

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

lvreduce  -L  -容量大小  /dev/卷组名/逻辑卷名
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

实操案例

pvcreate /dev/sdb1 /dev/sdc1
pvdisplay
# 转换物理卷
vgcreate  mail_store /dev/sdb1 /dev/sdc1
vgdisplay
# 创建卷组
lvcreate -L 50G mail_store -n mbox
lvdisplay
# 创建逻辑卷
mkfs.xfs /dev/mail_store/mbox
# 格式化为XFS文件系统
mkdir  /mailbox
mount /dev/mail_store/mbox /mailbox/
# 挂载到 /mailbox 目录
df -hT
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

磁盘配额概述

磁盘配额是一种磁盘空间的管理机制,使用磁盘配额可限制用户或组在某个特定文件系统中使用较多空间。

  • 实现磁盘限额的条件
    • 需要 Linux 内核支持
    • 安装 xfsprogs 与 quota 软件包

Linux 磁盘限额的特点

  • 作用范围:针对指定的文件系统(分区)
  • 限制对象:存在的用户帐号、存在的组帐号
  • 限制类型:磁盘容量(默认为kb)、文件数量
  • 限制方法:软限制(警告)、硬限制(完全限制)

启用磁盘配额支持

[root@xuanzi ~]# mount -o usrquota,grpquota /dev/mail_store/mbox  /mailbox/
[root@xuanzi ~]# mount | grep /mailbox
/dev/mapper/mail_store-mbox on /mailbox type xfs (rw,relatime,seclabel,attr2,inode64,usrquota,grpquota)
[root@xuanzi ~]# chmod 777 /mailbox/
[root@xuanzi ~]# ls -ld /mailbox/
drwxrwxrwx. 2 root root 6 319 22:56 /mailbox/
[root@xuanzi ~]# vim /etc/fstab 
# /dev/mapper/mail_store-mbox /mailbox    xfs     defaults,usrquota,grpquota 0 0
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

磁盘配额管理

编辑用户和组帐号的配额设置,使用 xfs_quota 命令编辑配额设置

xfs_quota -x -c 'limit -u bsoft=N  bhard=N isoft=N  ihard=N  用户名'  挂载点
[root@xuanzi ~]# xfs_quota -x -c 'limit -u bsoft=80M  bhard=100M  isoft=80  ihard=100   XuanZi' /mailbox/
[root@xuanzi ~]# xfs_quota -c 'quota  -iuv  XuanZi' /mailbox/
Disk quotas for User XuanZi (1001)
Filesystem               Files      Quota      Limit  Warn/Time      Mounted on
/dev/mapper/mail_store-mbox
                             0         80        100   00 [--------] /mailbox
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 常用选项
    • -u(用户限额)
    • -g(用户组限额)
    • -x(专家模式)
    • -c(调用管理命令)
  • 限制字段
    • bsoft:设置用户的磁盘容量软限制
    • bhard:设置用户的磁盘容量硬限制
    • isoft:设置用户的文件数量软限制
    • ihard:设置用户的文件数量硬限制

验证磁盘配额功能

切换到设置配额的分区(挂载目录)创建指定数量的文件:使用touch命令,或cp命令创建指定容量的文件:使用dd命令,或cp命令

查看配额使用情况

[root@bogon ~]# xfs_quota -x  -c 'report -a'
User quota on /mailbox (/dev/mapper/mail_store-mbox)
                               Blocks                     
User ID          Used       Soft       Hard    Warn/Grace     
---------- -------------------------------------------------- 
root                0          0          0     00 [--------]
zhangsan       102400      81920     102400     00  [6 days]

Group quota on /mailbox (/dev/mapper/mail_store-mbox)
                               Blocks                     
Group ID         Used       Soft       Hard    Warn/Grace     
---------- -------------------------------------------------- 
root                0          0          0     00 [--------]
users               0    1048576    2097152     00 [--------]
zhangsan       102400          0          0     00 [--------]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

磁盘配额实战

虚拟机添加两块硬盘,重启系统

fdisk -l
# 查看系统中所有磁盘的分区情况,以便选择要操作的磁盘设备,/dev/sdb 和 /dev/sdc

fdisk /dev/sdb
# 使用 fdisk 对 /dev/sdb 磁盘进行分区管理,使用命令 n 创建新分区,p 显示分区表,t 修改分区类型,ID设为 8e 以支持 Linux LVM,w 保存并退出

fdisk /dev/sdc
# 同样使用 fdisk 对 /dev/sdc 磁盘进行分区管理,步骤与对 /dev/sdb 的操作一致

fdisk -l
# 再次查看系统中所有磁盘的分区情况,确认分区已经完成

partx /dev/sdb
partx /dev/sdc
# 更新内核关于磁盘分区表的信息

pvcreate /dev/sdb1 /dev/sdc1
# 创建物理卷,将 /dev/sdb1 和/ dev/sdc1 分区标记为LVM物理卷,以便后续创建逻辑卷

vgcreate mail_store /dev/sdb1 /dev/sdc1
# 创建卷组,将物理卷 /dev/sdb1 和 /dev/sdc1 添加到名为 mail_store 的卷组中

lvcreate -L 80G -n mbox mail_store
# 在 mail_store 卷组中创建一个名为 mbox 的逻辑卷,大小为 80GB

mkfs -t xfs /dev/mail_store/mbox
# 对新创建的逻辑卷 /dev/mail_store/mbox 进行文件系统格式化,使用 XFS 文件系统

mkdir /mailbox
# 创建一个目录 /mailbox,用于挂载文件系统

mount /dev/mail_store/mbox /mailbox/
# 将逻辑卷 /dev/mail_store/mbox 挂载到 /mailbox 目录,使其可被访问

mount | tail -1
# 查看最后一行挂载信息,确认挂载成功
# /dev/mapper/mail_store-mbox on /mailbox type xfs (rw,relatime,seclabel,attr2,inode64,noquota)

ll /dev/dm-3
# 查看 /dev/dm-3 的详细属性
# brw-rw----. 1 root disk 253, 3 3月  20 21:54 /dev/dm-3

ll /dev/mapper/mail_store-mbox
# 查看/dev/mapper/mail_store-mbox的详细属性,这是逻辑卷的符号链接
# lrwxrwxrwx. 1 root root 7 3月  20 21:54 /dev/mapper/mail_store-mbox -> ../dm-3

ll /dev/mail_store/mbox
# 查看/dev/mail_store/mbox的详细属性,这也是逻辑卷的符号链接
# root root 7 3月  20 21:54 /dev/mail_store/mbox -> ../dm-3

umount /mailbox/
# 卸载/mailbox目录下的文件系统

mount -o usrquota,grpquota /dev/mail_store/mbox  /mailbox/
# 重新挂载 /mailbox 目录,并启用用户和组的磁盘配额功能

mount | tail -1
# 查看最后一行挂载信息,确认配额已启用
# /dev/mapper/mail_store-mbox on /mailbox type xfs (rw,relatime,seclabel,attr2,inode64,usrquota,grpquota)

chmod 777 /mailbox/
# 将 /mailbox 目录的权限设置为 777,以便所有用户都有读写执行权限

ll -d /mailbox/
# 查看 /mailbox 目录的详细属性,确认权限设置成功
# drwxrwxrwx. 2 root root 6 3月  20 21:54 /mailbox/

vim /etc/fstab
# 使用vim编辑器打开/etc/fstab文件,添加一行内容,以便系统启动时自动挂载文件系统
# 添加如下内容:/dev/mapper/mail_store-mbox /mailbox xfs defaults,usrquota,grpquota 0 0

useradd zhangsan
# 创建一个名为 zhangsan 的测试用户

passwd zhangsan
# 为用户 zhangsan 设置密码

xfs_quota -x -c 'limit -u bsoft=80M bhard=100M isoft=80 ihard=100 zhangsan' /mailbox/
# 为用户 zhangsan 设置磁盘配额,软限制为80MB,硬限制为100MB

xfs_quota -c 'quota -uv  zhangsan' /mailbox/
# 查看用户 zhangsa n的磁盘使用情况和配额限制

xfs_quota -c 'quota -uvi  zhangsan' /mailbox/
# 查看用户 zhangsan 的文件索引节点(inode)使用情况和配额限制

su - zhangsan
# 切换到 zhangsan 用户

cd /mailbox/
# 进入 /mailbox 目录

dd if=/dev/zero of=/mailbox/kc60.data bs=1M count=85
# 使用 dd 命令在 /mailbox 目录下创建一个名为 kc60.data 的 85MB 大小的文件

ls -hl kc60.data
# 查看创建的文件的详细信息
# -rw-rw-r--. 1 zhangsan zhangsan 85M 3月  20 22:42 kc60.data

exit
# 退出 zhangsan 用户

xfs_quota -c 'quota -uv  zhangsan' /mailbox/
# 再次查看用户 zhangsan 的磁盘使用情况和配额限制,确认文件创建后的磁盘使用情况
# # Disk quotas for User zhangsan (1001)
# Filesystem              						Blocks      Quota      Limit  		Warn/Time      Mounted on
# /dev/mapper/mail_store-mbox		87040      81920     102400   	00  [6 days] 		/mailbox
# Warn/Time:00 [6 days] 表示用户已经达到了磁盘配额的警告限制,并且该警告会持续6天,到期后仅能读取无法写入

xfs_quota -x  -c 'report -a'
# 生成关于磁盘使用情况和配额限制的报告,包括用户和组的配额情况
# User quota on /mailbox (/dev/mapper/mail_store-mbox)
#                               Blocks                     
# User ID          Used       Soft       Hard    Warn/Grace     
# ---------- -------------------------------------------------- 
# root                0          0          0     00 [--------]
# zhangsan       102400      81920     102400     00  [6 days]
#
# Group quota on /mailbox (/dev/mapper/mail_store-mbox)
#                               Blocks                     
# Group ID         Used       Soft       Hard    Warn/Grace     
# ---------- -------------------------------------------------- 
# root                0          0          0     00 [--------]
# users               0    1048576    2097152     00 [--------]
# zhangsan       102400          0          0     00 [--------]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125

玄子Share-LVM与磁盘配额 2024-03-19

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/476667
推荐阅读
相关标签
  

闽ICP备14008679号