第十二章 磁盘配额(Quota)与高级文件系统管理

目录

磁盘配额(Quota)的应用与实践

什么是Quota

磁盘配额常用的命令

软件磁盘整列(Software RAID)

逻辑卷管理器(Logical Volume Manager)

演示创建逻辑卷

动态管理逻辑卷

LVM的系统快照

删除逻辑卷


磁盘配额(Quota)的应用与实践

什么是Quota

        由于在linux中,系统磁盘是由多个用户同时使用的;为了避免用户无节制地写入大量数据,这就需要对每个用户进行限制;这就用到了磁盘配额;系统默认情况下是没有设置磁盘配额的,所以我们在挂载磁盘的时候要先设置文件系统支持Quota;

1、挂载磁盘时设置文件系统支持Quota:mount -o usrquota , grpguota /dev/sda3 /xx

      查看挂载好的磁盘:mount | grep xx

 

当我们需要给用户做磁盘配额的时候,系统需要优先获取用户磁盘的使用情况;当用户的磁盘使用达到软限制的时候系统将会给出报警;当用户的磁盘使用达到硬限制的时候,系统将阻止用户往磁盘写入数据;这些信息都要记录在磁盘配额的数据库中;所以在做磁盘配额之前,需要先生成这样的一个数据库

2、生成数据库:quotacheck -cu /dev/sda3               

查看ls /xx/

注:  -c表示创建;-u表示基于用户的磁盘配额

 

3、对用户启用磁盘配额:quotaon -u /dev/sda3               

注:对应的关闭为quotaoff

 

4、编辑用户的磁盘配额:edquota -u tom

 

5、切换用户,验证

 

6、查看用户的磁盘配额:quota -us tom

注:u表示基于用户,s表示显示大小的单位


磁盘配额常用的命令

查看所有用户的磁盘配额信息:quota -A

将用户的磁盘配额复制给另一个用户:edquota -p tom zhangsan

对文件的保存时间做限制:edquota -t     使用-t参数默认是对所有用户做限制

                                                edquota -u tom -T     使用-T参数是对指定用户或组作限制

以邮件的告示警告信息:warnquota     邮件需要用户手动接收,使用mail接收;除了给该用户发送邮件还会给root发送邮件


软件磁盘整列(Software RAID)

RAID,全称廉价磁盘冗余阵列,作用是为了对磁盘做备份;RAID 技术最初由加利福尼亚大学伯克利分校(University of California-Berkeley)在1988年提出,经过多年发展已经拥有的众多的版本,主要分为标准 RAID(RAID 0 ~ RAID 6)、混合 RAID(JBOD、RAID 7、RAID 10/0、RAID 50 等)。 
这里就只对标准 RAID 做一些介绍。

RAID0:RAID 0亦称为带区集。它将两个以上的磁盘并联起来,成为一个大容量的磁盘。在存放数据时,分段后分散存储在这些磁盘中,因为读写时都可以并行处理,所以在所有的级别中,RAID 0的速度是最快的。但是RAID 0既没有冗余功能,也不具备容错能力,如果一个磁盘(物理)损坏,所有数据都会丢失,危险程度与JBOD相当;类似与将两块硬盘合并在一起使用,仅提高读写速度

RAID1:两组以上的N个磁盘相互作镜像,在一些多线程操作系统中能有很好的读取速度,理论上读取速度等于硬盘数量的倍数,另外写入速度有微小的降低。只要一个磁盘正常即可维持运作,可靠性最高。其原理为在主硬盘上存放数据的同时也在镜像硬盘上写一样的数据。当主硬盘(物理)损坏时,镜像硬盘则代替主硬盘的工作。因为有镜像硬盘做数据备份,所以RAID 1的数据安全性在所有的RAID级别上来说是最好的。但无论用多少磁盘做RAID 1,仅算一个磁盘的容量,是所有RAID中磁盘利用率最低的一个级别。 磁盘利用率低,为1/2、1/3、1/4...1/n(n为磁盘的数量);如果用两个不同大小的磁盘建RAID 1,可用空间为较小的那个磁盘,较大的磁盘多出来的空间也可以分区成一个区来使用,不会造成浪费。

RAID5:RAID Level 5是一种储存性能、数据安全和存储成本兼顾的存储解决方案。它使用的是Disk Striping(硬盘分区)技术。RAID 5至少需要三块硬盘,RAID 5不是对存储的数据进行备份,而是把数据和相对应的奇偶校验信息存储到组成RAID5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上。当RAID5的一个磁盘数据发生损坏后,可以利用剩下的数据和相应的奇偶校验信息去恢复被损坏的数据。RAID 5可以理解为是RAID 0和RAID 1的折衷方案。RAID 5可以为系统提供数据安全保障,但保障程度要比镜像低而磁盘空间利用率要比镜像高。RAID 5具有和RAID 0相近似的数据读取速度,只是因为多了一个奇偶校验信息,写入数据的速度相对单独写入一块硬盘的速度略慢,若使用“回写缓存”可以让性能改善不少。同时由于多个数据对应一个奇偶校验信息,RAID 5的磁盘空间利用率要比RAID 1高,利用率为(n-1)/n,n为磁盘数量。存储成本相对较便宜。


RAID分类:根据实现方式不同,RAID 分为软件磁盘阵列(软RAID)硬件磁盘阵列(硬RAID)

