知识点导引:










实验 1.创建LVM和卷组、逻辑卷的扩容



[root@server10 ~]# fdisk -l | grep sd 查看以sd开头的磁盘
Disk /dev/sda: 100 GiB, 107374182400 bytes, 209715200 sectors
/dev/sda1 2048 6143 4096 2M 83 Linux
/dev/sda2 * 6144 1030143 1024000 500M 83 Linux
/dev/sda3 1030144 209715199 208685056 99.5G 8e Linux LVM
Disk /dev/sdb: 20 GiB, 21474836480 bytes, 41943040 sectors
Disk /dev/sdd: 20 GiB, 21474836480 bytes, 41943040 sectors
Disk /dev/sdc: 20 GiB, 21474836480 bytes, 41943040 sectors
[root@server10 ~]#
[root@server10 ~]# gdisk /dev/sdb 对sd磁盘进行分区
GPT fdisk (gdisk) version 1.0.7
Partition table scan:
MBR: not present
BSD: not present
APM: not present
GPT: not present
Creating new GPT entries in memory.
Command (? for help): n 新建分区
Partition number (1-128, default 1): 1 创建第一个主导分区
First sector (34-41943006, default = 2048) or {+-}size{KMGTP}: 默认起始位置
Last sector (2048-41943006, default = 41943006) or {+-}size{KMGTP}:
Current type is 8300 (Linux filesystem)
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Command (? for help): w 保存并退出
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y 写入进程表里
OK; writing new GUID partition table (GPT) to /dev/sdb.
The operation has completed successfully.
[root@server10 ~]#

[root@server10 ~]# gdisk /dev/sdc 对sdc磁盘进行分区
GPT fdisk (gdisk) version 1.0.7
Partition table scan:
MBR: not present
BSD: not present
APM: not present
GPT: not present
Creating new GPT entries in memory.
Command (? for help): n
Partition number (1-128, default 1): 1
First sector (34-41943006, default = 2048) or {+-}size{KMGTP}:
Last sector (2048-41943006, default = 41943006) or {+-}size{KMGTP}:
Current type is 8300 (Linux filesystem)
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sdc.
The operation has completed successfully.
[root@server10 ~]#
[root@server10 ~]#

[root@server10 ~]# gdisk /dev/sdd
GPT fdisk (gdisk) version 1.0.7
Partition table scan:
MBR: not present
BSD: not present
APM: not present
GPT: not present
Creating new GPT entries in memory.
Command (? for help): n
Partition number (1-128, default 1): 1
First sector (34-41943006, default = 2048) or {+-}size{KMGTP}:
Last sector (2048-41943006, default = 41943006) or {+-}size{KMGTP}:
Current type is 8300 (Linux filesystem)
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sdd.
The operation has completed successfully.
[root@server10 ~]#

[root@server10 ~]# fdisk -l | grep sd
Disk /dev/sda: 100 GiB, 107374182400 bytes, 209715200 sectors
/dev/sda1 2048 6143 4096 2M 83 Linux sda1 有分区了
/dev/sda2 * 6144 1030143 1024000 500M 83 Linux
/dev/sda3 1030144 209715199 208685056 99.5G 8e Linux LVM
Disk /dev/sdb: 20 GiB, 21474836480 bytes, 41943040 sectors
/dev/sdb1 2048 41943006 41940959 20G Linux filesystem
Disk /dev/sdd: 20 GiB, 21474836480 bytes, 41943040 sectors
/dev/sdd1 2048 41943006 41940959 20G Linux filesystem
Disk /dev/sdc: 20 GiB, 21474836480 bytes, 41943040 sectors
/dev/sdc1 2048 41943006 41940959 20G Linux filesystem
[root@server10 ~]#
[root@server10 ~]# pvcreate /dev/sdb1 /dev/sdd1 /dev/sdc1 将sdb1,sdd1,sdc1三块磁盘创建物理卷
Physical volume "/dev/sdb1" successfully created.
Physical volume "/dev/sdd1" successfully created.
Physical volume "/dev/sdc1" successfully created.
[root@server10 ~]#
[root@server10 ~]# vgcreate vg1 /dev/sdb1 /dev/sdd1 /dev/sdc1 将sdb1,sdd1,sdc1三块磁盘创建卷组vg1
Volume group "vg1" successfully created
[root@server10 ~]#
[root@server10 ~]# vgs 查看卷组信息
VG #PV #LV #SN Attr VSize VFree
rl 1 2 0 wz--n- <99.51g 0
vg1 3 0 0 wz--n- <59.99g <59.99g VSize <59.99g 查看卷组容量
[root@server10 ~]# lvcreate -l +100%free -n lv1 vg1 将卷组vg1的全部容量创建逻辑卷lv1
Logical volume "lv1" created.
[root@server10 ~]#

