磁盘配额(Quota)磁盘阵列(RAID)逻辑卷轴管理器(LVM)学习记录

磁盘配额(quota)

对于用户,群组,或文件夹的大小(blocks)或数量(inodes)做出限制

限制分为软限制(soft)与硬限制(hard),当容量超过软限制时,系统会倒计时警告,若到宽限时间之前不减少容量,则不可新增文件

启用Quota

对于哪个文件系统启用就要首先要写入/etc/fstab
uuid 挂载点 文件系统 defaults, usrquota,[grpquota|prjquota] 0 0

usrquota 为对用户启用限制,grpquota为对群组的限制,prjquota为对目录的限制。
注意:后两者不可同时出现;修改完要重新挂载 (对\好像没用)

Quota指令

以下特指xfs文件系统
xfs_quota -x -c "command" 挂载点
-x:专家模式,后续才能加-c
-c:后面接指令。(反正带着这俩就是了)
command:

  • print:列出文件系统的资料,及是否支持quota
  • report -[ugr] -b -i: 列出对谁做了quota,block和inode的情况
  • state: 支持quota的文件系统的信息
  • limit [-ug] b[soft|hard]=N i[soft|hard]=N 用户名 :对于用户或群组限制容量或文件数量
  • timer [-ug] [-bir] Ndays:宽限时间
  • disable:暂时取消限制,但是仍运作。类似于selinux的permissive
  • enable:恢复管制
  • off:关闭quota。重新挂载后可以恢复,无法用enable恢复
  • remove:在off后执行这条指令将所用用户的限制去掉
    与ext家族对照,来自鸟哥的linux私房菜
    在这里插入图片描述

Quota实例

用户zc在/home下容量的软限制250M,硬限制300M
xfs_quota -x -c "limit -u bsoft=250M hsoft=300M zc" /home
对user群组容量的软限制950M,硬限制1G
xfs_quota -x -c "limit -g bsoft=950M hsoft=1G user /home
设置宽限时间为14天
xfs_quota -x -c "timer -ug -b 14days" /home
观察quota
xfs_quota -x -c "report -ugibh" /home
xfs_quota -x -c "state" /home

软件磁盘阵列

把一堆小磁盘组成一个具有大容量,安全的磁盘

常见的组合方法:

  • raid0 数据同时写到多个磁盘中去,效率高,冗余性无
  • raid1 数据写的时候写两份,就是完全备份,效率无,安全性高
  • raid5 每次写入的时候留一个校验
  • raid10 先组成raid1,再组成raid0

建立方法

madam --create /dev/md[0-9] --auto=yes --level=[0|1|5|10] --chunk=NK --raid-devices=N --spare-devices=N /dev/sdx{0,1,2,..} /dev/hdx{0,1,2,..}
参数

  • --create:建立raid选项
  • --auto=yes:加不加无所谓
  • --chunk=NK:每个装置的chunk或stripe的大小,据说与xfs格式化是大小一致好,可以不写
  • --raid-devices=N:使用几个磁盘(分区)阵列
  • --spare-devices=N:使用几个作为备用磁盘,阵列磁盘出问题可以立即顶上
  • --level:使用哪种阵列方法
  • /dev/sda....:磁盘的数应等于阵列+备用磁盘数

建立好了之后直接mkfs.xfs格式化使用就可

想开机挂载的话写入/etc/fstab即可

观察已建立装置

mdadm --detail /dev/md0

出错救援方法

mdadm --manage /dev/md0 --[add|remove|fail] 装置
参数

  • --add:将后面的装置加入md
  • --remove:将后面的装置从md中移除
  • --fail:使后面的装置处于出错状态

例子
mdadm --manage /dev/md0 --fail /dev/sdb3
此时sdb3会立即出错,备用磁盘会顶上去,接下来要做的是移除sdb3,加入新的磁盘作为备份磁盘
移除sdb3
mdadm --manage /dev/md0 --remove /dev/sdb3
拔出sdb3这块磁盘,插入新的磁盘后加入raid
mdadm --manage /dev/md0 --add /dev/sdb3

关闭RAID(极重要!)

