RAID

磁盘阵列是由一个硬盘控制器来控制多个硬盘的相互链接,使多个硬盘的读写同步减少错误,增加效率和可靠度的技术.它技术有两大特点:1是速度,2是安全

read主要工作是用来:1,保证数据完整性,安全性,和提高磁盘速率.而逻辑卷主要功能是方便在线扩容,管理.逻辑卷本身不关心底层数据的融合性

RAID级别选择有三个主要因素:可用性,性能,成本

RAID 实现方式

    RAID  需要RAID卡,有自己的CPU,处理速度快

    RAID  通过操作系统实现,比如WindowsLinux

Raid 0(条带卷) 支持两块硬盘  可100%使用磁盘容量 读取速度快 但是不安全 没有容错机制

Raid1(镜像卷) 支持两块硬盘  可使用50%的磁盘容量 读取速度一般 但是安全 具有容错机制 两块盘的数据完全一样

Raid5 支持三块以上的磁盘 可使用磁盘空间为(n-1/n 读取速度相对较快 具有容错机制 支持一块磁盘损坏

Raid01 先是raid0然后是raid1 具有raid0的读写速度和raid1的安全机制

Raid10 先是raid1 然后是raid0 具有raid1的安全机制和raid0的读写速度 支持4块硬盘 可使用磁盘空间为50%

热备盘是在服务器开始安装系统前 进入raid卡进行配置的 作用是当有一块磁盘坏掉时热备盘会立刻补上去

注:

刀片服务器 两块盘 raid1

服务器     四快盘 raid5+一块热备盘

存储       四快盘 raid5raid6(存储要做多个raid,不能所有盘都做成一个raid

创建RAID

[root@localhost ~]# yum -y install mdadm   //确保mdadm命令可用

[root@localhost ~]# mdadm -C /dev/md0 -l5 -n3 -x1 /dev/sd{d,e,f,g}

mdadm: array /dev/md0 started.

-C 创建RAID

/dev/md0 第一个RAID设备

-l5 RAID5 #l就是用来指定那种RAID

-n RAID成员的数量

-x 热备磁盘的数量 #就是预备盘一块坏了,另一块顶上去

-a  加设备为热备

-G  热备变成员

mdadm 是做软raid

开机生效:# mdadm -D -s > /etc/mdadm.conf #-D-s一起用是用来创建出来的每一个RAID的唯一标识;不写这条命令,电脑重启以后,是不被识别的

# mdadm -D /dev/md0    //-D 查看RAID详细信息

格式化,挂载

[root@localhost ~]# mkfs.ext4 /dev/md0

[root@localhost ~]# mkdir /mnt/raid5

[root@localhost ~]# mount /dev/md0 /mnt/raid5

[root@localhost ~]# cp -rf /etc /mnt/raid5/etc1

模拟一块硬盘损坏,并移除

终端一:

[root@localhost ~]# watch -n 0.5 'mdadm -D /dev/md0'   //watch持续查看

终端二:

[root@localhost ~]# mdadm /dev/md0 -f /dev/sde -r /dev/sde  

//模拟坏了并移除  -f  --fail  -r  --remove

 

6.将修好的磁盘重新加入到已经存在的磁盘阵列中:

[root@node1 ~]# mdadm -G -n4 /dev/md0               //使用-G或者--grow -n(磁盘数量)多设置一个就好了!少设置一个是缩小容量

 

逻辑卷快照snapshot;它的作用:1. 利用快照实现一致性备份

逻辑卷的快照的空间是从哪里得到的:

所做快照的卷的卷组,也就是说快照卷和源卷处于同一个卷组,所以要保证卷组空间足够!

不管数据大小,我们备份一定会涉及到备份时间的问题,不管用什么方法备份都是一样的,文件越大,备份时间就会越长;快照给我们提供了一个什么样的好处呢?可以在备份之前先创建一个快照,使文件系统有一个一致性的保证,然后我们在进行备份;

停机备份:就是数据不改动;这个一般不用,业务会受到影响

我们可以通过快照把一个lv分区(只能是LV分区)快照下来,快照下以后我们对它的快照分区在进行备份;这样,在整个备份的过程当中,不会影响原来LV数据的读写;这种机制就叫快照

 

逻辑卷的快照的空间是从哪里得到的:

所做快照的卷的卷组,也就是说快照卷和源卷处于同一个卷组,所以要保证卷组空间足够!

 

快照将源lv中所有的源数据(所有者,.....)备份下来,挂载快照卷,cp快照卷,通过快照卷中源lv的所有元数据,查找源lv中的真实物理数据

快照原理:cow写时同步(备份)copy on write,源lv卷中的最小存储单元中数据修改之前,先移动到快照卷中,cp快照卷时,如果源lv中的最小存储单元中的数据未改变,则用源卷中的数据,如果改变,则用快照卷中的备份的数据。快照卷只备份一次源lv卷中的最小存储单元的数据改变,多次改变,快照不记录。快照无效。

建议快照卷与源lv卷大小相同,或可以存储在快照备份期间源lv卷的改变数据大小,如果快照卷使用空间超了,则快照无效

创建快照#lvcreate -L 50M -s -n lv06-snap /dev/vg01/lv06#一瞬间就将数据备份下来

里面的-L 50M:指定创建lv分区有多大,建议和源lv一样大; -s:指的是创建快照

n lv06-snap:指的是快照分区叫什么名字

/dev/vg01/lv06:指的是针对哪个lv做快照

[root@localhost ~]# lvs  #创建成功看一下

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

  lv06    vg01 owi-aos--    20.00g #这是存原始数据的                                             

  lv06-snap  vg01 swi-a-s--    52.00m    lv06    0.02 #这是快照分区

  52.00m:指的是大小是多少; lv06:指的是对谁做得快照

 0.02:指的是快照分区增长率

接下来对快照进行挂载,进行备份;

不能对快照进行格式化,一格式化就没了;直接挂载

root@localhost ~]# mkdir /mnt/lv06-snap

[root@localhost ~]# mount /dev/vg01/lv06-snap /mnt/lv06-snap #挂载

[root@localhost ~]# ls /mnt/lv06 #去挂载点看一下

etc1  etc2  etc3  lost+found #全都是数据;和源lv数据是一样的;而且可以保持一致性

我们可以对快照分区进行备份,因为有源数据,有写时同步的机制,可以踏踏实实的备份,备完了以后,将快照分区的lv一删就行了;现在对快照分区进行备份,备份的是快照那一时刻的数据,不管原lv的数据改成什么样的,我们都只是将快照那一时刻的数据备份下来了;这是快照的作用;这就是快照的一个机制:保证一致性用来做备份;但是lv的快照还是有缺点的:它只能对一个lv创建一个快照,想创建第二个,就必须等一个备份完了,快照没用了,将这个快照删掉,然后才能创建第二个;还有一个原因就是,如果快照的这个增长比率达到百分之百了,快照分区就奔溃了,那快照就不能用了,所以基于lvm的快照来讲,存在了一些限制;后来lvm的第二个版本将快照的功能做了一个提升,

快照的自动增长:

yum install lvm2* -y

[root@localhost ~]# vim /etc/lvm/lvm.conf

snapshot_autoextend_threshold = 70

snapshot_autoextend_percent = 50

[root@localhost ~]# service lvm2-monitor restart

[root@localhost ~]# chkconfig lvm2-monitor on

snapshot_autoextend_threshold = 70 snapshot_autoextend_percent = 50这两行是指定两个百分比,意思就是所有创建快照的区分,快照增长到了百分之70的时候,可以自动将快照分区扩容百分之五十;这个功能其实没有人用,一是浪费空间,二是设置的预值如果超过了百分之七十,会涨到百分之五十,如果它一瞬间涨到百分之白照样奔溃;

就算设置了自动增长功能,它也照样奔溃,快照照样坏了,所以意味着如果有自动增长功能我们也不能让它涨到百分之百;一个建议,为了把握起见,这个数预值写小点,例如:snapshot_autoextend_threshold = 50  #这是预值

snapshot_autoextend_percent = 50   #这是增长的比例

它写的慢,我们可以强制它写快点:往原lv里面写数据,这样它就必须同步,因为往原lv写数据相当于那个磁盘位置工具就改了,这样就触发它必须把写同步的数据同步到快照的lv

posted @ 2017-06-12 10:56  青牛怪  阅读(252)  评论(0编辑  收藏  举报