[root@server10 ~]# lvs 查看逻辑卷的信息
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root rl -wi-ao---- <95.51g
swap rl -wi-ao---- 4.00g
lv1 vg1 -wi-a----- <59.99g 看<59.99g
[root@server10 ~]# blkid 查看硬盘的UUID号
/dev/mapper/vg1-lv1: UUID="bfe9ed31-cb47-4374-85c1-561b9b6ae7ed" TYPE="xfs" /dev/mapper/vg1-lv1是逻辑卷的lv1
[root@server10 ~]# vim /etc/fstab 编辑开机启动配置文件

UUID=bfe9ed31-cb47-4374-85c1-561b9b6ae7ed 文件系统是xfs 逻辑卷lv1的UUID /data挂载到data目录下 xfs defaults 默认参数 0 不备份0开机不检查磁盘

[root@server10 ~]# mkdir /data 创建/data目录
[root@server10 ~]#
[root@server10 ~]# systemctl daemon-reload 重新加载系统进程
[root@server10 ~]#
[root@server10 ~]# mount -a 重新加载挂载项
[root@server10 ~]#
[root@server10 ~]# df -hT 查看磁盘容量
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs tmpfs 1.8G 0 1.8G 0% /dev/shm
tmpfs tmpfs 726M 9.1M 717M 2% /run
/dev/mapper/rl-root xfs 96G 3.9G 92G 4% /
/dev/sda2 xfs 436M 297M 140M 69% /boot
tmpfs tmpfs 363M 4.0K 363M 1% /run/user/0
/dev/mapper/vg1-lv1 xfs 60G 461M 60G 1% /data 主要看逻辑卷 这一行

/dev/mapper/vg1-lv1 xfs 60G 461M 60G 1% /data 主要看逻辑卷 这一行

shutdown -h now
关机(注意不还原系统),后在添加第四块硬盘 20G
实验二:磁盘配额


[root@server10 ~]# fdisk -l | grep sd
Disk /dev/sda: 100 GiB, 107374182400 bytes, 209715200 sectors
/dev/sda1 2048 6143 4096 2M 83 Linux sda1 有分区了
/dev/sda2 * 6144 1030143 1024000 500M 83 Linux
/dev/sda3 1030144 209715199 208685056 99.5G 8e Linux LVM
Disk /dev/sdb: 20 GiB, 21474836480 bytes, 41943040 sectors
/dev/sdb1 2048 41943006 41940959 20G Linux filesystem
Disk /dev/sdd: 20 GiB, 21474836480 bytes, 41943040 sectors
/dev/sdd1 2048 41943006 41940959 20G Linux filesystem
Disk /dev/sdc: 20 GiB, 21474836480 bytes, 41943040 sectors
/dev/sdc1 2048 41943006 41940959 20G Linux filesystem
[root@server11 ~]# gdisk /dev/sde
GPT fdisk (gdisk) version 1.0.7
Partition table scan:
MBR: not present
BSD: not present
APM: not present
GPT: not present
Creating new GPT entries in memory.
Command (? for help): n
Partition number (1-128, default 1): 1
First sector (34-41943006, default = 2048) or {+-}size{KMGTP}:
Last sector (2048-41943006, default = 41943006) or {+-}size{KMGTP}:
Current type is 8300 (Linux filesystem)
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sde.
The operation has completed successfully.

[root@server10 ~]# pvcreate /dev/sde1 创建物理卷sde1
Physical volume "/dev/sde1" successfully created.
[root@server10 ~]#
[root@server10 ~]# vgextend vg1 /dev/sde1 将物理卷sde1扩展成卷组vg1
Volume group "vg1" successfully extended
[root@server10 ~]#
[root@server10 ~]# vgs 查看卷组信息
VG #PV #LV #SN Attr VSize VFree
rl 1 2 0 wz--n- <99.51g 0
vg1 4 1 0 wz--n- 79.98g <20.00g

