网易视频云技术分享:linux软raid的bitmap分析

网易视频云技术分享:linux软raid的bitmap分析

ID:35446471

大小:85.75 KB

页数:16页

时间:2019-03-24

网易视频云技术分享:linux软raid的bitmap分析_第1页
网易视频云技术分享:linux软raid的bitmap分析_第2页
网易视频云技术分享:linux软raid的bitmap分析_第3页
网易视频云技术分享:linux软raid的bitmap分析_第4页
网易视频云技术分享:linux软raid的bitmap分析_第5页
资源描述:

《网易视频云技术分享:linux软raid的bitmap分析》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、网易视频云技术分享:linux软raid的bitmap分析网易视频云是网易倾力打造的一款基于云计算的分布式多媒体处理集群和专业音视频技术,提供稳定流畅、低时延、高并发的视频直播、录制、存储、转码及点播等音视频的PAAS服务,在线教育、远程医疗、娱乐秀场、在线金融等各行业及企业用户只需经过简单的开发即可打造在线音视频平台。现在,网易视频云的技术专家给大家分享一则技术文:linux软raid的bitmap分析。在使用raidl,raid5等磁盘阵列的时候,对于数据的可靠性有很高的要求,raid5在写的时候需要计算校验并写入

2、,raidl则写源和镜像来保证数据的一致性,在写的过程中,有可能存在不稳定的因素,比如磁盘损坏,系统故障等,这样导致写入失败,在系统恢复后,raid也需要进行恢复,传统的恢复方式就是全盘扫描计算校验或者全量同步,如果磁盘比较大,那同步恢复的过程会很长,有可能再发生其他故障,这样就会对业务有比较大的影响。以raidl来说,在发生故障时,其实两块盘的数据很多都是已经一致的了,可能只有少部分不一致,所以就没必要进行全盘扫描,但是系统并不知道两块盘哪些数据是一致的,这就需要在某个地方记录哪些是已同步的,为此,就诞生了bitma

3、p,简单来说,bitmap就是记录raid中哪些数据是一致的,哪些是不一致的,这样在raid进行恢复的时候就不用全量同步,而是增量同步了,从而减少了恢复的时间。1.bitmap的使用bitmap的使用比较简单.mdadm的帮助文档里有很详细的说明obitmap分两种,—种是internal,—种是externalointernalbitmap是存放在raid设备的成员盘的superblock附近(可以在之前也可以在之后),而external是单独指定一个文件用来存放bitmap。这里简单的介绍一下bitmap的使用。#

4、mdadm-create/dev/md/test_md1-run-force-metadata=0.9-assume-clean-bitmap=/mnt/test/bitmap_md1-level=1-raid-devices=2/dev/sdb/dev/sdcmdadm:/dev/sdbappearstobepartofaraidarray:Ievel=raid1devices=2ctime=TueDec1721:00:582013mdadm:array/dev/md/test_md1started・查看md的状态#

5、cat/proc/mdstatPersonalities:[raidl]md126:activeraidlsdc[1]sdb[0]2097216blocks[2/2][UU]可以看到最后一行就是md126的bitmap信息,这里的默认bitmap的chunksize是4KB,可以通过-bitmap・chunk来指定bitmapchunk大小,bitmap的chunk表示在bitmap中1bit对应md设备的一个chunk(大小为bitmap的chunksize)。这里对cat/proc/mdstat查看到的bitmap

6、的信息进行说明。其中的4KBchunk表示bitmap的chunk大小是4KB;1/257pages指的是bitmap所对应的内存位图(作为磁盘上的bitmap的缓存,提高对位图的操作效率)257是内存bitmap占的总page数,1表示已经分配的page数,内存bitmap是动态分配的,使用完后就可以回收。内存位图使用16bit来表征一个chunk,其中的14bit用来统计该chunk上正在进行的写io数(后面会有详细的介绍)。[4KB]表示已经分配的内存位图page总大小。总的chunk数二口小设备大小/bitma

7、p的chunk大小内存bitmap一个page可以表示的chunk数=PAGE_SIZE*8/16内存bitmap占的总page数=总的chunk数/内存bitmap—个page可以表示的chunk数上面给出的例子中总的chunk数为2097216KB/4KB=524304取页大小为4096,—个page可以表示的chunk数为4096*8/16=2048总共需要524304/2048=256个page,看实际上是257,这是因为有可能不能整除的情况,最后一个page可能不是全部都使用。2.bitmap的内存结构bit

8、map的结构体有比较多的字段,这里关注几个重要的字段,加以说明,便于后面的分析。structbitmap{structbitmap_page*bp;/*指向内存位图页的结构"7unsignedlongchunks;/*阵列总的chunk数*/structfile*file;/*bitmap文件*/structpage**filem

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。