Linux高级文件系统管理之磁盘配额、软RAID及LVM

高级文件系统管理之磁盘配额、软RAID及LVM

 

本章内容:

设定文件系统配额

设定和管理软RAID设备

配置逻辑卷

 

一、文件系统配额:

    执行软限制(soft limit

硬限制(hard limit

    注:磁盘配额只能针对分区控制有效,不能对整个磁盘控制,也不能跨分区控制。

    1、初始化:

分区挂载选项:usrquotagrpquota

初始化数据库:quotacheck

2、执行:

开启或者取消配额:quotaonquotaoff

直接编辑配额:edquota username

shell中直接编辑:(命令建立配额限制)

setquota usename 4096 5120 40 50 /home

定义原始标准用户:edquota -p user1 user2

blob.png

3、报告:

用户调查:quota username

blob.png

配额概述:repquota /home

blob.png

其它工具:warnquota 

 

事例:将home目录独立出来单独的分区,限制用户的使用。

1)先创建分区,如下图的分区sda6

  blob.png

2)命令同步系统的新增加分区,如下图:

  blob.png

3)命令格式化新分区:

   blob.png

4)创建临时挂载点,进行数据的迁移,如下图:

  blob.png

5)迁移home目录的数据

  blob.png

6)再次将迁移好数据的分区挂载到空目录home下:

  blob.png

7)修改/etc/fstab配置文件,让机器启动自动检测挂载:

  blob.png

8)再次修改/etc/fstab配置文件,对新分区启用配额初始化,如下图:

  blob.png

9)取消和删除临时挂载点:

  blob.png

10)关闭selinux

  blob.png

11reboot

12)系统启动完成后,命令初始化配额数据库和指定生效的分区挂载的目录:

  blob.png

13)设置用户的配额限度:

  blob.png

  blob.png

14)切换用户测试:

  blob.png

二、RAID

1、什么的RAID

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

2、使用RAID的好处:

  提高IO能力:磁盘并行读写

  提高耐用性:磁盘冗余来实现

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

3RAID实现的方式:

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

  内接式RAID:主板集成RAID控制器;安装OS前在BIOS里配置

4RAID的级别了解:

1RAID0(条带卷)

   读、写性能提升;

   可用空间:N*min(disk1,disk2,…)

   无容错能力(坏掉其中任何一块硬盘都不行)

   最少/多磁盘数:2, 2+

   blob.png

(2RAID1(镜像卷)

  读性能提升、写性能略有下降(因为同一份数据要写两次);

  可用空间:1*min(drive1,drive2,…)

  有冗余能力(可以出现坏掉其中的一块磁盘)

  最少/最多磁盘数:2, 2N

 没有应对防误删的能力。

 blob.png

(3RAID4

 读、写性能提升

 可用空间:(N-1)*min(disk1,disk2,…)

 有容错能力:允许最多1块磁盘损坏

 最少/最多磁盘数:3, 3+

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

 可以通过校验盘的数据来应对其中的一块硬盘坏掉时,更换上新硬盘时可以恢复时间;但是由于校验盘的长时间读写,比较容易坏掉。

 blob.png

4)、RAID5:(带有校验的条带机)

    读、写性能提升

    可用空间:(N-1)*min(disk1,disk2,…)

    有容错能力:允许最多1块磁盘损坏

    最少/最多磁盘数:3, 3+

    据块P为校验位(当其中的一块硬盘坏掉时,更换上新的硬盘时,会自动通过校验位恢复相应的数据)

  blob.png

5)、RAID6读、写性能提升

   可用空间:(N-2)*min(disk1,disk2,…)

   有容错能力:允许最多2块磁盘损坏

   最少/最多磁盘数:4, 4+

   数据块PQ为校验位(当其中的两块硬盘坏掉时,更换上新的硬盘时,会自动通过校验位恢复相应的数据)

  blob.png

6RAID10混合类型级别:是两两成对组成了RAID1,再做RAID0

  (相当于一份数据先RAID0分开两份写,再RAID1同时写两份)

   读、写性能提升

   可用空间:N*min(disk1,disk2,…)/2

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

   最少/最多磁盘数:4, 4+

  blob.png

7RAID01混合类型级别:是两两成对组成了RAID0,再做RAID1

(相当于一份数据先RAID1同时写两份,再RAID0分开写两份)

  读、写性能提升

  可用空间:N*min(disk1,disk2,…)/2

  有容错能力:每组镜像可以全坏掉,但是只能坏其中的一组,如果两组同时出现坏掉其中的一块则不可以。

  最少/最多磁盘数:4, 4+

 blob.png

8RAID7:可以理解为一个独立存储计算机,自身带有操作系统和管理工具,可以独立运行,理论上性能最高的RAID模式

9JBODJust a Bunch Of Disks

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

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

 

三、mdadm命令:为软RAID提供管理界面

1RAID设备可命名为/dev/md0/dev/md1/dev/md2/dev/md3等等