[root@server10 ~]# lvextend -l +100%FREE /dev/vg1/lv1 100%扩展逻辑卷lv1
Size of logical volume vg1/lv1 changed from <59.99 GiB (15357 extents) to 79.98 GiB (20476 extents).
Logical volume vg1/lv1 successfully resized.
[root@server10 ~]#
[root@server10 ~]# lvs 查看逻辑卷信息
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root rl -wi-ao---- <95.51g
swap rl -wi-ao---- 4.00g
lv1 vg1 -wi-ao---- 79.98g
[root@server10 ~]#
[root@server10 ~]# xfs_growfs /dev/vg1/lv1 在线扩容Lv1
meta-data=/dev/mapper/vg1-lv1 isize=512 agcount=4, agsize=3931392 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1 bigtime=1 inobtcount=1 nrext64=0
data = bsize=4096 blocks=15725568, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=16384, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 15725568 to 20967424
[root@server10 ~]#
[root@server10 ~]# df -hT 查看磁盘容量
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs tmpfs 1.8G 0 1.8G 0% /dev/shm
tmpfs tmpfs 726M 9.1M 717M 2% /run
/dev/mapper/rl-root xfs 96G 3.9G 92G 4% /
/dev/mapper/vg1-lv1 xfs 80G 603M 80G 1% /data
/dev/sda2 xfs 436M 297M 140M 69% /boot
tmpfs tmpfs 363M 4.0K 363M 1% /run/user/0

[root@server10 ~]# cd /data/ 进入data目录
[root@server10 data]# echo "1111" >1.txt 创建一个1.txt的文件,写入内容11111
[root@server10 data]# ls
1.txt
[root@server10 data]# cd
[root@server10 ~]#
[root@server10 ~]# df -hT 查看磁盘容量
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs tmpfs 1.8G 0 1.8G 0% /dev/shm
tmpfs tmpfs 726M 9.1M 717M 2% /run
/dev/mapper/rl-root xfs 96G 3.9G 92G 4% /
/dev/mapper/vg1-lv1 xfs 80G 604M 80G 1% /data 604M
/dev/sda2 xfs 436M 297M 140M 69% /boot
tmpfs tmpfs 363M 4.0K 363M 1% /run/user/0

[root@server10 ~]# vim /etc/fstab 编辑开机启动配置文件

UUID=bfe9ed31-cb47-4374-85c1-561b9b6ae7ed /data xfs defaults,usrquota,grpquota usrquota,grpquota添加用户配额,添加组配额 (添加的目的,让系统支持配额) 0 0

[root@server10 ~]# reboot 重启系统

[root@server10 ~]# xfs_quota -x -c 'report' /data/ 查看data目录磁盘配额信息(-x 专家模式 -c 后面加指令)
User quota on /data (/dev/mapper/vg1-lv1)
Blocks
User ID Used Soft Hard Warn/Grace
---------- --------------------------------------------------
root 4 0 0 00 [--------]
Group quota on /data (/dev/mapper/vg1-lv1)
Blocks
Group ID Used Soft Hard Warn/Grace
---------- --------------------------------------------------
root 4 0 0 00 [--------]
[root@server10 ~]#
[root@server10 ~]# useradd jobs 创建jobs用户
[root@server10 ~]#
[root@server10 ~]# passwd jobs 给jobs用户设置密码
Changing password for user jobs.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.
[root@server10 ~]#
[root@server10 ~]# xfs_quota -x -c "limit bsoft=20M bhard=30M jobs" /data在data目录下给jobs 用户设置配额,软限制20M,硬限制30M
[root@server10 ~]#
[root@server10 ~]# xfs_quota -x -c 'report' /data/ 查看data目录的磁盘配额信息
User quota on /data (/dev/mapper/vg1-lv1)
Blocks
User ID Used Soft Hard Warn/Grace
---------- --------------------------------------------------
root 4 0 0 00 [--------]
jobs 0 20480 30720 00 [--------]
Group quota on /data (/dev/mapper/vg1-lv1)
Blocks
Group ID Used Soft Hard Warn/Grace
---------- --------------------------------------------------
root 4 0 0 00 [--------]

