概述:pvcreate用于将整个分区或整个硬盘转换成物理卷,主要是添加LVM属性信息并且划分PE存储单位。
格式:pvcreate 设备名1 设备名2…
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 :显示所有物理卷信息
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
? vgcreate abc /dev/sd[bc] 通配符方法创建组名abc的卷组
[root@localhost ~]# vgcreate abc /dev/sd[bc]
Volume group "abc" successfully created
? 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中
用于从指定的卷组中分割空间,创建新的逻辑卷,需要指定逻辑卷的大小名称及所在的卷组作为参数
格式:lvcreate -L 逻辑卷容量大小 -n 逻辑卷名 卷组名
lvcreate -n mysql -L 10G abc:从卷组abc中划出10G创建名为mysql的逻辑卷
[root@localhost ~]# lvcreate -n mysql -L 10G abc
Logical volume "mysql" created.
[root@localhost ~]# ll /dev/abc/mysql
lrwxrwxrwx. 1 root root 7 12月 28 15:14 /dev/abc/mysql -> ../dm-2
[root@localhost ~]# ll /dev/mapper/abc-mysql
lrwxrwxrwx. 1 root root 7 12月 28 15:14 /dev/mapper/abc-mysql -> ../dm-2
概述:用于显示逻辑卷的详细信息,可使用卷组名作为参数,以显示该卷组中的所有逻辑卷信息,若不指定卷组名,则显示全部逻辑卷信息
格式: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
概述:动态扩展逻辑卷的空间,可以从所在卷组中分割额外的空间进行扩展,只需指定增加的容量大小及逻辑卷文件位置即可,前提是该卷组中还有未分配的磁盘空间,否则需要先扩充卷组
格式: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
注:如果未生效可以使用刷新命令
命令:xfs_growfs /dev/卷组名/逻辑卷名——刷新xfs文件系统容量
? resize2fs /dev/卷组名/逻辑卷名——刷新ext4文件系统容量
需要使用的话,还要进行格式化和挂载的步骤
lvm如果使用分区,要修改分区类型为(t)8e,
pvcreate /dev/sdb1 /dev/sdc #建立物理卷(可以省略)
vgcreate vg1 /dev/sdb1 /dev/sdc #建立卷组取名vg1,并将/dev/sdb1 /dev/sdc 加入卷组
lvcreate -n mysql -L 10G vg1 #建立逻辑卷,-n指定逻辑卷的名字,-L指定大小,pe是从vg1卷组中来
/dev/vg1/mysql 或者 /dev/mapper/vg1-mysql #新建立逻辑卷的名字
假设卷组空间不够,先扩容卷组vg1
vgextend 卷组名 设备名(如:vgextend vg1 /dev/sdd) #扩容卷组vg1
再扩容逻辑卷
lvextend -L 指定大小 逻辑卷名(如:lvextend -L +5G /dev/vg1/mysql) #扩容逻辑卷
xfs格式:xfs_growfs /mnt 或者
lvextend -L +5G /dev/vg1/mysql -r(扩容逻辑卷时,加选项-r,会立马同步文件系统) #同步文件系统
-r:立马同步文件系统
rpm -q xfsprogs(安装) #检查是否已经安装xfsprogs
rqm -q quota #检查是否已经安装quote
yum install -y xfsprogs quota #如果未安装使用yum install命令安装即可
[root@localhost ~]# rpm -q xfsprogs
xfsprogs-4.5.0-12.el7.x86_64
[root@localhost ~]# rpm -q quota
quota-4.01-19.el7.x86_64
添加usrquota、grpquota 挂载参数
格式:mount -o usrquota,grpquota /dev/卷组名/逻辑卷名
[root@localhost ~]# mount -o usrquota,grpquota /dev/abc/mysql /mnt
[root@localhost ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root xfs 50G 3.5G 47G 7% /
devtmpfs devtmpfs 897M 0 897M 0% /dev
tmpfs tmpfs 912M 0 912M 0% /dev/shm
tmpfs tmpfs 912M 9.2M 903M 2% /run
tmpfs tmpfs 912M 0 912M 0% /sys/fs/cgroup
/dev/sda1 xfs 5.0G 179M 4.9G 4% /boot
tmpfs tmpfs 183M 4.0K 183M 1% /run/user/42
tmpfs tmpfs 183M 48K 183M 1% /run/user/0
/dev/sr0 iso9660 4.3G 4.3G 0 100% /run/media/root/CentOS 7 x86_64
/dev/mapper/abc-mysql xfs 20G 33M 20G 1% /mnt
-x∶ 表示启动专家模式,在当前模式下允许对配额系统进行修改的所有管理命令可用
-c∶ 表示直接调用管理命令
-u∶ 指定用户账号对象
-g∶ 指定组账号对象
bsoft∶ 设置磁盘容量的软限制数值(默认单位为 KB)
bhard∶ 设置磁盘容量的硬限制数值 (默认单位为 KB)
isoft∶设置磁盘文件数的软限制数值
ihard∶设置磁盘文件数的硬限制数值
chmod 777 挂载点
su 用户名
cd 挂载点
dd if=/dev/zero of=挂载点/test.txt bs=10M, count=12 #验证磁盘容量超限
touch {1..20}.txt 验证磁盘文件数超限
dd命令是一个设备转换和连续复制命令
“if=” 指定输入设备(或文件)
“of=” 指定输出设备(或文件)
“bs=” 指定读取数据块大小
“count=” 指定读取数据块的数量
/dev/zero “零”设备文件,可以无限的提取空字符,常用来生成一个特定大小的文件
-a 代表所有用户账号和组账号
-b 代表容量
-i 代表文件数量
-h 代表人性化显示