ºìÁªLinuxÃÅ»§
Linux°ïÖú

Linux»·¾³ÏÂʹÓÃXFSÎļþϵͳ

·¢²¼Ê±¼ä:2005-12-17 09:05:22À´Ô´:ºìÁª×÷Õß:koov
XfSÎļþϵͳÊÇSGI¿ª·¢µÄ¸ß¼¶ÈÕÖ¾Îļþϵͳ£¬XFS¼«¾ßÉìËõÐÔ£¬·Ç³£½¡×³¡£ËùÐÒµÄÊÇSGI½«ÆäÒÆÖ²µ½ÁËLin uxϵͳÖС£ÔÚlinux»·¾³Ï¡£Ä¿Ç°°æ±¾¿ÉÓõÄ×îÐÂXFSÎļþϵͳµÄΪ1.2°æ±¾£¬¿ÉÒԺܺõع¤×÷ÔÚ2.4ºËÐÄÏ¡£

¡¡¡¡Ò»¡¢XFSÎļþϵͳ¼ò½é
¡¡¡¡Ö÷ÒªÌØÐÔ°üÀ¨ÒÔϼ¸µã£º

¡¡¡¡Êý¾ÝÍêÈ«ÐÔ

¡¡¡¡²ÉÓÃXFSÎļþϵͳ£¬µ±ÒâÏë²»µ½µÄå´»ú·¢Éúºó£¬Ê×ÏÈ£¬ÓÉÓÚÎļþϵͳ¿ªÆôÁËÈÕÖ¾¹¦ÄÜ£¬ËùÒÔÄã´ÅÅÌÉϵÄÎļþ²»ÔÙ»áÒâÍâå´»ú¶øÔâµ½ÆÆ»µÁË¡£²»ÂÛÄ¿Ç°ÎļþϵͳÉÏ´æ´¢µÄÎļþÓëÊý¾ÝÓжàÉÙ£¬Îļþϵͳ¶¼¿ÉÒÔ¸ù¾ÝËù¼Ç¼µÄÈÕÖ¾Ôں̵ܶÄʱ¼äÄÚѸËÙ»Ö¸´´ÅÅÌÎļþÄÚÈÝ¡£

¡¡¡¡´«ÊäÌØÐÔ

¡¡¡¡XFSÎļþϵͳ²ÉÓÃÓÅ»¯Ëã·¨£¬ÈÕÖ¾¼Ç¼¶ÔÕûÌåÎļþ²Ù×÷Ó°Ïì·Ç³£Ð¡¡£XFS²éѯÓë·ÖÅä´æ´¢¿Õ¼ä·Ç³£¿ì¡£xfsÎļþϵͳÄÜÁ¬ÐøÌṩ¿ìËٵķ´Ó¦Ê±¼ä¡£±ÊÕßÔø¾­¶ÔXFS¡¢JFS¡¢Ext3¡¢ReiserFSÎļþϵͳ½øÐйý²âÊÔ£¬XFSÎļþÎļþϵͳµÄÐÔÄܱíÏÖÏ൱³öÖÚ¡£

¡¡¡¡¿ÉÀ©Õ¹ÐÔ

¡¡¡¡XFS ÊÇÒ»¸öÈ«64-bitµÄÎļþϵͳ£¬Ëü¿ÉÒÔÖ§³ÖÉÏ°ÙÍòT×ֽڵĴ洢¿Õ¼ä¡£¶ÔÌØ´óÎļþ¼°Ð¡³ß´çÎļþµÄÖ§³Ö¶¼±íÏÖ³öÖÚ£¬Ö§³ÖÌØ´óÊýÁ¿µÄĿ¼¡£×î´ó¿ÉÖ§³ÖµÄÎļþ´óСΪ263 = 9 x 1018 = 9 exabytes£¬×î´óÎļþϵͳ³ß´çΪ18 exabytes¡£

¡¡¡¡XFSʹÓøߵıí½á¹¹(B+Ê÷)£¬±£Ö¤ÁËÎļþϵͳ¿ÉÒÔ¿ìËÙËÑË÷Óë¿ìËÙ¿Õ¼ä·ÖÅä¡£XFSÄܹ»³ÖÐøÌṩ¸ßËÙ²Ù×÷£¬ÎļþϵͳµÄÐÔÄܲ»ÊÜĿ¼ÖÐĿ¼¼°ÎļþÊýÁ¿µÄÏÞÖÆ¡£

¡¡¡¡´«Êä´ø¿í

