LVM与磁盘配额
1、PV:物理卷,物理卷是LVM机制的基本存储设备,通常对应一个普通分区或整个硬盘。创建物理卷时,会在分区或硬盘的头部创建一个保留区块,用于记录LVM的属性,并把存储空间分割成默认大小为4MB的基本单元。
VG:卷组,由一个或多个物理卷组成一个整体,称为卷组,在卷组中可以动态地添加或移除物理卷
LV:逻辑卷,从卷组中分割出的一块空间,形成逻辑卷。使用mkfs等工具可在逻辑卷上创建文件系统。
2、LVM的管理命令:
先开始创建物理卷PV:
基本PV命令:
1、 pvcreate 将物理分区新建为pv
pvs/pvscan 查看系统里有pv的磁盘
pvdisplay 显示系统上面的pv状态
pvremove 删除pv
使用fdisk /dev/sdc ,fdisk /dev/sdd创建主分区,标记ID为8e
创建pv:pvcreate /dev/sdc1 /dev/sdd1
2、使用pvs查看新建的PV
[root@localhost /]# pvs
PV VG Fmt Attr PSize PFree
/dev/sdc1 lvm2 — <20.00g <20.00g
/dev/sdd1 lvm2 — <20.00g <20.00g
3、创建VG:
[root@localhost /]# vgcreate test /dev/sdc1 /dev/sdd1
Volume group "test" successfully created
展示VG的信息:
[root@localhost /]# vgs
VG #PV #LV #SN Attr VSize VFree
test 2 0 0 wz–n- 39.99g 39.99g
4、创建LV:
[root@localhost /]# lvcreate -L 29G -n testlv test
Logical volume “testlv” created.
[root@localhost /]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
testlv test -wi-a----- 29.00g
-L,直接指定磁盘的大小,-l,指定PE的个数,推荐使用-L
5、创建之后,查看状态为: LV Status available,进行格式化:
[root@localhost test]# lvdisplay /dev/test/testlv
— Logical volume —
LV Path /dev/test/testlv
LV Name testlv
VG Name test
LV UUID dd2hO7-xdxp-kJGq-VfQn-WDAk-03j3-ODIQp7
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2020-11-23 23:06:08 -0800
LV Status available
open 0
LV Size 29.00 GiB
Current LE 7424
Segments 2
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:0
格式化的操作:
[root@localhost test]# mkfs.xfs /dev/test/testlv
meta-data=/dev/test/testlv isize=512 agcount=4, agsize=1900544 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=7602176, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=3712, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
格式化完成之后,挂载:
[root@localhost /]# mount /dev/test/testlv /opt/lvm
[root@localhost /]# dh -h
bash: dh: command not found…
[root@localhost /]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 18G 4.9G 13G 28% /
devtmpfs 474M 0 474M 0% /dev
tmpfs 489M 0 489M 0% /dev/shm
tmpfs 489M 7.2M 482M 2% /run
tmpfs 489M 0 489M 0% /sys/fs/cgroup
/dev/sdb3 2.0G 33M 2.0G 2% /opt/linux
/dev/sda1 297M 141M 156M 48% /boot
tmpfs 98M 12K 98M 1% /run/user/42
tmpfs 98M 0 98M 0% /run/user/0
/dev/mapper/test-testlv 29G 33M 29G 1% /opt/lvm
6、扩展lvm:
1、扩展前解除挂载:
2、解除挂载之后,拓展:
3、扩展之后格式化:
4、挂载;
[root@localhost /]# mount /dev/test/testlv /opt/lvm/
删除LVM
如果要彻底的来移除LVM的话,需要把创建的步骤反过来操作。
1:卸载 文件系统
2:删除lv
3:删除vg
4:删除pv
[root@localhost /]# umount /dev/test/testlv
[root@localhost /]# lvremove /dev/test/testlv
Do you really want to remove active logical volume test/testlv? [y/n]: y
Logical volume “testlv” successfully removed
[root@localhost /]# vgremove /dev/mapper/test
Volume group “test” successfully removed
[root@localhost /]# pvremove /dev/sdc1 /dev/sdd1
Labels on physical volume “/dev/sdc1” successfully wiped.
Labels on physical volume “/dev/sdd1” successfully wiped.
磁盘配额:
设置磁盘配额,当linux系统的磁盘空间不足时,将无法创建的新的文件,也可能会导致系统崩溃,系统无法启动等问题。为了避免这一情况,我们可以对磁盘配额进行限制
centos7中的磁盘限额配置过程:
检查是否已安装:xfsprogs和xfs_quota
未安装:yum -y install xfsprogs quota
2、已支持配额的方式挂载文件:
配置完之后:mount -a
[root@localhost /]# xfs_quota -x -c ‘limit -u bsoft=100M bhard=200M isoft=4 ihard=5 testpz’ /opt/linux/
-x:启用专家模式,在当前模式下允许对配额系统进行修改的所有命令可用;
-c:直接调用管理命令;
-u:指定用户账户对象;
-g:指定组账号对象;
bsoft:设置磁盘容量的软限制数(默认的单位为KB);
bhard:设置磁盘容量的应限制数(默认的单位为KB);
isoft:设置磁盘文件数的软限制数值;
ihard:设置磁盘文件数的硬限制数值;
仅限制磁盘容量:
xfs_quota -x -c ‘limit -u bosft=100M bhard=800M testpz’ /opt/linux
仅限制磁盘容量:
xfs_quota -x -c ‘limit -u isoft=40 ihard=50 testpz’ /opt/linux
查看配额的限制:
查看存储空间的命令:
[root@localhost /]# xfs_quota -x -c ‘quota -uv testpz’ /opt/linux/
Disk quotas for User testpz (1006)
Filesystem Blocks Quota Limit Warn/Time Mounted on
/dev/sdb3 0 102400 204800 00 [--------] /opt/linux
查看文件数限制的命令:
[root@localhost /]# xfs_quota -x -c ‘quota -i -uv testpz’ /opt/linux/
Disk quotas for User testpz (1006)
Filesystem Files Quota Limit Warn/Time Mounted on
/dev/sdb3 0 40 50 00 [--------] /opt/linux
验证磁盘配额的功能:
chmod 777 /opt/linux 给与操作的权限;
su - testpz
cd /opt/linux
超出磁盘空间的验证:
输入:dd if=/dev/zero of=/opt/linux/tspz.txt bs=10M count=9
输入10M,连续输入9次
超出磁盘配额限制:
[testpz@localhost linux]$ dd if=/dev/zero of=/opt/linux/tspz.txt bs=100M count=9
dd: error writing ‘/opt/linux/tspz.txt’: Disk quota exceeded
3+0 records in
2+0 records out
209715200 bytes (210 MB) copied, 0.957994 s, 219 MB/s
超出文件数限制的验证:
[testpz@localhost linux]$ touch {aa,bb,cc,nn,mm,ll}.txt
touch: cannot touch ‘ll.txt’: Disk quota exceeded
查看配额的内容:
1、[root@localhost /]# xfs_quota -x -c ‘report -a’
User quota on /opt/linux (/dev/sdb3)
Blocks
User ID Used Soft Hard Warn/Grace
root 0 0 0 00 [--------]
testpz 0 102400 204800 00 [--------]
Group quota on /opt/linux (/dev/sdb3)
Blocks
Group ID Used Soft Hard Warn/Grace
root 0 0 0 00 [--------]
testpz 0 0 0 00 [--------]
2、
[root@localhost /]# xfs_quota -x -c ‘report -abih’
User quota on /opt/linux (/dev/sdb3)
Blocks Inodes
User ID Used Soft Hard Warn/Grace Used Soft Hard Warn/Grace
root 0 0 0 00 [------] 3 0 0 00 [------]
testpz 0 100M 200M 00 [------] 5 4 5 00 [6 days]
Group quota on /opt/linux (/dev/sdb3)
Blocks Inodes
Group ID Used Soft Hard Warn/Grace Used Soft Hard Warn/Grace
root 0 0 0 00 [------] 3 0 0 00 [------]
testpz 0 0 0 00 [------] 5 0 0 00 [------]