raid介绍及逻辑卷与逻辑卷快照应用

高级文件系统管理

配置配额系统

综述

在内核中执行,以文件系统为单位启用,对不同组或者用户的策略不同,如将home单独分区,但是并不意味着每个用户都可以无上限使用该分区的空间,所以系统管理员要据块或者节点进行限制,限制每个用户使用磁盘的空间,当到达执行软限制( soft limit  )  会警报提醒用户;当硬限制( hard limit  )就不会再允许操作。(该配置配额系统只会针对属主属组对应的文件来扣取空间使用额)

配置系统设置的详细步(3步)及命令选项:

1、初始化

分区挂载选项: usrquota、 grpquota(将连个选项编辑到fstab中)

blob.pngraid介绍及逻辑卷与逻辑卷快照应用

如果已经挂载过了就重新挂载   mount -o umount   /dev/sda6

初始化数据库: quotacheck(centos6上要禁用setenforce   禁用完之后要getenforce 启用)

quotacheck -cug /home

也可以是 quotacheck -aug  检查fsatb中说有添加了userquota和gourpquota的挂载项

-a 扫描所有分区

-b 备份

-d 调试模式

-c 重新创建文件

-f 强迫检查

-i 交互模式

-v 运行时显示详细的处理信息

-g 显示群组所占的目录文件数

-u 显示每个用户所占的目录数

2、为用户设定配额

执行

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

quotaon  /disk

quotaoff /disk

-a 开启所有的磁盘配额限制

-g 组磁盘配额限制

-p 列出状态

-u 用户配额限制

-v 运行时显示详细的处理信息

3、直接编辑配额: edquota username

打开设定配额编辑界面

raid介绍及逻辑卷与逻辑卷快照应用blob.png

filesystem : 设置了配额的设备

blocks  : 当前属主是username的文件大小

inode : 当前属主是username的文件数量

soft  : 警告线

hard  : 最大上限

在shell中直接编辑:

setquota usename 4096 5120 40 50 /username

定义原始标准用户

edquota -p user1 user2

将user1 的配额设置复制给user2

报告配额状态

报告

用户调查: quota

配额概述: repquota

其它工具: warnquota

raid介绍及逻辑卷与逻辑卷快照应用

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控制器

安装OS前在BIOS里配置

Software RAID(软raid):

RAID 级别

Level :(级别仅用于识别磁盘组合方式的不同)(硬件冗余并不能取代数据备份 )

raid0 ,raid1, raid5,raid10,raid50,jbod

RAID级别

RAID-0:

读、写性能提升;

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

无容错能力

最少磁盘数: 2, 2

RAID-1:

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

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

有冗余能力

最少磁盘数: 2, 2N

RAID-4:

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

RAID级别

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

raid0:只有一组储存设备(至少需要两块磁盘),无容错能力,只能提高读写速度,磁盘利用率100%(1/n * 总空间)

raid1:至少需要两块硬盘,其中一块做镜像,有硬件容错能力,读性能提升(分散读取数据),写性能下降,磁盘利用率50%(为避免设备损毁而导致业务终止,并不是为了备份数据)

raid4:至少需要三块盘ABC,将数据分散放在A B ,然后将放在AB两块盘的数据做异或对比,得到的及结果称之为校验码存放C,所以只允许其中一块盘出错,读写能力有提升,磁盘空间利用率(n-1)/n,(有一块盘出错了,必须尽快更换,更换期间,也会有磁盘极易出错,因为替换的磁盘要数据补全) (有校验码盘)

raid5(常见):与raid4基本相同,只不过是校验码分散在每个磁盘上(通常是左对称);所以只允许其中一块盘出错,读写能力有提升,磁盘空间利用率(n-1)/n,(有一块盘出错了,必须尽快更换,更换期间,也会有磁盘极易出错,因为替换的磁盘要数据补全)

raid6:至少需要4块盘,工作原理与raid5基本相同,允许两块盘出错,读写性能提升,(n-2)/n

raid10:底层raid1,上层raid0(不允许同一组的两个磁盘同时坏)

至少需要四块磁盘,允许不同组各坏一块磁盘,读写性能提升50%

先做数据存储,后做数据镜像

raid介绍及逻辑卷与逻辑卷快照应用blob.png

raid01(出错比较大)

先做镜像,后做raid1,修复难度大

raid介绍及逻辑卷与逻辑卷快照应用blob.png

jbod:将小空间连接起来变成一个大空间,上层设备只会认为只有一个磁盘