¡¡¡¡XFS ÄÜÒÔ½Ó½üÂãÉ豸I/OµÄÐÔÄÜ´æ´¢Êý¾Ý¡£ÔÚµ¥¸öÎļþϵͳµÄ²âÊÔÖУ¬ÆäÍÌÍÂÁ¿×î¸ß¿É´ï7GBÿÃ룬¶Ôµ¥¸öÎļþµÄ¶Áд²Ù×÷£¬ÆäÍÌÍÂÁ¿¿É´ï4GBÿÃë¡£

¶þ¡¢XFSÎļþϵͳµÄʹÓÃ


¡¡¡¡1£®ÏÂÔØÓë±àÒëÄÚºË

¡¡¡¡ÏÂÔØÏàÓ¦°æ±¾µÄÄں˲¹¶¡£¬½âѹ²¹¶¡Èí¼þ°ü£¬¶ÔϵͳºËÐÄ´ò²¹¶¡

¡¡¡¡ÏÂÔصØÖ·£º

¡¡¡¡¶ÔºËÐÄ´ò²¹¶¡£¬ÏÂÔؽâѹºó£¬µÃµ½Ò»¸öÎļþ£ºxfs-1.1-2.4.18-all.patchÎļþ¡£
¶ÔºËÐĽøÐÐÐÞ²¹ÈçÏ£º

¡¡¡¡# cd /usr/src/linux
¡¡¡¡# patch -p1 < /path/to/xfs-1.1-2.4.18-all.patch

¡¡¡¡ÐÞ²¹¹¤×÷Íê³Éºó£¬ÏÂÒ»²½Òª½øÐеŤ×÷ÊDZàÒëºËÐÄ£¬½«XFS±àÒë½øLinuxºËÐÄ¿ÉÖС£
Ê×ÏÈÔËÐÐÒÔÏÂÃüÁѡÔñºËÐÄÖ§³ÖXFSÎļþϵͳ£º

¡¡¡¡#make menuconfig

¡¡¡¡ÔÚ¡°Îļþϵͳ¡°²Ëµ¥ÖÐÑ¡Ôñ£º

¡¡¡¡<*> SGI XFS filesystem support ##˵Ã÷£º½«XFSÎļþϵͳµÄÖ§³Ö±àÒë½øºËÐÄ
¡¡¡¡»ò
¡¡¡¡ SGI XFS filesystem support ##˵Ã÷£ºÒÔ¶¯Ì¬¼ÓÔØÄ£¿éµÄ·½Ê½Ö§³ÖXFSÎļþϵͳ

¡¡¡¡ÁíÍ⻹ÓÐÁ½¸öÑ¡Ôñ£º

¡¡¡¡Enable XFS DMAPI¡¡##˵Ã÷£º¶Ô´ÅÅ̹ÜÀíµÄAPI£¬´æ´¢¹ÜÀíÓ¦ÓóÌÐòʹÓÃ
¡¡¡¡Enable XFS Quota¡¡##˵Ã÷£ºÖ§³ÖÅäºÏQuota¶ÔÓû§Ê¹ÓôÅÅÌ¿Õ¼ä´óС¹ÜÀí

¡¡¡¡Íê³ÉÒÔÉϹ¤×÷ºó£¬Í˳ö²¢±£´æºËÐÄÑ¡ÔñÅäÖÃ.

¡¡¡¡Ö®ºó£¬È»ºó±àÒëÄںˣ¬°²×°ºËÐÄ:

¡¡¡¡#make bzImage
¡¡¡¡#make module
¡¡¡¡#make module_install
¡¡¡¡#make install

¡¡¡¡Èç¹ûÄã¶ÔÒÔÉϸ´ÔÓ·±ËöµÄ¹¤×÷ûÓÐÄÍÐÄ»òûÓаÑÎÕ£¬ÄÇô¿ÉÒÔÖ±½Ó´ÓSGIµÄÕ¾µãÉÏÏÂÔØÒѾ­´òºÃ²¹¶¡µÄºËÐÄ£¬Æä°æ±¾Îª2.4.18¡£ËüÊÇÒ»¸örpmÈí¼þ°ü£¬ÄãÖ»Òª¼òµ¥µØ°²×°¼´¿É¡£SGIÌá½»µÄºËÐÄÓÐÁ½ÖÖ£¬·Ö±ð¹©smp¼°µ¥´¦ÀíÆ÷µÄ»úÆ÷ʹÓá£

¡¡¡¡2£®´´½¨XFSÎļþϵͳ

¡¡¡¡Íê³É¶ÔºËÐĵıàÒëºó£¬»¹Ó¦ÏÂÔØÓëÖ®ÅäÌ×µÄXFSprogs¹¤¾ßÈí¼þ°ü£¬Ò²¼´mkfs.xfs¹¤¾ß¡£²»È»ÎÒÃÇÎÞ·¨Íê³É¶Ô·ÖÇøµÄ¸ñʽ»¯:¼´ÎÞ·¨½«Ò»¸ö·ÖÇø¸ñʽ»¯³ÉXFSÎļþϵͳµÄ¸ñʽ¡£ÒªÏÂÔصÄÈí¼þ°üÃû³Æ£ºxfsprogs-2.0.3¡£