2mdadm:模式化的工具

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

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

4、模式:创建:-C;装配: -A;监控: -F;管理:-f, -r, –-D:显示raid的详细信息(mdadm -D /dev/md#)。

5C:创建模式

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

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

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

-c CHUNK_SIZE: 指明块大小

-x #: 指明空闲盘的个数

6、管理模式:

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

-a: 添加磁盘

-r: 移除磁盘

7、观察md的状态:

cat /proc/mdstat

9、创建软RAID步骤:

使用mdadm创建并定义RAID设备:#mdadm -C /dev/md0 -a yes -l 5 -n 3 -x 1 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1

 用文件系统对每个RAID设备进行格式化:#mke2fs -j /dev/md0

10、软RAID测试和修复:

测试RAID设备:使用mdadm检查RAID设备的状况:#mdadm –detail|D /dev/md0

  增加新的成员:#mdadm -G /dev/md0 -n4 -a /dev/sdf1

模拟磁盘故障:#mdadm /dev/md0 -f /dev/sda1

  移除磁盘:#mdadm /dev/md0 -r /dev/sda1

  从软件RAID磁盘修复磁盘故障:替换出故障的磁盘然后开机;在备用驱动器上重建分区

  #mdadm /dev/md0 -a /dev/sda1

mdadm/proc/mdstat及系统日志信息

11、软RAID管理:

生成配置文件:mdadm -D -s >> /etc/mdadm.conf(可以避免停止后启动不了)

停服务:mdadm -S /dev/md0

激活:mdadm -A -s /dev/md0 激活

强制启动:mdadm -R /dev/md0

删除raid信息:mdadm -zero-superblock /dev/sdb1

12、删除软RAID

    1#umount /mnt/raid 取消挂载

    2#mdadm -S /dev/md0 停止RAID设备

     blob.png

    3)删除相应的分区,并同步到系统即可

    4#mdadm –zero-superblock /dev/sd* 清除RAID在各个磁盘分区上的信息

    5)清除/etc/fstab上的挂载信息

    6)删除RAID的配置文件

       7)删除挂载点目录

 

事例:演示在CentOS6系统上做软RAID5

1)先准备三块磁盘

blob.png

2)先对其中的一块磁盘进行分区,把全部的空间分成一个分区,如下图:

(可以用分区或者用整块磁盘来做RAID

blob.png

3)将已经分区好的磁盘分区表复制到其他磁盘即可,如下图:

blob.png

4)需要对同步分区表的磁盘在系统上进行同步:

blob.png

5)使用命令创建RAID5,如下图:(创建/dev/md0块设备,-a yes是让创建时默认回答yes-l 5是指定RAID的级别为5-n 3是指定有几块磁盘分区在使用;-x 1指定有几个磁盘分区为空闲状态;后面跟上哪些磁盘分区组成RAID5

blob.png

blob.png

6)创建RAID5完成,效果如下图:

blob.png

7)生成配置文件,以免出现启动不了时可以进行恢复:

blob.png

8)格式化磁盘:

blob.png

9)修改/etc/fstab

blob.png

blob.png

10)挂载RAID5设备:

blob.png

blob.png

11)模拟其中的一个分区磁盘坏掉,测试效果如下图:

blob.png

blob.png

12)恢复模拟损坏的磁盘分区:

blob.png

 

 

事例:删除软RAID

1)先取消挂载和停止RAID设备:

blob.png

2)删除各个磁盘分区

blob.png

blob.png

blob.png

3)查看清除磁盘分区后的系统磁盘信息:

(如果是一个磁盘分了多个分区的,需要使用命令#partx -d –nr N-M /dev/sd*逐个同步;*为各个磁盘的编号)

blob.png

4)修改/etc/fstab

blob.png

5)删除RAID配置文件:

blob.png

6)删除挂载目录:

blob.png

 

 

四、LVM(逻辑卷管理器)

blob.png

(注:LVM可以弹性的更改LVM的容量;删除逻辑卷必须先删除LV,再删除VG,最后删除PV

1、允许对卷进行方便操作的抽象层,包括重新设定文件系统的大小

2、允许在多个物理设备间重新组织文件系统:

 (1)将设备指定为物理卷

 (2)用一个或者多个物理卷来创建一个卷组

 (3)物理卷是用固定大小的物理区域(Physical ExtentPE)来定义的

 (4)在物理卷上创建的逻辑卷是由物理区域(PE)组成

 (5)可以在逻辑卷上创建文件系统

3pv管理工具:

 (1)显示pv信息:(pvs:简要pv信息显示;pvdisplay

   blob.png

 (2)创建pvpvcreate /dev/DEVICE

 (分区需要更改分区的ID编号,则拿整个磁盘不需要去做ID的更改)

blob.png

blob.png

blob.png

blob.png

4vg管理工具:

1)显示卷组:vgs或者vgdisplay

2)创建卷组:vgcreate vg0 /dev/sd{a6,b}

    blob.png

 (3)管理卷组:vgextend vg0 /dev/sdc

           vgreduce vg0 /dev/sdc

 (4)删除卷组:先做pvremove,再做vgremove

