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

相关推荐

  • 用户和组及批量创建

    用户和组       操作系统都有用户和组,windows,linux等等,用户和组用来做什么呢?       用户,是我们进入系统时的凭证,不是每一个人想进就进的。你想吧,如果操作系统没有用户就能登录进系统,那这就带来了许许多多的安全隐患了。而组则是为了方便管理用户的一个组容器。 &nb…

    系统运维 2016-08-04
  • #!/bin/bash # for i in $(ls /etc/rc.d/rc3.d/ | grep  "\<K");do     echo $i.stop    &nbs…

    Linux干货 2016-12-26
  • 磁盘管理的补充及扩展

    磁盘管理的补充及扩展 挂载点和/etc/fstab(配置文件) 使用mount命令挂载为临时挂载开机重启后就会自动卸载,为了永久挂载必须写在配置文件中! 配置文件系统体系  被mount、fsck和其它程序使用  系统重启时保留文件系统体系  可以在设备栏使用文件系统卷标  使用mount  -a 命令挂载/etc/fstab中的所有文件系…

    Linux干货 2016-08-30
  • 第七周

    1、创建一个10G分区,并格式为ext4文件系统; (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl; (2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳; fdisk /dev/sdb欢迎使用 fdisk (util-li…

    Linux干货 2016-09-19
  • 防护墙服务

    iptables的基本认识        Netfilter组件: 内核空间,集成在linux内核中 扩展各种网络服务的结构化底层框架 内核中选取五个位置放了五个Hook(勾子)function(INPUT、OUTPUT、FORWARD、PREROUTING、POST ROUTING),而这五个hoot functio…

    2017-08-21

评论列表(1条)

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

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