提升性能的另外一个方法:

带内存的raid,主机将数据写入储存设备,实际上是写入内存中,当主机一断电,raid就启动自带的备用电池,以便数据从raid内存继续写入磁盘中.

主机开机时,bois中有设定,HBA适配器是属于raid#,存储设备要能使用,系统内核要先驱动适配器

软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 #: 指明空闲盘的个数;

例如:创建一个10G可用空间的RAID5

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

mdadm -D /dev/md#

管理模式:

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

-a: 添加磁盘

-r: 移除磁盘

观察md的状态:

cat /proc/mdstat

停止md设备:

mdadm -S /dev/md#

软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

测试RAID设备

mdadm允许检查RAID设备的状况

#mdadm –detail|D /dev/md0

增加新的成员

#mdadm –G /dev/md0 –n4 -a /dev/sdf1

blob.pngraid介绍及逻辑卷与逻辑卷快照应用

删除raid

raid介绍及逻辑卷与逻辑卷快照应用blob.png

必要时需要mdadm –zero-superblcock /dev/sdd1  ,否则mount信息中一直会标记磁盘是raid成员

软RAID测试和修复

模拟磁盘故障

#mdadm /dev/md0 -f /dev/sda1

移除磁盘

#mdadm /dev/md0 –r /dev/sda1

从软件RAID磁盘修复磁盘故障

替换出故障的磁盘然后开机

在备用驱动器上重建分区

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

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

软RAID管理

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

停服务: mdadm –S /dev/md0

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

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

练习

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

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

逻辑卷管理器( LVM)

逻辑卷,可以不停止正在进行的业务停止,从而增加磁盘空间,空间可以支持在线扩展

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

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

将设备指定为物理卷

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

物理卷是用固定大小的物理区域( Physical Extent,PE)来定义的

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

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

blob.png

blob.pngraid介绍及逻辑卷与逻辑卷快照应用

raid介绍及逻辑卷与逻辑卷快照应用

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中以加大容量!

raid介绍及逻辑卷与逻辑卷快照应用blob.png

查看LVM的使用情况

点击“系统” ->“管理” ->“逻辑卷管理器”

raid介绍及逻辑卷与逻辑卷快照应用blob.png

增大或减小逻辑卷

打开逻辑卷管理器后,点击“编辑属性”,打开LVM属性

对话框:

raid介绍及逻辑卷与逻辑卷快照应用blob.png

删除逻辑卷

删除逻辑卷必须先删除LV,再删除VG,最后删除PV

点击逻辑卷管理器的“卷组” ->“逻辑视图”的LV逻辑卷

点击“移除选择的逻辑卷”,再删除VG,最后删除PV。

raid介绍及逻辑卷与逻辑卷快照应用blob.png

pv管理工具

显示pv信息

pvs:简要pv信息显示

pvdisplay

创建pv

pvcreate /dev/DEVICE

移动pv上已用 的PE

pvmove /dev/move_name

删除pv

pvremove

vg管理工具

显示卷组

vgs

vgdisplay

创建卷组

raid介绍及逻辑卷与逻辑卷快照应用blob.png

vgcreate VGName PDpath [PDpath…]

# vgcreate -s 2048K vg0 /dev/sdb1

raid介绍及逻辑卷与逻辑卷快照应用blob.png

-l 卷组上允许创建的最大逻辑卷数

-p 卷组中允许添加的最大物理卷数

-s 卷组上的物理卷的PE大小(指定的大小要加单位K M G T。。)

管理卷组

vgextend VGName PDpath   [PDpath…]

添加物理卷PDpath   [PDpath…]到已有的卷组VGName

# vgextend vg0 /dev/sdc1

-d 调试模式

-t 仅测试

vgreduce VGName PDpath   [PDpath…]

从卷组VGName中删除物理卷PDpath   [PDpath…]

# vgextend vg0 /dev/sdc1

删除卷组vgremove

先做pvmove(将已经使用的pv移动到其他空闲的pv,保存数据,否则数据损坏),再做vgremove(删除vg)

# pvmove /dev/hda5 /dev/hda6     #将VG中pv hda5的内容搬移到hda6中
# pvmove /dev/hda5               #也可以这样,lvm决定hda5的内容被复制到哪里

lv管理工具

显示逻辑卷

lvs

Lvdisplay

创建逻辑卷

lvcreate -L #[mMgGtT] -n NAME VolumeGroup

-p r  只读逻辑卷

