linux---磁盘配额,存储管理LVM(扩容,缩减,快照,删除)

磁盘配额

限额是针对于设备
dd截取 if=/dev/zero无线零字节 of=/mnt/studentfile复制到/mnt/下 bs=1M大小 count=10数据块
blocks表示student在vdb1上有多少数据
soft表示数据软限
hard表示数据上限(不能超过) 20480
inodes文件的个数
soft表示文件的软限
hard表示文件上限

实验步骤:在虚拟机server

[root@localhost ~]# fdisk /dev/vdb  ##建立一个给100M
[root@localhost ~]# mkfs.xfs /dev/vdb1 ##格式化vdb1
[root@localhost ~]# mount -o usrquota /dev/vdb1 /mnt/  ##激活配额参数
[root@localhost ~]# mount    ##查看配额参数是否被激活
/dev/vdb1 on /mnt type xfs (rw,relatime,seclabel,attr2,inode64,usrquota) ##最后有这句话是已经被激活
[root@localhost ~]# chmod 777 /mnt    ##给权限
[root@localhost ~]# edquota -u student    
##设置配额参数(student在vdb1上写的数据大小20480为20M)内容如下图截屏为主
[root@localhost ~]$ vim /etc/fstab   ##永久挂载
 写入:/dev/vdb1  /mnt  xfs  defaults,usrquota  0 0

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

[root@localhost ~]# su - student
[student@localhost ~]$ dd if=/dev/zero of=/mnt/studentfile bs=1M count=21  ##数据块超出20M已经达到上限

这里写图片描述

[student@localhost ~]$ dd if=/dev/zero of=/mnt/studentfile bs=1M count=19   ##在20M之内

这里写图片描述
注意:
1.先挂载再修改权限,不然挂载后会覆盖原内容
2.根据磁盘的空间设置有效配额
3.截取时不能超过设置的有效配额参数


存储管理LVM

pv物理卷,处于lvm最底层,可以是物理硬盘或者分区
vg物理卷组
pe物理扩展
lvm逻辑卷管理

实验步骤:在虚拟机server里,先建立一个LVM

[root@localhost ~]# fdisk /dev/vdb   
##创建三个分区,给1000M空间  t-->8e(如图)

这里写图片描述

[root@localhost ~]# pvcreate /dev/vdb1   ##创建物理卷/dev/vdb1
[root@localhost ~]# vgcreate vg0 /dev/vdb1   ##创建物理卷组
[root@localhost ~]# lvcreate -L 300M -n lv0(自定义) vg0   ##在卷组上创建名为lv0,大小为500的逻辑卷(-L指定创建的LV大小,-l指定创建的LV的PE数量,-n是LV的名字)
[root@localhost ~]# mkfs.xfs /dev/vg0/lv0   ##格式化
[root@localhost ~]# mount /dev/vg0/lv0 /mnt   ##挂载【linux下的文件系统需要被挂载后才能使用】
[root@localhost ~]# df

这里写图片描述


监控命令: watch -n 1 ‘pvs;vgs;lvs;df -h /mnt’
1.扩容:
xfs系统中的扩容:
情况一:vg足够扩展

[root@localhost ~]# lvextend -L 500M /dev/vg0/lv0   ##扩展逻辑卷空间到500M
[root@localhost ~]# xfs_growfs /dev/vg0/lv0   ##扩展文件系统

这里写图片描述

情况二:vg不够拉伸,得先扩大设备再扩大系统

[root@localhost ~]# pvcreate /dev/vdb2  ##创建物理卷/dev/vdb2
[root@localhost ~]# vgextend vg0 /dev/vdb2  ##将新的物理卷vdb2添加到现有的卷组vg0
[root@localhost ~]# lvextend -L 1500M /dev/vg0/lv0##增加逻辑卷空间到1000M
监控上看到:lv0  vg0  -wi-ao---- 1.46g
[root@localhost ~]# xfs_growfs /dev/vg0/lv0
监控上看: 
/dev/mapper/vg0-lv0  1.5G   16M  1.5G   2% /mnt

这里写图片描述

ext4系统的扩容