5lv管理工具:

 (1)显示逻辑卷:lvs或者Lvdisplay

  (2)创建逻辑卷:lvcreate-L #[mMgGtT] -n NAME VolumeGroup

  (3)删除逻辑卷:lvremove/dev/VG_NAME/LV_NAME

  (4)重设文件系统大小:fsadm[options] resize device [new_size[BKMGTEP]]

resize2fs [-f] [-F] [-M] [-P] [-p] device [new_size]

blob.png

blob.png

(注:如下图,/dev/vg0/lv0其实是一个软链接)

blob.png

格式lv0逻辑卷:

blob.png

修改/etc/fstab配置文件:

blob.png

创建挂载点和挂载逻辑卷:

blob.png

5、扩展和缩减逻辑卷:

   1)扩展逻辑卷:

# lvextend -L [+]#[mMgGtT] /dev/VG_NAME/LV_NAME

# resize2fs /dev/VG_NAME/LV_NAME

blob.png

blob.png

 (2)缩减逻辑卷:

# umount/dev/VG_NAME/LV_NAME

# e2fsck -f /dev/VG_NAME/LV_NAME

# resize2fs /dev/VG_NAME/LV_NAME #[mMgGtT]

# lvreduce -L [-]#[mMgGtT] /dev/VG_NAME/LV_NAME

# mount

6、扩展逻辑卷卷组空间:

   1)创建物理卷:pvcreate /dev/sdc

    blob.png

 2)为卷组分配物理卷:vgextend vg0 /dev/sdc

 blob.png

 

 

  

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

blob.png

blob.png

blob.png

blob.png

blob.png

blob.png

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

blob.png

blob.png

 

3、创建lv

blob.png

blob.png

blob.png

blob.png

4、扩展lv

blob.png

5、扩展卷组:

 扩展前:

 blob.png

 扩展后:

 blob.png

 

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

(0)
Aaron_wangAaron_wang
上一篇 2016-09-01
下一篇 2016-09-01

相关推荐

  • Hadoop hdfs分布式文件系统

    一、MapReduce理论基础 每个MapReduce job都是Hadoop客户端想要执行的一个工作单元,它一般由输入数据、MapReduce程序和配置信息组成,而Hadoop会把每个job分隔成两类任务(task):map任务和reduce任务。在Hadoop集群中有两类节点来执行两类job进程的执行 1.1 大数据处理 任何基础业务包含了收集、分析、监…

    2017-12-08
  • vim shell 练习作业题

    vim练习题 1. 复制/etc/profile至/tmp/目录,用查找替换命令删除/tmp/profile文件中的行首的空白字符   :%s/^[[:blank:]]\+//g 【注意要把/etc/profile复制到/tmp下,cp  /etc/profile  /tmp(尽量不要修改原文件)】 2. 复制/etc/rc.d…

    2017-08-07
  • (总结)MySQL自带的性能压力测试工具mysqlslap详解

    PS:今天一同事问我有木有比较靠谱的mysql压力测试工具可用。其实mysql自带就有一个叫mysqlslap的压力测试工具,还是模拟的不错的。下面举例说说。mysqlslap是从5.1.4版开始的一个MySQL官方提供的压力测试工具。通过模拟多个并发客户端访问MySQL来执行压力测试,同时详细的提供了“高负荷攻击MySQL”的数据性能报告。并且能很好的对比…

    Linux干货 2015-02-10
  • 8.3-ACL权限详解(命令篇)

    前言         我们都知道Linux有三种身份(owner,group,other)搭配三种权限(r,w,x)以及三种特殊权限(SUID,SGID,SBIT), 但是某些时候这些组合不能满足复杂的权限需求。 例如      …

    Linux干货 2016-08-04
  • Linux Shell基础脚本示例

    1、编写脚本/root/bin/systeminfo.sh,显示主机系统信息,包括主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小.   2、编写脚本/root/bin/backup.sh,可实现自动将/etc/目录备份到/root/etcYYYY-mm-dd中.   3、编写脚本/root/bin/disk.…

    Linux干货 2016-08-15
  • 脚本及变量解析

    bash脚本编程 脚本文件格式: 第一行顶格:#!bin/bash  (shebang) 注释信息:以#开头 代码注释:好的程序员必备 适量的添加缩进或添加空白行以示分割 语言:编程语言格式:库,算法和数据结构 编程思想:      能够把学到的编程语言的语法格式随时转换为解决问题的思路     &…

    Linux干货 2016-08-12

评论列表(1条)

  • 马哥教育
    马哥教育 2016-09-01 17:43

    文章内容很完整,通篇下来能让读者学到很多知识,继续努力。