实验环境
公司准备在Internet中搭建FTP服务器(CentOS 7.3 系统平台),面向全国各地的员工及部分VIP客户提供资料上传下载的空间。考虑动态扩容的需要,计划增加两块SCSI硬盘并构建LVM逻辑卷(挂载到/date目录下)专门用于存放电子邮件数据,并通过磁盘配额的方式限制用户的电子邮箱空间。
需求描述
采用LVM磁盘管理方案:添加两块SCSI硬盘设备,完成硬盘检测及分区。建立逻辑卷lv01,格式化为XFS文件系统,挂载到/date目录下。
设置磁盘配额,要求用户zhangsan最多只能使用500MB磁盘空间、bdqn组的用户合计最多只能使用4MB磁盘空间。
1.添加两块SCSI硬盘设备
2.建立LVM管理
[root@PSD ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
分区号 (1-4,默认 1):1
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):
将使用默认值 41943039
分区 1 已设置为 Linux 类型,大小设为 20 GiB
命令(输入 m 获取帮助):t
已选择分区 1
Hex 代码(输入 L 列出所有代码):8e
已将分区“Linux”的类型更改为“Linux LVM”
命令(输入 m 获取帮助):p
磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xb84d8227
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 41943039 20970496 8e Linux LVM
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@PSD ~]#
[root@PSD ~]# fdisk /dev/sdc
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
分区号 (1-4,默认 1):1
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):
将使用默认值 41943039
分区 1 已设置为 Linux 类型,大小设为 20 GiB
命令(输入 m 获取帮助):t
已选择分区 1
Hex 代码(输入 L 列出所有代码):8e
已将分区“Linux”的类型更改为“Linux LVM”
命令(输入 m 获取帮助):p
磁盘 /dev/sdc:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x489f3d66
设备 Boot Start End Blocks Id System
/dev/sdc1 2048 41943039 20970496 8e Linux LVM
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@PSD ~]#
创建逻辑卷
[root@PSD ~]# pvscan
No matching physical volumes found
[root@PSD ~]# pvcreate /dev/sdb1 /dev/sdc1 //pvcreate命令用于将分区或整个硬盘转换成物理卷
Physical volume "/dev/sdb1" successfully created.
Physical volume "/dev/sdc1" successfully created.
[root@PSD ~]# pvscan
PV /dev/sdb1 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]
[root@PSD ~]# pvdisplay
"/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 4GZIw3-sHH4-1KLo-XMK4-ASAS-dma2-9ywfN1
"/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 Fdytul-0J2L-BxXD-meWD-7BcR-7GGB-xOCxzn
[root@PSD ~]#
创建卷组
[root@PSD ~]# vgscan
Reading volume groups from cache.
[root@PSD ~]# vgcreate vg01 /dev/sdb1 /dev/sdc1
Volume group "vg01" successfully created
[root@PSD ~]# vgscan
Reading volume groups from cache.
Found volume group "vg01" using metadata type lvm2
[root@PSD ~]# vgdisplay
--- Volume group ---
VG Name vg01
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 xFQLve-zLJ6-Q07S-pJzq-xg17-5iKp-kZNixu
[root@PSD ~]#
创建逻辑卷
[root@PSD ~]# lvscan
[root@PSD ~]# lvcreate -L 20G -n lv01 vg01
Logical volume "lv01" created.
[root@PSD ~]# lvscan
ACTIVE '/dev/vg01/lv01' [20.00 GiB] inherit
[root@PSD ~]# lvdisplay
--- Logical volume ---
LV Path /dev/vg01/lv01
LV Name lv01
VG Name vg01
LV UUID UFor2F-ajW3-tNOn-aS85-Whes-G4to-pMo9mN
LV Write Access read/write
LV Creation host, time PSD.com, 2022-07-05 16:05:04 +0800
LV Status available
# open 0
LV Size 20.00 GiB
Current LE 5120
Segments 2
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:0
[root@PSD ~]#
格式化为XFS文件系统
[root@PSD ~]# mkfs -t xfs /dev/vg01/lv01
meta-data=/dev/vg01/lv01 isize=512 agcount=4, agsize=1310720 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=5242880, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@PSD ~]#
挂载到/date目录下
[root@PSD /]# mkdir /date
[root@PSD /]# mount /dev/vg01/lv01 /date
[root@PSD /]# df -hT /date
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/vg01-lv01 xfs 20G 33M 20G 1% /date
[root@PSD /]#
设置磁盘配额,要求用户zhangsan最多只能使用500MB磁盘空间
[root@PSD /]# umount /date //卸载之前/date目录挂载的分区
[root@PSD /]# mount -o usrquota,grpquota /dev/vg01/lv01 /date
[root@PSD /]# mount
...... //省略部分
/dev/mapper/vg01-lv01 on /date type xfs (rw,relatime,attr2,inode64,usrquota,grpquota)
[root@PSD /]# chmod g+w,o+w /date/ //允许任何用户写入权限
每次开机后自动以支持配额功能的方式自动挂载
[root@PSD /]# vim /etc/fstab //修改lv01逻辑卷的挂载配置
...... //省略部分
/dev/vg01/lv01 /date xfs defaults,usrquota,grpquota 0 0
[root@PSD /]# useradd zhangsan
[root@PSD /]# passwd zhangsan
更改用户 zhangsan 的密码 。
新的 密码:
无效的密码: 密码未通过字典检查 - 过于简单化/系统化
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@PSD /]#
[root@PSD /]# xfs_quota -x -c 'limit -u bhard=500M bsoft=450M zhangsan' /date/
bdqn组的用户合计最多只能使用4MB磁盘空间
[root@PSD /]# groupadd bdqn
[root@PSD /]# useradd lisi
[root@PSD /]# passwd lisi
更改用户 lisi 的密码 。
新的 密码:
无效的密码: 密码未通过字典检查 - 过于简单化/系统化
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@PSD /]# gpasswd -a lisi bdqn
正在将用户“lisi”加入到“bdqn”组中
[root@PSD /]# xfs_quota -x -c 'limit -g bhard=4 bdqn' /date
验证磁盘配额功能
用户zhangsan
[zhangsan@PSD ~]$ cd /date
[zhangsan@PSD date]$ dd if=/dev/zero of=/date/test bs=100M count=4
记录了4+0 的读入
记录了4+0 的写出
419430400字节(419 MB)已复制,2.46541 秒,170 MB/秒
[zhangsan@PSD date]$ dd if=/dev/zero of=/date/test bs=100M count=6
dd: 写入"/date/test" 出错: 超出磁盘限额
记录了6+0 的读入
记录了5+0 的写出
524288000字节(524 MB)已复制,0.93068 秒,563 MB/秒
[zhangsan@PSD date]$
文章来源:https://www.cnaaa.net,转载请注明出处:https://www.cnaaa.net/archives/12195