[root@localhost ~]# umount /mnt   ##先卸载
[root@localhost ~]# mkfs.ext4 /dev/vg0/lv0   ##格式化逻辑卷
[root@localhost ~]# mount /dev/vg0/lv0 /mnt/ ##挂载
[root@localhost ~]# lvextend -L 1800M /dev/vg0/lv0  ##增加逻辑卷空间
  Extending logical volume lv0 to 1.76 GiB
  Logical volume lv0 successfully resized
[root@localhost ~]# resize2fs /dev/vg0/lv0  ##更新逻辑卷信息

这里写图片描述
这里写图片描述

2.缩减逻辑卷空间:

[root@localhost ~]# umount /mnt  ##先卸载
[root@localhost ~]# e2fsck -f /dev/vg0/lv0  ##扫描逻辑卷上的空余空间
[root@localhost ~]# resize2fs /dev/vg0/lv0 1000M    ##设备文件减少到1000M
[root@localhost ~]# mount /dev/vg0/lv0 /mnt   ##挂载
[root@localhost ~]# lvreduce -L 1000M /dev/vg0/lv0   ##将逻辑卷减少到1000M

这里写图片描述
这里写图片描述

3.缩减vg:(迁移到闲置设备)

[root@localhost ~]# pvmove /dev/vdb1 /dev/vdb2  ##将vdb1的空间数据转移到vdb2
  /dev/vdb1: Moved: 88.0%
  /dev/vdb1: Moved: 100.0%    ##转移数据成功
[root@localhost ~]# vgreduce vg0 /dev/vdb1   ##将分区从vg0卷组中移除
  Removed "/dev/vdb1" from volume group "vg0"
[root@localhost ~]# pvremove /dev/vdb1   ##把分区从系统中删除
  Labels on physical volume "/dev/vdb1" successfully wiped
**报错:**
[root@localhost ~]# pvmove /dev/vdb1 /dev/vdb2
  Insufficient free space: 249 extents needed, but only 248 available
  Unable to allocate mirror extents for pvmove0.
  Failed to convert pvmove LV to mirrored

vdb1 缩的不够小,vdb2容不下。所以说,得再重新缩小vdb1.

注意:将vdb1的空间数据转移到vdb2时,要确保vdb2的足够的空间能将vdb1的数据转移,否则需要先将vdb1缩减。

4.快照:

[root@localhost ~]# touch /mnt/file{1..5}
[root@localhost ~]# lvcreate -L 50M -n lv0backup -s /dev/vg0/lv0  ##建立一个50M的快照
[root@localhost ~]# mount /dev/vg0/lv0backup /mnt  
[root@localhost ~]# cd /mnt
[root@localhost mnt]# ls
[root@localhost mnt]# rm -fr *   ##删除所有文件
[root@localhost mnt]# cd
[root@localhost ~]# umount /mnt
[root@localhost ~]# lvremove /dev/vg0/lv0backup 
[root@localhost ~]# lvcreate -L 50M -n lv0backup -s /dev/vg0/lv0
[root@localhost ~]# mount /dev/vg0/lv0backup /mnt   ##挂载快照
[root@localhost ~]# ls /mnt  ##又可以看到之前建立的文件

这里写图片描述

分析: LVM的快照可以将某一时刻的信息记录到快照区中,因此,可以利用这一特点对数据做完全备份。

5.删除设备:

[root@localhost ~]# umount /mnt  ##卸载
[root@localhost ~]# df
[root@localhost ~]# lvremove /dev/vg0/lv0backup    ##删除快照
[root@localhost ~]# lvremove /dev/vg0/lv0    ##删除逻辑卷
[root@localhost ~]# vgremove vg0   ##删除物理卷组
[root@localhost ~]# pvremove /dev/vdb{1..2}  ##删除物理卷

这里写图片描述
这里写图片描述

这里写图片描述

注意:
做LVM 实验时一定要先卸载,否则扩容,缩减或删除时会出现报错(Logical volume vg0/lv0 contains a filesystem in use.)这属于正在被使用状态,无法进行操作。但是操作后一定需要挂载,因为操作被挂载后才能使用。

猜你喜欢

转载自blog.csdn.net/argued_d/article/details/80229050
今日推荐