¡¡¡¡ÔÚÒÔÊý¾ÝΪÖÐÐĵÄÐÅϢʱ´ú£¬ÈçºÎÍ×ÉÆÓÐЧµØ±£»¤Êý¾ÝÊǴ洢ϵͳµÄºËÐÄÎÊÌâÖ®Ò»¡£ÈËÃÇ¿ÉÒÔÈÌÊܼÆËã»úå´»ú£¬ËùÓÐÓ¦ÓóÌÐòÖØÐÂÆô¶¯»òÕßÓ²¼þË𻵣¬µ«ÊÇËûÃÇÒªÇóÐÅÏ¢ÓÀÔ¶²»»á¶ªÊ§¡£ÈßÓà´ÅÅÌÕóÁÐ(Redundant Array of Independent Disks )¼¼ÊõÊǸ÷ÖÖÆóÒµÐÅϢϵͳºÍ¸öÈ˹㷺ʹÓõĽâ¾ö·½°¸£¬Ò»°ãµÄÖиߵµ·þÎñÆ÷¶àʹÓÃÓ²¼þRAID¿ØÖÆÆ÷£¬µ«ÊÇÓÉÓÚÓ²¼þRAID¿ØÖÆÆ÷µÄ¼Û¸ñ°º¹ó£¬µ¼ÖÂϵͳ³É±¾´ó´óÔö¼Ó¡£¶øËæ×Å´¦ÀíÆ÷µÄÐÔÄÜ¿ìËÙ·¢Õ¹£¬Ê¹µÃÈí¼þRAIDµÄ½â¾ö·½·¨µÃµ½ÈËÃǵÄÖØÊÓ¡£ÕâÀïÎÒÃÇÖ÷Òª½éÉÜÔÚLinuxϵͳÖÐÈí¼þRAIDµÄÅäÖúÍʹÓ÷½·¨£¬Ëü¼È½µµÍÁËϵͳµÄ×ÜͶ×Ê£¬Ò²ÄÜÂú×ãϵͳӦÓõÄÐèÒª¡£
¡¡¡¡Ò».¼ò½é
¡¡¡¡ÔÚLinux ϵͳÖÐĿǰÒÔMD (Multiple Devices)ÐéÄâ¿éÉ豸µÄ·½Ê½ÊµÏÖÈí¼þRAID£¬ÀûÓöà¸öµ×²ãµÄ¿éÉ豸ÐéÄâ³öÒ»¸öеÄÐéÄâ¿éÉ豸£¬²¢ÇÒÀûÓÃÌõ´ø»¯(stripping)¼¼Êõ½«Êý¾Ý¿é¾ùÔÈ·Ö²¼µ½¶à¸ö´ÅÅÌÉÏÀ´Ìá¸ßÐéÄâÉ豸µÄ¶ÁдÐÔÄÜ£¬ÀûÓò»Í¬µÄÊý¾ÝÈßÓàËã·¨À´±£»¤Óû§Êý¾Ý²»»áÒòΪij¸ö¿éÉ豸µÄ¹ÊÕ϶øÍêÈ«¶ªÊ§£¬¶øÇÒ»¹ÄÜÔÚÉ豸±»Ìæ»»ºó½«¶ªÊ§µÄÊý¾Ý»Ö¸´µ½ÐµÄÉ豸ÉÏ¡£¹ØÓÚ²»Í¬ÈßÓ༶±ðµÄ¶¨ÒåºÍÊý¾Ý¿éÒÔ¼°Ð£Ñé¿éµÄ·Ö²¼Ê¾Òâͼ¿ÉÒԲο¼´æ´¢×¨ÒµÎ¯Ô±»á¸ø³öµÄ²Î¿¼×ÊÁÏ“Common RAID Disk Data Format Specification ”¡£Ä¿Ç°MDÖ§³Ölinear, multipath, raid0 (stripping), raid1 (mirror), raid4, raid5, raid6, raid10µÈ²»Í¬µÄÈßÓ༶±ðºÍ×é³É·½Ê½£¬µ±È»Ò²ÄÜÖ§³Ö¶à¸öRAIDÕóÁеIJãµþ×é³Éraid1+0, raid5+1µÈÀàÐ͵ÄÕóÁС£Ôڲο¼×ÊÁÏ“Software RAID HOWTO”ÖнéÉÜÁËÔçÆÚÈí¼þRAIDÕóÁй¦ÄÜÌØµãºÍʹÓ÷½Ê½£¬µ«ÊÇÒòΪÈí¼þRAID³ÌÐòµÄ¹¦Äܲ»¶ÏÔö¼Ó£¬Òò´ËºÜÓбØÒªÐ´·ÝеÄʹÓýéÉÜ¡£
¡¡¡¡±¾ÎÄÖ÷ÒªÏȽ²½âÓû§²ãmdadmÈçºÎ¹ÜÀíÈí¼þRAIDÒÔ¼°Ê¹ÓÃÖо³£Óöµ½µÄÎÊÌâºÍ½â¾ö·½·¨¡£ÔÚÁ÷ÐеÄLinuxµÄ·¢²¼°æÖУ¬ÈçFedoraCore,Gentoo, Ubuntu,Debian,SuseLinuxϵͳÖÐÒ»°ãÒѾ½«MDÇý¶¯Ä£¿éÖ±½Ó±àÒëµ½ÄÚºËÖлò±àÒëΪ¿É¶¯Ì¬¼ÓÔØµÄÇý¶¯Ä£¿é¡£ÎÒÃÇ¿ÉÒÔÔÚ»úÆ÷Æô¶¯ºóͨ¹ý cat /proc/mdstat¿´ÄÚºËÊÇ·ñÒѾ¼ÓÔØMDÇý¶¯»òÕßcat /proc/devicesÊÇ·ñÓÐmd¿éÉ豸£¬²¢ÇÒ¿ÉÒÔʹÓÃlsmod¿´MDÊÇ·ñÊÇÒÔÄ£¿éÐÎʽ¼ÓÔØµ½ÏµÍ³ÖС£
¡¡¡¡[root@fc5 mdadm-2.6.3]# cat /proc/mdstat
¡¡¡¡Personalities :
¡¡¡¡unused devices:
¡¡¡¡[root@fc5 mdadm-2.6.3]# cat /proc/devices | grep md
¡¡¡¡1 ramdisk
¡¡¡¡9 md
¡¡¡¡253 mdp
¡¡¡¡[root@fc5 mdadm-2.6.3]# lsmod | grep md
¡¡¡¡md_mod 73364 0
¡¡¡¡
¡¡¡¡Èç¹ûLinuxϵͳ¼ÈûÓн«MD±àÒëµ½ÄÚºËҲûÓÐ×Ô¶¯¼ÓÔØMDÄ£¿é£¬ÔòûÓÐ/proc/mdstatÎļþ£¬ÄÇôÐèÒªÖ´ÐÐÃüÁîmodprobe md¼ÓÔØÇý¶¯Ä£¿é¡£
¡¡¡¡[root@fc5 mdadm-2.6.3]#cat /proc/mdstat
¡¡¡¡cat: /proc/mdstat: No such file or directory
¡¡¡¡[root@fc5 mdadm-2.6.3]# modprobe md
¡¡¡¡[root@fc5 mdadm-2.6.3]# lsmod | grep md
¡¡¡¡md_mod 73364 0
¡¡¡¡
¡¡¡¡Èç¹ûϵͳÖÐûÓÐMDÇý¶¯Ä£¿éÔòÐèÒª×Ô¼º´ÓLinuxÄÚºËÔ´´úÂëÍøÕ¾ÏÂÔØÔ´´úÂë°ü£¬²¢ÇÒÖØÐ±àÒëÄںˣ¬²¢ÇÒÐèÒªÔÚÄں˵ÄÅäÖÃÎļþÑ¡Ôñ¡£
¡¡¡¡[*]Multiple devices driver support (RAID and LVM)
¡¡¡¡<*>RAID support
¡¡¡¡
¡¡¡¡
¡¡¡¡
¡¡¡¡
¡¡¡¡
¡¡¡¡[*] Support adding drives to a raid-5 array
¡¡¡¡
¡¡¡¡
¡¡¡¡
¡¡¡¡ÔÚLinuxϵͳÖÐÓû§²ãÒÔǰʹÓÃraidtool¹¤¾ß¼¯ À´¹ÜÀíMDÉ豸£¬Ä¿Ç°¹ã·ºÊ¹ÓÃmdadmÈí¼þÀ´¹ÜÀíMDÉ豸£¬¶øÇÒ¸ÃÈí¼þ¶¼»á¼¯³ÉÔÚLinuxµÄ·¢²¼°æÖС£Èç¹ûϵͳÖÐûÓа²×°¿ÉÒÔµ½RAIDÇý¶¯³ÌÐòºÍmdadmÈí¼þµÄά»¤ÕßNeil BrownµÄ¸öÈËÍøÕ¾ À´ÏÂÔØÔ´Âë°ü½øÐбàÒë°²×°£¬»òÕßÏÂÔØRPM°üÖ±½Ó°²×°¡£mdadmµÄ×îа汾ÊÇ2.6.3¡£¿ÉÒÔʹÓÃmdadm --version²é¿´µ±Ç°ÏµÍ³Ê¹Óõİ汾¡£±¾ÎÄʹÓõÄÊÇmdadm-2.6.3, LinuxÄں˰汾ÊÇLinux-2.6.22.1¡£ÏÂÃæµÄ²âÊÔÃüÁîÊÇÔÚÐéÄâ»ú»·¾³ÖвâÊÔÔËÐеġ£
¡¡¡¡[root@fc5 mdadm-2.6.3]# uname -r
¡¡¡¡2.6.22.1
¡¡¡¡[root@fc5 mdadm-2.6.3]# ./mdadm --version
¡¡¡¡mdadm - v2.6.3 - 20th August 2007
¡¡¡¡¶þ. mdadm¹ÜÀíÈíRAIDÕóÁÐ
¡¡¡¡mdadm³ÌÐòÊÇÒ»¸ö¶ÀÁ¢µÄ³ÌÐò£¬ÄÜÍê³ÉËùÓеÄÈíRAID¹ÜÀí¹¦ÄÜ£¬Ö÷ÒªÓÐ7ÖÖʹÓÃģʽ£º
¡¡¡¡Ä£Ê½Ãû×Ö Ö÷Òª¹¦ÄÜ
¡¡¡¡Create ʹÓÿÕÏеÄÉ豸´´½¨Ò»¸öеÄÕóÁУ¬Ã¿¸öÉ豸¾ßÓÐÔªÊý¾Ý¿é
¡¡¡¡Assemble ½«ÔÀ´ÊôÓÚÒ»¸öÕóÁеÄÿ¸ö¿éÉ豸×éװΪÕóÁÐ
¡¡¡¡Build ´´½¨»ò×é×°²»ÐèÒªÔªÊý¾ÝµÄÕóÁУ¬Ã¿¸öÉ豸ûÓÐÔªÊý¾Ý¿é
¡¡¡¡Manage ¹ÜÀíÒѾ´æ´¢ÕóÁÐÖеÄÉ豸£¬±ÈÈçÔö¼ÓÈȱ¸´ÅÅÌ»òÕßÉèÖÃij¸ö´ÅÅÌʧЧ£¬È»ºó´ÓÕóÁÐÖÐɾ³ýÕâ¸ö´ÅÅÌ
¡¡¡¡Misc ±¨¸æ»òÕßÐÞ¸ÄÕóÁÐÖÐÏà¹ØÉ豸µÄÐÅÏ¢£¬±ÈÈç²éѯÕóÁлòÕßÉ豸µÄ״̬ÐÅÏ¢
¡¡¡¡Grow ¸Ä±äÕóÁÐÖÐÿ¸öÉ豸±»Ê¹ÓõÄÈÝÁ¿»òÕóÁÐÖеÄÉ豸µÄÊýÄ¿
¡¡¡¡Monitor ¼à¿ØÒ»¸ö»ò¶à¸öÕóÁУ¬Éϱ¨Ö¸¶¨µÄʼþ
¡¡¡¡2.1 Ϊ´ÅÅÌ»®·Ö·ÖÇø
¡¡¡¡Èç¹ûMDÇý¶¯±»±àÒëµ½ÄÚºËÖУ¬µ±Äں˵÷ÓÃÖ´ÐÐMDÇý¶¯Ê±»á×Ô¶¯²éÕÒ·ÖÇøÎªFD(Linux raid autodetect)¸ñʽµÄ´ÅÅÌ¡£ËùÒÔÒ»°ã»áʹÓÃfdisk¹¤¾ß½«HD´ÅÅÌ»òÕßSD´ÅÅÌ·ÖÇø£¬ÔÙÉèÖÃΪFDµÄ´ÅÅÌ¡£
¡¡¡¡[root@fc5 mdadm-2.6.3]# fdisk /dev/sdk
¡¡¡¡Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
¡¡¡¡Building a new DOS disklabel. 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)
¡¡¡¡Command (m for help): n
¡¡¡¡Command action
¡¡¡¡e extended
¡¡¡¡p primary partition (1-4)
¡¡¡¡p
¡¡¡¡Partition number (1-4): 1
¡¡¡¡First cylinder (1-512, default 1):1
¡¡¡¡Using default value 1
¡¡¡¡Last cylinder or +size or +sizeM or +sizeK (1-512, default 512):512
¡¡¡¡Using default value 512
¡¡¡¡Command (m for help): t
¡¡¡¡Selected partition 1
¡¡¡¡Hex code (type L to list codes): FD
¡¡¡¡Changed system type of partition 1 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.
¡¡¡¡[root@fc5 mdadm-2.6.3]# fdisk -l /dev/sdk
¡¡¡¡Disk /dev/sdk: 1073 MB, 1073741824 bytes
¡¡¡¡128 heads, 32 sectors/track, 512 cylinders
¡¡¡¡Units = cylinders of 4096 * 512 = 2097152 bytes
¡¡¡¡Device Boot Start End Blocks Id System
¡¡¡¡/dev/sdk1 1 512 1048560 fd Linux raid autodetect
¡¡¡¡
¡¡¡¡ÈíRAIDÕóÁÐʵ¼ÊÉÏÒ²¿ÉÒÔʹÓÃÈκαê×¼µÄ¿éÉ豸×÷Ϊµ×²ãÉ豸£¬ÈçSCSIÉ豸¡¢IDEÉ豸¡¢RAM disk´ÅÅ̺ÍNBD(Network Block Device)µÈ£¬ÉõÖÁÊÇÆäËûµÄMDÉ豸¡£
¡¡¡¡Èç¹ûMDÇý¶¯ÊÇÄ£¿éÐÎʽ¼ÓÔØ£¬ÐèÒªÔÚϵͳÔËÐÐʱÓÉÓû§²ã½Å±¾¿ØÖÆRAIDÕóÁÐÆô¶¯ÔËÐС£ÈçÔÚFedoraCoreϵͳÖÐÔÚ /etc/rc.d/rc.sysinitÎļþÖÐÓÐÆô¶¯ÈíRAIDÕóÁеÄÖ¸ÁÈôRAIDµÄÅäÖÃÎļþmdadm.conf´æÔÚ£¬Ôòµ÷ÓÃmdadm¼ì²éÅäÖÃÎļþÀïµÄÑ¡ÏȻºóÆô¶¯RAIDÕóÁС£
¡¡¡¡echo "raidautorun /dev/md0" | nash --quiet
¡¡¡¡if [ -f /etc/mdadm.conf ]; then
¡¡¡¡/sbin/mdadm -A -s
¡¡¡¡fi
¡¡¡¡
¡¡¡¡2.2 ´´½¨ÐµÄÕóÁÐ
¡¡¡¡mdadm ʹÓÃ--create(»òÆäËõд-C)²ÎÊýÀ´´´½¨ÐµÄÕóÁУ¬²¢ÇÒ½«Ò»Ð©ÖØÒªÕóÁеıêʶÐÅÏ¢×÷ΪԪÊý¾Ý¿ÉÒÔдÔÚÿһ¸öµ×²ãÉ豸µÄÖ¸¶¨Çø¼ä¡£--level (»òÕ߯äËõд-l)±íʾÕóÁеÄRAID¼¶±ð£¬--chunk(»òÕ߯äËõд-c)±íʾÿ¸öÌõ´øµ¥ÔªµÄ´óС£¬ÒÔKBΪµ¥Î»£¬Ä¬ÈÏΪ64KB£¬Ìõ´øµ¥ÔªµÄ´óСÅäÖöԲ»Í¬¸ºÔØÏµÄÕóÁжÁдÐÔÄÜÓкܴóÓ°Ïì¡£--raid-devices(»òÕ߯äËõд-n)±íʾÕóÁÐÖлîÔ¾µÄÉ豸¸öÊý£¬¶ø--spare-devices (»òÕ߯äËõд-x)±íʾÕóÁÐÖÐÈȱ¸Å̵ĸöÊý£¬Ò»µ©ÕóÁÐÖеÄij¸ö´ÅÅÌʧЧ£¬MDÄÚºËÇý¶¯³ÌÐò×Ô¶¯Óý«Èȱ¸´ÅÅ̼ÓÈëµ½ÕóÁУ¬È»ºóÖØ¹¹¶ªÊ§´ÅÅÌÉϵÄÊý¾Ýµ½Èȱ¸´ÅÅÌÉÏ¡£
¡¡¡¡´´½¨Ò»¸öRAID 0É豸£º
¡¡¡¡mdadm --create /dev/md0 --level=0 --chunk=32 --raid-devices=3 /dev/sd[i-k]1
¡¡¡¡´´½¨Ò»¸öRAID 1É豸£º
¡¡¡¡mdadm -C /dev/md0 -l1 -c128 -n2 -x1 /dev/sd[i-k]1
¡¡¡¡´´½¨Ò»¸öRAID 5É豸£º
¡¡¡¡mdadm -C /dev/md0 -l5 -n5 /dev/sd[c-g] -x1 /dev/sdb
¡¡¡¡´´½¨Ò»¸öRAID 6É豸£º
¡¡¡¡mdadm -C /dev/md0 -l6 -n5 /dev/sd[c-g] -x2 /dev/sdb /dev/sdh
¡¡¡¡´´½¨Ò»¸öRAID 10É豸£º
¡¡¡¡mdadm -C /dev/md0 -l10 -n6 /dev/sd[b-g] -x1 /dev/sdh
¡¡¡¡´´½¨Ò»¸öRAID1+0É豸£º
¡¡¡¡mdadm -C /dev/md0 -l1 -n2 /dev/sdb /dev/sdc
¡¡¡¡mdadm -C /dev/md1 -l1 -n2 /dev/sdd /dev/sde
¡¡¡¡mdadm -C /dev/md2 -l1 -n2 /dev/sdf /dev/sdg
¡¡¡¡mdadm -C /dev/md3 -l0 -n3 /dev/md0 /dev/md1 /dev/md2
¡¡¡¡
¡¡¡¡µ±RAID1/4/5/6/10µÈ´´½¨³É¹¦ºó£¬ÐèÒª¼ÆËãÿ¸öÌõ´øµÄУÑéºÍÐÅÏ¢²¢Ð´Èëµ½ÏàÓ¦´ÅÅÌÉÏ£¬ËùÒÔRAIDÕóÁÐÓÐÒ»¸öÈßÓà×éÊý¾Ýͬ²½µÄ³õʼ»¯¹ý³Ì(resync)¡£µ«ÊÇMDÉ豸ֻҪ´´½¨³É¹¦ºó¼´¿É¶ÔÍâ±»ÉϲãÓ¦ÓöÁдʹÓ㬵±È»ÓÉÓÚÉϲãÊý¾Ý¶Áд½µµÍÊý¾Ýͬ²½µÄÐÔÄÜ¡£³õʼ»¯µÄʱ¼ä³¤¶ÌºÍ´ÅÅÌÕóÁÐ×ÔÉíÐÔÄÜÒÔ¼°¶ÁдµÄÓ¦ÓøºÔØÏà¹Ø£¬Ê¹ÓÃcat /proc/mdstatÐÅÏ¢²éѯRAIDÕóÁе±Ç°Öع¹µÄËٶȺÍÔ¤ÆÚµÄÍê³Éʱ¼ä¡£
¡¡¡¡[root@fc5 mdadm-2.6.3]# cat /proc/mdstat
¡¡¡¡Personalities : [raid10]
¡¡¡¡md0 : active raid10 sdh[6](S) sdg[5] sdf[4] sde[3] sdd[2] sdc[1] sdb[0]
¡¡¡¡3145536 blocks 64K chunks 2 near-copies [6/6] [UUUUUU]
¡¡¡¡[===>...........] resync = 15.3% (483072/3145536) finish=0.3min speed=120768K/sec
¡¡¡¡unused devices:
¡¡¡¡[root@fc5 mdadm-2.6.3]# cat /proc/mdstat
¡¡¡¡Personalities : [raid10]
¡¡¡¡md0 : active raid10 sdh[6](S) sdg[5] sdf[4] sde[3] sdd[2] sdc[1] sdb[0]
¡¡¡¡3145536 blocks 64K chunks 2 near-copies [6/6] [UUUUUU]
¡¡¡¡unused devices:
¡¡¡¡
¡¡¡¡Èç¹ûÒ»¸ö¿éÉ豸ÒѾÕýÔÚ±»ÆäËûµÄMDÉ豸»òÕßÎļþϵͳʹÓã¬Ôò²»ÄÜÓÃÀ´´´½¨ÐµÄMDÉ豸¡£
¡¡¡¡[root@fc5 mdadm-2.6.3]# ./mdadm -C /dev/md1 -l0 -n2 /dev/sdh /dev/sdi
¡¡¡¡mdadm: Cannot open /dev/sdh: Device or resource busy
¡¡¡¡mdadm: create aborted
¡¡¡¡
¡¡¡¡Buildģʽ¿ÉÒÔÓÃÀ´´´½¨Ã»ÓÐÔªÊý¾ÝµÄRAID0/1É豸£¬²»ÄÜ´´½¨RAID4/5/6/10µÈ´øÓÐÈßÓ༶±ðµÄMDÉ豸¡£
¡¡¡¡[root@fc5 mdadm-2.6.3]# ./mdadm -BR /dev/md0 -l0 -n6 /dev/sd[b-g]
¡¡¡¡mdadm: array /dev/md0 built and started.
¡¡¡¡[root@fc5 mdadm-2.6.3]# ./mdadm -BR /dev/md0 -l1 -n2 /dev/sd[b-c]
¡¡¡¡mdadm: array /dev/md0 built and started.
¡¡¡¡[root@fc5 mdadm-2.6.3]# ./mdadm -BR /dev/md0 -l5 -n6 /dev/sd[b-g]
¡¡¡¡mdadm: Raid level 5 not permitted with --build.
¡¡¡¡[root@fc5 mdadm-2.6.3]# ./mdadm -BR /dev/md0 –l6 -n6 /dev/sd[b-g]
¡¡¡¡mdadm: Raid level 5 not permitted with --build.
¡¡¡¡[root@fc5 mdadm-2.6.3]# ./mdadm -BR /dev/md0 –l10 -n6 /dev/sd[b-g]
¡¡¡¡mdadm: Raid level 10 not permitted with --build.
¡¡¡¡
¡¡¡¡Ê¹ÓÃÕóÁУº
¡¡¡¡MDÉ豸¿ÉÒÔÏñÆÕͨ¿éÉ豸ÄÇÑùÖ±½Ó¶Áд£¬Ò²¿ÉÒÔ×öÎļþϵͳ¸ñʽ»¯¡£
¡¡¡¡#mkfs.ext3 /dev/md0
¡¡¡¡#mkdir -p /mnt/md-test
¡¡¡¡#mount /dev/md0 /mnt/md-test
¡¡¡¡
¡¡¡¡Í£Ö¹ÕýÔÚÔËÐеÄÕóÁУº
¡¡¡¡µ±ÕóÁÐûÓÐÎļþϵͳ»òÕ߯äËû´æ´¢Ó¦ÓÃÒÔ¼°¸ß¼¶É豸ʹÓõϰ£¬¿ÉÒÔʹÓÃ--stop(»òÕ߯äËõд-S)Í£Ö¹ÕóÁУ»Èç¹ûÃüÁî·µ»ØÉ豸»òÕß×ÊԴæÀàÐ͵ĴíÎó£¬ËµÃ÷/dev/md0ÕýÔÚ±»ÉϲãÓ¦ÓÃʹÓã¬ÔÝʱ²»ÄÜÍ£Ö¹£¬±ØÐëÒªÊ×ÏÈÍ£Ö¹ÉϲãµÄÓ¦Óã¬ÕâÑùÒ²Äܱ£Ö¤ÕóÁÐÉÏÊý¾ÝµÄÒ»ÖÂÐÔ¡£
¡¡¡¡[root@fc5 mdadm-2.6.3]# ./mdadm --stop /dev/md0
¡¡¡¡mdadm: fail to stop array /dev/md0: Device or resource busy
¡¡¡¡[root@fc5 mdadm-2.6.3]# umount /dev/md0
¡¡¡¡[root@fc5 mdadm-2.6.3]#./mdadm --stop /dev/md0
¡¡¡¡mdadm: stopped /dev/md0
¡¡¡¡
¡¡¡¡2.3 ×é×°Ôø´´½¨¹ýµÄÕóÁÐ
¡¡¡¡Ä£Ê½--assemble»òÕ߯äËõд(-A)Ö÷ÒªÊǼì²éµ×²ãÉ豸µÄÔªÊý¾ÝÐÅÏ¢£¬È»ºóÔÙ×éװΪ»îÔ¾µÄÕóÁС£Èç¹ûÎÒÃÇÒѾ֪µÀÕóÁÐÓÉÄÇЩÉ豸×é³É£¬¿ÉÒÔÖ¸¶¨Ê¹ÓÃÄÇЩÉ豸À´Æô¶¯ÕóÁС£
¡¡¡¡[root@fc5 mdadm-2.6.3]# ./mdadm -A /dev/md0 /dev/sd[b-h]
¡¡¡¡mdadm: /dev/md0 has been started with 6 drives and 1 spare.
¡¡¡¡
¡¡¡¡Èç¹ûÓÐÅäÖÃÎļþ (/etc/mdadm.conf)¿ÉʹÓÃÃüÁîmdadm -As /dev/md0¡£mdadmÏȼì²émdadm.confÖеÄDEVICEÐÅÏ¢£¬È»ºó´Óÿ¸öÉ豸É϶ÁȡԪÊý¾ÝÐÅÏ¢£¬²¢¼ì²éÊÇ·ñºÍARRAYÐÅÏ¢Ò»Ö£¬Èç¹ûÐÅÏ¢Ò»ÖÂÔòÆô¶¯ÕóÁС£Èç¹ûûÓÐÅäÖÃ/etc/mdadm.confÎļþ£¬¶øÇÒÓÖ²»ÖªµÀÕóÁÐÓÉÄÇЩ´ÅÅÌ×é³É£¬Ôò¿ÉÒÔʹÓÃÃüÁî--examine(»òÕ߯äËõд -E)À´¼ì²âµ±Ç°µÄ¿éÉ豸ÉÏÊÇ·ñÓÐÕóÁеÄÔªÊý¾ÝÐÅÏ¢¡£
¡¡¡¡[root@fc5 mdadm-2.6.3]# ./mdadm -E /dev/sdi
¡¡¡¡mdadm: No md superblock detected on /dev/sdi.
¡¡¡¡[root@fc5 mdadm-2.6.3]# ./mdadm -E /dev/sdb
¡¡¡¡/dev/sdb:
¡¡¡¡Magic : a92b4efc
¡¡¡¡Version : 00.90.00
¡¡¡¡UUID : 0cabc5e5:842d4baa:e3f6261b:a17a477a
¡¡¡¡Creation Time : Sun Aug 22 17:49:53 1999
¡¡¡¡Raid Level : raid10
¡¡¡¡Used Dev Size : 1048512 (1024.11 MiB 1073.68 MB)
¡¡¡¡Array Size : 3145536 (3.00 GiB 3.22 GB)
¡¡¡¡Raid Devices : 6
¡¡¡¡Total Devices : 7
¡¡¡¡Preferred Minor : 0
¡¡¡¡Update Time : Sun Aug 22 18:05:56 1999
¡¡¡¡State : clean
¡¡¡¡Active Devices : 6
¡¡¡¡Working Devices : 7
¡¡¡¡Failed Devices : 0
¡¡¡¡Spare Devices : 1
¡¡¡¡Checksum : 2f056516 - correct
¡¡¡¡Events : 0.4
¡¡¡¡Layout : near=2, far=1
¡¡¡¡Chunk Size : 64K
¡¡¡¡Number Major Minor RaidDevice State
¡¡¡¡this 0 8 16 0 active sync /dev/sdb
¡¡¡¡0 0 8 16 0 active sync /dev/sdb
¡¡¡¡1 1 8 32 1 active sync /dev/sdc
¡¡¡¡2 2 8 48 2 active sync /dev/sdd
¡¡¡¡3 3 8 64 3 active sync /dev/sde
¡¡¡¡4 4 8 80 4 active sync /dev/sdf
¡¡¡¡5 5 8 96 5 active sync /dev/sdg
¡¡¡¡6 6 8 112 6 spare /dev/sdh
¡¡¡¡
¡¡¡¡´ÓÉÏÃæÃüÁî½á¹û¿ÉÒÔÕÒµ½ÕóÁеÄΨһ±êʶUUIDºÍÕóÁаüº¬µÄÉ豸Ãû×Ö£¬È»ºóÔÙʹÓÃÉÏÃæµÄÃüÁîÀ´×é×°ÕóÁУ¬Ò²¿ÉÒÔʹÓÃUUID±êʶÀ´×é×°ÕóÁС£Ã»ÓÐÒ»ÖµÄÔªÊý¾ÝµÄÐÅÏ¢É豸(ÀýÈç/dev/sdaºÍ/dev/sda1µÈ)mdadm³ÌÐò»á×Ô¶¯Ìø¹ý¡£
¡¡¡¡[root@fc5 mdadm-2.6.3]# ./mdadm -Av --uuid=0cabc5e5:842d4baa:e3f6261b:a17a477a
¡¡¡¡/dev/md0 /dev/sd*
¡¡¡¡mdadm: looking for devices for /dev/md0
¡¡¡¡mdadm: no recogniseable superblock on /dev/sda
¡¡¡¡mdadm: /dev/sda has wrong uuid.
¡¡¡¡mdadm: no recogniseable superblock on /dev/sda1
¡¡¡¡mdadm: /dev/sda1 has wrong uuid.
¡¡¡¡mdadm: no RAID superblock on /dev/sdi
¡¡¡¡mdadm: /dev/sdi has wrong uuid.
¡¡¡¡mdadm: /dev/sdi1 has wrong uuid.
¡¡¡¡mdadm: no RAID superblock on /dev/sdj
¡¡¡¡mdadm: /dev/sdj has wrong uuid.
¡¡¡¡mdadm: /dev/sdj1 has wrong uuid.
¡¡¡¡mdadm: no RAID superblock on /dev/sdk
¡¡¡¡mdadm: /dev/sdk has wrong uuid.
¡¡¡¡mdadm: /dev/sdk1 has wrong uuid.
¡¡¡¡mdadm: /dev/sdb is identified as a member of /dev/md0, slot 0.
¡¡¡¡mdadm: /dev/sdc is identified as a member of /dev/md0, slot 1.
¡¡¡¡mdadm: /dev/sdd is identified as a member of /dev/md0, slot 2.
¡¡¡¡mdadm: /dev/sde is identified as a member of /dev/md0, slot 3.
¡¡¡¡mdadm: /dev/sdf is identified as a member of /dev/md0, slot 4.
¡¡¡¡mdadm: /dev/sdg is identified as a member of /dev/md0, slot 5.
¡¡¡¡mdadm: /dev/sdh is identified as a member of /dev/md0, slot 6.
¡¡¡¡mdadm: added /dev/sdc to /dev/md0 as 1
¡¡¡¡mdadm: added /dev/sdd to /dev/md0 as 2
¡¡¡¡mdadm: added /dev/sde to /dev/md0 as 3
¡¡¡¡mdadm: added /dev/sdf to /dev/md0 as 4
¡¡¡¡mdadm: added /dev/sdg to /dev/md0 as 5
¡¡¡¡mdadm: added /dev/sdh to /dev/md0 as 6
¡¡¡¡mdadm: added /dev/sdb to /dev/md0 as 0
¡¡¡¡mdadm: /dev/md0 has been started with 6 drives and 1 spare.
¡¡¡¡
¡¡¡¡ÅäÖÃÎļþ£º
¡¡¡¡/etc/mdadm.conf×÷ΪĬÈϵÄÅäÖÃÎļþ£¬Ö÷Òª×÷ÓÃÊÇ·½±ã¸ú×ÙÈíRAIDµÄÅäÖã¬ÓÈÆäÊÇ¿ÉÒÔÅäÖüàÊÓºÍʼþÉϱ¨Ñ¡Ïî¡£AssembleÃüÁîÒ²¿ÉÒÔʹÓÃ--config(»òÕ߯äËõд-c)À´Ö¸¶¨ÅäÖÃÎļþ¡£ÎÒÃÇͨ³£¿ÉÒÔÈçÏÂÃüÁîÀ´½¨Á¢ÅäÖÃÎļþ¡£
¡¡¡¡[root@fc5 mdadm-2.6.3]#echo DEVICE /dev/sd[b-h] /dev/sd[i-k]1 >/etc/mdadm.conf
¡¡¡¡[root@fc5 mdadm-2.6.3]# ./mdadm -Ds >>/etc/mdadm.conf
¡¡¡¡[root@fc5 mdadm-2.6.3]# cat /etc/mdadm.conf
¡¡¡¡DEVICE /dev/sdb /dev/sdc /dev/sdd /dev/sde /dev/sdf /dev/sdg /dev/sdh
¡¡¡¡/dev/sdi1 /dev/sdj1 /dev/sdk1
¡¡¡¡ARRAY /dev/md1 level=raid0 num-devices=3
¡¡¡¡UUID=dcff6ec9:53c4c668:58b81af9:ef71989d
¡¡¡¡ARRAY /dev/md0 level=raid10 num-devices=6 spares=1
¡¡¡¡UUID=0cabc5e5:842d4baa:e3f6261b:a17a477a
¡¡¡¡
¡¡¡¡Ê¹ÓÃÅäÖÃÎļþÆô¶¯ÕóÁÐʱ£¬mdadm»á²éѯÅäÖÃÎļþÖеÄÉ豸ºÍÕóÁÐÄÚÈÝ£¬È»ºóÆô¶¯ÔËÐÐËùÓÐÄÜÔËÐÐRAIDÕóÁС£Èç¹ûÖ¸¶¨ÕóÁеÄÉ豸Ãû×Ö£¬ÔòÖ»Æô¶¯¶ÔÓ¦µÄÕóÁС£
¡¡¡¡[root@fc5 mdadm-2.6.3]# ./mdadm -As
¡¡¡¡mdadm: /dev/md1 has been started with 3 drives.
¡¡¡¡mdadm: /dev/md0 has been started with 6 drives and 1 spare.
¡¡¡¡[root@fc5 mdadm-2.6.3]# cat /proc/mdstat
¡¡¡¡Personalities : [raid0] [raid10]
¡¡¡¡md0 : active raid10 sdb[0] sdh[6](S) sdg[5] sdf[4] sde[3] sdd[2] sdc[1]
¡¡¡¡3145536 blocks 64K chunks 2 near-copies [6/6] [UUUUUU]
¡¡¡¡md1 : active raid0 sdi1[0] sdk1[2] sdj1[1]
¡¡¡¡7337664 blocks 32k chunks
¡¡¡¡unused devices:
¡¡¡¡[root@fc5 mdadm-2.6.3]# ./mdadm -S /dev/md0 /dev/md1
¡¡¡¡mdadm: stopped /dev/md0
¡¡¡¡mdadm: stopped /dev/md1
¡¡¡¡[root@fc5 mdadm-2.6.3]# ./mdadm -As /dev/md0
¡¡¡¡mdadm: /dev/md0 has been started with 6 drives and 1 spare.
¡¡¡¡[root@fc5 mdadm-2.6.3]# cat /proc/mdstat
¡¡¡¡Personalities : [raid0] [raid10]
¡¡¡¡md0 : active raid10 sdb[0] sdh[6](S) sdg[5] sdf[4] sde[3] sdd[2] sdc[1]
¡¡¡¡3145536 blocks 64K chunks 2 near-copies [6/6] [UUUUUU]
¡¡¡¡unused devices:
¡¡¡¡
¡¡¡¡2.4 ²éѯÕóÁеÄ״̬
¡¡¡¡ÎÒÃÇ¿ÉÒÔͨ¹ýcat /proc/mdstatÐÅÏ¢²é¿´ËùÓÐÔËÐеÄRAIDÕóÁеÄ״̬£¬ÔÚµÚÒ»ÐÐÖÐÊ×ÏÈÊÇMDµÄÉ豸Ãû£¬activeºÍinactiveÑ¡Ïî±íʾÕóÁÐÊÇ·ñÄܶÁд£¬½Ó×ÅÊÇÕóÁеÄRAID¼¶±ð£¬ºóÃæÊÇÊôÓÚÕóÁеĿéÉ豸£¬·½À¨ºÅ[]ÀïµÄÊý×Ö±íʾÉ豸ÔÚÕóÁÐÖеÄÐòºÅ£¬(S)±íʾÆäÊÇÈȱ¸ÅÌ£¬(F)±íʾÕâ¸ö´ÅÅÌÊÇ faulty״̬¡£ÔÚµÚ¶þÐÐÖÐÊ×ÏÈÊÇÕóÁеĴóС£¬µ¥Î»ÊÇKB£¬½Ó×ÅÊÇchunk-sizeµÄ´óС£¬È»ºóÊÇlayoutÀàÐÍ£¬²»Í¬RAID¼¶±ðµÄ layoutÀàÐͲ»Í¬£¬[6/6]ºÍ[UUUUUU]±íʾÕóÁÐÓÐ6¸ö´ÅÅ̲¢ÇÒ6¸ö´ÅÅ̶¼ÊÇÕý³£ÔËÐе쬶ø[5/6]ºÍ[_UUUUU] ±íʾÕóÁÐÓÐ6¸ö´ÅÅÌÖÐ5¸ö¶¼ÊÇÕý³£ÔËÐеģ¬Ï»®Ïß¶ÔÓ¦µÄÄǸöλÖõĴÅÅÌÊÇfaulty״̬µÄ¡£
¡¡¡¡[root@fc5 mdadm-2.6.3]# cat /proc/mdstat
¡¡¡¡Personalities : [raid6] [raid5] [raid4] [raid1]
¡¡¡¡md0 : active raid5 sdh[6](S) sdg[5] sdf[4] sde[3] sdd[2] sdc[1] sdb[0]
¡¡¡¡5242560 blocks level 5, 64k chunk, algorithm 2 [6/6] [UUUUUU]
¡¡¡¡unused devices:
¡¡¡¡[root@fc5 mdadm-2.6.3]# ./mdadm /dev/md0 -f /dev/sdh /dev/sdb
¡¡¡¡mdadm: set /dev/sdh faulty in /dev/md0
¡¡¡¡mdadm: set /dev/sdb faulty in /dev/md0
¡¡¡¡[root@fc5 mdadm-2.6.3]# cat /proc/mdstat
¡¡¡¡Personalities : [raid6] [raid5] [raid4] [raid1]
¡¡¡¡md0 : active raid5 sdh[6](F) sdg[5] sdf[4] sde[3] sdd[2] sdc[1] sdb[7](F)
¡¡¡¡5242560 blocks level 5, 64k chunk, algorithm 2 [6/5] [_UUUUU]
¡¡¡¡unused devices:
¡¡¡¡
¡¡¡¡Èç¹ûLinuxϵͳĿǰ֧³ÖsysfsÒ²¿ÉÒÔ·ÃÎÊ/sys/block/md0Ŀ¼²éѯÕóÁÐÐÅÏ¢¡£
¡¡¡¡[root@fc5 mdadm-2.6.3]# ls -l /sys/block/md0/
¡¡¡¡capability holders range size stat uevent
¡¡¡¡dev md removable slaves subsystem
¡¡¡¡[root@fc5 mdadm-2.6.3]# ls /sys/block/md0/md/
¡¡¡¡array_state dev-sdg rd1 suspend_lo
¡¡¡¡bitmap_set_bits dev-sdh rd2 sync_action
¡¡¡¡chunk_size layout rd3 sync_completed
¡¡¡¡component_size level rd4 sync_speed
¡¡¡¡dev-sdb metadata_version rd5 sync_speed_max
¡¡¡¡dev-sdc mismatch_cnt reshape_position sync_speed_min
¡¡¡¡dev-sdd new_dev resync_start
¡¡¡¡dev-sde raid_disks safe_mode_delay
¡¡¡¡dev-sdf rd0 suspend_hi
¡¡¡¡[root@fc5 mdadm-2.6.3]# ls /sys/block/md0/slaves/
¡¡¡¡sdb sdc sdd sde sdf sdg sdh
¡¡¡¡
¡¡¡¡ÎÒÃÇÒ²¿ÉÒÔͨ¹ýmdadmÃüÁî²é¿´Ö¸¶¨ÕóÁеļòÒªÐÅÏ¢(ʹÓÃ--query»òÕ߯äËõд-Q)ºÍÏêϸÐÅÏ¢(ʹÓÃ--detail»òÕ߯äËõд-D) ÏêϸÐÅÏ¢°üÀ¨RAIDµÄ°æ±¾¡¢´´½¨µÄʱ¼ä¡¢RAID¼¶±ð¡¢ÕóÁÐÈÝÁ¿¡¢¿ÉÓÿռ䡢É豸ÊýÁ¿¡¢³¬¼¶¿é״̬¡¢¸üÐÂʱ¼ä¡¢UUIDÐÅÏ¢¡¢¸÷¸öÉ豸µÄ״̬¡¢RAID Ëã·¨¼¶±ðÀàÐͺͲ¼¾Ö·½Ê½ÒÔ¼°¿é´óСµÈÐÅÏ¢¡£É豸״̬ÐÅÏ¢·ÖΪactive, sync, spare, faulty, rebuilding, removingµÈµÈ¡£
¡¡¡¡[root@fc5 mdadm-2.6.3]# ./mdadm --query /dev/md0
¡¡¡¡/dev/md0: 2.100GiB raid10 6 devices, 1 spare. Use mdadm --detail for more detail.
¡¡¡¡[root@fc5 mdadm-2.6.3]# ./mdadm --detail /dev/md0
¡¡¡¡/dev/md0:
¡¡¡¡Version : 00.90.03
¡¡¡¡Creation Time : Sun Aug 22 17:49:53 1999
¡¡¡¡Raid Level : raid10
¡¡¡¡Array Size : 3145536 (3.00 GiB 3.22 GB)
¡¡¡¡Used Dev Size : 1048512 (1024.11 MiB 1073.68 MB)
¡¡¡¡Raid Devices : 6
¡¡¡¡Total Devices : 7
¡¡¡¡Preferred Minor : 0
¡¡¡¡Persistence : Superblock is persistent
¡¡¡¡Update Time : Sun Aug 22 21:55:02 1999
¡¡¡¡State : clean
¡¡¡¡Active Devices : 6
¡¡¡¡Working Devices : 7
¡¡¡¡Failed Devices : 0
¡¡¡¡Spare Devices : 1
¡¡¡¡Layout : near=2, far=1
¡¡¡¡Chunk Size : 64K
¡¡¡¡UUID : 0cabc5e5:842d4baa:e3f6261b:a17a477a
¡¡¡¡Events : 0.122
¡¡¡¡Number Major Minor RaidDevice State
¡¡¡¡0 8 16 0 active sync /dev/sdb
¡¡¡¡1 8 32 1 active sync /dev/sdc
¡¡¡¡2 8 48 2 active sync /dev/sdd
¡¡¡¡3 8 64 3 active sync /dev/sde
¡¡¡¡4 8 80 4 active sync /dev/sdf
¡¡¡¡5 8 96 5 active sync /dev/sdg
¡¡¡¡6 8 112 - spare /dev/sdh
¡¡¡¡
¡¡¡¡2.5 ¹ÜÀíÕóÁÐ
¡¡¡¡mdadm¿ÉÒÔÔÚManageģʽÏ£¬¶ÔÔËÐÐÖеÄÕóÁнøÐÐÌí¼Ó¼°É¾³ý´ÅÅÌ¡£³£ÓÃÓÚ±êʶfailed´ÅÅÌ£¬Ôö¼Óspare(Èȱ¸)´ÅÅÌ£¬ÒÔ¼°´ÓÕóÁÐÖÐÒÆ×ßÒѾʧЧµÄ´ÅÅ̵ȵȡ£Ê¹ÓÃ--fail(»òÕ߯äËõд-f)Ö¸¶¨´ÅÅÌË𻵡£
¡¡¡¡[root@fc5 mdadm-2.6.3]# ./mdadm /dev/md0 --fail /dev/sdb
¡¡¡¡mdadm: set /dev/sdb faulty in /dev/md0
¡¡¡¡
¡¡¡¡µ±´ÅÅÌÒѾËð»µÊ±£¬Ê¹ÓÃ--remove(»òÕ߯äËõд--f)²ÎÊý½«Õâ¸ö´ÅÅÌ´Ó´ÅÅÌÕóÁÐÖÐÒÆ×ߣ»µ«Èç¹ûÉ豸»¹ÕýÔÚ±»ÕóÁÐʹÓã¬Ôò²»ÄÜ´ÓÕóÁÐÖÐÒÆ×ß¡£
¡¡¡¡[root@fc5 mdadm-2.6.3]# ./mdadm /dev/md0 --remove /dev/sdb
¡¡¡¡mdadm: hot removed /dev/sdb
¡¡¡¡[root@fc5 mdadm-2.6.3]# ./mdadm /dev/md0 --remove /dev/sde
¡¡¡¡mdadm: hot remove failed for /dev/sde: Device or resource busy
¡¡¡¡
¡¡¡¡Èç¹ûÕóÁдøÓÐspare´ÅÅÌ£¬ÄÇô×Ô¶¯½«Ë𻵴ÅÅÌÉϵÄÊý¾ÝÖØ¹¹µ½ÐµÄspare´ÅÅÌÉÏ£»
¡¡¡¡[root@fc5 mdadm-2.6.3]# ./mdadm -f /dev/md0 /dev/sdb ;cat /proc/mdstat
¡¡¡¡mdadm: set /dev/sdb faulty in /dev/md0
¡¡¡¡Personalities : [raid0] [raid10]
¡¡¡¡md0 : active raid10 sdh[6] sdb[7](F) sdc[0] sdg[5] sdf[4] sde[3] sdd[2]
¡¡¡¡3145536 blocks 64K chunks 2 near-copies [6/5] [U_UUUU]
¡¡¡¡[=======>........] recovery = 35.6% (373888/1048512) finish=0.1min speed=93472K/sec
¡¡¡¡unused devices:
¡¡¡¡
¡¡¡¡Èç¹ûÕóÁÐûÓÐÈȱ¸´ÅÅÌ£¬¿ÉÒÔʹÓÃ--add(»òÕ߯äËõд-a)²ÎÊýÔö¼ÓÈȱ¸´ÅÅÌ
¡¡¡¡[root@fc5 mdadm-2.6.3]# ./mdadm /dev/md0 --add /dev/sdh
¡¡¡¡mdadm: added /dev/sdh
¡¡¡¡
¡¡¡¡2£®6 ¼à¿ØÕóÁÐ
¡¡¡¡¿ÉÒÔʹÓÃmdadm¶ÔRAIDÕóÁнøÐÐ¼à¿Ø£¬¼à¿Ø³ÌÐò¶¨Ê±²éѯָ¶¨µÄʼþÊÇ·ñ·¢Éú£¬È»ºó¸ù¾ÝÅäÖÃÀ´Í×ÉÆ´¦Àí¡£ÀýÈçµ±ÕóÁÐÖеĴÅÅÌÉ豸³öÏÖÎÊÌâµÄʱºò£¬¿ÉÒÔ·¢ËÍÓʼþ¸ø¹ÜÀíÔ±£»»òÕßµ±´ÅÅ̳öÏÖÎÊÌâµÄʱºòÓɻص÷³ÌÐòÀ´½øÐÐ×Ô¶¯µÄ´ÅÅÌÌæ»»£¬ËùÓÐ¼à¿ØÊ¼þ¶¼¿ÉÒԼǼµ½ÏµÍ³ÈÕÖ¾ÖС£Ä¿Ç°mdadmÖ§³ÖµÄʼþÓÐ RebuildStarted, RebuildNN(NN is 20, 40, 60, or 80), RebuildFinished, Fail,FailSpare,SpareActive,NewArray, DegradedArray, MoveSpare, SparesMissing, TestMessage¡£
¡¡¡¡Èç¹ûÅäÖÃÿ300Ãëmdadm¼à¿Ø½ø³Ì²éѯMDÉ豸һ´Î£¬µ±ÕóÁгöÏÖ´íÎ󣬻ᷢËÍÓʼþ¸øÖ¸¶¨µÄÓû§£¬Ö´ÐÐʼþ´¦ÀíµÄ³ÌÐò²¢ÇҼǼÉϱ¨µÄʼþµ½ÏµÍ³µÄÈÕÖ¾Îļþ¡£Ê¹ÓÃ--daemonise²ÎÊý(»òÕ߯äËõд- f)ʹ³ÌÐò³ÖÐøÔÚºǫ́ÔËÐС£Èç¹ûÒª·¢ËÍÓʼþÐèÒªsendmail³ÌÐòÔËÐУ¬µ±ÓʼþµØÖ·±»ÅäÖÃΪÍâÍøµØÖ·Ó¦ÏȲâÊÔÊÇ·ñÄÜ·¢ËͳöÈ¥¡£
¡¡¡¡[root@fc5 mdadm-2.6.3]#./mdadm --monitor --mail=root@localhost --program=/root/md.sh
¡¡¡¡--syslog --delay=300 /dev/md0 --daemonise
¡¡¡¡
¡¡¡¡²é¿´ÏµÍ³ÈÕÖ¾ÐÅÏ¢£¬¿ÉÒÔ¿´µ½ÄĸöÕóÁлòÕßÕóÁÐÖеÄÄĸöÉ豸·¢Éú¹ýµÄÄÄЩʼþ¡£
¡¡¡¡[root@fc5 mdadm-2.6.3]# mdadm -f /dev/md0 /dev/sdb
¡¡¡¡mdadm: set /dev/sdb faulty in /dev/md0
¡¡¡¡[root@fc5 mdadm-2.6.3]#tail –f /var/log/messages
¡¡¡¡Aug 22 22:04:12 fc5 mdadm: RebuildStarted event detected on md device /dev/md0
¡¡¡¡Aug 22 22:04:12 fc5 kernel: md: using maximum available idle IO bandwidth
¡¡¡¡(but not more than 200000 KB/sec) for recovery.
¡¡¡¡Aug 22 22:04:12 fc5 kernel: md: using 128k window, over a total of 1048512 blocks.
¡¡¡¡Aug 22 22:04:14 fc5 mdadm: Fail event detected on md device /dev/md0,
¡¡¡¡component device /dev/sdb
¡¡¡¡Aug 22 22:04:14 fc5 mdadm: Rebuild80 event detected on md device /dev/md0
¡¡¡¡Aug 22 22:04:16 fc5 mdadm: RebuildFinished event detected on md device /dev/md0
¡¡¡¡Aug 22 22:04:16 fc5 mdadm: SpareActive event detected on md device /dev/md0,
¡¡¡¡component device /dev/sdh
¡¡¡¡Aug 22 22:04:16 fc5 kernel: md: md0: recovery done.
¡¡¡¡
¡¡¡¡»Øµ÷³ÌÐò´Ómdadm³ÌÐò½ÓÊÜÁ½¸ö»òÕßÈý¸ö²ÎÊý£ºÊ¼þÃû×Ö£¬¼à¿ØÕóÁеÄÃû×ÖºÍÌØÊâʼþ¿ÉÄÜʹÓõ½µÄµ×²ã¿éÉ豸Ãû×Ö¡£ÉÏÃæµÄʼþ·µ»ØµÄÐÅÏ¢ÈçÏ£º
¡¡¡¡Eventname: RebuildStarted Device: /dev/md0 next:
¡¡¡¡Eventname: Fail Device: /dev/md0 next: /dev/sdb
¡¡¡¡Eventname: Rebuild80 Device: /dev/md0 next:
¡¡¡¡Eventname: RebuildFinished Device: /dev/md0 next:
¡¡¡¡Eventname:SpareActive Device: /dev/md0 next: /dev/sdh
¡¡¡¡
¡¡¡¡2£®7 À©Õ¹ÕóÁÐ
¡¡¡¡Èç¹ûÔÚ´´½¨ÕóÁÐʱ²»ÏëʹÓÃÕû¸ö¿éÉ豸£¬¿ÉÒÔÖ¸¶¨ÓÃÓÚ´´½¨RAIDÕóÁÐÿ¸ö¿éÉ豸ʹÓõÄÉ豸´óС¡£
¡¡¡¡mdadm -CR /dev/md0 -l5 -n6 /dev/sd[b-g] -x1 /dev/sdh --size=102400
¡¡¡¡
¡¡¡¡È»ºóÔÚÕóÁÐÐèÒªÀ©Õ¹´óСʱ£¬Ê¹ÓÃģʽ--grow(»òÕ߯äËõд-Q)ÒÔ¼°--size²ÎÊý(»òÕ߯äËõд-z) ÔÚ¼ÓÉϺÏÊʵĴóСÊýÖµ¾ÍÄÜ·Ö±ðÀ©Õ¹ÕóÁÐËùʹÓÃÿ¸ö¿éÉ豸µÄ´óС¡£
¡¡¡¡[root@fc5 mdadm-2.6.3]# ./mdadm -Q /dev/md0
¡¡¡¡/dev/md0: 500.00MiB raid5 6 devices, 1 spare. Use mdadm --detail for more detail.
¡¡¡¡[root@fc5 mdadm-2.6.3]# ./mdadm --grow /dev/md0 --size=204800
¡¡¡¡[root@fc5 mdadm-2.6.3]# cat /proc/mdstat
¡¡¡¡Personalities : [raid0] [raid10] [raid6] [raid5] [raid4]
¡¡¡¡md0 : active raid5 sdh[6](S) sdg[5] sdf[4] sde[3] sdd[2] sdc[1] sdb[0]
¡¡¡¡1024000 blocks level 5, 64k chunk, algorithm 2 [6/6] [UUUUUU]
¡¡¡¡[============>......] resync = 69.6% (144188/204800) finish=0.0min speed=10447K/sec
¡¡¡¡unused devices:
¡¡¡¡[root@fc5 mdadm-2.6.3]# ./mdadm -Q /dev/md0
¡¡¡¡/dev/md0: 1000.00MiB raid5 6 devices, 1 spare. Use mdadm --detail for more detail.
¡¡¡¡
¡¡¡¡Èç¹ûÉÏÃæÊÇÎļþϵͳ(ext2,ext3, reiserfs)£¬ÔÚÉ豸´óСÀ©Õ¹ºó£¬ÎļþϵͳҲҪͬʱÀ©Õ¹¡£
¡¡¡¡[root@fc5 mdadm-2.6.3]# df -h | grep md
¡¡¡¡/dev/md0 485M 11M 449M 3% /mnt/md-test
¡¡¡¡[root@fc5 mdadm-2.6.3]# ext2online /dev/md0
¡¡¡¡[root@fc5 mdadm-2.6.3]# df -h | grep md
¡¡¡¡/dev/md0 969M 11M 909M 2% /mnt/md-test
¡¡¡¡
¡¡¡¡mdadm»¹ÌṩÔö¼Ó»ò¼õÉÙÕóÁÐÖÐÉ豸¸öÊýµÄ¹¦ÄÜ(reshape)£¬Ê¹ÓÃģʽ—growºÍ --raid-disks(»òÕ߯äËõд-n)²ÎÊýÔÙ¼ÓÉϺÏÊʵÄÉ豸¸öÊý¡£À©Õ¹ºóÕóÁÐÖÐÔÀ´µÄÈȱ¸Å̱äΪ»îÔ¾´ÅÅÌ£¬ËùÒÔÕóÁеÄÉ豸¸öÊýÔö¼Ó£¬ÕóÁеĴóСҲÏàÓ¦Ôö¼Ó¡£
¡¡¡¡[root@fc5 mdadm-2.6.3]# ./mdadm -D /dev/md0
¡¡¡¡/dev/md0:
¡¡¡¡Version : 00.90.03
¡¡¡¡Creation Time : Sun Aug 22 22:16:19 1999
¡¡¡¡Raid Level : raid5
¡¡¡¡Array Size : 1024000 (1000.17 MiB 1048.58 MB)
¡¡¡¡Used Dev Size : 204800 (200.03 MiB 209.72 MB)
¡¡¡¡Raid Devices : 6
¡¡¡¡Total Devices : 7
¡¡¡¡Preferred Minor : 0
¡¡¡¡Persistence : Superblock is persistent
¡¡¡¡Update Time : Sun Aug 22 22:23:46 1999
¡¡¡¡State : clean
¡¡¡¡Active Devices : 6
¡¡¡¡Working Devices : 7
¡¡¡¡Failed Devices : 0
¡¡¡¡Spare Devices : 1
¡¡¡¡Layout : left-symmetric
¡¡¡¡Chunk Size : 64K
¡¡¡¡UUID : 53e6395c:1af16258:087cb2a0:b66b087f
¡¡¡¡Events : 0.12
¡¡¡¡Number Major Minor RaidDevice State
¡¡¡¡0 8 16 0 active sync /dev/sdb
¡¡¡¡1 8 32 1 active sync /dev/sdc
¡¡¡¡2 8 48 2 active sync /dev/sdd
¡¡¡¡3 8 64 3 active sync /dev/sde
¡¡¡¡4 8 80 4 active sync /dev/sdf
¡¡¡¡5 8 96 5 active sync /dev/sdg
¡¡¡¡6 8 112 - spare /dev/sdh
¡¡¡¡[root@fc5 mdadm-2.6.3]# ./mdadm --grow /dev/md0 --raid-disks=7
¡¡¡¡mdadm: Need to backup 1920K of critical section..
¡¡¡¡mdadm: ... critical section passed.
¡¡¡¡[root@fc5 mdadm-2.6.3]# cat /proc/mdstat
¡¡¡¡Personalities : [raid0] [raid10] [raid6] [raid5] [raid4]
¡¡¡¡md0 : active raid5 sdh[6] sdg[5] sdf[4] sde[3] sdd[2] sdc[1] sdb[0]
¡¡¡¡1024000 blocks super 0.91 level 5, 64k chunk, algorithm 2 [7/7] [UUUUUUU]
¡¡¡¡[===>.............] reshape = 19.4% (40256/204800) finish=0.7min speed=3659K/sec
¡¡¡¡unused devices:
¡¡¡¡[root@fc5 mdadm-2.6.3]# ./mdadm -D /dev/md0
¡¡¡¡/dev/md0:
¡¡¡¡Version : 00.91.03
¡¡¡¡Creation Time : Sun Aug 22 22:16:19 1999
¡¡¡¡Raid Level : raid5
¡¡¡¡Array Size : 1024000 (1000.17 MiB 1048.58 MB)
¡¡¡¡Used Dev Size : 204800 (200.03 MiB 209.72 MB)
¡¡¡¡Raid Devices : 7
¡¡¡¡Total Devices : 7
¡¡¡¡Preferred Minor : 0
¡¡¡¡Persistence : Superblock is persistent
¡¡¡¡Update Time : Sun Aug 22 22:26:46 1999
¡¡¡¡State : clean, recovering
¡¡¡¡Active Devices : 7
¡¡¡¡Working Devices : 7
¡¡¡¡Failed Devices : 0
¡¡¡¡Spare Devices : 0
¡¡¡¡Layout : left-symmetric
¡¡¡¡Chunk Size : 64K
¡¡¡¡Reshape Status : 25% complete
¡¡¡¡Delta Devices : 1, (6->7)
¡¡¡¡UUID : 53e6395c:1af16258:087cb2a0:b66b087f
¡¡¡¡Events : 0.76
¡¡¡¡Number Major Minor RaidDevice State
¡¡¡¡0 8 16 0 active sync /dev/sdb
¡¡¡¡1 8 32 1 active sync /dev/sdc
¡¡¡¡2 8 48 2 active sync /dev/sdd
¡¡¡¡3 8 64 3 active sync /dev/sde
¡¡¡¡4 8 80 4 active sync /dev/sdf
¡¡¡¡5 8 96 5 active sync /dev/sdg
¡¡¡¡6 8 112 6 active sync /dev/sdh
¡¡¡¡[root@fc5 mdadm-2.6.3]# cat /proc/mdstat
¡¡¡¡Personalities : [raid0] [raid10] [raid6] [raid5] [raid4]
¡¡¡¡md0 : active raid5 sdh[6] sdg[5] sdf[4] sde[3] sdd[2] sdc[1] sdb[0]
¡¡¡¡1228800 blocks level 5, 64k chunk, algorithm 2 [7/7] [UUUUUUU]
¡¡¡¡unused devices:
¡¡¡¡[root@fc5 mdadm-2.6.3]# ./mdadm -D /dev/md0
¡¡¡¡/dev/md0:
¡¡¡¡Version : 00.90.03
¡¡¡¡Creation Time : Sun Aug 22 22:16:19 1999
¡¡¡¡Raid Level : raid5
¡¡¡¡Array Size : 1228800 (1200.20 MiB 1258.29 MB)
¡¡¡¡Used Dev Size : 204800 (200.03 MiB 209.72 MB)
¡¡¡¡Raid Devices : 7
¡¡¡¡Total Devices : 7
¡¡¡¡Preferred Minor : 0
¡¡¡¡Persistence : Superblock is persistent
¡¡¡¡Update Time : Sun Aug 22 22:37:11 1999
¡¡¡¡State : clean
¡¡¡¡Active Devices : 7
¡¡¡¡Working Devices : 7
¡¡¡¡Failed Devices : 0
¡¡¡¡Spare Devices : 0
¡¡¡¡Layout : left-symmetric
¡¡¡¡Chunk Size : 64K
¡¡¡¡UUID : 53e6395c:1af16258:087cb2a0:b66b087f
¡¡¡¡Events : 0.204
¡¡¡¡Number Major Minor RaidDevice State
¡¡¡¡0 8 16 0 active sync /dev/sdb
¡¡¡¡1 8 32 1 active sync /dev/sdc
¡¡¡¡2 8 48 2 active sync /dev/sdd
¡¡¡¡3 8 64 3 active sync /dev/sde
¡¡¡¡4 8 80 4 active sync /dev/sdf
¡¡¡¡5 8 96 5 active sync /dev/sdg
¡¡¡¡6 8 112 6 active sync /dev/sdh
¡¡¡¡
¡¡¡¡2.8 Bitmap¼Ç¼
¡¡¡¡Ê¹ÓÃbitmapģʽ¼Ç¼RAIDÕóÁÐÓжàÉÙ¸ö¿éÒѾͬ²½(resync)¡£²ÎÊý--bitmap(»òÕ߯äËõд-b)Ö¸¶¨¼Ç¼bitmapÐÅÏ¢µÄÎļþÃû£¬Èç¹ûÊÇinterval²ÎÊý±íʾbitmap¼Ç¼ÔÚÿ¸öÉ豸µÄÔªÊý¾ÝÇø¡£--bitmap-chunk±íʾÿ¸öbitλ´ú±íRAIDÉ豸¶à´óµÄÊý¾Ý¿é£¬µ¥Î»ÊÇKB£»¶ø--delay(»òÕ߯äËõд-d)Ö¸¶¨¶à³¤Ê¼þͬ²½bitmapÐÅÏ¢µ½Îļþ»òÕßÉ豸ÉÏ£¬µ¥Î»ÊÇÃ룬ĬÈÏÊÇ5Ãë¡£--force(»òÕ߯äËõд)±íʾ¸²¸ÇµôÒѾ´æÔÚbitmapÎļþ¡£¶øÇÒʹÓÃ--examine-bitmap(»òÕ߯äËõд-X)Äܹ»²é¿´´æ´¢ÔÚÎļþ»òÕßÉ豸ԪÊý¾ÝÖеÄbitmap¼Ç¼µÄÐÅÏ¢¡£
¡¡¡¡µ±ÕóÁд´½¨Ê±Ö¸¶¨bitmapģʽ£¬Èç¹ûÕóÁгõʼ»¯ÖÐÍ£Ö¹ÕóÁУ¬µ±ÔÙ´ÎÆô¶¯ÕóÁÐÖУ¬RAIDÕóÁÐÄܹ»ÀûÓÃbitmap¼Ç¼´ÓÉÏ´ÎÖжϵÄλÖýÓ×ÅÖ´ÐС£
¡¡¡¡[root@fc5 mdadm-2.6.3]# ./mdadm -CR /dev/md1 -l1 -n2 /dev/sdi1 /dev/sdj1 --bitmap=internal
¡¡¡¡mdadm: array /dev/md1 started.
¡¡¡¡[root@fc5 tests]# cat /proc/mdstat
¡¡¡¡Personalities : [raid6] [raid5] [raid4] [raid1]
¡¡¡¡md1 : active raid1 sdj1[1] sdi1[0]
¡¡¡¡2096384 blocks [2/2] [UU]
¡¡¡¡[========>......] resync = 51.2% (1075072/2096384) finish=0.1min speed=153581K/sec
¡¡¡¡bitmap: 128/128 pages [512KB], 8KB chunk
¡¡¡¡unused devices:
¡¡¡¡[root@fc5 tests]# ./mdadm -X /dev/sdi1
¡¡¡¡Filename : /dev/sdi1
¡¡¡¡Magic : 6d746962
¡¡¡¡Version : 4
¡¡¡¡UUID : bcccddb7:0f529abd:672e1f66:7e68bbc8
¡¡¡¡Events : 1
¡¡¡¡Events Cleared : 1
¡¡¡¡State : OK
¡¡¡¡Chunksize : 8 KB
¡¡¡¡Daemon : 5s flush period
¡¡¡¡Write Mode : Normal
¡¡¡¡Sync Size : 2096384 (2047.59 MiB 2146.70 MB)
¡¡¡¡Bitmap : 262048 bits (chunks), 262048 dirty (100.0%)
¡¡¡¡[root@fc5 tests]# ./mdadm --stop /dev/md1
¡¡¡¡mdadm: stopped /dev/md1
¡¡¡¡[root@fc5 tests]# ./mdadm -A /dev/md1 /dev/sd[i-k]1 --bitmap=internal ;cat /proc/mdstat
¡¡¡¡mdadm: there is no need to specify --bitmap when assembling arrays with internal bitmaps
¡¡¡¡mdadm: /dev/md1 has been started with 2 drives and 1 spare.
¡¡¡¡Personalities : [raid6] [raid5] [raid4] [raid1]
¡¡¡¡md1 : active raid1 sdi1[0] sdk1[2](S) sdj1[1]
¡¡¡¡1048448 blocks [2/2] [UU]
¡¡¡¡[==============>...] resync = 87.6% (919616/1048448) finish=0.0min speed=89408K/sec
¡¡¡¡bitmap: 27/128 pages [108KB], 4KB chunk
¡¡¡¡unused devices:
¡¡¡¡[root@fc5 tests]# cat /proc/mdstat
¡¡¡¡Personalities : [raid6] [raid5] [raid4] [raid1]
¡¡¡¡md1 : active raid1 sdj1[1] sdi1[0]
¡¡¡¡2096384 blocks [2/2] [UU]
¡¡¡¡bitmap: 0/128 pages [0KB], 8KB chunk
¡¡¡¡[root@fc5 tests]# mdadm -X /dev/sdi1
¡¡¡¡unused devices:
¡¡¡¡Filename : /dev/sdi1
¡¡¡¡Magic : 6d746962
¡¡¡¡Version : 4
¡¡¡¡UUID : bcccddb7:0f529abd:672e1f66:7e68bbc8
¡¡¡¡Events : 4
¡¡¡¡Events Cleared : 4
¡¡¡¡State : OK
¡¡¡¡Chunksize : 8 KB
¡¡¡¡Daemon : 5s flush period
¡¡¡¡Write Mode : Normal
¡¡¡¡Sync Size : 2096384 (2047.59 MiB 2146.70 MB)
¡¡¡¡Bitmap : 262048 bits (chunks), 0 dirty (0.0%)
¡¡¡¡
¡¡¡¡Ê¹ÓÃbitmapÎļþ¼Ç¼ҪÇóÕâ¸öÎļþ²»ÄÜÔÚRAIDÕóÁÐÉÏ»òÕ߯äÏà¹ØµÄÉ豸ÉÏ£¬¶øÇÒʹÓÃassembleÃüÁîʱҪָ¶¨bitmapÎļþÃû×Ö¡£
¡¡¡¡[root@fc5 mdadm-2.6.3]#./mdadm -CR /dev/md0 -l5 -n6 /dev/sd[b-g] -x1 /dev/sdh
¡¡¡¡--bitmap=/tmp/md0-bm --bitmap-chunk=4 --delay=1 --force
¡¡¡¡mdadm: array /dev/md0 started.
¡¡¡¡[root@fc5 mdadm-2.6.3]# cat /proc/mdstat ;./mdadm -X /tmp/md0-bm
¡¡¡¡Personalities : [raid6] [raid5] [raid4]
¡¡¡¡md0 : active raid5 sdh[6](S) sdg[5] sdf[4] sde[3] sdd[2] sdc[1] sdb[0]
¡¡¡¡5242560 blocks level 5, 64k chunk, algorithm 2 [6/6] [UUUUUU]
¡¡¡¡[===========>.......] resync = 64.3% (675748/1048512) finish=0.7min speed=7848K/sec
¡¡¡¡bitmap: 128/128 pages [512KB], 4KB chunk, file: /tmp/md0-bm
¡¡¡¡unused devices:
¡¡¡¡Filename : /tmp/md0-bm
¡¡¡¡Magic : 6d746962
¡¡¡¡Version : 4
¡¡¡¡UUID : d2f46320:40f1e154:08d7a21a:4cc9a9c1
¡¡¡¡Events : 1
¡¡¡¡Events Cleared : 1
¡¡¡¡State : OK
¡¡¡¡Chunksize : 4 KB
¡¡¡¡Daemon : 1s flush period
¡¡¡¡Write Mode : Normal
¡¡¡¡Sync Size : 1048512 (1024.11 MiB 1073.68 MB)
¡¡¡¡Bitmap : 262128 bits (chunks), 262128 dirty (100.0%)
¡¡¡¡[root@fc5 mdadm-2.6.3]# ./mdadm --stop /dev/md0
¡¡¡¡mdadm: stopped /dev/md0
¡¡¡¡[root@fc5 mdadm-2.6.3]# ./mdadm -A /dev/md0 /dev/sd[b-h] --bitmap=/tmp/md0-bm ;
¡¡¡¡cat /proc/mdstat ;./mdadm -X /tmp/md0-bm
¡¡¡¡mdadm: /dev/md0 has been started with 6 drives and 1 spare.
¡¡¡¡Personalities : [raid6] [raid5] [raid4]
¡¡¡¡md0 : active raid5 sdb[0] sdh[6](S) sdg[5] sdf[4] sde[3] sdd[2] sdc[1]
¡¡¡¡5242560 blocks level 5, 64k chunk, algorithm 2 [6/6] [UUUUUU]
¡¡¡¡[=============>.....] resync = 70.5% (739884/1048512) finish=0.7min speed=6539K/sec
¡¡¡¡bitmap: 41/128 pages [164KB], 4KB chunk, file: /tmp/md0-bm
¡¡¡¡unused devices:
¡¡¡¡Filename : /tmp/md0-bm
¡¡¡¡Magic : 6d746962
¡¡¡¡Version : 4
¡¡¡¡UUID : d2f46320:40f1e154:08d7a21a:4cc9a9c1
¡¡¡¡Events : 3
¡¡¡¡Events Cleared : 3
¡¡¡¡State : OK
¡¡¡¡Chunksize : 4 KB
¡¡¡¡Daemon : 1s flush period
¡¡¡¡Write Mode : Normal
¡¡¡¡Sync Size : 1048512 (1024.11 MiB 1073.68 MB)
¡¡¡¡Bitmap : 262128 bits (chunks), 83696 dirty (31.9%)
¡¡¡¡[root@fc5 mdadm-2.6.3]# cat /proc/mdstat ;./mdadm -X /tmp/md0-bm
¡¡¡¡Personalities : [raid6] [raid5] [raid4]
¡¡¡¡md0 : active raid5 sdb[0] sdh[6](S) sdg[5] sdf[4] sde[3] sdd[2] sdc[1]
¡¡¡¡5242560 blocks level 5, 64k chunk, algorithm 2 [6/6] [UUUUUU]
¡¡¡¡bitmap: 0/128 pages [0KB], 4KB chunk, file: /tmp/md0-bm
¡¡¡¡unused devices:
¡¡¡¡Filename : /tmp/md0-bm
¡¡¡¡Magic : 6d746962
¡¡¡¡Version : 4
¡¡¡¡UUID : d2f46320:40f1e154:08d7a21a:4cc9a9c1
¡¡¡¡Events : 6
¡¡¡¡Events Cleared : 6
¡¡¡¡State : OK
¡¡¡¡Chunksize : 4 KB
¡¡¡¡Daemon : 1s flush period
¡¡¡¡Write Mode : Normal
¡¡¡¡Sync Size : 1048512 (1024.11 MiB 1073.68 MB)
¡¡¡¡Bitmap : 262128 bits (chunks), 0 dirty (0.0%)
¡¡¡¡
¡¡¡¡bitmapģʽÔÚÕóÁд¦ÓÚ½µ¼¶(degrade)״̬Äܹ»¼Ç¼ÓÐÄÄЩ¿é±»Ð´¹ý£¬µ±ÄǸöÔÝʱʧЧµÄ´ÅÅÌʹÓÃ--re-add²ÎÊý±»ÖØÐÂÌí¼Óºó£¬ÕóÁÐÖ»ÖØ¹¹ÕâÆÚ¼äÐ޸ĵÄÊý¾Ý¿é£¬¼õÉÙÕóÁÐÖØ¹¹µÄʱ¼ä¡£bitmapÐÅÏ¢ÖÐdirtyµÄÊýÁ¿±íʾ½µ¼¶ÆÚ¼ä±»Ð޸ĹýµÄ¿é¡£
¡¡¡¡[root@fc5 mdadm-2.6.3]# ./mdadm /dev/md0 -f /dev/sdb /dev/sdh
¡¡¡¡mdadm: set /dev/sdb faulty in /dev/md0
¡¡¡¡mdadm: set /dev/sdh faulty in /dev/md0
¡¡¡¡[root@fc5 mdadm-2.6.3]# cat /proc/mdstat
¡¡¡¡Personalities : [raid6] [raid5] [raid4]
¡¡¡¡md0 : active raid5 sdh[6](F) sdg[5] sdf[4] sde[3] sdd[2] sdc[1] sdb[7](F)
¡¡¡¡5242560 blocks level 5, 64k chunk, algorithm 2 [6/5] [_UUUUU]
¡¡¡¡bitmap: 0/128 pages [0KB], 4KB chunk, file: /tmp/md0-bm
¡¡¡¡unused devices:
¡¡¡¡[root@fc5 mdadm-2.6.3]# ./mdadm -X /tmp/md0-bm
¡¡¡¡Filename : /tmp/md0-bm
¡¡¡¡Magic : 6d746962
¡¡¡¡Version : 4
¡¡¡¡UUID : 3ede3bc0:adb1a404:49a18eed:f1b5c89a
¡¡¡¡Events : 8
¡¡¡¡Events Cleared : 1
¡¡¡¡State : OK
¡¡¡¡Chunksize : 4 KB
¡¡¡¡Daemon : 1s flush period
¡¡¡¡Write Mode : Normal
¡¡¡¡Sync Size : 1048512 (1024.11 MiB 1073.68 MB)
¡¡¡¡Bitmap : 262128 bits (chunks), 0 dirty (0.0%)
¡¡¡¡[root@fc5 mdadm-2.6.3]# dd if=/dev/zero of=/dev/md0 bs=1M count=1024
¡¡¡¡1024+0 records in
¡¡¡¡1024+0 records out
¡¡¡¡1073741824 bytes (1.1 GB) copied, 11.9995 seconds, 89.5 MB/s
¡¡¡¡[root@fc5 mdadm-2.6.3]# ./mdadm -X /tmp/md0-bm
¡¡¡¡Filename : /tmp/md0-bm
¡¡¡¡Magic : 6d746962
¡¡¡¡Version : 4
¡¡¡¡UUID : 3ede3bc0:adb1a404:49a18eed:f1b5c89a
¡¡¡¡Events : 10
¡¡¡¡Events Cleared : 1
¡¡¡¡State : OK
¡¡¡¡Chunksize : 4 KB
¡¡¡¡Daemon : 1s flush period
¡¡¡¡Write Mode : Normal
¡¡¡¡Sync Size : 1048512 (1024.11 MiB 1073.68 MB)
¡¡¡¡Bitmap : 262128 bits (chunks), 52432 dirty (20.0%)
¡¡¡¡[root@fc5 mdadm-2.6.3]# ./mdadm /dev/md0 -r /dev/sdb --re-add /dev/sdb
¡¡¡¡[root@fc5 mdadm-2.6.3]# cat /proc/mdstat ;./mdadm -X /tmp/md0-bm
¡¡¡¡Personalities : [raid6] [raid5] [raid4]
¡¡¡¡md0 : active raid5 sdb[0] sdh[6](F) sdg[5] sdf[4] sde[3] sdd[2] sdc[1]
¡¡¡¡5242560 blocks level 5, 64k chunk, algorithm 2 [6/6] [UUUUUU]
¡¡¡¡bitmap: 0/128 pages [0KB], 4KB chunk, file: /tmp/md0-bm
¡¡¡¡unused devices:
¡¡¡¡Filename : /tmp/md0-bm
¡¡¡¡Magic : 6d746962
¡¡¡¡Version : 4
¡¡¡¡UUID : 3ede3bc0:adb1a404:49a18eed:f1b5c89a
¡¡¡¡Events : 24
¡¡¡¡Events Cleared : 24
¡¡¡¡State : OK
¡¡¡¡Chunksize : 4 KB
¡¡¡¡Daemon : 1s flush period
¡¡¡¡Write Mode : Normal
¡¡¡¡Sync Size : 1048512 (1024.11 MiB 1073.68 MB)
¡¡¡¡Bitmap : 262128 bits (chunks), 0 dirty (0.0%)
¡¡¡¡
¡¡¡¡½áÊøÓï
¡¡¡¡mdadm¹ÜÀí³ÌÐòºÍLinuxÄں˵ÄMDÇý¶¯³ÌÐòÓÉͬһ¸öά»¤ÕßNeil Brownͳһ¹ÜÀí£¬Òò´ËÁ½¸öÈí¼þµÄ¹¦ÄÜÒ²ÔÚ²»¶ÏµÄÔö¼Ó£¬¶ÔÓ¦µÄÈí¼þ°æ±¾Ò²Äܼ°Ê±Éý¼¶¡£±¾ÎĽ²ÊöÁËLinuxϵͳÖÐÈíRAIDµÄ»ù±¾¸ÅÄîºÍÈçºÎʹÓÃmdadm³ÌÐòÀ´¹ÜÀíÈíRAIDÉ豸£¬½éÉÜÁËÈíRAIDÉ豸µÄ´´½¨£¬É¾³ý£¬Í£Ö¹ºÍÀ©Õ¹µÈ²Ù×÷£¬ÒÔ¼°ÆäÔªÊý¾ÝºÍλͼbitmapÊý¾ÝµÄ¹ÜÀí·½·¨¡£ÎÒÃÇ»¹½«ÔÚÎÄÕÂ"LinuxÖÐÈí¼þRAIDʹÓó£¼ûÎÊÌâ½â¾ö"ÌÖÂÛʹÓÃÈíRAIDÉ豸³£¼ûµÄÎÊÌâÒÔ¼°½â¾öµÄ·½·¨¡£