linux中软RAID制作方法

本文发布时间: 2019-Mar-22
linux中软RAID制作方法【操作系统版本:】红帽6.3提示:在linux中磁盘设备可以在/dev/目录中找到其中IDE接口的硬盘在该目录中以hd的文件名开头SATA接口的硬盘在该目录中以sd的文件名开头SCSI接口的硬盘在该目录中以sd的文件名开头USB接口类型的磁盘在该目录中以sd的文名开头【使用相关命令】【fdisk】:磁盘管理,分区命令【mdadm】:软RAID制作命令(支持将任何块设备做成RAID)一、创建软RAID注意:做成RAID要使用很多磁盘,本文档为了方便模拟,只添加了一块磁盘,在磁盘中创建分区,然后对分区进行RAID的制作。这样做只是为了方便演示,在实际中,使用一块磁盘由分区创建的软RAID是没有任何以意义,并且也不能提高文件的存储以及读取速度,因为,一块磁盘的转速是固定的,如果磁盘坏了,你在该磁盘中创造的软RAID中使用的备份都会同时损坏。前提:先准备一块硬盘如图,这里已经准备好了一块硬盘sdb已经再/dev/下面读取出来了。【示例一:创建一个由两个分区组成的20G的RAID0】如下图RAID0模型图如下:注意:根据RAID0的结果,首先需要准备两个10G大小的分区。这一创建的RAID0就能达到20G首先:创建两个10G大小的分区在sdb磁盘中#fdisk /dev/sdb可以进入sdb磁盘的分区管理模式输入p可以查看磁盘分区信息由于这里改磁盘还没做分区,就先创建一个扩展分区,将分区大小指定为磁盘的全部大小输入:n这里提示是输入e创建扩展分区输入p是创建主分区输入:e由于磁盘中最多可创建4个主分区,所有为了能创建扩展分区,需要用16个字节来表示一个扩展分区。输入:1这里时输入分区的起始柱面,这里提示默认值是1,可以输入1也可直接按回车键输入:1这里是输入磁盘的结束柱面,为了充分利用磁盘就将全部柱面都分割个扩展分区,这里提示的默认值是13054,可以输入13054也可以直接回车直接回车看到这里,又回到了刚开始的操作模式,现在可以使用p查看详细信息输入:p刚刚创建的扩展分区大小就已经在这里显示出来了。那么接下来就可以在扩展分区中创建分区了输入:n这里刚才那个e就没了,因为一个磁盘上只能创建一个扩展分区的引用地址。那么现在的L就表示在刚才创建的扩展分区引用地址中创建扩展分区,注意:扩展分区的编号默认是从5开始。输入:l这里指定扩展分区的起始柱面:为了防止出现磁盘碎片,建议直接回车回车这里输入扩展分区的结束柱面,由于按照柱面不好确定分区的大小可以直接使用+10G来指定分区创建为10G的大小输入:+10G这可以使用p查看创建后的分区情况输入p接下来继续和上面一样创建第二个10G的分区。现在就是要调整分区类型了,由于软RAID的创建必须使用Linux raid auto类型,这里可以输入t来调整分区类型输入:t这里是说,输入要调整分区类型的编号即,你刚刚已经创建好了的分区类型的编号,输入:5这里是输入类型编号,如果不知道类型编号可以输入l来查看接下来输入fd修改类型输入:fd输入p可以查看修改后的结果下面继续修改sdb6的分区类型这里已经修改完成,输入w保存退出输入:w接下来通知内核重读sdb的分区表输入:partprobe/dev/sdb为了验证结果可以查看/proc/partitions文件来验证输入:cat /proc/partitions这里已经可以看到sdb5和sdb6了输入:mdadm -C /dev/md0 -l 0 -a yes -n 2 /dev/sdb5 /dev/sdb6这里显示创建成功:输入:cat /proc/mdstat可以验证这里RAID0的设备已经创建完成,要想使用需要在其设备上创建文件系统。注意:由于此次sdb5和sdb6已经组成了一个RAID0设备md0,那么创建文件系统就要在md0上创建文件系统输入:mke2fs -j/dev/md0为md0创建文件系统这里文件系统已经创建完成,要想使用就挂载/dev/md0即可输入:fdisk -l 可以查看md0的磁盘信息这里已经显示为21.5G了,那么此时就创建完成了。由于磁盘分区中是以柱面来分配的,说以这里不能完全保证创建刚好的是20G。大小有误差.注意,对于创建RAID0中的两个分区sdb5和sdb6其中一个只要损坏,那么存放在由sdb5和sdb6组成的RAID0设备md0就无法继续使用。因为RAID0不具备冗余能力【示例二:创建一个2G的RAID1】分析:由于要创建的是一个2G的RAID1根据RAID1的构成结构,我们需要两块2G的硬盘才能组成一个2G的RAID1如下图:RAID1模型为了演示,首先,创建两个2G的分区当做磁盘来使用输入:fdisk/dev/sdb接下来的创建磁盘的操作在示例一中已经演示过。这里只放截图。修改分区类型保存退出输入:partprobe/dev/sdb通知内核重读sdb的分区表这里由于使用的是虚拟机,现在出现了一个错误,目前不清楚,不过可以使用partx来重读输入:partx –a /dev/sdb这里的这几个错误不用管,没多大影响,只需要检查看设备是否已经读取出来了输入:cat /proc/partitions这里已经显示了,刚才创建的sdb7和sdb8,为了之后做个损坏模拟,我还多创建了一个2G的sdb9现在来使用mdadm创建RAID1输入:mdadm -C /dev/md1 -a yes -l 1 -n 2 /dev/sdb7 /dev/sdb8这里这个输入y确定输入:y这里已经显示md1设备已经创建完成。输入:cat /proc/mdstat验证这里已经显示md1是有sdb8和sdb9创建。输入:mke2fs -j /dev/md1为设备创建文件系统(即格式化)这里已经格式化完成。到这里一个2G的RAID1已经创建成功。可以挂载使用了。输入:fdisk -l可以查看md1设备详细信息这里可以看到使用两个2G大小的sdb7,sdb8创建的RAID1的容量只有2G因为,RAID1中需要使用一个相同大小的磁盘来做备份。【演示RAID1中一个磁盘的模拟损坏】上面已经创建好了一个md0和md1的RAID设备,现在挂载md1输入:mount /dev/md1 /ftpftp/gandian/gz1已经将md1设备挂载到/ftpftp/gandian/gz1目录下面了输入:ls /ftpftp/gandian/gz1查看该目录输入:cp /etc/inittab /ftpftp/gandian/gz1/拷贝一个文件到inittab到gz1目录中输入:mdadm --detail /dev/md1可以查看RAID1设备md1的构成信息在这里可以看到sdb7和sdb8都是active可以使用状态。现在可以模拟损坏sdb8后看md1是否依然可以使用输入:mdadm /dev/md1 -f /dev/sdb8这里显示sdb8已经模拟损坏输入:mdadm--detail /dev/md1这里已经看到sdb8已经损坏,并且目前工作的磁盘只有sdb7使用cd/ftpftp/gandain/gz1/进入md1的挂载目录查看文件输入:cd/ftpftp/gandian/gz1/输入:ls -l这里依然可以使用,这就是RAID1的冗余能力,当一块硬盘出现错误后,文件依然可以使用,但是如果现在不及时替换坏掉的硬盘那么当另外一块硬盘坏掉后就无法访问文件了。在实际中,如果是真正的硬盘只需要将该硬盘拔掉后替换一块一模一样大小的新硬盘就ok了,由于现在使用的是软件模拟。那么替换硬盘的方法如下:输入:mdadm /dev/md1 -r /dev/sdb8可以拿走已经损坏的sdb8磁盘输入:mdadm --detail /dev/md1查看md1的RAID信息这里已经看到,只有一块磁盘sdb7在使用。现在替换新的硬盘,使用之前已经创建好了的sdb9输入: mdadm /dev/md1 -a /dev/sdb9为md1设备添加一块硬盘输入:mdadm --detail /dev/md1再次查看mdadm的信息这里可以看到sdb9正在自动同步数据输入:cat /proc/mdstat可以查看同步进度。由于本人电脑太快,同步比较快当我输入命令后设备已经同步完成。再次输入:mdadm --detail /dev/md1查看md1信息已经可以看到sdb9可以使用了。那么现在md1设备损坏后替换硬盘的工作就修补完成。如果此时,你再损坏sdb7,文件依然可以访问附加:--------------------------------mdadm命令使用【mdadm】将任何块设备做成RAID模块化的命令:创建模式【-c】专用选项【-l】:级别(即RAID的级别类型)【-n】:设备个数【-a{yes|no}】:自动为其创建设备文件【-c】:指定CHUNK大小(数据块大小)2^n 默认大小为64k【-x】:指定空闲盘个数例如:mdadm -C /dev/md0 -a yes -l 0 -n 2/dev/sdb{5,6}管理模式不指定模式直接使用【--add】【--del】等表示管理默认mdadm工作在管理模式下【-D】【--detail】查看RAID阵列信息【-F】【--fail】【--set-faulty】将磁盘模拟损坏例如:mdadm /dev/md# --fail /dev/sdb7(将md#中sdb7模拟为损坏)mdadm /dev/md1 -r /dev/sdb7 (可以将已损坏的磁盘删除)【-S】【--stop】停止阵列例如:mdadm -s /dev/md#监控模式【-F】增长摸是【-G】装配模式【-A】【mdadm -D/dev/md# 】查看RAID阵列的详细信息--detail也行【mdadm -D--scan】可以查看当前设备上所有md设备的信息,如果将信息保存在【mdadm-D --scan > /etc/mdadm.conf】中,那么下次启动就不必要指定设备的磁盘了。安装软RAID必备条件:1、需要内核模块:md:2、linux上创建工具:mdadm


(以上内容不代表本站观点。)
---------------------------------
本网站以及域名有仲裁协议。
本網站以及域名有仲裁協議。

2024-Mar-04 02:09pm
栏目列表