mdadm Linux下MDADM的软RAID取证技术
Linux下MDADM的软RAID取证技术
编者按磁盘阵列(RAID),将多个物理磁盘按照一定的形式和方案组织起来,虚拟化成一个或者多个虚拟磁盘,这些虚拟磁盘的数据以条带的方式分布存储于所有的物理磁盘中,以此来获得更大的存储空间以及更快的传输性能。
按照RAID的构建方式,可以将RAID分成两类:硬RAID和软RAID。硬RAID需要依托硬件RAID控制器来实现RAID的构建,而软RAID则不需要,直接依托的操作系统和相关软件来实现RAID的构建。
针对MDADM管理软件创建的RAID取证,美亚柏科技术专家对Linux服务器上常用的软RAID管理软件MDADM进行了深入研究,为大家提供了一种更为简单的新方法。
一、MDADM简介
MDADM是Linux操作系统上开源的软RAID用户层管理工具,允许用户创建和管理软RAID磁盘阵列。
目前,MDADM支持大部分常见的阵列类型,如JBOD、RAID0、RAID1、RAID4、RAID5、RAID6、MULTIPATH、RAID10等,创建和管理RAID也十分的方便,同时,MDADM使用非常灵活,磁盘或者分区都可以作为RAID的成员盘来创建软RAID。
在Linux下采用MDADM工具的--create命令来创建软RAID磁盘组,其中MDADM创建软RAID部分重要参数说明如下:
以上,技术专家使用MDADM创建软RAID的命令行如下:
当命令行成功执行后,即在/dev/md设备目录下成功创建名称为testmd001的磁盘阵列,阵列为RAID5常规右同步类型,未指定条带大小情况下默认条带大小为512K,其中RAID的成员盘分别为设备 /dev/sdb1,/dev/sdb2,/dev/sdb3和/dev/sdb4,此外还有个热备盘为 /dev/sdb5。
MDADM查询创建好的软RAID详细信息也十分方便,可以直接MDADM工具的--detail命令来查看对应的软RAID的参数,其中部分RIAD部分重要参数说明如下:
以上,技术专家用mdadm --detail /dev/md/testmd001命令查询/dev/md设备目录下名称为testmd001的软RAID的相关信息。
如下图,通过MDADM命令在Linux上成功创建并启用磁盘阵列/dev/md/testmd001。
如下图,通过MDADM命令查看创建好的软RAID的相关参数。
二、MDADM技术方案
MDADM管理的软RAID的成员盘可以分为三个部分:系统预留区、参数配置信息区以及实际的组成软RAID的数据区。组成RAID的每一个成员盘的结构都是一样,结构图如下图所示。
参数配置信息中保存了对应软RAID组的所有参数信息,包括:MDADM的版本、创建时间、修改时间、RAID盘序、条带大小、RAID类型、名称、UUID等信息。其中,参数配置信息部分重要字段如下表:
对于同一组软RAID来说,组成RAID的成员盘(磁盘或者分区皆可)的UUID是一致的,可以一起来唯一确定一组软RAID的所有成员盘,并根据主磁盘中记录的软RAID的参数对这些成员盘进行重组,组成最终结果,因此,可通过以下流程对Linux软RAID进行离线解析。
其中的核心都在于如何识别出MDADM的成员盘以及对MDADM的成员盘参数的解析处理。
三、MDADM取证思路
MDADM的取证,传统情况下比较复杂,只能通过Linux虚拟机直接通过MDADM命令将MDADM设备加载,然后采用直接在线浏览的方式对软RAID设备进行取证,又或者通过DD命令将组好的MDADM设备导出独立的镜像再进行取证。
通过对MDADM软RAID的结构进行深入研究,并将研究结果实际使用到取证工具中。目前,最新版本取证大师已经支持直接对MDADM设备进行加载分析。
四、总结
随着Linux服务器取证需求的日益增多,取证人员可能会越来越多的遇到MDADM结构的软RAID。本文从MDADM的结构入手,对MDADM的磁盘结构进行深入分析并提出了MDADM软RAID的取证思路。