[root@server10 ~]# chmod 777 /data 给data目录添加777权限

[root@server10 ~]# su - jobs 切换到jobs用户
[jobs@server10 ~]$
[jobs@server10 ~]$ cd /data/ 进入data目录下
[jobs@server10 data]$ dd if=/dev/zero of=/data/file01 bs=1M count=50
在data目录下,生成一个块设备文件file1(主要用于测试)大小50M,dd命令可以标准输入或文件中读取数据,根据指定的格式来转换数据,再输出到文件、设备或标准输出,常用于刻录启动光盘、备份硬盘文件和格式化硬盘数据等操作。If指源文件,of目标文件,bs块的大小,count块的个数
dd: error writing '/data/file01': Disk quota exceeded
error writing写入错误 Disk quota exceeded磁盘配额超出范围
31+0 records in
30+0 records out
31457280 bytes (31 MB, 30 MiB) copied, 0.0154716 s, 2.0 GB/s
[jobs@server10 data]$ ls
1.txt file01
[jobs@server10 data]$ rm * 删除所有文件
rm: remove write-protected regular file '1.txt'? y
[jobs@server10 data]$
[jobs@server10 data]$
[jobs@server10 data]$ dd if=/dev/zero of=/data/file02 bs=1M count=10 在data目录下生成块设备文件file02,大小10兆
10+0 records in
10+0 records out
10485760 bytes (10 MB, 10 MiB) copied, 0.0051981 s, 2.0 GB/s
[jobs@server10 data]$ ls
file02
[jobs@server10 data]$ exit
logout
[root@server10 ~]#
[root@server10 ~]# xfs_quota -x -c 'report' /data/查看data目录配额信息
User quota on /data (/dev/mapper/vg1-lv1)
Blocks
User ID Used Soft Hard Warn/Grace
---------- --------------------------------------------------
root 0 0 0 00 [--------]
jobs 10240 20480 30720 00 [--------]
Group quota on /data (/dev/mapper/vg1-lv1)
Blocks
Group ID Used Soft Hard Warn/Grace
---------- --------------------------------------------------
root 0 0 0 00 [--------]
jobs 10240 0 0 00 [--------]

[root@server10 ~]# groupadd sales 创建销售组
[root@server10 ~]#
[root@server10 ~]# useradd -g sales jack 创建jack用户,添加到销售组中
[root@server10 ~]#
[root@server10 ~]# xfs_quota -x -c "limit -g bsoft=50M bhard=70M sales" /data/ (软限制50M,硬限制790兆)在data目录下,创建销售组的组配额
[root@server10 ~]#
[root@server10 ~]# xfs_quota -x -c 'report' /data/
User quota on /data (/dev/mapper/vg1-lv1)
Blocks
User ID Used Soft Hard Warn/Grace
---------- --------------------------------------------------
root 0 0 0 00 [--------]
jobs 0 20480 30720 00 [--------]
Group quota on /data (/dev/mapper/vg1-lv1)
Blocks
Group ID Used Soft Hard Warn/Grace
---------- --------------------------------------------------
root 0 0 0 00 [--------]
sales 0 51200 71680 00 [--------]
[root@server10 ~]# su - jack 切换到jack用户下
[jack@server10 ~]$
[jack@server10 ~]$ cd /data/ 进入data目录
[jack@server10 data]$
[jack@server10 data]$ dd if=/dev/zero of=/data/file03 bs=1M count=100 在data目录下,生成块设备文件data 03,大小100兆
dd: error writing '/data/file03': Disk quota exceeded 写入错误,磁盘配额超出范围
71+0 records in
70+0 records out
73400320 bytes (73 MB, 70 MiB) copied, 0.0358014 s, 2.1 GB/s
[jack@server10 data]$
[jack@server10 data]$ rm *
[jack@server10 data]$

[jack@server10 data]$
[jack@server10 data]$ dd if=/dev/zero of=/data/file03 bs=1M count=10
10+0 records in
10+0 records out
10485760 bytes (10 MB, 10 MiB) copied, 0.00505062 s, 2.1 GB/s
[jack@server10 data]$ ls
file03