高级文件系统管理之磁盘配额及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/Unix下安装一平台时往往需要十几甚至更多安装包,这些源码包来源于网络、本地硬盘、移动设备。有时碰到网络不畅通或下载地址失效会带来很多麻烦,一个好方法便是将常用的软件包下载到本地硬盘存放。问题是久而久之连自己都不晓得哪些包才是适用的。现用makeself来实现自解压倒安装倒是一个很好的解决方案,下面以制作Func客户端安装包为例。 一、…

    Linux干货 2015-03-27
  • 马哥教育21期网络班—第12周课程+练习—-LAMP练习中

    为第4题中的第2个虚拟主机提供https服务,使得用户可以通过https安全的访问此web站点; (1)要求使用证书认证,证书中要求使用的国家(CN)、州(HA)、城市(ZZ)和组织(MageEdu); (2)设置部门为Ops,主机名为www2.stuX.com,邮件为admin@stuX.com; [ root@centos CA]# …

    Linux干货 2016-09-26
  • N21天天第十二周课程练习

    1、请描述一次完整的http请求处理过程; 1、建立TCP连接 2、Web浏览器向Web服务器发送请求 3、Web浏览器发送请求头信息   建立连接后,客户机发送一个请求给服务器,请求方式的格式为:统一资源标识符(URL)、协议版本号,后边是MIME   信息包括请求修饰符、客户机信息和可能的内容 4、Web服务器应答…

    Linux干货 2016-10-31
  • 源码编译nginx和Nginx的特性,配置文件指令说明

    nginx的官方站点 www.nginx.org Nginx:engine X Tenginx:Taobao enginx libevent:高性能的网络库 epoll(); Nginx特性  模块化设计,较好扩展性:但不支持模块的动态装卸载;Tenginx支持;  高可靠性   master –> …

    Linux干货 2017-04-30
  • 计算机网络基础

    1、OSI, TCP/IP, 五层协议的体系结构, 以及各层协议 OSI分层(7层): 物理层, 数据链路层, 网络层, 传输层, 会话层, 表示层, 应用层 TCP/IP分层(4层): 网络接口层, 网际层, 传输层, 应用层 五层协议(5层): 物理层, 数据链路层, 网络层, 运输层, 应用层 每一层的协议: 物理层: RJ45, CLOCK, IEE…

    Linux干货 2016-09-19
  • 有趣的bash脚本

    1、编写脚本/root/bin/createuser.sh,实现如下功能:使 用一个用户名做为参数,如果指定参数的用户存在,就显示 其存在,否则添加之;显示添加的用户的id号等信息 #!/bin/bash read -p “Please input username: ” n if id $n &> /dev/null;then echo “T…

    Linux干货 2017-08-25