-L 指定逻辑卷的大小,单位为“kKmMgGtT”字节

-l 指定逻辑卷的大小(LE数)

-n 后面跟逻辑卷名

[root@localhost ~]# lvcreate -L 1G -n lv1 vg0

Logical volume "lv1" created.

[root@localhost ~]# lvs

LV   VG   Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert

lv1  vg0  -wi-a—–   1.00g

删除逻辑卷

lvremove /dev/VG_NAME/LV_NAME

重设文件系统大小(一般在扩展逻辑卷后操作)

fsadm [options] resize device [new_size[BKMGTEP]]

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

扩展和缩减逻辑卷

扩展逻辑卷:(可以在挂载的情况下使用)

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

-r  识别文件系统,并创建对应的文件系统,省去下面创建文件系统resize2fs,xsf_growfs

# resize2fs /dev/VG_NAME/LV_NAME (ext系列)

xsf_growfs /dev/lv_name (xsf文件系统,只能扩展,不能缩减)

缩减逻辑卷:(建议先做备份,然后再缩减)

五步骤(顺序不能乱)

1.-卸载分区()

# umount /dev/VG_NAME/LV_NAME

2-检查文件系统

# e2fsck -f /dev/VG_NAME/LV_NAME

3-缩减文件系统

# resize2fs /dev/VG_NAME/LV_NAME  缩减后的数额#[mMg Gt T]

4-缩减逻辑卷(缩减的数额不能大于剩余空间大小,否则数据会损毁)

# lvreduce -L [-]#[mMgGtT]

/dev/VG_NAME/LV_NAME

5挂载

# 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放大快照。

32

逻辑卷管理器快照

 快照就是将当时的系统信息记录下来,就好像照相一般,若将来有任何数据改动了,则原始数据会被移动到快照区,没有改动的区域则由快照区和文件系统共享。

raid介绍及逻辑卷与逻辑卷快照应用blob.png

由于快照区与原本的LV共用很多PE的区块,因此快照去与被快照的LV必须要要在同一个VG上!系统恢复的时候的文件数量不能高于快照区的实际容量。

33

使用LVM快照

 为现有逻辑卷创建快照

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

 挂载快照

#mkdir -p /mnt/snap

#mount -o ro /dev/vg0/snap-data /mnt/snap

 删除快照

#umount /mnt/databackup

#lvremove /dev/vg0/databackup

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

(1)
hunterhunter
上一篇 2016-09-02
下一篇 2016-09-02

相关推荐

  • 内核相关

    内核两大流派单内核微内核 grub分为三个阶段:1阶段 1.5阶段 2阶段 内核阶段 通过/proc/cmdline找到根并挂载2阶段内容是放在/boot/grub目录下Centos6 实验:丢失除grub.conf外所有文件没有修复过的时候/boot/grub下文件是放在磁盘上某个位置的修复过一次后/boot/grub下文件就起作用了,一旦执行过grub-…

    Linux干货 2018-01-03
  • 用户组和权限管理相关作业

    1创建testuser uid 1234,主组:bin,辅助组:root,ftp,shell:/bin/csh home:/testdir/testuser     [root@ali ~]# useradd -u 1234 -g bin -G root,ftp -s /bin/csh -d /testdir/test…

    Linux干货 2016-08-02
  • 马哥教育网络班22期+第3周课程练习

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登陆多次,则只显示一次即可。     who | cut -d' ' -f1 | sort -u 2、取出最后登录到当前系统的用户的相关信息。     who | sort -t' ' -k4 | …

    Linux干货 2016-08-29
  • sed 流编辑器使用详解

    一、Stream EDitor, 行编辑器   sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出…

    2016-08-10
  • SSH原理与运用:远程登录

    如果本地用户名与远程用户名一致,登录时可以省略用户名。 1 $ ssh host SSH的默认端口是22,也就是说,你的登录请求会送进远程主机的22端口。使用p参数,可以修改这个端口。 1 $ ssh –p 2222 user@host 上面这条命令表示,ssh直接连接远程主机的2222端口。 三、中间人攻击 SSH之所以能够保证安全,原因在于它…

    Linux干货 2017-08-14
  • Centos7 PHP-FPM源码安装

    PHP-FPM源码安装 安装必要组件 yum install -y openssl-devel traceroute libtool unzip gcc gcc-c++ autoconf net-snmp-devel vim wget sysstat lrzsz  man tree mysql-devel ntpdate rsync libxml2…

    系统运维 2016-09-06