高级文件系统管理之磁盘配额及RAID的运用

本章内容

设定文件系统配额

设定和管理软RAID设备

一,概述

配置配额系统:

综述

在内核中执行

以文件系统为单位启用

磁盘配额最小单位是以文件系统为单位启用,就是一个挂载点,而不能以目录为单位

对不同组或者用户的策略不同

根据块或者节点进行限制

执行软限制(soft limit)

硬限制(hard limit)

初始化

分区挂载选项:usrquota、grpquota

初始化数据库:quotacheck

为用户设定配额

执行

开启或者取消配额:quotaon、quotaoff

直接编辑配额:edquota username

在shell中直接编辑:

setquota usename 4096 5120 40 50 /foo

blob.png

定义原始标准用户

edquota -p user1 user2

blob.png

报告配额状态

报告

用户调查:quota username

blob.png

配额概述:repquota /mountpoint

blob.png

其它工具:warnquota

blob.png

blob.png

命令执行之后,xinruihl用户如果超过配额,root账户将会给他发送邮件

那么我们现在来实现对home目录的磁盘配额…

第一步我们创建一个分区,并格式化

blob.png

将home目录挂载到新分区的磁盘,并在/etc/fstab配置文件中写入,并且在挂载选项中填写上usrquota(用户配额)和grpquota(组配额)

blob.png

blob.png

这一步我们先重新挂载一下磁盘分区,让磁盘选项生效

blob.png

创建磁盘配额数据库,在centos6上会有默认权限不够,我们将他setenforce 0关闭即可

blob.png

这样数据库我们就创建好了.可以查看一下磁盘配额的状态.如果是关闭,我们启用他

blob.png

现在我们就可以来设置home目录下的磁盘配额了.

blob.png

blob.png

我们来创建一个90M的文件可以看到,已经提示警告

blob.png

现在咱们再来创建一个110M的文件..看看效果.

blob.png

blob.png

blob.png

注意:用echo写内容,如果超过软限制,是不会有警告的

====================================================================================================

什么是RAID:

RAID:Redundant Arrays of Inexpensive(Independent)Disks (廉价冗余磁盘阵列,现在称为独立冗余磁盘阵列)

1988年由加利福尼亚大学伯克利分校(University of California-Berkeley)“A Case for Redundant Arrays of Inexpensive Disks”。

多个磁盘合成一个“阵列”来提供更好的性能、冗余,或者两者都提供

RAID:

提高IO能力:

    通过磁盘并行读写来实现

提高耐用性;

    通过磁盘冗余来实现 

级别:多块磁盘组织在一起的工作方式有所不同

RAID实现的方式:

外接式磁盘阵列:通过扩展卡提供适配能力

内接式RAID:主板集成RAID控制器

Software RAID

硬件级别RAID安装OS前在BIOS里配置

软件RAID:通过OS实现

RAID级别: (没有性能上的高低上下区分,也不是谁比谁更好,仅用于标识磁盘组织形式上的不同)

级别:level 常用的级别0-6,也有7,但是比较不常用

    RAID-0:0,条带卷,strip;

    RAID-1:1,镜像卷,mirror;

    RAID-2:

    …

    RAID-5:

    RAID-6:

    RAID10:

    RAID01:

    

    RAID-0: 

    读写性能提升;

    可用空间:N(硬盘个数)*min(s1,s2,….(就是最小size的,例:第一块硬盘10G,第二块硬盘20G,总共加起来就是10G的raid,第二块硬盘多余的10G没有用))

    无容错能力

    最少磁盘数:2,2+

    

     RAID-1:

        读性能提升,写性能略有下降;

        可用空间:1*min(S1,S2,…)

        有容错能力

        最少磁盘数:2,2+

    

     RAID-4:

        多块数据盘异或运算值,存于专用校验盘


    RAID-5:

        读写性能提升

        可用空间:(N-1)*min(S1,S2,…)

        有容错能力:1块磁盘

        最少磁盘属:3,3+

    

    RAID-6:

         读写性能提升

        可用空间:(N-2)*min(S1,S2,…)

        有容错能力:2快磁盘

        最少磁盘数:4,4+

    

    混合类型:

    RAID-10:

        读写性能提升

        可用空间:N*min(S1,S2,…)/2

        有容错能力: 每组镜像最多只能坏一块

        最少磁盘数:4,4+


    RAID-01:

        

    RAID-50:

        

     RAID-7:某公司独有的raid技术.价格昂贵.

    

    JBOD: Just a Bunch of Disks

        功能:将多块磁盘的空间合并一个大的连续空间使用;

        可用空间:sum(S1,S2,…)

    

    常用级别: RAID-0 ,RAID-1,RAID-5,RAID-10,RAID-50,JBOD

    

        

    实现的方式:

        硬件实现方式

        软件实现方式

    Centos 6上的软件RAID的实现;

        结合内核中的md(multi disks)多磁盘的模块

    

        mdadm:模式化的工具

            命令的语法格式:mdadm [mode] <raiddeice> [options] <component-device>

           支持的RAID级别:LINEAR,RAID0,RAID1,RAID4,RAID5,RAID6,RAID10;

        

        模式:

            创建: -C

            装配: -A

            监控: -F

            管理: -f,-r,-a

        

        <raiddevice>:/dev/md#

        <component-devices>:任意块设备

        

        

        -C:创建模式

            -n #:使用#个块设备来创建此RAID;

            -l #:指明要创建的RAID的级别;

            -a {yes|no}:是否自动创建目标RAID设备的设备文件;

            -c CHUNK_SIZE:指明块大小;

            -x #:指明空闲盘的个数;(没有容错能力的级别指定空闲盘是没有意义的)

            

        -D:显示raid的详细信息:

            mdadm -D /dev/md#

    

        管理模式:

            -f: 标记指定磁盘为损坏;

            -r:移除从盘;

            -a:添加磁盘;


        观察md的状态:

            cat /proc/mdstat


        watch 命令:

            指定命令重复刷新

            -n:刷新间隔,单位为秒;

            watch -n# `COMMAND`

        

        停止md设备:

            mdadm -S /dev/md#


    raid磁盘不能取代备份…

