Loading... <h2 id="raid简介">RAID简介</h2> <blockquote class="white-blockquote"><p style="margin-top: 0px;margin-bottom: 0px;line-height: 25px">独立硬盘冗余阵列(RAID, Redundant Array of Independent Disks),旧称廉价磁盘冗余阵列(Redundant Array of Inexpensive Disks),简称磁盘阵列。主要目的是把多块硬盘组合起来提高数据处理能力、容错功能等</p> </blockquote> <p>根据实现方式分为硬件和软件两种 <br /> 硬件RAID:通过RAID卡或主板集成的RAID控制器来支持实现RAID功能 <br /> 软件RAID:通过软件模拟实现RAID功能 <br /><span style="font-weight: 700">注</span>:软件RAID不建议在生产环境使用,作为学习了解RAID的一种方式。</p> <hr /> <h2 id="常见raid级别">常见RAID级别</h2> <ul class=" list-paddingleft-2"> <li> <p><span style="font-weight: 700">RAID 0</span></p> </li> </ul> <blockquote class="white-blockquote"><p style="margin-top: 0px;margin-bottom: 0px;line-height: 25px">RAID 0亦称为条带卷。它将两块以上的硬盘并联起来,成为一个大容量的硬盘。数据会分割成多个数据块(chunk)平均分散存储到硬盘上,因此读写能力提升,但不具备冗余和容错功能,一块硬盘损坏,所有数据丢失。</p> </blockquote> <p><img src="//cto.wang/usr/uploads/2016/07/20160703161608-83.png" alt="" title="" style="height: auto;max-width: 100%;vertical-align: middle;border: 0px" /></p> <ul class=" list-paddingleft-2"> <li> <p><span style="font-weight: 700">RAID 1</span></p> </li> </ul> <blockquote class="white-blockquote"><p style="margin-top: 0px;margin-bottom: 0px;line-height: 25px">RAID 1亦称为镜像卷。它由两块或多块硬盘相互组成镜像。比如两块硬盘组RAID 1 数据会在两块硬盘都保存一份,使得硬盘读性能提升但写性能略有下降,具备冗余和容错功能。</p> </blockquote> <p><img src="//cto.wang/usr/uploads/2016/07/20160703161608-12.png" alt="" title="" style="height: auto;max-width: 100%;vertical-align: middle;border: 0px" /></p> <ul class=" list-paddingleft-2"> <li> <p><span style="font-weight: 700">RAID 4</span></p> </li> </ul> <blockquote class="white-blockquote"><p style="margin-top: 0px;margin-bottom: 0px;line-height: 25px">RAID 4是由3块或3块以上硬盘组成,其中一块硬盘作为校验盘存储校验码,使其具备容错能力允许损坏一块硬盘,其可通过异或运算还原数据。在读写操作时校验盘相比其它盘的负载压力大,更易损坏。</p> </blockquote> <p><img src="//cto.wang/usr/uploads/2016/07/20160703161608-84.png" alt="" title="" style="height: auto;max-width: 100%;vertical-align: middle;border: 0px" /></p> <ul class=" list-paddingleft-2"> <li> <p><span style="font-weight: 700">RAID 5</span></p> </li> </ul> <blockquote class="white-blockquote"><p style="margin-top: 0px;margin-bottom: 0px;line-height: 25px">RAID 5可以理解为RAID 4的升级版,相比于RAID 4其将校验码分散存储在各个盘上,使得负载均衡,整体性能提升,并且提供了一块硬盘的冗余。</p> </blockquote> <p><img src="//cto.wang/usr/uploads/2016/07/20160703161609-6.png" alt="" title="" style="height: auto;max-width: 100%;vertical-align: middle;border: 0px" /></p> <ul class=" list-paddingleft-2"> <li> <p><span style="font-weight: 700">RAID 6</span></p> </li> </ul> <blockquote class="white-blockquote"><p style="margin-top: 0px;margin-bottom: 0px;line-height: 25px">相比于RAID 5增加一个校验系统,提供了两块硬盘的冗余。根据其设计硬盘数至少4块.</p> </blockquote> <p><img src="//cto.wang/usr/uploads/2016/07/20160703161609-58.png" alt="850px-RAID_6.svg.png-41.6kB" title="" style="height: auto;max-width: 100%;vertical-align: middle;border: 0px" /></p> <h3 id="混合类型">混合类型</h3> <ul class=" list-paddingleft-2"> <li> <p><span style="font-weight: 700">RAID 10</span></p> </li> </ul> <blockquote class="white-blockquote"><p style="margin-top: 0px;margin-bottom: 0px;line-height: 25px">RAID 10是将所有硬盘先组成N组RAID 1,然后再组成RAID 0。最高可支持半数硬盘损坏而不丢失数据。</p> </blockquote> <p><img src="//cto.wang/usr/uploads/2016/07/20160703161609-88.png" alt="" title="" style="height: auto;max-width: 100%;vertical-align: middle;border: 0px" /></p> <ul class=" list-paddingleft-2"> <li> <p><span style="font-weight: 700">RAID 01</span></p> </li> </ul> <blockquote class="white-blockquote"><p style="margin-top: 0px;margin-bottom: 0px;line-height: 25px">RAID 10是将所有硬盘先组成N组RAID 0,然后再组成RAID 1。当有一块硬盘损坏,其同组RAID 0的其它硬盘都会停止工作。运气不好可能损坏两块硬盘就导致所有数据丢失。</p> </blockquote> <p><img src="//cto.wang/usr/uploads/2016/07/20160703161609-88-1.png" alt="" title="" style="height: auto;max-width: 100%;vertical-align: middle;border: 0px" /></p> <ul class=" list-paddingleft-2"> <li> <p><span style="font-weight: 700">RAID 50</span></p> </li> </ul> <blockquote class="white-blockquote"><p style="margin-top: 0px;margin-bottom: 0px;line-height: 25px">RAID 5与RAID 0的组合,先作RAID 5,再作RAID 0。至少需要6块硬盘,最多只能坏一块硬盘。</p> </blockquote> <p><img src="//cto.wang/usr/uploads/2016/07/20160703161609-10.png" alt="" title="" style="height: auto;max-width: 100%;vertical-align: middle;border: 0px" /></p> <ul class=" list-paddingleft-2"> <li> <p><span style="font-weight: 700">JBOD(Just a Bunch Of Disks)</span></p> </li> </ul> <blockquote class="white-blockquote"><p style="margin-top: 0px;margin-bottom: 0px;line-height: 25px">主要功能是将多块硬盘的空间合并成一个大的连续空间使用。</p> </blockquote> <p><img src="//cto.wang/usr/uploads/2016/07/20160703161610-100.png" alt="" title="" style="height: auto;max-width: 100%;vertical-align: middle;border: 0px" /></p> <blockquote class="white-blockquote"><p style="margin-top: 0px;margin-bottom: 0px;line-height: 25px"><span style="font-weight: 700">注</span>:以上图片转自维基百科</p> </blockquote> <h3 id="总结和对比">总结和对比</h3> <table class="table table-striped-white table-bordered" width="849"> <thead> <tr class="firstRow"> <th style="padding: 8px;line-height: 20px;text-align: center;vertical-align: bottom;border-top-width: 0px">RAID级别</th> <th style="padding: 8px;line-height: 20px;text-align: center;vertical-align: bottom;border-top-width: 0px">读取性能</th> <th style="padding: 8px;line-height: 20px;text-align: center;vertical-align: bottom;border-top-width: 0px">写入性能</th> <th style="padding: 8px;line-height: 20px;text-align: center;vertical-align: bottom;border-top-width: 0px">可用空间</th> <th style="padding: 8px;line-height: 20px;text-align: center;vertical-align: bottom;border-top-width: 0px">最大容错</th> <th style="padding: 8px;line-height: 20px;text-align: center;vertical-align: bottom;border-top-width: 0px">极端情况</th> <th style="padding: 8px;line-height: 20px;text-align: center;vertical-align: bottom;border-top-width: 0px">最少硬盘</th> </tr> </thead> <tbody> <tr> <td style="padding: 8px;line-height: 20px;text-align: center;vertical-align: top">单一硬盘(参考)</td> <td style="padding: 8px;line-height: 20px;text-align: center;vertical-align: top">1</td> <td style="padding: 8px;line-height: 20px;text-align: center;vertical-align: top">1</td> <td style="padding: 8px;line-height: 20px;text-align: center;vertical-align: top">1</td> <td style="padding: 8px;line-height: 20px;text-align: center;vertical-align: top">0</td> <td style="padding: 8px;line-height: 20px;text-align: center;vertical-align: top">1</td> <td style="padding: 8px;line-height: 20px;text-align: center;vertical-align: top">1</td> </tr> <tr> <td style="padding: 8px;line-height: 20px;text-align: center;vertical-align: top">RAID 0</td> <td style="padding: 8px;line-height: 20px;text-align: center;vertical-align: top">N</td> <td style="padding: 8px;line-height: 20px;text-align: center;vertical-align: top">N</td> <td style="padding: 8px;line-height: 20px;text-align: center;vertical-align: top">N*min(S1…Sn)</td> <td style="padding: 8px;line-height: 20px;text-align: center;vertical-align: top">0</td> <td style="padding: 8px;line-height: 20px;text-align: center;vertical-align: top">1</td> <td style="padding: 8px;line-height: 20px;text-align: center;vertical-align: top">2</td> </tr> <tr> <td style="padding: 8px;line-height: 20px;text-align: center;vertical-align: top">RAID 1</td> <td style="padding: 8px;line-height: 20px;text-align: center;vertical-align: top">N</td> <td style="padding: 8px;line-height: 20px;text-align: center;vertical-align: top">略有下降</td> <td style="padding: 8px;line-height: 20px;text-align: center;vertical-align: top">1*min(S1…Sn)</td> <td style="padding: 8px;line-height: 20px;text-align: center;vertical-align: top">N-1</td> <td style="padding: 8px;line-height: 20px;text-align: center;vertical-align: top">N</td> <td style="padding: 8px;line-height: 20px;text-align: center;vertical-align: top">2</td> </tr> <tr> <td style="padding: 8px;line-height: 20px;text-align: center;vertical-align: top">RAID 4</td> <td style="padding: 8px;line-height: 20px;text-align: center;vertical-align: top">提高</td> <td style="padding: 8px;line-height: 20px;text-align: center;vertical-align: top">提高</td> <td style="padding: 8px;line-height: 20px;text-align: center;vertical-align: top">(N-1)*min(S1…Sn)</td> <td style="padding: 8px;line-height: 20px;text-align: center;vertical-align: top">1</td> <td style="padding: 8px;line-height: 20px;text-align: center;vertical-align: top">2</td> <td style="padding: 8px;line-height: 20px;text-align: center;vertical-align: top">3</td> </tr> <tr> <td style="padding: 8px;line-height: 20px;text-align: center;vertical-align: top">RAID 5</td> <td style="padding: 8px;line-height: 20px;text-align: center;vertical-align: top">N-1</td> <td style="padding: 8px;line-height: 20px;text-align: center;vertical-align: top">N-1</td> <td style="padding: 8px;line-height: 20px;text-align: center;vertical-align: top">(N-1)*min(S1…Sn)</td> <td style="padding: 8px;line-height: 20px;text-align: center;vertical-align: top">1</td> <td style="padding: 8px;line-height: 20px;text-align: center;vertical-align: top">2</td> <td style="padding: 8px;line-height: 20px;text-align: center;vertical-align: top">3</td> </tr> <tr> <td style="padding: 8px;line-height: 20px;text-align: center;vertical-align: top">RAID 6</td> <td style="padding: 8px;line-height: 20px;text-align: center;vertical-align: top">N-2</td> <td style="padding: 8px;line-height: 20px;text-align: center;vertical-align: top">N-2</td> <td style="padding: 8px;line-height: 20px;text-align: center;vertical-align: top">(N-2)*min(S1…Sn)</td> <td style="padding: 8px;line-height: 20px;text-align: center;vertical-align: top">2</td> <td style="padding: 8px;line-height: 20px;text-align: center;vertical-align: top">3</td> <td style="padding: 8px;line-height: 20px;text-align: center;vertical-align: top">4</td> </tr> <tr> <td style="padding: 8px;line-height: 20px;text-align: center;vertical-align: top">RAID 10</td> <td style="padding: 8px;line-height: 20px;text-align: center;vertical-align: top">N</td> <td style="padding: 8px;line-height: 20px;text-align: center;vertical-align: top">M</td> <td style="padding: 8px;line-height: 20px;text-align: center;vertical-align: top">M*min(S1…SN)</td> <td style="padding: 8px;line-height: 20px;text-align: center;vertical-align: top">N-M</td> <td style="padding: 8px;line-height: 20px;text-align: center;vertical-align: top">N/M</td> <td style="padding: 8px;line-height: 20px;text-align: center;vertical-align: top">4</td> </tr> <tr> <td style="padding: 8px;line-height: 20px;text-align: center;vertical-align: top">RAID 01</td> <td style="padding: 8px;line-height: 20px;text-align: center;vertical-align: top">N</td> <td style="padding: 8px;line-height: 20px;text-align: center;vertical-align: top">N/M</td> <td style="padding: 8px;line-height: 20px;text-align: center;vertical-align: top">N*min(S1…SN)/M</td> <td style="padding: 8px;line-height: 20px;text-align: center;vertical-align: top">N*(M-1)</td> <td style="padding: 8px;line-height: 20px;text-align: center;vertical-align: top">M</td> <td style="padding: 8px;line-height: 20px;text-align: center;vertical-align: top">4</td> </tr> <tr> <td style="padding: 8px;line-height: 20px;text-align: center;vertical-align: top">JBOD</td> <td style="padding: 8px;line-height: 20px;text-align: center;vertical-align: top">1</td> <td style="padding: 8px;line-height: 20px;text-align: center;vertical-align: top">1</td> <td style="padding: 8px;line-height: 20px;text-align: center;vertical-align: top">容量之和</td> <td style="padding: 8px;line-height: 20px;text-align: center;vertical-align: top">0</td> <td style="padding: 8px;line-height: 20px;text-align: center;vertical-align: top">1</td> <td style="padding: 8px;line-height: 20px;text-align: center;vertical-align: top">2</td> </tr> </tbody> </table> <blockquote class="white-blockquote"><p style="margin-top: 0px;margin-bottom: 0px;line-height: 25px">注: <br />N表示硬盘数 <br />min(S1…Sn)表示最小硬盘容量 <br />RAID 10中M表示RAID 1的组数,RAID 01中M表示RAID 0的组数 <br />极端情况表示最少几块硬盘损坏就会导致数据丢失</p> </blockquote> <hr /> <h2 id="centos-6上的软件raid的实现">CentOS 6上的软件RAID的实现</h2> <blockquote class="white-blockquote"><p style="margin-top: 0px;margin-bottom: 0px;line-height: 25px">在CentOS 6中使用mdadm工具与内核中的md(multi devices)模块通信完成创建管理软RAID</p> </blockquote> <ul class=" list-paddingleft-2"> <li> <p>mdadm简介</p> </li> </ul> <blockquote class="white-blockquote"><p style="margin-top: 0px;margin-bottom: 15px;line-height: 25px">命令的语法格式:<code>mdadm [mode] <raiddevice> [options] <component-devices></code> <br />支持的RAID级别:LINEAR, RAID0, RAID1, RAID4, RAID5, RAID6, RAID10</p> <p style="margin-top: 0px;margin-bottom: 15px;line-height: 25px">模式: <br />创建模式:-C <br />装配模式:-A <br />监控模式:-F <br />管理模式:-f,-r,-a <br />: /dev/md# <br />: 任意块设备</p> <p style="margin-top: 0px;margin-bottom: 15px;line-height: 25px"><span style="font-weight: 700">-C</span>:创建模式 <br />-n #:使用#个块设备来创建此RAID <br />-l #:指明要创建的RAID的级别 <br />-a {yes|no}:自动创建目标RAID设备的设备文件 <br />-c CHUNK_SIZE:指明块大小 <br />-x #:指明空闲盘的个数</p> <p style="margin-top: 0px;margin-bottom: 15px;line-height: 25px"><span style="font-weight: 700">-D</span>:显示raid的详细信息 <br /><code>mdadm -D /dev/md#</code></p> <p style="margin-top: 0px;margin-bottom: 15px;line-height: 25px">管理模式: <br /><span style="font-weight: 700">-f</span>:标记指定磁盘为损坏 <br /><span style="font-weight: 700">-a</span>:添加磁盘 <br /><span style="font-weight: 700">-r</span>:移除磁盘</p> <p style="margin-top: 0px;margin-bottom: 0px;line-height: 25px">观察md的状态:<code>cat /proc/mdstat</code> <br />停止md设备:<code>mdadm -S /dev/md#</code></p> </blockquote> <h3 id="软件raid实现过程">软件RAID实现过程</h3> <blockquote class="white-blockquote"><p style="margin-top: 0px;margin-bottom: 0px;line-height: 25px"><span style="font-weight: 700">实验目标</span>:创建一个可用空间为10G的RAID 1设备,要求其chunk大小为128k,文件系统为ext4,有一个空闲盘,开机可自动挂载至/backup目录</p> </blockquote> <ul class=" list-paddingleft-2"> <li> <p>系统环境</p> </li> </ul> <pre class="brush:bash;toolbar:false;">操作系统:CentOS 6.7 磁盘信息: Disk /dev/sda: 128.8 GB, 128849018880 bytes 255 heads, 63 sectors/track, 15665 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00013624 Device Boot Start End Blocks Id System /dev/sda1 * 1 64 512000 83 Linux Partition 1 does not end on cylinder boundary. /dev/sda2 64 15666 125316096 8e Linux LVM Disk /dev/sdb: 35.4 GB, 35433480192 bytes 255 heads, 63 sectors/track, 4307 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000</pre> <p><span style="font-weight: 700">注</span>:为了简便实验操作将对sdb进行分区,在此基础上创建RAID。</p> <ul class=" list-paddingleft-2"> <li> <p>磁盘分区</p> </li> </ul> <pre class="brush:bash;toolbar:false;">[root@centos6 ~]# fdisk /dev/sdb Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel Building a new DOS disklabel with disk identifier 0x3610f0c2. Changes will remain in memory only, until you decide to write them. After that, of course, the previous content won't be recoverable. Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite) WARNING: DOS-compatible mode is deprecated. It's strongly recommended to switch off the mode (command 'c') and change display units to sectors (command 'u'). Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-4307, default 1): Using default value 1 Last cylinder, +cylinders or +size{K,M,G} (1-4307, default 4307): +10G Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 2 First cylinder (1307-4307, default 1307): Using default value 1307 Last cylinder, +cylinders or +size{K,M,G} (1307-4307, default 4307): +10G Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 3 First cylinder (2613-4307, default 2613): Using default value 2613 Last cylinder, +cylinders or +size{K,M,G} (2613-4307, default 4307): +10G Command (m for help): t Partition number (1-4): 1 Hex code (type L to list codes): fd #避免问题发生软RAID一定要调整分区类型为Linux raid auto(即id为fd) Changed system type of partition 1 to fd (Linux raid autodetect) Command (m for help): t Partition number (1-4): 2 Hex code (type L to list codes): fd Changed system type of partition 2 to fd (Linux raid autodetect) Command (m for help): t Partition number (1-4): 3 Hex code (type L to list codes): fd Changed system type of partition 3 to fd (Linux raid autodetect) Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks.</pre> <p>通知内核重读分区表</p> <pre class="brush:bash;toolbar:false;">[root@centos6 ~]# partx -a /dev/sdb BLKPG: Device or resource busy error adding partition 1 BLKPG: Device or resource busy error adding partition 2 BLKPG: Device or resource busy error adding partition 3</pre> <ul class=" list-paddingleft-2"> <li> <p>RAID设备创建</p> </li> </ul> <p>使用mdadm工具创建RAID 1,chunk为128k,有一个空闲盘</p> <pre class="brush:bash;toolbar:false;">[root@centos6 ~]# mdadm -C /dev/md0 -a yes -n 2 -x 1 -c 128 -l 1 /dev/sdb{1,2,3} mdadm: Note: this array has metadata at the start and may not be suitable as a boot device. If you plan to store '/boot' on this device please ensure that your boot-loader understands md/v1.x metadata, or use --metadata=0.90 Continue creating array? y mdadm: Defaulting to version 1.2 metadata mdadm: array /dev/md0 started.</pre> <p>查看md的状态</p> <pre class="brush:bash;toolbar:false;">[root@centos6 ~]# cat /proc/mdstat #同步中 Personalities : [raid1] md0 : active raid1 sdb3[2](S) sdb2[1] sdb1[0] 10482176 blocks super 1.2 [2/2] [UU] [===>.................] resync = 18.9% (1989376/10482176) finish=0.6min speed=221041K/sec unused devices: <none> [root@centos6 ~]# cat /proc/mdstat #同步完成 Personalities : [raid1] md0 : active raid1 sdb3[2](S) sdb2[1] sdb1[0] 10482176 blocks super 1.2 [2/2] [UU] unused devices: <none></pre> <p>查看创建的RAID设备的详细信息</p> <pre class="brush:bash;toolbar:false;">[root@centos6 ~]# mdadm -D /dev/md0 /dev/md0: Version : 1.2 Creation Time : Mon Apr 11 20:17:28 2016 Raid Level : raid1 Array Size : 10482176 (10.00 GiB 10.73 GB) Used Dev Size : 10482176 (10.00 GiB 10.73 GB) Raid Devices : 2 Total Devices : 3 Persistence : Superblock is persistent Update Time : Mon Apr 11 20:18:20 2016 State : clean Active Devices : 2 Working Devices : 3 Failed Devices : 0 Spare Devices : 1 Name : centos6.7:0 (local to host centos6.7) UUID : 5a709c74:6b893df0:83f19941:565699f7 Events : 17 Number Major Minor RaidDevice State 0 8 17 0 active sync /dev/sdb1 1 8 18 1 active sync /dev/sdb2 2 8 19 - spare /dev/sdb3</pre> <p>RAID设备格式化,文件系统为ext4</p> <pre class="brush:bash;toolbar:false;">[root@centos6 ~]# mke2fs -t ext4 /dev/md0 mke2fs 1.41.12 (17-May-2010) 文件系统标签= 操作系统:Linux 块大小=4096 (log=2) 分块大小=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 655360 inodes, 2620544 blocks 131027 blocks (5.00%) reserved for the super user 第一个数据块=0 Maximum filesystem blocks=2684354560 80 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632 正在写入inode表: 完成 Creating journal (32768 blocks): 完成 Writing superblocks and filesystem accounting information: 完成 This filesystem will be automatically checked every 31 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override.</pre> <ul class=" list-paddingleft-2"> <li> <p>挂载RAID设备</p> </li> </ul> <p>将RAID设备设置开机可自动挂载至/backup目录</p> <pre class="brush:bash;toolbar:false;">[root@centos6 ~]# mkdir /backup #创建/backup目录 [root@centos6 ~]# blkid /dev/md0 #查询设备的UUID,推荐使用UUID格式挂载 /dev/md0: UUID="f57b163a-0bc3-4b21-a388-a1586d84e943" TYPE="ext4" [root@centos6 ~]# vim /etc/fstab # # /etc/fstab # Created by anaconda on Fri Mar 4 11:09:09 2016 # # Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # /dev/mapper/vg_centos6-lv_root / ext4 defaults 1 1 UUID=3efc9d2d-ff60-4491-84c4-e1beb6701b83 /boot ext4 defaults 1 2 /dev/mapper/vg_centos6-lv_home /home ext4 defaults 1 2 /dev/mapper/vg_centos6-lv_swap swap swap defaults 0 0 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0 UUID=f57b163a-0bc3-4b21-a388-a1586d84e943 /backup ext4 defaults 0 0 [root@centos6 ~]# mount -a #挂载支持自动挂载的设备 [root@centos6 ~]# df #查看是否挂载成功 Filesystem 1K-blocks Used Available Use% Mounted on /dev/mapper/vg_centos6-lv_root 51475068 4071360 44782268 9% / tmpfs 502384 0 502384 0% /dev/shm /dev/sda1 487652 37084 424968 9% /boot /dev/mapper/vg_centos6-lv_home 69608928 54412 66011888 1% /home /dev/md0 10186552 23028 9639416 1% /backup #表明挂载成功</pre> <ul class=" list-paddingleft-2"> <li> <p>测试</p> </li> </ul> <pre class="brush:bash;toolbar:false;">[root@centos6 backup]# ls /backup lost+found [root@centos6 backup]#cp /etc/fstab /backup [root@centos6 ~]# ls /backup fstab lost+found [root@centos6 ~]# mdadm /dev/md0 -f /dev/sdb1 #模拟一块硬盘损坏 mdadm: set /dev/sdb1 faulty in /dev/md0 [root@centos6 ~]# mdadm -D /dev/md0 #查看设备信息 /dev/md0: Version : 1.2 Creation Time : Mon Apr 11 20:17:28 2016 Raid Level : raid1 Array Size : 10482176 (10.00 GiB 10.73 GB) Used Dev Size : 10482176 (10.00 GiB 10.73 GB) Raid Devices : 2 Total Devices : 3 Persistence : Superblock is persistent Update Time : Mon Apr 11 21:03:48 2016 State : clean, degraded, recovering #处于降级恢复模式 Active Devices : 1 Working Devices : 2 Failed Devices : 1 Spare Devices : 1 Rebuild Status : 43% complete Name : centos6.7:0 (local to host centos6.7) UUID : 5a709c74:6b893df0:83f19941:565699f7 Events : 26 Number Major Minor RaidDevice State 2 8 19 0 spare rebuilding /dev/sdb3 #空闲盘替代损坏硬盘,数据重建中 1 8 18 1 active sync /dev/sdb2 0 8 17 - faulty /dev/sdb1 #提示该硬盘损坏 [root@centos6 ~]# mdadm /dev/md0 -f /dev/sdb2 #模拟再出现硬盘损坏 mdadm: set /dev/sdb2 faulty in /dev/md0 [root@centos6 ~]# mdadm -D /dev/md0 /dev/md0: Version : 1.2 Creation Time : Mon Apr 11 20:17:28 2016 Raid Level : raid1 Array Size : 10482176 (10.00 GiB 10.73 GB) Used Dev Size : 10482176 (10.00 GiB 10.73 GB) Raid Devices : 2 Total Devices : 3 Persistence : Superblock is persistent Update Time : Mon Apr 11 21:10:20 2016 State : clean, degraded #处于降级模式 Active Devices : 1 Working Devices : 1 Failed Devices : 2 Spare Devices : 0 Name : centos6.7:0 (local to host centos6.7) UUID : 5a709c74:6b893df0:83f19941:565699f7 Events : 38 Number Major Minor RaidDevice State 2 8 19 0 active sync /dev/sdb3 2 0 0 2 removed #此处硬盘缺失 0 8 17 - faulty /dev/sdb1 1 8 18 - faulty /dev/sdb2 [root@centos6 ~]# cat /backup/fstab #数据可正常访问 # # /etc/fstab # Created by anaconda on Fri Mar 4 11:09:09 2016 # # Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # /dev/mapper/vg_centos6-lv_root / ext4 defaults 1 1 UUID=3efc9d2d-ff60-4491-84c4-e1beb6701b83 /boot ext4 defaults 1 2 /dev/mapper/vg_centos6-lv_home /home ext4 defaults 1 2 /dev/mapper/vg_centos6-lv_swap swap swap defaults 0 0 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0 UUID=f57b163a-0bc3-4b21-a388-a1586d84e943 /backup ext4 defaults 0 0</pre> <p></p> 最后修改:2021 年 12 月 10 日 10 : 53 AM © 允许规范转载 赞赏 如果觉得我的文章对你有用,请随意赞赏 赞赏作者 支付宝微信