½«ËùÏÂÔصÄXFSProgs¹¤¾ß½âѹ£¬°²×°£¬mkfs.xfs×Ô¶¯°²×°ÔÚ/sbinĿ¼Ï¡£


¡¡¡¡#tar -xvf xfsprogs-2.0.3.src.tar.gz
¡¡¡¡#cd xfsprogs-2.0.3src
¡¡¡¡#./configure
¡¡¡¡#make
¡¡¡¡#make install

¡¡¡¡Ê¹ÓÃmkfs.xfs¸ñʽ»¯´ÅÅÌΪxfsÎļþϵͳ£¬·½·¨ÈçÏ£º

¡¡¡¡# /sbin/mkfs.xfs /dev/sda6 ££ËµÃ÷£º½«·ÖÇø¸ñʽ»¯ÎªxfsÎļþϵͳ,ÒÔÏÂΪÏÔʾÄÚÈÝ£º

¡¡¡¡meta-data=/dev/sda6 isize=256 agcount=8, agsize=128017 blks
¡¡¡¡data = bsize=4096 blocks=1024135, imaxpct=25
¡¡¡¡= sunit=0 swidth=0 blks, unwritten=0
¡¡¡¡naming =version 2 bsize=4096
¡¡¡¡log =internal log bsize=4096 blocks=1200
¡¡¡¡realtime =none extsz=65536 blocks=0, rtextents=0

¡¡¡¡¸ñʽ»¯´ÅÅÌʱ£¬Èç¹ûmkfs.xfsÌáʾÄã·ÖÇøÔ­±¾Òѱ»¸ñʽ»¯ÎªÆäËüÎļþϵͳ£¬¿ÉÒÔʹÓòÎÊý -f Ç¿Ðиñʽ»¯£º

¡¡¡¡#/sbin/mkfs.xfs -f /dev/sda6

¡¡¡¡3£®¼ÓÔØXFSÎļþϵͳ

¡¡¡¡#mount -t xfs /dev/sda6 /xfs ##ÆäÖÐ/xfsÊÇÖ÷·ÖÇø/ϵÄÒ»¸öĿ¼¡£

¡¡¡¡×îºó£¬ÎªÁËÈÃϵͳÆô¶¯ºó¾Í×Ô¶¯¼ÓÔØ£¬Ó¦¸Ã¸ü¸Ä/etc/fstab£¬ÕâÑùϵͳÆô¶¯ºó¾Í»á×Ô¶¯¼ÓÔØxfs·ÖÇø¶ø²»±Øÿ´Î¶¼ÊÖ¹¤¼ÓÔØ¡£

¡¡¡¡ÒªËµÃ÷µÄÒ»µãÊÇÄ¿Ç°µÄxfsÓÉÓÚÊÜlinuxÄÚ´æÒ³ÏÞÖÆ£¬ÔÚx86°æ±¾ÖУ¬Ö»ÄÜʵÏÖÎļþϵͳµÄ¿é³ß´çΪ4K¡£ÁíÍ⣬XFSÎļþϵͳ¿ÉÒÔ²»Í¬µÄ·½Ê½mount£¬¼´ÔÊÐíÎļþϵͳÒÔ¶Á·½Ê½¼ÓÔØ£¬Ò²ÔÊÐíÒÔ¶Áд·½Ê½¼ÓÔØ¡£ÕâÊÇÒòΪxfsÎļþϵͳÓÃ×÷¸ùÎļþϵͳʱ£¬ÎªÁË°²È«ÒªÒÔÖ»¶Á·½Ê½¼ÓÔØ¡£

¡¡¡¡Èý¡¢ÎļþϵͳµÄǨÒÆ

¡¡¡¡ÒªÊ¹µÃϵͳÖеÄÆäËü·ÖÇøʹÓÃXFSÎļþϵͳ£¬»¹ÓÐÒ»²½ÊÇǨÒÆÎļþϵͳ¡£½¨ÒéÔÚǨÒÆÎļþϵͳʱ£¬Ê×ÏȽ«´ÅÅÌÉϵÄÊý¾Ý¡¢ÎļþÏȱ¸·Ý£¬ÒÔÃâ·¢Éú²»¿ÉÍì»ØµÄËðʧ£¬ÔÚ½øÐÐÎļþϵͳת»»Ö®¼ä£¬×îºÃÄܽ«Õû¸öϵͳ½øÐÐÍêÈ«±¸·Ý¡£ÕâÒ»²½ÓкܶàÖÖ·½·¨£¬±¾ÎĽö¾Í±ÊÕßµÄǨÒÆ·½·¨¼ÓÒÔÃèÊö¡£¸÷λ¿ÉÒÔ°´ÕÕ×Ô¼ºÏ°¹ßµÄ·½Ê½È¥Íê³É

