一、磁盘的配额
限制某一用户或者某一群组所能使用的最大磁盘配额。配额只是针对与设备而言。
1.创建配额环境
1. 用fdisk /dev/vdb 创建一个分区vdb1
2. 用mkfs.xfs命令格式化文件系统
3. 用 mount -o usrquota /dev/vdb1 /mnt 以配额的方式挂载
4.用 chmod 777 /mnt 给 /mnt 满权限
5.用 mount 查看它的挂载方式为配额
2.用户的临时配额
打开配置文件 给用户 student 配额
给用户student 配额,最大额度为20480k即20M
3.用户的永久配额
vim /etc/fstab
4.检测
切换到student 用户下
dd if=/dev/zero of=/mnt/studentfile bs=1M count=20
分割 输入文件无限零字节 输出文件 大小 个数
如果超过20M的个数额度,将无法分割。
二、LVM逻辑卷的创建与管理
1.LVM的认识
将一个或多个底块设备(包括RAID)组织成一个 逻辑存储空间,
逻辑卷工作机制:
PV刚被创建是没有PE的,只有PV加入vG以后才会确定PV上的PE有多大,每一个PV都会等分固定大小块的PE,由于这个快的大小是由VG决定的,所 以,一个PV只有加入PV以后,PE才有固定大小,我们划分LV的时候,就是把Pe固定块大小组合起来形成一个存储空间,一旦PE被划分出来组织成LV, 那他就叫做LE,所谓的逻辑盘,我们扩展逻辑盘的边界大小,就是通过PE来完成的。逻辑卷的大小是可以缩减的,通过LE的增加和缩减来完成,我们也可以称 作PE。
PV(Physica lVolume) 物理卷
VG(Volume Group) 物理卷组
PE(Physical Extend) 物理扩展,LVM最小的存储块
LV(Logical Volume) 逻辑卷
2.LVM的创建
用fdisk /dev/vdb 创建一个大小为1000M的 linux LVM分区 vdb1
创建物理卷 PV
创建物理卷组 VG
创建逻辑卷LV -L 为指定大小 -n 为指定名称
用xfs文件系统格式化
然后挂载在mnt下
挂载成功后可以正常使用。
3.LVM的拉伸
为了方便查看以下操作打开两个终端,一个做监控行使用。
watch -n 1 'pvs;echo ==;vgs;echo ===;lvs;echo ===;df -h /mnt '
fdisk /dev/vdb 创建一个分区vdb2
pvcreate /dev/vdb2 再创建一个物理卷
vgextend vg0 /dev/vdb2 增加物理卷组
lvextend -L 1500M /dev/vg0/lv0 拉伸逻辑卷
xfs_growfs /dev/vg0/lv0 将文件系统扩容
从监控系统中可以看到lv0 最后被拉伸为1.5G ,实验成功。
4.LVM的缩减
1.ext4 格式下的拉伸
由于xfs 文件系统只能被拉伸不能被缩减,所以我们将 /dev/vg0/lv0 转换成ext4 格式
mkfs.ext4 /dev/vg0/lv0 格式化之前需要先卸载
mount /dev/vg0/lv0 /mnt 然后重新挂载
lvextend -L 1800M /dev/vg0/lv0 扩展( 拉伸 )设备
resize2fs /dev/vg0/lv0 重新设定大小 ( 拉伸文件系统)
2.ext4 格式下的缩减
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 将1中的数据放入2中
vgreduce vg0 /dev/vdb1 将vdb1从vg0中取出
pvremove /dev/vdb1 移除vdb1
5.LVM的快照
这项功能很类似于我们其他软件的还原时间点功能。例如我们可以对某一个LV逻辑卷设备做一次快照,如果今后发现数据被改错了,咱们可以将之前做好的快照卷 进行覆盖还原,LVM逻辑卷管理器的快照功能有两项特点,第一是快照卷的大小应该尽量等同于LV逻辑卷的容量,第二是快照功能仅一次有效,一旦被还原后则 会被自动立即删除。
《1.在/dev/vg0/lv0挂载的情况下touch /mnt/file{1..10}
《2.lvcreate -L 100M -n lv0backup -s /dev/vg0/lv0 创建快照
-L 参数来指定切割的大小 ; -n 参数来指定创建快照的名称 ; -s 参数来生成一个快照卷
《3.mount /dev/vg0/lv0backup /mnt/ 将快照进行挂载
《4.rm -rf /mnt/file{1..10} 删除文件
umount /mnt/ 并且卸载
lvremove /dev/vg0/lv0backup 再将快照移除
《5.lvcreate -L 100M -n lv0backup -s /dev/vg0/lv0 重新创建快照
《6.mount /dev/vg0/lv0backup /mnt/ 重新挂载
《7.ls /mnt 查看 发现文件依然存在
6.LVM的删除
umount 删除之前先卸载
lvremove /dev/vg0/lv0backup 移除快照
lvremove /dev/vg0/lv0 移除逻辑卷
vgremove vg0 移除物理卷组
pvremove /dev/vdb{1..2} 移除物理卷
fdisk /dev/vdb 删除分区vdb1、vdb2
partprobe 刷新分区表
7.关于LVM的命令
pvcreate 设备名称 创建物理设备
vgcreate vg0 设备名称 创建物理卷组为 vg0
lvcreate -L 500M -n lv0 vg0 从vg0中分出500M 并创建逻辑卷名为lv0
vgextend vg0 设备名称 将设备容量放到vg0中
lvextend -L 500M 设备名称 向设备中添加500M (将容量扩展500M)
resize2fs 设备名称 1000M 重新设定设备大小为1000M
e2fsck -f 设备名称 设备扫描
vgreduce vg0 设备名称 将vg0缩减
lvreduce -L 1000M 设备名称 将设备容量缩减为1000M
pvmove 设备1 设备2 将设备1中的数据移动到设备2
pvremove 设备名称 删除物理卷设备
vgremove vg0 删除物理卷组vg0
lvremove 设备名称 删除逻辑卷设备