磁盘配额、阵列与逻辑卷

一、磁盘配额

在内核中执行
以文件系统为单位启用
对不同组或者用户的策略不同

根据块或者节点进行限制
执行软限制(soft limit)
硬限制(hard limit)

步骤一:获得文件系统支持
临时有效:mount -o remount,usrquota,grpquota {mount_point|device}
永久有效:写入配置文件 /etc/fstab 中
检查文件系统是否支持磁盘配额:cat /proc/mounts

13 55 48 --.png

步骤二:新建quota配置文件

quotacheck [options] [mount_point|device]
    -a:扫描/etc/mtab中支持quota的文件系统,后面可不用添加{mount_point|device}
    -u:只新建用户配置文件
    -g:只新建用户组配置文件
    -v:显示详细信息

13 57 25 --.png

步骤三:启动、关闭与配置quota
启动:quotaon [options] [mount_point|device]
        -a:启动/etc/mtab中支持quota的文件系统,后面可不用添加{mount_point|device}
        -u:只启动用户配置文件
        -g:只启动用户组配置文件

        -v:显示详细信息

13 58 50 --.png

关闭:quotaoff [options] [mount_point|device]
        -a:关闭/etc/mtab中支持quota的文件系统,后面可不用添加{mount_point|device}
        -u:只关闭用户配置文件
        -g:只关闭用户组配置文件

        -v:显示详细信息

14 02 33 --.png

配置:edquota [-u username] [-g groupname] 修改限制值
      filesystem blocks soft hard inodes soft hard
      edquota -t 修改宽限时间
      filesstem  block grace period  inode grace period
      edquota -p 范本账号 -u 新账号

13 59 28 --.png

13 59 53 --.png

步骤四:查看quota配置
quota [-vs] [-u username] [-g groupname]
  -s:以MB GB显示数值大小
repquota -a [-vugs]
14 01 17 --.png步骤五:报告配额状态
warnquota

二、RAID

RAID:Redundant Arrays of Inexpensive(Independent)Disks
1988年由加利福尼亚大学伯克利分校(University of California-Berkeley)“A Case for Redundant Arrays of Inexpensive Disks”。
多个磁盘合成一个“阵列”来提供更好的性能、冗余,或者两者都提供

提高IO能力:磁盘并行读写
提高耐用性;磁盘冗余来实现
级别:多块磁盘组织在一起的工作方式有所不同

RAID实现的方式:
硬RAID
外接式磁盘阵列:通过扩展卡提供适配能力
内接式RAID:主板集成RAID控制器
安装OS前在BIOS里配置

软RAID:使用软件模拟,可使用分区或磁盘(使用分区时调整分区类型为fd)

RAID级别
RAID-0:条带卷,strip
RAID-1: 镜像卷,mirror
RAID-2
..
RAID-5
RAID-6
RAID-10
RAID-01

RAID级别
RAID-0:
读、写性能提升;
可用空间:N*min(S1,S2,…)
无容错能力
最少磁盘数:2, 2

RAID-1:
读性能提升、写性能略有下降;
可用空间:1*min(S1,S2,…)
有冗余能力
最少磁盘数:2, 2N

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

RAID-5:
读、写性能提升
可用空间:(N-1)*min(S1,S2,…)
有容错能力:允许最多1块磁盘损坏
最少磁盘数:3, 3+

RAID-6:
读、写性能提升
可用空间:(N-2)*min(S1,S2,…)
有容错能力:允许最多2块磁盘损坏
最少磁盘数:4, 4+

RAID混合类型级别
RAID-10:
读、写性能提升
可用空间:N*min(S1,S2,…)/2
有容错能力:每组镜像最多只能坏一块
最少磁盘数:4, 4+
RAID-01、RAID-50

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

JBOD:Just a Bunch Of Disks
功能:将多块磁盘的空间合并一个大的连续空间使用
可用空间:sum(S1,S2,…)
常用级别:RAID-0, RAID-1, RAID-5, RAID-10, RAID-50, JBOD

软RAID
mdadm:为软RAID提供管理界面
为空余磁盘添加冗余
结合内核中的md(multi devices)
RAID设备可命名为/dev/md0、/dev/md1、/dev/md2、/dev/md3等等

软件RAID的实现
mdadm:模式化的工具
命令的语法格式:mdadm[mode] <raiddevice> [options] <component-devices>
支持的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 #: 指明空闲盘的个数;

14 27 30 --.png

  -D:显示raid的详细信息;
mdadm-D /dev/md#

14 27 56 --.png

14 31 26 --.png

管理模式:

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

15 04 05 --.png

-a: 添加磁盘