果然重要,我刚开始没按步骤,然后导致磁盘一直显示busy,不能做他用
  1. 如果挂载了,umount卸载了;如果写入/etc/fstab了,删除对应的行
  2. 先覆盖掉RAID的metadata及XFS的superblock
    dd if=/dev/zero of=/dev/md0 bs=1M count=50
    一定注意别覆盖错了,不然磁盘直接完蛋
  3. 卸载md0
    mdadm --stop /dev/md0
  4. 一定将组raid的文件系统的头全部覆盖掉,因为RAID的相关数据备份其中了,不然重启了他自动又组,(我遇到的问题是,将盘格式化了,再分盘,用的时候显示不能用,使用partprobe,所有的文件系统(分区)又冒出了md0的标志)
    dd if=/dev/zero of=/dev/sdb1 bs=1M coumt=50
    ....
  5. 此时查看可以发现没有raid了
    cat /proc/mdstat
    6.下面这个文件里如果又关于md0的东西,抹掉他
    vim /etc/mdadm.conf

逻辑卷轴管理器(LVM)

对我来说LVM的主要作用可以扩容,即弹性调整filesystem的容量,快照姑且算是一个吧

LVM的组成

  • PV 将filesystem(一个磁盘或一个分区)做成PV才能给PG使用
  • PG 由一个PV或多个PV组成,可以动态增减PV
  • LV 从PG中切出来,这是实实在在要用的,直接格式化成文件系统使用,可以增减(但是需要文件系统的支持,xfs只支持增,ext支持增减)
  • PE 最基本的单位吧,一般来说忽略就好,类似于block的东西,组成PG

制作LVM的指令

简单来说就是先将fs格式化成PV,然后制作PG,而后制作LV,格式化LV就可以使用啦

PV阶段

  • pvscan:查找系统有没有PV
  • pvdisplay /dev/sdxx:查看一个PV的详情
  • pvcreate /dev/sdx{1,2,3,...}:建立PV们

VG阶段

常用的指令

  • vgscan:查找vg
  • vgdisplay vlm1:显示vlm1这个VG的状态
  • vgcreate -s N vlm1 /dev/sdx{1,2,3}:使用这一堆pv建立vlm1,-s指定PE的大小,可以省略
  • vgextend vlm1 /dev/va8:扩增vlm1
  • vgreduce:移除pv
  • vgchange:设定vg是否启动(active),删除要给vg前使用vgchange -a n vlm1使其关闭
  • vgremove:删除一个vg

LV阶段

  • lvscan
  • lvdisplay /dev/lvm1/zclv
  • lvsreate -L N -n zclv lvm1:-L后为zclv这个LV的容量或者用-l指定pe个数
  • lvremove /dev/lvm1/zclv:删除一个LV
  • lvextend -L +500M /dev/lvm1/zclv:扩增zclv500M
  • lvreduce:缩减LV
  • lvresize:调整LV大小

文件系统阶段

建立文件系统
mkfs.xfs /dev/lvm1/zclv
扩增文件系统
xfs_growfs lv挂载点
查看文件系统信息
xfs_info lv挂载点

快照

说说理解
先对一个lv建立1G的快照空间
lvcreate -s -L 1G -n zcsnap /dev/lvm1/zclv
然后将快照挂载到挂载点,
mount -o nouuid /dev/lvm1/zcsnap /srv/snapshot
挂载后df可以看到snap和zclv的目录是一样的

接下来我的理解就是,zclv有修改的时候,当删除了东西,东西会移动到快照区。
恢复的时候

  1. 将快照区的东西备份
    xfsdump -l 0 -L lv1 -M lv1 -f /home/lv1.dump /srv/snapshot
    备份的时候,快照独立空间里的内容zclv中未修改的内容都会被备份。这里使用tar备份也可以
  2. 卸载快照区,使用lvremove将快照去移除
  3. 将zclv格式化
  4. 将备份的东西恢复到zclv中
    xfsrestore -f /home/lv1.dump -L lvm1 /srv/lvm

此时建立快照时的东西就全部回去了

========================
补充:如果快照去够大的话就不用挂载快照区和执行备份,想恢复的时候直接把zclv格式化就可以了,然后再挂载快照,把东西移动回去,上面挂载,备份的原因是如果快照区太小,格式化zclv的时候东西会把快照区撑爆,所以先备份一下,防止快照区不能完全保留下来zclv中的东西

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值