¡¡¡¡Èç¹ûÄãÏëµÃµ½Ò»¸ö´¿µÄxfsϵͳ(ϵͳµÄËùÓÐÎļþϵͳ¾ù²ÉÓÃXFSÎļþϵͳ)»°£¬»¹µÃ½«¸ùÎļþϵͳҲ¸ñʽ»¯ÎªxfsÎļþϵͳ¡£Õâʵ¼ÊÉÏÊDZȽϷ±ÔÓµÄÒ»²½¡£ÒòΪ¸ùÎļþϵͳ²»Äܱ»umount£¬ËùÒÔ£¬±ØÐëÊ×ÏÈ´´½¨Ò»¸ö·ÖÇø£¬ÆäÎļþϵͳΪext2Îļþϵͳ£¬È»ºó½«Ä¿Ç°µÄ¸ù·ÖÇøÉϵÄËùÓÐÎļþÓëĿ¼£¬Ô­Ô­±¾±¾µØ¸´ÖƵ½ÕâÒ»¸ö·ÖÇø£¬È»ºó¸ü¸Ä/etc/fstabÎļþ£¬Ìæ»»Ô­À´µÄ¸ù·ÖÇø¡£

¡¡¡¡·½·¨ÈçÏ£º

¡¡¡¡$ mkfs -t ext2 /dev/hda4
¡¡¡¡$ mkdir /mnt/temp
¡¡¡¡$ mount -t ext2 /dev/hda4 /mnt/temp
¡¡¡¡$ cd /
¡¡¡¡$ tar lcvf - .|(cd /mnt/temp; tar xpvf - )¡¡

ÒÔÉϲÙ×÷Êǽ«¸ù·ÖÇøÉϵÄËùÓÐÎļþ´ò°ü£¬¸´ÖƵ½Ð½¨Á¢µÄ·ÖÇø¡£µ±È»£¬ÄãÒ²¿ÉÒÔÖ±½ÓʹÓÃÒÔÏÂÃüÁÖÆÎļþ¡£


¡¡¡¡# cp -dpR / /mnt/temp

¡¡¡¡½Ó×Å£¬½«Ï´ÎÆô¶¯µÄ¸ù·ÖÇø¸ü¸Äµ½/dev/hda4·ÖÇø£¬¸ü¸Ä/etc/fstabÎļþ¼°/etc/lilo.conf £¬È»ºó£¬ÔËÐÐ lilo.

¡¡¡¡ÖØÐÂÆô¶¯ºó£¬Ðµĸù·ÖÇø¾ÍÒѾ­Îª/dev/hda4¡£

¡¡¡¡½ÓÏÂÀ´£¬´´½¨Ò»¸öxfsÎļþϵͳµÄ·ÖÇø£º

¡¡¡¡$ mkfs -t xfs /dev/hda2

¡¡¡¡¼ÓÔØ´Ë·ÖÇø£¬²ÉÓÃÁ½ÑùµÄ·½·¨£¬½«¸ù·ÖÇøµÄÄÚÈݸ´ÖƵ½´Ë·ÖÇø

¡¡¡¡$ mount -t xfs /dev/hda2 /mnt/temp

¡¡¡¡ÔÚ¸ù·ÖÇøÏ£¬ÔËÐÐ

¡¡¡¡$ cd /
¡¡¡¡$ tar lcvf - .|(cd /mnt/temp; tar xpvf - )

¡¡¡¡Ôٴθü¸Ä/etc/fstab¡¢/etc/lilo.conf£¬ÓÃн¨µÄxfs·ÖÇøÌæ»»Ô­À´µÄext2Ö÷·ÖÇø¡£ÈçÏÂËùʾ£º

¡¡¡¡/dev/hda2 / xfs defaults 1 1

¡¡¡¡½«Ð½¨µÄxfs·ÖÇøÓÃ×÷¸ù·ÖÇø£¬±£´æÒÔÉÏÉèÖá£Ôٴμì²éÅäÖÃÎļþÄÚÈÝ£¬È·ÈÏÎÞÎóºóÔÙÖØÐÂÆô¶¯ÏµÍ³¡£Èç¹ûÄãµÄÉèÖÃÈ«²¿ÕýÈ·£¬ÄÇôϵͳ³É¹¦Æô¶¯ºó£¬Äã¾ÍÓµÓÐÒ»¸ö´¿XFSÎļþϵͳµÄϵͳÁË¡£
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 0 ÌõÆÀÂÛ