bitmap


用bitmap实现对raid -1 的优化

环境:
RHEL5.3,磁盘阵列raid-1(可以建立在不同磁盘或分区上,在本实验中我们使用sdb和sdd)

原理描述:
在mdadm操作中,bitmap用于记录RAID 阵列从上次同步之后更改的部分,即记录RAID阵列有多少个块已经同步(resync)。RAID 阵列会定期将信息写入到bitmap 中。在一般情况下,磁盘阵列在重启之后会有一个完整的同步过程。如果有bitmap,那么只有被修改后的数据才会被同步。在另一种情况下,如果阵列一块磁盘被取出,bitmap不会被清除,当这块磁盘重新加入阵列时,同样只会同步改变过的数据。所以bitmap能够减少磁盘阵列同步的时间,起到优化raid1的作用。Bitmap一般写入的位置是磁盘的metadata或者我们成为外部的另外,要注意的是,bitmap只是对raid1的功能,对raid0等其他设备来说是没有意义的。

Bitmap的使用:
Bitmap一般写入磁盘的metadata中,也可以写入文件系统的某个目录下。由参数—bitmap后面的参数来决定,internal表示写入metadata,也可指定目录.

1)  在建立时使用
[root@localhost ~]# mdadm -C /dev/md0 -l1 -n2 /dev/sd[bd]1 --bitmap=internal
mdadm: array /dev/md0 started.
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1]
md3 : active raid1 sdb1[1] sdd1 [0]
503872 blocks [2/2] [UU]
bitmap: 62/62 pages [248KB], 4KB chunk
    unused devices:

2)  在建完raid1之后使用
开启bitmap
[root@localhost ~]# mdadm /dev/md0 --grow --bitmap=internal
关闭bitmap:
[root@localhost ~]# mdadm /dev/md0 --grow --bitmap=none

3)  保存在文件中举例
    [root@localhost ~]# mdadm -C /dev/md0 -l1 -n2 /dev/sd[bd]1 --bitmap=/tmp/bitmap

4)  另外,可以使用—examine-bitmap或者-X来查看存储在文件或者设备元数据中的 bitmap记录的信息,当存储在元数据区时,参数是/dev/sdx,当参数是文件时,要注意的是使用bitmap文件记录要求这个文件不能在RAID阵列上或者其相关的设备上,而且使用assemble命令时要指定bitmap文件名字。另外,--bitmap-chunk表示每个bit位代表RAID设备多大的数据块,单位是KB;而--delay(或者其缩写-d)指定多长事件同步bitmap信息到文件或者设备上,单位是秒,默认是5秒。--force(或者其缩写)表示覆盖掉已经存在bitmap文件。
[root@localhost ~]# mdadm –X /dev/sdb1
或者[root@localhost ~]# mdadm –X /tmp/aaa(文件名)
unused devices:
Filename : /dev/sdb1         
Magic : 6d746962         
Version : 4            
UUID : bcccddb7:0f529abd:672e1f66:7e68bbc8         
Events : 6
Events Cleared :6         
State : OK      
Chunksize : 4 KB         
Daemon : 5s flush period      
Write Mode : Normal      
Sync Size : 2096384 (2047.59 MiB 2146.70 MB)         
Bitmap : 125968 bits (chunks), 0 dirty (0.0%)

5) bitmap模式在阵列处于降级(degrade)状态能够记录有哪些块被写过,当那个暂时失效的磁盘使用--re-add参数被重新添加后,阵列只重构这期间修改的数据块,减少阵列重构的时间。bitmap信息中dirty的数量表示降级期间被修改过的块。
#mdadm /dev/md0 -f /dev/sdb /dev/sd
#cat /proc/mdstat
#mdadm -X /tmp/md0-bm
#mdadm dd if=/dev/zero of=/dev/md0 bs=1M count=1024
#mdadm -X /tmp/md0-bm
#mdadm /dev/md0 -r /dev/sdb --re-add /dev/sdb
#cat /proc/mdstat
#mdadm -X /tmp/md0-bm


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值