限额表示对数额的限定,在linux系统中我们可以设置截取磁盘大小的额度。
限额是针对于设备的,而不是针对用户的(我们可以举例:蚂蚁花呗的额度是针对软件本身的,而不是针对每个使用者的)
1.设定配额
(1)mount -o usrquota /dev/vdb1 /mnt 该命令表示挂载的同时激活配额参数,-o 表示激活配额参数
(2)edquota -u student 表示对student用户设置配额参数(设置大小为20480k)
图中的几部分分别表示:
blocks是student在/dev上已经真实存在的文件大小
soft软限(再建立多少大小的文件会受到警告)
hard硬限(最多再建立多少大小的文件)
inodes 已经存在的文件个数
soft 再建立多少个文件会受到警告
hard 最多能再建立多少个文件
(3)chmod 777 /mnt 给/mnt 777的权限,使普通用户也可以操作/mnt
(4)vim /etc/fstab 编辑配置文件,使其开机时读取文件,加载配额
/dev/vdb1 /mnt xfs defaults,usrquota 0 0
(6)su - student
dd if=/dev/zero of=/mnt/studentfile bs=1M count=10(在student下做实验)
当截取大小超过20M时会提示错误
1.划分三个大小为1G 的分区
2.修改格式为8e
3.pvcreate /dev/vdb1 创建pv(划分的磁盘分区,未榨汁的橙子)
4.vgcreate vg0 /dev/vdb1 创建vg(盛放所有果汁的容器)
5.lvcreate -L 300M -n lv0 vg0 创建lv(盛放自己倒出来果汁的容器)
6. mkfs.xfs /dev/vg0/lv0 将自己倒果汁的杯子格式化
7.mount /dev/vg0/lv0 /mnt 将这个杯子挂载在/mnt下
lv0不够向vg要,vg不够向pv要,pv不够就要增加新的硬件设备 (mapper是存放虚拟设备的地方)
在做这个实验的时候,我们可以用一个监控命令来观察lvm的建立
1、直接扩大设备
lvextend -L 500M /dev/vg0/lv0 ##扩大设备(拉大到500M)
xfs_growfs /dev/vg0/lv0 ##扩大文件系统
(下图是扩大.xfs系统的命令和扩大后监控处的情况)
2、当卷组内存不够时:
pvcreate /dev/vdb2 ##建立新的物理卷
vgextend vg0 /dev/vdb2 ##扩展物理卷组
(下图是扩大.xfs系统的命令和扩大后监控处的情况)
lvextend -L 1500M /dev/vg0/lv0 ##扩大设备(拉大到1500M)
xfs_growfs /dev/vg0/lv0 ##扩大文件系统
1.扩大ext4文件系统的设备
umount /mnt ##解除xfs格式文件系统的挂载
mkfs.ext4 /dev/vg0/lv0 ##改变文件系统的格式为ext4
mount /dev/vg0/lv0 /mnt ##挂载
mount ##查看文件系统格式(最后一行)
lvextend -L 1800M /dev/vg0/lv0 ##扩大设备
resize2fs /dev/vg0/lv0 ##扩大文件系统(ext4格式)
2.缩减设备
umount /mnt ##解除挂载
e2fsck -f /dev/vg0/lv0 ##扫描文件系统
resize2fs /dev/vg0/lv0 1000M ##缩减文件系统
mount /dev/vg0/lv0 /mnt ##挂载
lvreduce -L 1000M /dev/vg0/lv0 ##缩减设备
如果移除的设备有数据则需要移到没有数据的设备上
pvmove /dev/vdb1 /dev/vdb2 将vdb2的数据移到vdb1
注意:如果缩减的设备没有数据,则不需要这一步
vgreduce vg0 /dev/vdb1 移除物理卷组
pvremove /dev/vdb1 移除物理卷
我们可以做到像在虚拟机管理中那样,对lvm编写快照,在快照中操作lvm
umount /mnt 解除挂载
cd /mnt
touch westos{1..10} 建立10个文件
lvcreate -L 50M -n lv0backup -s /dev/vg0/lv0 建立快照 -s 表示照的对象是谁 拍得的快照名为lv0bachup
mount /dev/vg0/lv0backup /mnt 把快照挂载在/mnt
cd /mnt
ls
rm -fr *
ls
umount /mnt 解除挂载
lvremove /dev/vg0/lv0back 删除快照
lvcreate -L 50M -n lv0backup -s /dev/vg0/lv0 重新建立快照
mount /dev/vg0/lv0back /mnt 挂载
ls /mnt
umount /mnt ##解除挂载
lvremove /dev/vg0/lv0backup ##移除快照
lvremove /dev/vg0/lv0 ##移除物理卷
vgremove vg0 ##移除卷组
pvremove /dev/vdb{1..2}
删除lvm跟建立lvm的过程正好是相反的,先删除lv,再删除vg,最后移除pv