Linuxsky
ÖйúÇà»ù»á
Äúµ±Ç°µÄËùÔÚµÄλÖÃÊÇ£ºÖ÷Ò³>×ÔÓÉÎĵµ>ϵͳ¹ÜÀí> ÎÄÕÂÒ³Ãæ

Linux ÖÐÈí¼þ RAID µÄʹÓÃ

È¥ÂÛ̳ÌÖÂÛ À´Ô´£ºIBM DWÖйú ×÷ÕߣºÕÅÖ¾±ó ·¢²¼Ê±¼ä£º2007-12-24

¡¡¡¡ÔÚÒÔÊý¾ÝΪÖÐÐĵÄÐÅϢʱ´ú£¬ÈçºÎÍ×ÉÆÓÐЧµØ±£»¤Êý¾ÝÊǴ洢ϵͳµÄºËÐÄÎÊÌâÖ®Ò»¡£ÈËÃÇ¿ÉÒÔÈÌÊܼÆËã»úå´»ú£¬ËùÓÐÓ¦ÓóÌÐòÖØÐÂÆô¶¯»òÕßÓ²¼þË𻵣¬µ«ÊÇËûÃÇÒªÇóÐÅÏ¢ÓÀÔ¶²»»á¶ªÊ§¡£ÈßÓà´ÅÅÌÕóÁÐ(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

¡¡¡¡Linear (append) mode

¡¡¡¡RAID-0 (striping) mode

¡¡¡¡RAID-1 (mirroring) mode

¡¡¡¡RAID-10 (mirrored striping) mode (EXPERIMENTAL)

¡¡¡¡RAID-4/RAID-5/RAID-6 mode

¡¡¡¡[*] Support adding drives to a raid-5 array

¡¡¡¡Multipath I/O support

¡¡¡¡Faulty test module for MD

¡¡¡¡

¡¡¡¡ÔÚ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É豸³£¼ûµÄÎÊÌâÒÔ¼°½â¾öµÄ·½·¨¡£

Ãâ·Ñ×¢²á | ÍøÕ¾µØÍ¼ | RSS¶©ÔÄ | ÓÑÇéÁ´½Ó | ÂÛ̳½»Á÷ | Óû§²«¿Í | ·µ»Ø¶¥¶Ë

Õ¾ÄÚ×ÊÁϲ¿·ÖÓɱ¾ÈËÊÕ¼¯ÕûÀí£¬ËùÓÐÎÄÕ°æÈ¨¾ùϵԭ×÷Õߺͳö°æÕßËùÓУ¬ÈçÉæ°æÈ¨ÎÊÌ⣬¿ÒÇëÀ´ÐŸæÖª£¡

±¾Õ¾Ô­´´×÷Æ·³ýÌØ±ðÉùÃ÷Íâ½ÔÒÔ´´×÷¹²ÓÃЭÒé·¢²¼£¡