-r: 移除磁盘

增加新的成员
    mdadm –G /dev/md0 –n 4 -a /dev/sdf1

15 01 26 --.png

观察md的状态:

cat /proc/mdstat

停止md设备:
mdadm -S /dev/md#

软RAID配置实例
1、创建并定义
    mdadm -C /dev/md0 -a yes -l 5 -n 3 -x 1 -c 4096 /dev/sd{b,c,d,e}
2、格式化
    mke2fs -j /dev/md0
3、查看详细信息
    mdadm -D /dev/md0
4、增加新的成员
    mdadm –G /dev/md0 –n 4 -a /dev/sdf1
5、模拟磁盘故障
    mdadm /dev/md0 -f /dev/sda1
6、移除磁盘
    mdadm /dev/md0 –r /dev/sda1
7、查看md的状态
    cat /proc/mdstat

其他配置

生成配置文件:mdadm –D –s  >> /etc/mdadm.conf

15 02 59 --.png

停止服务:mdadm –S /dev/md0
激活服务:mdadm –A  –s /dev/md0
删除raid信息:mdadm  –zero-superblock /dev/sdb1

三、逻辑卷管理器(LVM)

允许对卷进行方便操作的抽象层,包括重新设定文件系统的大小
允许在多个物理设备间重新组织文件系统
将设备指定为物理卷
用一个或者多个物理卷来创建一个卷组

物理卷是用固定大小的物理区域(Physical Extent,PE)来定义的
在物理卷上创建的逻辑卷是由物理区域(PE)组成
可以在逻辑卷上创建文件系统
可以使用磁盘或分区(使用分区时调整分区类型为8e)

LVM介绍
LVM: Logical Volume Manager,Version: 2
dm: device mapper:将一个或多个底层块设备组织成一个逻辑设备的模块
设备名:/dev/dm-#

软链接:
/dev/mapper/VG_NAME-LV_NAME
    /dev/mapper/vol0-root
/dev/VG_NAME/LV_NAME
    /dev/vol0/root

LVM更改文件系统的容量
LVM可以弹性的更改LVM的容量
通过交换PE来进行资料的转换,将原来LV内的PE转移到其他的设备中以降低LV的容量,或将其他设备中的PE加到LV中以加大容量

1.pv管理工具

    pvcreate /dev/device :新建pv

08 24 35 --.png

    pvdisplay [/dev/device] :显示pv信息

08 25 16 --.png

    pvmove /dev/device :将一pv上的数据移至另一pv
    pvremove /dev/device :删除pv属性

08 26 16 --.png