作业及练习:

1:创建一个可用空间为1G的RAID1设备,文件系统为ext4,有一个空闲盘,开机可自动挂载至/backup目录

blob.png

首先做两块1G的硬盘..设置成fd模式.和一块空闲盘.

 blob.png   

接下来就是将两块磁盘做raid1,并有一块空闲磁盘.

blob.png

格式化为ext4文件系统.

blob.png

blob.png

开机自动挂载至/backup目录

2:创建由三块硬盘组成的可用空间为2G的RAID5设备,要求其chunk大小为256k,文件系统为ext4,开机可自动挂载至/mydata目录

blob.png

blob.png

blob.png


blob.png

       

       

模拟损坏:

blob.png

先增加一块备用硬盘

  blob.png

模拟sdd2硬盘损坏之后,备用磁盘自动补充上去 

然后就可以更换硬盘.重新使用新的备份硬盘.保持高校的硬盘使用.

原创文章,作者:Kartik,如若转载,请注明出处:http://www.178linux.com/44473

(0)
KartikKartik
上一篇 2016-09-07 21:46
下一篇 2016-09-07 23:21

相关推荐

  • 推倒一个二十来岁青壮年第一步

    首先:找到他家在哪里,了解他的生长环境 然后:调查他的信息,慢慢了解他,学会和他交流,学会控制他

    Linux干货 2016-09-21
  • Because LVM so cattle(Logical Volume Manager)

    LVM: Logical Volume Manager         LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。 …

    Linux干货 2016-08-29
  • shell脚本编程练习

    1、写一个脚本,使用ping命令探测172.16.250.1-172.16.250.254之间的所有主机的在线状态 在线的主机使用绿色显示 不在线的主使用红色显示 #!/bin/bash # for i in {1..254};do if ping -c 6 -w 1 192.168.1.$i &> /dev/null;then echo -e…

    2017-11-15
  • 第三周小练习

    1. 列出当前系统上所有已经登陆的用户的用户名,注意,同一个用户登陆多次,则显示一次即可 who -u|grep -o "^[[:alnum:]]*\>"|uniq 2. 取出最后登陆到当前系统的用户信息 who|tail -n1 3. 取出当前系统上被用户当作其默认shell的最多的那个sh…

    Linux干货 2016-11-21
  • N28-第三周

    1. 列出當前系統上所有已經登入的用戶的用戶名,注意:同一個用戶登入多次,則只顯示一次即可。
    2. 取出最後登入到當前系統的用戶的相關信息。
    3. 取出當前系統上被用戶當做其默認shell的最多的那個shell。
    4. 將/etc/passwd中的第三個字段數值最大的後10個用戶的信息全部改為大寫後保存至/tmp/maxusers.txt文件中。
    5. 取出當前主機的IP地址,提示:對ifconfig命令的結果進行切分。
    6. 列出/etc目錄下所有以.conf結尾的文件的文件名,並將其名字轉換為大寫後保存至/tmp/etc.conf文件中。
    7. 顯示/var目錄下一級子目錄或文件的總各數。
    8. 取出/etc/group文件中第三個字段數值最小的10個組的名字。
    9. 將/etc/fstab和/etc/issue文件的內容合併為同一個內容後保存至/tmp/etc.test文件中。
    10. 請總結描述用戶和組管理類命令的使用方法並完成以下練習:
    (1) 創建組distro,其GID為2016。
    (2) 創建用戶mandriva,其ID號為1005,基本組為distro。
    (3) 創建用戶mageia,其ID號為1100,家目錄為/home/linux。
    (4) 給用戶mageia添加密碼,密碼為mageedu。
    (5) 刪除mandriva,但保留其家目錄。
    (6) 創建用戶slackware,其ID號為2002,基本組為distro,附加組peguin。
    (7) 修改slackware的默認shell為/bin/tcsh。
    (8) 為用戶slackware新增附加組admins。

    2017-12-19
  • 文本处理-三剑客-awk

    报告生成器,格式化文本输出
    awk [options] ‘BEGIN{ action;… } pattern{ action;… } END{ action;… }’ file …

    2018-03-16