软RAID:通过用操作系统来完成RAID功能的就是软RAID,比如:在Linux操作系统下,用3块硬盘做RAID5。 也就是不使用RAID控制器                      (业界称其为RAID 协处理器―RAID Co-Processor )与I/O芯片,直接通过软件层实现的RAID,所有功能都是通过操作系统和                       CPU来完成的
 

硬RAID:通过用硬件来实现RAID功能的就是硬RAID,比如:各种RAID卡,还有主板集成能够做的RAID都是硬RAID。所以硬 RAID 就是                     用专门的RAID控制器(RAID 卡)将硬盘和电脑连接起来,RAID控制器负责将所有的RAID成员磁盘配置成一个虚拟的RAID磁盘                   卷。对于操作系统而言,他只能识别到由RAID控制器配置后的虚拟磁盘,而无法识别到组成RAID的各个成员盘硬RAID全面具备                    了自己的RAID控制/处理与I/O处理芯片,甚至还有阵列缓冲(Array Buffer),对CPU的占用率以及整体性能中最有优势。
 


如何做RAID:以分区为例

1、创建raid:mdadm -C /dev/md0 -a yes     -l 5 -n 3 -x 1 /dev/sda{5,6,7,8} 

注:-C表示创建,-a yes表示是否起一个标准的名字, -l表示创建哪种raid, -n表示使用几块磁盘, -x表示加一个备份磁盘

2、格式化磁盘:mkfs.ext3 /dev/md0

3、挂载磁盘:mount /dev/md0 /yy

4、查看系统的raid:cat /proc/mdstat


RAID常用操作

查看raid属性信息:mdadm -D /dev/md0

 

查看分区属于哪一个raid:mdadm -E /dev/sda5

每隔0.5秒钟查看一次RAID的变化:watch -n .5 ‘cat /proc/mdstat’

删除一块磁盘:mdadm /dev/md0 -r /dev/sda5

模拟其中一个磁盘损坏,备份磁盘动态启用的过程:mdadm /dev/md0 -f /dev/sda5        -f表示failed,失败或者损坏

注:如果做RAID5,只允许有一块磁盘损坏(1+2=3模式); 如果允许两块磁盘损坏,可以做RAID6


关闭与启用RAID

关闭RAID:1、umount /yy 先卸载

                      2、mdadm -S /dev/md0  后关闭

启用RAID:mdadm -A /dev/md0 /dev/sda{5,6,7,8}

 

在RAID中添加一个磁盘:mdadm /dev/md0 -a /dev/sda5


逻辑卷管理器(Logical Volume Manager)

LVM是动态调整Linux分区方式的一种机制。逻辑卷的读写效率可能没有普通磁盘高,但是可以动态的管理磁盘空间,是一种更灵活的设备管理方式。逻辑卷的底层可以是磁盘,RAID阵列或SAN磁盘。


演示创建逻辑卷

1、创建PV:pvcreate /dev/sda{9,10,11,12}

      查看系统中的PV:pvscan

2、创建VG:vgcreate vg0 /dev/sda{9,10,11} 

      查看系统中的VG:vgscan

         重命名VG:vgrename vg0 xx

         查看vg信息:vgdisplay vg0           如果只使用vgdisplay,则显示所有vg信息

         给vg添加pv:vgextend vg0 /dev/sda12

         给vg去掉pv:vgreduce vg0 /dev/sda12

3、创建LV:lvcreate -n lv0 -L 100M vg0       在vg0中划分一个名为lv0的逻辑卷,大小为100M

       查看系统中的LV:lvscan

注:还可以通过-l来指定逻辑卷占用多少个PE(默认一个PE4m); lvcreate -n lv1 -l 25 vg0

删除LV:lvremove /dev/vg0/lv1             -f强制删除

4、格式化逻辑卷:mkfs .ext3 /dev/vg0/lv0

5、挂载LV:mount /dev/vg0/lv0 /lv


动态管理逻辑卷

扩展逻辑卷大小:lvextend -L +100M /dev/vg0/lv0

                                resize2fs /dev/vg0/lv0

减小逻辑卷大小:

         1、先卸载:umount /lv

         2、磁盘自检:fsck -f /dev/vg0/lv0

         3、resize2fs /dev/vg0/lv0 64M       减小之后逻辑卷最终的大小为64M

         4、lvreduce -L -136M /dev/vg0/lv0         减去136M

         5、重新挂载、查看:mount /dev/vg0/lv0 /lv/

                                              df -h


LVM的系统快照

1、创建快照:lvcreate -n lvs -L 32M -s /dev/vg0/lv0   给lv0创建名为lvs、大小为32M的快照

2、挂载快照:mount /dev/vg0/lv0 /aa/

 

快照损坏之后的操作:

卸载快照:umount /aa/        

删除快照:lvremove -f /dev/vg0/lvs

重新创建快照:lvcreate -n lvs -L 32M -s /dev/vg0/lv0

挂载快照:mount /dev/vg0/lv0 /aa/

注:可以写成自动恢复的脚本


删除逻辑卷

1、卸载:umount /lv

2、删除逻辑卷:lvremove -f /dev/vg0/lvs

                              lvremove -f /dev/vg0/lv0

3、删除卷组:vgremove vg0

4、删除PV:pvremove /dev/sda{9,10,11,12}

 


原创文章,转载请注明出处

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

旷野亮光

您的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值