2.vg管理工具

    vgcreate [-s #] vg_name /dev/device:创建vg

        -s #: 指定pe大小,单位BMG,默认为4M

    vgdisplay [vg_name]:显示vg信息

08 33 24 --.png

    vgextend vg_name lv_name : 增加卷组

08 35 01 --.png

    vgreduce vg_name lv_name :减少卷组

08 36 47 --.png

    gremove vg_name lv_name :删除卷组,先做pvmove,再做vgremove

08 37 31 --.png

3.lv管理工具
    
    lvcreate -L # -n lv_name vg_name : 创建lv
        -L # : 指定lv大小

        -n : 指定lv名称

08 40 07 --.png

    Lvdisplay /dev/vg_name/lv_name :显示lv信息

08 41 18 --.png

    lvextend -L [+]# /dev/vg_name/lv_name :扩容lv

    lvreduce -L [-]# /dev/vg_name/lv_name :缩减lv

        -L [+|-]# :指定lv大小

08 42 25 --.png

08 43 35 --.png

    lvremove /dev/vg_name/lv_name :删除lv
08 47 37 --.png
扩展和缩减逻辑卷

扩展逻辑卷:
lvextend -L [+]#[mMgGtT] /dev/vg_name/lv_name
resize2fs /dev/vg_name/lv_name

缩减逻辑卷:
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

创建逻辑卷实例
创建物理卷
pvcreate /dev/sda3
为卷组分配物理卷
vgcreate vg0 /dev/sda3
从卷组创建逻辑卷
lvcreate -L 256M -n data vg0
mke2fs -j /dev/vg0/data
mount /dev/vg0/data /mnt/data

逻辑卷管理器快照
快照是特殊的逻辑卷,它是在生成快照时存在的逻辑卷的准确拷贝
对于需要备份或者复制的现有数据集临时拷贝以及其它操作来说,快照是最合适的选择。
快照只有在它们和原来的逻辑卷不同时才会消耗空间。
在生成快照时会分配给它一定的空间,但只有在原来的逻辑卷或者快照有所改变才会使用这些空间
当原来的逻辑卷中有所改变时,会将旧的数据复制到快照中。
快照中只含有原来的逻辑卷中更改的数据或者自生成快照后的快照中更改的数据
建立快照的卷大小只需要原始逻辑卷的15%~20%就够了。也可以使用lvextend放大快照。

逻辑卷管理器快照
快照就是将当时的系统信息记录下来,就好像照相一般,若将来有任何数据改动了,则原始数据会被移动到快照区,没有改动的区域则由快照区和文件系统共享。
由于快照区与原本的LV共用很多PE的区块,因此快照去与被快照的LV必须要要在同一个VG上!系统恢复的时候的文件数量不能高于快照区的实际容量。

使用LVM快照
为现有逻辑卷创建快照

#lvcreate -l 64 -s -n snap-data -p r /dev/vg0/data

09 03 12 --.png

挂载快照
#mkdir -p /mnt/snap
#mount -o ro /dev/vg0/snap-data /mnt/snap
删除快照
#umount /mnt/databackup
#lvremove /dev/vg0/databackup

练习
1:创建一个可用空间为1G的RAID1设备,要求其chunk大小为128k,文件系统为ext4,有一个空闲盘,开机可自动挂载至/backup目录

     mdadm -C /dev/md# -l 1 -n 2 -x 1 -c 128 -a yes /dev/sda{5,6,7}
     mkfs -t ext4 -L RAID1 /dev/md#
     vim /etc/fstab
     LABLE=RAID1  /backup  ext4  defaults  0  0   

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

       mdadm -C /dev/md# -l 5 -n 3 -c 256 /dev/sda{5,6,7}
       mkfs -t ext4 -l RAID5 /dev/md#
       vim /etc/fstab
       LABLE=RAID5  /mydate  ext4  defaults  0  0

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

(0)
上一篇 2016-08-29 09:02
下一篇 2016-08-29 11:46

相关推荐

  • shell脚本终结篇——数组

    数组定义: 变量:存储单个元素的内存空间 数组:存储多个元素的连续的内存空间,相当于多个变量的集合 数组名和索引: 索引:编号从0开始,属于数值索引 注意:索引可支持使用自定义的格式,而不仅仅是数值格式,自定义格式的数组即为关联数组,bash4.0版本之后开始支持 bash的数组支持稀疏格式(索引不连续) 声明数组: declare -a ARRAY_NAM…

    Linux干货 2016-08-24
  • 20161019第5天作业

    1、只显示/root下的隐藏文件 ls -d '.'* 2、只显示/etc下的目录 ls -d */ ls -l |grep '^d' ls -F | grep "/$"  &nb…

    Linux干货 2016-10-20
  • 常见RAID级别

    什么是RAID?     独立磁盘冗余阵列(RAID,Redundant Arrary of Independent Disks),旧称廉价磁盘冗余阵列(Redundant Arrary of Inexpensive Disks),简称磁盘阵列。基本思想就是把多个相对便宜的硬盘组合起来,成为一个硬盘阵列组,使性能达到甚至超过一个价格昂贵、…

    Linux干货 2016-05-29
  • vim用法详解

    vim编辑器:文本编辑器: 文本:纯文本,ASCII text;Unicode 文本编辑器种类:     行编辑器:sed     全屏编辑器:nano,vi   vi:visual interface vim:vi improv…

    Linux干货 2016-08-15
  • shell脚本编程之函数

      在编写脚本时经常会遇到某个任务需要重复使用的问题,需每次都要输入同样的代码是件挺烦人的事情,还好可以通过编写函数还简化这项工作。   函数其实就是给一段代码起个名字,在每次使用这段代码的时候可以直接使用函数名来调用就可以了。 一、创建函数   创建函数的格式有两种:   格式1:function 函数名{ &nbs…

    Linux干货 2016-01-05
  • CentOS7下重置root密码

    CentOS7下重置root密码          Linux系统、UNIX系统和其他类UNIX系统中,存在唯一的超级用户root。普通用户密码忘掉可以用root用户重置,但是一旦root密码忘掉,事情就复杂起来了。本文主要介绍root密码忘掉之后,重置密码的过程。   &nbs…

    Linux干货 2017-03-30

评论列表(1条)

  • 马哥教育
    马哥教育 2016-08-29 14:09

    博客不是知识点的罗列,它需要自己用组织文字描述出来出来自己想要表达的意思。例如一些专也名词,我们可以通过百度百科查询给予解释。如果不好描述,那么就用图来表示,这样文章会很生动形象了。多看看别人的博客,看看别人怎么写的,尝试着自己组织逻辑写出好的文章,加油。