Linux + XFS HOWTOLinux on Steroids
Russel
Ingram
ringram (at) gargoylecc.com
¼º¿ë
¼
pooh (at) kldp.org
v1.02, Oct. 8, 2001
v1.02
2001-10-08
ri
¾à°£ÀÇ ÁÖ¼®, blockquote ±×¸®°í ulink ű׸¦ Ãß°¡ÇÔ.
"¸¶Ä¡±â" ÀÇ ¸í·É ºÎºÐ¿¡¼ ¿¡·¯¸¦ ¼öÁ¤ÇÔ.
libuuid.a ¸¦ ÂüÁ¶ÇÏ¿© e2fsprogs-devel ¿¡ ´ëÇÑ ÁÖ¼®À» º¯°æ.
ÀÌ ¹®¼´Â SGI XFS Àú³Î¸µ ÆÄÀϽýºÅÛ¿¡¼ µ¹¾Æ°¡´Â ¸®´ª½º ½Ã½ºÅÛÀ» ±¸ÃàÇϴ¹ý¿¡ ´ëÇØ¼ ¼³¸íÇÑ´Ù.
¼Ò°³
¸®´ª½º¸¦ À§ÇÑ XFS ¼Ò°³
ÀÌ ¹®¼´Â SGI XFS Àú³Î¸µ ÆÄÀϽýºÅÛ¿¡¼ µ¹¾Æ°¡´Â ¸®´ª½º ½Ã½ºÅÛÀ» ±¸ÃàÇϴ¹ý¿¡
´ëÇØ¼ ¼³¸íÇÑ´Ù. XFS FAQ¿¡ ÀÇÇϸé: "XFS ´Â SGI ¿¡ ÀÇÇØ °³¹ßµÈ Àú³Î¸µ
ÆÄÀϽýºÅÛÀ̰í SGI ÀÇ IRIX ¿î¿µ üÁ¦¿¡¼ »ç¿ëµÈ´Ù. Áö±ÝÀº GPL ÇÏ¿¡ ¸®´ª½º¿¡¼
»ç¿ëÇÒ ¼ö ÀÖ´Ù. ±×°ÍÀº ¸Å¿ì scalableÇѵ¥, btree ¸¦ ±¤¹üÀ§ÇÏ°Ô »ç¿ëÇÏ¿© °Å´ëÇÑ
Èñ¼Ò(sparse) ÆÄÀϵé°ú ±Øµµ·Î °Å´ëÇÑ µð·ºÅ丮¸¦ Áö¿øÇÑ´Ù. Àú³Î¸µ ±â´ÉÀº
´õÀÌ»ó fsck ¸¦ ±â´Ù¸®°Å³ª meta-data ¼Õ»óÀ» °ÆÁ¤ÇÒ Çʿ䰡 ¾øÀ½À» ÀǹÌÇÑ´Ù.
" º»ÁúÀûÀ¸·Î XFS ´Â SGI °¡ ÀÚ»çÀÇ ÇÏÀÌ¿£µå ¼¹ö ½Ã½ºÅÛÀ» À§ÇÏ¿© °í¾ÈÇÑ
ÆÄÀϽýºÅÛÀ̹ǷÎ, ÀÌ ¹®¼ÀÇ ºÎÁ¦´Â "Linux on Steroids" ÀÌ´Ù. :-)
¼¹®, Çǵå¹é ±×¸®°í ÀúÀÚ ¼Ò°³
Irix ½Ã½ºÅÛ °ü¸®ÀÚ °øµ¿Ã¼ÀÇ ºñ±³Àû ½ÅÀÔ È¸¿øÀ¸·Î½á, Irix ¸¦ Áö¿øÇϱâ À§ÇØ
°³¹ßµÈ ÆÄÀϽýºÅÛ(¹°·Ð XFS)ÀÇ °·ÂÇÔ¿¡ »ç¶û¿¡ ºüÁ³´Ù. ±×·¡¼ ¸»ÇÒ Çʿ䵵
¾øÀÌ ³ª´Â Çѵ¿¾È ¸®´ª½º·ÎÀÇ Æ÷ÆÃ ³ë·ÂÀ» µû¶ó¿ÔÀ¸¸ç ³ªÀÇ ¸®´ª½º ½Ã½ºÅÛÀ»
óÀ½ºÎÅÍ ¸ðµÎ XFS ÆÄÀϽýºÅÛÀÇ À§¿¡¼ ¿î¿µÇÏ´Â °ÍÀ» ²Þ²Ù¾î¿Ô´Ù. ±× ÇÁ·ÎÁ§Æ®´Â
À̰ÍÀÌ Á¤¸» Çö½ÇÀÌ µÉ ¼ö ÀÖ´Â ÁöÁ¡¿¡ À̸£·¶´Ù(ÀÌ ±ÛÀ» ¾²±â Àü¿¡ °ÅÀÇ 1³â Àü).
±×·¯³ª, ´Ù¸¥ ÇÁ·Î±×·¡¹Ö/Æ÷ÆÃ ÇÁ·ÎÁ§Æ®ÀÇ ¸¹Àº °æ¿ì°¡ ±×·¯ÇϵíÀÌ, ±×·¯ÇÑ ÀÛ¾÷¿¡
´ëÇÑ ¹®¼È°¡ Ç×»ó ¹Ù·Î ÀÐÀ»¼ö Àִٰųª ´©±¸³ª ±â´ëÇϵíÀÌ µû¶óÇϱⰡ ½±Áö´Â
¾Ê´Ù. ÀÌ ¹®¼´Â ±×·¯ÇÑ »óȲÀ» ±¸Á¦ÇϰíÀÚ ÇÏ´Â ½Ãµµ¿¡¼ ÀÛ¼ºµÇ¾ú´Ù.
ÀÌ ¹®¼¿¡ Æ÷ÇÔµÈ Á¤º¸´Â XFS °³¹ß ¸ÞÀϸµ ¸®½ºÆ®ÀÇ Jason Walker ¿Í Russell
Cattelan ÀÇ ¸Þ½ÃÁö, SGI Open Source Development À¥ »çÀÌÆ®¿¡ ÀÖ´Â ´Ù¾çÇÑ °÷¿¡¼
¼öÁýÇÑ Á¤º¸, ±×¸®°í XFS ½Ã½ºÅÛÀ» Á÷Á¢ ¼³Ä¡ÇÏ¸é¼ °ÞÀº ³» ÀÚ½ÅÀÇ °æÇè¿¡ ±â¹ÝÀ»
µÎ°í ÀÖ´Ù.
¼öÁ¤ÇÒ Á¡À̳ª ¾î¶°ÇÑ Á¤º¸, URLÀ̳ª ±âŸ »çÇ×ÀÌ ´©¶ôµÇ¾î ÀÖ´Ù¸é ÀÚÀ¯·Ó°Ô ³ª¿¡°Ô ringram@gargoylecc.com·Î À̸ÞÀÏÀ» º¸³»Áֱ⠹ٶõ´Ù. ÀÌ HOWTO ¿¡¼ ³»°¡ º¸´Ù ¸¹Àº Çǵå¹éÀ» ¾òÀ»¼ö·Ï ¸ðµÎ¿¡°Ô º¸´Ù µµ¿òÀÌ µÉ °ÍÀÌ´Ù.
ÀÌ ¹®¼ÀÇ ÃֽйöÀüÀº
Gargoyle Computer Consulting
¿¡¼ ãÀ» ¼ö ÀÖ´Ù.
ÀúÀ۱ǰú ±Ç¸® Æ÷±â
ÀÌ ¹®¼ÀÇ ÀúÀÛ±ÇÀº Russell Ingram ¿¡°Ô ÀÖÀ¸¸ç ÀÚÀ¯(FREE) ¹®¼ÀÌ´Ù. GNU
GPL ÇÏ¿¡ À̰ÍÀ» Àç¹èÆ÷ÇÒ ¼ö ÀÖ´Ù.
ÀÌ ¹®¼¿¡ Æ÷ÇÔµÈ Á¤º¸´Â Russel ÀÇ Áö½Ä Çѵµ³»¿¡¼± Á¤È®ÇÏ°Ô ÃÖ¼±À» ´ÙÇØ¼ ÀÛ¼ºµÇ¾ú´Ù. ±×·¯³ª XFS Linux Æ÷Æ®´Â »ç¶÷¿¡ ÀÇÇØ ¾²¿©Á³À¸¹Ç·Î ¶§¿¡ µû¶ó¼± ½Ç¼ö³ª ¹ö±×³ª ±âŸ ¹®Á¦°¡ ¹ß»ýÇÒ °¡´É¼ºÀÌ ÀÖ´Ù.
¾î¶² »ç¶÷À̳ª ´Üüµµ ´ç½ÅÀÇ ÄÄÇ»ÅÍ¿¡ ÀÔÀº ¼Õ»ó°ú ÀÌ ¹®¼¿¡ ÀÖ´Â Á¤º¸¸¦ »ç¿ëÇÔÀ¸·Î½á »ý±ä ´Ù¸¥ ¼Õ½Çµé¿¡ ´ëÇØ Ã¥ÀÓÁöÁö ¾Ê´Â´Ù.
ÀúÀÚ´Â ÀÌ ¹®¼¿¡ ÀÖ´Â Á¤º¸¿¡ ±â¹ÝÇÏ¿© ÃëÇØÁø Çൿ¿¡ ÀÇÇØ ÃÊ·¡µÈ ¾î¶² ¼Õ»ó¿¡ ´ëÇØ¼µµ Ã¥ÀÓÀ» ÁöÁö ¾Ê´Â´Ù.
XFS ¼³Ä¡¸¦ À§ÇÑ Áغñ
Linux 2.4.x-XFS Ä¿³Î ¼Ò½º ³»·Á¹Þ±â
ÇöÀç XFS ¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Â ¸®´ª½º Ä¿³ÎÀ» ¾òÀ» ¼ö ÀÖ´Â À¯ÀÏÇÑ ¹æ¹ýÀº CVS ¸¦ ÀÌ¿ëÇØ SGI ÀÇ Open Source Development »çÀÌÆ®¿¡¼ Á÷Á¢ ¹Þ´Â °ÍÀÌ´Ù.
Note
µÎ°³ÀÇ ´Ù¸¥ Æ®¸®¸¦ ÀÌ¿ëÇÒ ¼ö ÀÖ´Ù:
linux-2.4-xfs: ºü¸£°Ô À̵¿ÁßÀÎ °³¹ß Æ®¸®
linux-2.4-xfs-beta: ¾ÈÁ¤ÀûÀÌ¸ç ¹ö±× ¼öÁ¤¸¸ µÇ´Â Æ®¸®
³» °æÇèÀº °³¹ß Æ®¸®¿¡ ±â¹ÝÀ» µÎ°í ÀÖÀ¸³ª, º£Å¸ Æ®¸®¿¡¼µµ ¸ðµç°ÍÀÌ ¶È°°ÀÌ(¾Æ¸¶µµ º¸´Ù ¾ÈÁ¤ÀûÀ¸·Î) µ¿ÀÛÇϸ®¶ó°í ¿¹»óÇÑ´Ù. ´ÙÀ½Àº Ä¿³Î ¼Ò½º Æ®¸®¸¦ ³»·Á¹Þ±â À§ÇÑ °úÁ¤ÀÌ´Ù:
A. º¸Åë ¸®´ª½º Ä¿³Î ¼Ò½º´Â /usr/src µð·ºÅ丮¿¡ ¼³Ä¡µÇ¹Ç·Î, ±× µð·ºÅ丮·Î À̵¿ÇÏ´Â °ÍÀ¸·Î ½ÃÀÛÇÑ´Ù.
$ cd /usr/src
B. ´ÙÀ½À¸·Î, CVSROOT ȯ°æ º¯¼ö¸¦ ¼³Á¤Çؼ ±×°ÍÀÌ ÀûÀýÇÑ cvs ¼¹ö¸¦ °¡¸®Å°µµ·Ï ÇÑ´Ù.
¸¸¾à ´ç½ÅÀÌ sh, bash, ksh ³ª ±âŸ ½©À» »ç¿ëÁßÀ̶ó¸é:
$ export CVSROOT=':pserver:cvs@oss.sgi.com:/cvs'
csh³ª tcsh ¸¦ »ç¿ëÁßÀ̶ó¸é
$ setenv CVSROOT :pserver:cvs@oss.sgi.com:/cvs
Ä¿³ÎÀ» ÀÚÁÖ ¾÷µ¥ÀÌÆ®ÇÒ °èȹÀ̶ó¸é(ÃÖ½ÅÀÇ º¯È¸¦ µû¶óÀâ±â À§Çؼ), À̰ÍÀ» ´ç½ÅÀÇ ·Î±×ÀÎ ½ºÅ©¸³Æ®¿¡ ³Ö¾îµÑ ¼öµµ ÀÖ´Ù.
C. ±×¸®°í³ª¼ cvs ¼¹ö¿¡ ·Î±×ÀÎÇ϶ó.
$ cvs login (¾ÏÈ£´Â "cvs")
À̰ÍÀº Çѹø¸¸ ÇÏ¸é µÇ°í, cvs ¿¡ Á¢¼ÓÇÒ¶§¸¶´Ù ÇÒ ÇÊ¿ä´Â ¾ø´Ù.
D. linux-2.4-xfs ¸¦ °¡Á®¿Â´Ù. ù¹øÂ°·Î ´ÙÀ½Ã³·³ ÇÑ´Ù:
$ cvs -z3 co linux-2.4-xfs
±× Äڵ带 üũ¾Æ¿ô ÇÑ ÈÄ¿¡, ´ÙÀ½ÀÇ ¸í·ÉÀ» ÀÌ¿ëÇÏ¿©:
$ cvs -z3 update linux-2.4-xfs
CVS ¼¹ö¿¡¼ ÃÖ½ÅÀÇ ¹öÀüÀ¸·Î ´ç½ÅÀÇ »çº»À» ¾÷µ¥ÀÌÆ® ÇÒ ¼ö ÀÖ´Ù.
XFS Áö¿øÀ» ¸ðµâ·Î ÇÒ °ÍÀΰ¡ Ä¿³Î¿¡ ÄÄÆÄÀÏÇØ¼ ³ÖÀ» °ÍÀΰ¡?
¸®´ª½º Ä¿³Î¿¡ ´ëÇØ XFS Áö¿øÀ» ¸ðµâ·Î ºôµåÇÏ´Â ¿É¼ÇÀÌ À̿밡´ÉÇϰí ÃʱâÈ
RAM µð½ºÅ©¿Í lilo ¼³Á¤¿¡ ´ëÇÑ ¸î°³ÀÇ Ãß°¡»çÇ×À¸·Î µ¿ÀÛÇÒ °ÍÀÌ´Ù(ȤÀº
±×·¸°Ô ³ª´Â µé¾ú´Ù). ³ª´Â (¾ÆÁ÷) À̰ÍÀ» ½ÃµµÇغ¸Áö´Â ¾Ê¾ÒÀ¸¹Ç·Î, °³¹ß
¸ÞÀϸµ ¸®½ºÆ®ÀÇ Russell Cattelan ÀÇ ¸Þ½ÃÁö¸¦ ÀοëÇÏ´Â °Í À̿ܿ¡ À̰ÍÀÌ
¾î¶»°Ô ÀÌ·ç¾îÁö´ÂÁö¿¡ ´ëÇÑ ¹®¼¸¦ Æ÷ÇÔ½ÃŰÁö´Â ¾Ê°Ú´Ù.
RussellCattelan
»ç½Ç xfs ¸¦ ¸ðµâ·Î ½ÇÇàÇÏ´Â °ÍÀº ¸Å¿ì ¾î·Á¿î °ÍÀº ¾Æ´Ï´Ù. cmd/xfs/misc
µð·ºÅ丮¿¡´Â ¼öÁ¤µÈ mkinitrd °¡ Àִµ¥, À̰ÍÀº Ç×»ó pagebuf xfs_support
¿Í xfs ¸¦ Áö¿øÇÏ´Â ·¥ µð½ºÅ©¸¦ »ý¼ºÇÒ °ÍÀÌ´Ù.
ÀÌ·¸°Ô ÇÏ°í ³ª¸é lilo.conf ÆÄÀÏ¿¡ initrd Çà°ú ´ÙÀ½ÀÇ ÇàÀ» Ãß°¡ÇÑ´Ù.
append = "ramdisk_size=25000"
±âº» Å©±â´Â 4096 Àε¥ xfs ¸¦ ³Ö±â¿£ ÀÛ´Ù.
À̰ÍÀº ³» ·¦Å¾¿¡¼ÀÇ °á°úÀÌ´Ù.
punch[12:57am]-=>mount
/dev/ide/host0/bus0/target0/lun0/part8 on / type xfs (rw,noatime)
none on /proc type proc (rw)
/dev/ide/host0/bus0/target0/lun0/part6 on /boot type ext2 (rw,noatime)
none on /dev/pts type devpts (rw,mode=0620)
/dev/ide/host0/bus0/target0/lun0/part1 on /mnt/windows type vfat (rw,nosuid,nodev,umask=0)
/dev/ide/host0/bus0/target0/lun0/part9 on /blam type xfs (rw)
punch[12:57am]-=>lsmod
Module Size Used by
autofs 13180 1 (autoclean)
usb-uhci 24918 0 (unused)
usbcore 35339 0 [usb-uhci]
3c59x 25149 1 (autoclean)
maestro 29757 0 (unused)
soundcore 6085 2 [maestro]
vfat 13075 1 (autoclean)
fat 37733 0 (autoclean) [vfat]
xfs 447888 2
xfs_support 13954 0 [xfs]
pagebuf 39935 2 [xfs]
image=/boot/vmlinuz-2.4.0-XFS-test13-pre4
label=t13p4
root=/dev/hda8
initrd=/boot/initrd-2.4.0-XFS-test13p4.img
append="ramdisk_size=25000"
read-only
³ª¿¡°Õ XFS Áö¿øÀ» Ä¿³Î¿¡ Áý¾î³Ö¾î ÄÄÆÄÀÏÇÏ´Â °ÍÀÌ ÈξÀ °£´ÜÇØ º¸À̹ǷÎ,
ÀÌ ¹®¼¿¡¼´Â ±× ¹æ¹ýÀ» ´Ù·ê °ÍÀÌ´Ù. ³ª´Â ³ªÁß¿¡ ¸ðµâ·Î ±×°ÍÀ» ½ÃµµÇغ¸°í
±×¶§ º¸´Ù ÀÚ¼¼ÇÑ ¼³¸íÀ» Ãß°¡ÇϰڴÙ. ¸¸¾à ³»°¡ ÀÌ·¸°Ô Çϱâ Àü¿¡ ´©±º°¡°¡
ÀÌ ¹æ¹ýÀ» ¹®¼ÈÇÑ´Ù¸é, ºÎµð ³ª¿¡°Ô À̸ÞÀÏÀ» º¸³»ÁÖ±æ ¹Ù¶õ´Ù. ±×¸®°í ³ª´Â
ÀûÀýÇÑ Å©·¹µðÆ®ÂÊ¿¡ Ãß°¡¸¦ ÇϰڴÙ. :-)
Ä¿³Î ¼³Á¤°ú ¼³Ä¡
Ä¿³ÎÀÌ XFS¸¦ Áö¿øÇϵµ·Ï ¼³Á¤Çϱâ
ÁÖÀÇ
¸¸¾à ´ç½ÅÀÌ »õ·Î¿î ¸®´ª½º Ä¿³ÎÀ» ¼³Á¤Çϰí ÄÄÆÄÀÏÇØº»ÀûÀÌ ¾ø´Ù¸é, ÀÌ °úÁ¤À» ÇàÇϱâ Àü¿¡ ¸®´ª½º Ä¿³Î HOWTO ¸¦ Àо¶ó. ±×°ÍÀº
Linux Documentation Project (LDP)
À̳ª ±× ¹Ì·¯¿¡¼ ãÀ» ¼ö ÀÖ´Ù.
cvs ¼Ò½º Æ®¸®¸¦ ³»·Á¹ÞÀº ÈÄ¿¡, ½ÇÁ¦ Ä¿³Î ¼Ò½º´Â
/usr/src/linux-2.4-xfs(-beta)/linux ¿¡ ÀÖÀ» °ÍÀ̹ǷÎ, ´ç½ÅÀÌ ÇÊ¿äÇÑ
°ÍµéÀ» ¼±ÅÃÇϱâ À§ÇÑ make config ¸¦ ½ÇÇàÇϱâ Àü¿¡ ±× µð·ºÅ丮·Î À̵¿Çؾß
ÇÑ´Ù. XFS Áö¿øÀ» Á¦°øÇϱâ À§Çؼ Ä¿³Î¿¡ Æ÷ÇԵǾî¾ß ÇÏ´Â ÁÖ¿äÇÑ °ÍµéÀº
"Page Buffer support" ¿Í "SGI XFS filesystem support
" ÀÌ´Ù. µÎ ¿É¼Ç ¸ðµÎ Ä¿³Î ¼³Á¤ÀÇ "File systems" ¼½¼Ç¿¡¼
À̿밡´ÉÇÏ´Ù. ±× ¿É¼ÇµéÀ» »ç¿ë°¡´ÉÇÏ°Ô ÇÏ·Á¸é "Code maturity level
options" ¾È¿¡ ÀÖ´Â "Prompt for development and/or incomplete
code/drivers" ¸¦ ¼±ÅÃÇØ¾ß ÇÑ´Ù. ¼±ÅÃÀûÀ¸·Î "SGI XFS filesystem
support"¾Æ·¡¿¡ ÀÖ´Â "Enable XFS Debug mode" °ú "Enable
XFS Vnode Tracing" ¸¦ ¼±ÅÃÇÏ°í ½ÍÀ»Áöµµ ¸ð¸¥´Ù. ÀÌ·¯ÇÑ ¿É¼ÇµéÀº ´ç½ÅÀÇ
XFS ±¸ÇöÀ» ´Ù¼Ò ´À¸®°Ô ÇÒ ¼ö ÀÖÀ¸³ª, ¹®Á¦°¡ ¹ß»ýÇÑ´Ù¸é ¹®Á¦ÀÇ ¿øÀÎÀ»
ÃßÀûÇϴµ¥ À¯¿ëÇÒ °ÍÀÌ´Ù.
Ä¿³Î°ú ¸ðµâÀ» ºôµåÇϱâ
´Ù¸¥ Ä¿³ÎµéÀ» ºôµåÇÏ´Â °Íó·³, ½ÇÁ¦·Î »õ Ä¿³ÎÀ» ºôµåÇϱâ À§Çؼ ´ÙÀ½ÀÇ
¸í·ÉÀ» ½ÇÇàÇØ¾ß ÇÑ´Ù.:
$ make dep
$ make bzImage
$ make modules
»õ Ä¿³Î°ú ¸ðµâ ¼³Ä¡Çϱâ
ÀÌ°Í ¿ª½Ã ´Ù¸¥ Ä¿³ÎÀ» ºôµåÇÒ¶§¿Í ¸¶Âù°¡Áö·Î Ç¥ÁØÀûÀÎ ÀÛ¾÷ÀÌ´Ù:
$ make modules_install
$ cp arch/i386/boot/bzImage /boot/vmlinuz-2.4.0-XFS
lilo ¼³Á¤¿¡ »õ·Î¿î Ç׸ñÀ» Ãß°¡Çϰí lilo ¸¦ À缳ġÇϱâ
$ vi /etc/lilo.conf
´ç½ÅÀÇ lilo.conf ÆÄÀÏ¿¡ ´ÙÀ½°ú ºñ½ÁÇÑ »õ·Î¿î À̹ÌÁö ¼½¼ÇÀ» Ãß°¡ÇÑ´Ù:
image=/boot/vmlinuz-2.4.0-XFS label=xfs read-only root=/dev/hda2
"root=" ÇàÀº ´ç½ÅÀÇ lilo.conf ÆÄÀÏ¿¡ ±âÁ¸¿¡ ÀÖ´ø À̹ÌÁö ¼½¼ÇÀÇ
"root=" Çà°ú °°¾Æ¾ß ÇÑ´Ù. lilo.conf ÆÄÀÏÀÇ ¼öÁ¤ÀÌ ³¡³µÀ»¶§
lilo ¸¦ ½ÇÇàÇØ¼ º¯°æÀ» À¯È¿ÇÏ°Ô ÇÏ´Â °ÍÀ» ÀØÁö ¸»µµ·Ï Ç϶ó.
XFS À¯Æ¿¸®Æ¼¸¦ ºôµåÇÏ°í ¼³Ä¡Çϱâ
XFS ÆÄÀϽýºÅÛ¿¡ µþ·Á¿À´Â ¿©·¯°³ÀÇ ÅøÀº ´ç½ÅÀÇ XFS ÆÄÀϽýºÅÛÀ» ºôµåÇϰí
°ü¸®ÇÒ¼ö ÀÖ°Ô ÇØÁִµ¥, ¿ª½Ã ºôµåµÇ¾î¾ß ÇÑ´Ù. ÀÌ·¯ÇÑ ÅøÀº
/usr/src/linux-2.4-xfs(-beta)/cmd/xfsprogs µð·ºÅ丮¿¡ ÀÖ´Ù.
ÁÖÀÇ
ÀÌ·¯ÇÑ ÅøÀº /usr/lib/libuuid.a °øÀ¯ ¶óÀ̺귯¸®¿¡ ÀÇÁ¸ÇÑ´Ù. ¸¸¾à ÀÌ
¶óÀ̺귯¸®¸¦ ¼³Ä¡ÇÏÁö ¾Ê¾Ò´Ù¸é, XFS À¯Æ¿¸®Æ¼¸¦ ÄÄÆÄÀÏÇϱâ À§Çؼ ±×°ÍÀÌ
ÇÊ¿äÇÒ °ÍÀÌ´Ù. ´ç½ÅÀÇ ¸®´ª½º ¹öÀü¿¡ ´ëÇÑ rpm ÆÐŰÁö¸¦
Rpmfind.net ¿¡¼
"/usr/lib/libuuid.a" ·Î °Ë»öÇÏ¿© ãÀ» ¼ö ÀÖ´Ù. libuuid¸¦
Æ÷ÇÔÇÏ´Â µ¥ºñ¾È ÆÐŰÁö´Â uuid-dev ÀÌ´Ù. ÀÌ ¶óÀ̺귯¸®ÀÇ ´Ù¸¥ ¹èÆ÷ÆÇ¿ë
ÆÐŰÁö°¡ ´Ù¸¥ Àå¼Ò¿¡ ÀÖÀ¸¸®¶ó´Â °ÍÀº ÀǽÉÀÇ ¿©Áö°¡ ¾ø´Ù. ±×·¯ÇÑ
¹èÆ÷ÆÇÀ» À§ÇÑ Á¤È®ÇÑ ÆÐŰÁö¸¦ ã´Â ÁÁÀº ¹æ¹ýÀº
Google Linux °Ë»ö
¿£Áø¿¡¼ °Ë»öÇÏ´Â °ÍÀÌ´Ù.
±× µð·ºÅ丮·Î À̵¿ÇÑ´Ù:
$ cd ../cmd/xfsprogs
xfs À¯Æ¿¸®Æ¼¸¦ ºôµåÇÏ°í ¼³Ä¡ÇÑ´Ù:
$ make install
»õ·Î¿î Ä¿³Î·Î ºÎÆ®Çϱâ
$ reboot
ÁÖÀÇ
lilo.conf ÆÄÀÏ¿¡¼ ±âº» ºÎÆ® ¶óº§À» º¯°æÇÏÁö ¾Ê´Â ÇÑÀº »õ·Î¿î Ä¿³Î
À̹ÌÁö·Î ºÎÆÃÇϱâ À§Çؼ "LILO Boot:" ÇÁ·ÒÇÁÆ®¿¡¼
"xfs" ¸¦ ÀÔ·ÂÇØ¾ß ÇÑ´Ù.
ÆÄÀϽýºÅÛ À̵¿(migration)
Àüü °úÁ¤¿¡¼ÀÇ ¸¶Áö¸· ºÎºÐÀº µ¥ÀÌÅͰ¡ ¼Õ½ÇµÉ °¡´É¼ºÀÌ ÀÖ´Â ÇÑ ¾Æ¸¶µµ
½ÇÁ¦·Î °¡Àå ±î´Ù·Ó°í À§ÇèÇÑ °úÁ¤ÀÏ °ÍÀÌ´Ù. ³ª´Â XFS ·ÎÀÇ À̵¿À» Çϱâ
Àü¿¡ ½Ã½ºÅÛÀÇ ¿ÏÀüÇÑ ¹é¾÷ (ȤÀº Àû¾îµµ Áß¿äÇÑ ÀÚ·á ¸ðµÎ)À» Çϱ⸦
ÃßõÇÑ´Ù. À̺κÐÀº ¿ª½Ã ¼³¸íÇϱ⿡µµ °¡Àå ¾î·Á¿îµ¥, ´ç½ÅÀÇ ÆÄÀϽýºÅÛ
¼³Á¤¿¡ µû¶ó¼ À̵¿À» ÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀÌ ¼ö¹é°¡Áö°¡ µÉ °ÍÀ̱⠶§¹®ÀÌ´Ù.
³ª´Â ¿©·¯ºÐ¿¡°Ô »õ·Î¿î ÆÄÀϽýºÅÛÀ» ¸¸µå´Â ±âº» ¸í·ÉÀ» ¾Ë·ÁÁÙ °ÍÀ̰í,
ÆÄÀϽýºÅÛ ¹®Á¦¸¦ ÇØ°áÇÏ´Â ¹æ¹ý¿¡ ¾î¶»°Ô Âø¼öÇÒÁö¿¡ ´ëÇÑ ¸î°¡Áö ¿äÁ¡µéÀ»
¾Ë·ÁÁÖ·Á°í ³ë·ÂÇÒ°ÍÀ̰í, ÀüüÀûÀ¸·Î´Â ³ª ÀÚ½ÅÀÇ ÆÄÀϽýºÅÛÀ» À̵¿Çϴµ¥¿¡
»ç¿ëÇß´ø ¹æ¹ýÀ» ¿©·¯ºÐ¿¡°Ô ¾Ë·ÁÁÙ °ÍÀÌ´Ù.
/ ÆÄÀϽýºÅÛ À̵¿Çϱâ
¿ÏÀüÇÑ XFS ½Ã½ºÅÛÀ» ¸¸µå´Â °ÍÀÇ °¡Àå ¾î·Á¿î ºÎºÐÀº ¾Æ¸¶µµ / ÆÄÀϽýºÅÛÀ»
À̵¿½ÃŰ´Â °ÍÀÏÅÙµ¥, / °¡ ½Ã½ºÅÛÀÇ ³ª¸ÓÁö Àüü¸¦ ÁöÅÊÇÏ´Â °ÍÀ̰í
±×°ÍÀº ½Ã½ºÅÛ ¿î¿µÁß¿¡´Â ½ÇÁ¦·Î ¾ð¸¶¿îÆ® µÉ ¼ö ¾ø±â ¶§¹®ÀÌ´Ù. ¸¸¾à
/ ·Î ¸¶¿îÆ®µÉ ¼ö ÀÖ´Â ¿©ºÐÀÇ ÆÄƼ¼ÇÀÌ ÀÖ´Ù¸é ÀÌ¿Í ºñ½ÁÇÑ ¹æ¹ýÀ¸·Î ÇÒ
¼ö ÀÖ´Ù(¿¹Á¦¿¡¼´Â /dev/hda4 ¸¦ ¿©ºÐÀÇ ÆÄƼ¼ÇÀ¸·Î, /dev/hda2¸¦
/ ·Î »ç¿ëÇÑ´Ù).
$ mkfs -t ext2 /dev/hda4
$ mkdir /mnt/temp
$ mount -t ext2 /dev/hda4 /mnt/temp
$ cd /
$ tar lcf - .|(cd /mnt/temp; tar xpvf - )
³»°¡ / ÆÄÀϽýºÅÛ¿¡¼ ¿©ºÐÀÇ ÆÄÀϽýºÅÛÀ¸·Î ÆÄÀϵéÀ» º¹»çÇϱâ À§ÇØ ¿©±â¼
tar À» »ç¿ëÇÔÀ» ÁÖ¸ñÇ϶ó. ´ë½Å cp -dpR À» »ç¿ëÇÒ¼öµµ ÀÖÁö¸¸, ³»°¡ ¿©±â¼
º¸ÀΰͰú °°ÀÌ -l Ç÷¡±×¸¦ ºÙ¿© tar À» »ç¿ëÇÏ¸é ¿ÀÁ÷ / ÆÄÀϽýºÅÛ ¾È¿¡
ÀÖ´Â ÆÄÀϸ¸À» º¹»çÇÒ °ÍÀÌ´Ù(´Ù½Ã ¸»Çϸé, ´ç½ÅÀÌ /usr ·Î ¸¶¿îÆ®ÇØµÐ
¶Ç´Ù¸¥ ÆÄƼ¼ÇÀÌ ÀÖ´Ù¸é ±×·¯ÇÑ °ÍÀº º¹»çµÇÁö ¾ÊÀ» °ÍÀ̶ó´Â ¸»ÀÌ´Ù).
´ÙÀ½ ´Ü°è´Â /etc/fstab ¿Í /etc/lilo.conf ¿¡ ÀÖ´Â /dev/hda4 ¿¡ ´ëÇÑ
¸ðµç ÂüÁ¶¸¦ /dev/hda2 ·Î ¹Ù²Ù°í lilo ¸¦ ½ÇÇàÇÑ´Ù. ±×¸®°í ³ª¼ ½Ã½ºÅÛÀ»
´Ù½Ã ºÎÆÃÇØ¾ß ÇÑ´Ù.
½Ã½ºÅÛÀ» ÀçºÎÆÃ ÈÄ¿¡´Â /dev/hda4 °¡ /·Î ¸¶¿îÆ®µÉ °ÍÀÌ°í ¿ø·¡ÀÇ /
ÆÄÀϽýºÅÛ (/dev/hda2)´Â ¸¶¿îÆ®µÇÁö ¾ÊÀ» °ÍÀÌ´Ù. ÀÌÁ¦´Â /dev/hda2 ¿¡
»õ·Î¿î XFS ÆÄÀϽýºÅÛÀ» ¸¸µé ¼ö ÀÖ´Ù.
$ mkfs -t xfs /dev/hda2
±×¸®°í ³ª¼ »õ·Î¿î xfs ÆÄÀϽýºÅÛÀ» ¸¶¿îÆ®ÇÑ´Ù:
$ mount -t xfs /dev/hda2 /mnt/temp
±×¸®°í ¿ø·¡ÀÇ / ÆÄÀϽýºÅÛÀ» ±×°ÍÀÇ ¿ø·¡ À§Ä¡·Î µ¹·Á³õ´Â´Ù:
$ cd /
$ tar lcf - .|(cd /mnt/temp; tar xpvf -)
´Ù½Ã Çѹø /etc/fstab ¿Í /etc/lilo.conf ¿¡ ÀÖ´Â /dev/hda4 ÀÇ ¸ðµç °´Ã¼¸¦
¹Ù²Ù°í lilo ¸¦ ½ÇÇàÇØ¾ß ÇÑ´Ù. ¶ÇÇÑ /etc/fstab ¿¡ ÀÖ´Â / ÀÇ ÆÄÀϽýºÅÛ
À¯ÇüÀ» ¹Ù²ãÁÖ¾î¾ß ÇÑ´Ù. ÀÌÁ¦´Â ÀÌ¿Í ºñ½ÁÇØ º¸ÀÏ °ÍÀÌ´Ù:
/dev/hda2 / xfs defaults 1 1
ÁÖÀÇ
¸î¸î ¸®´ª½º ¹èÆ÷ÆÇ¿¡¼ À§ÀÇ ¿¹Á¦ »óÀÚ ÀÌ¿ÜÀÇ fstab ¿¡ ÁÖ¾îÁø ¿É¼ÇÀº ´ÜÁö
"defaults" ÀÌ»óÀÇ ±íÀÌÀÖ´Â °ÍÀϼöµµ ÀÖ´Ù. ¿¹¸¦ µé¾î µ¥ºñ¾È
½Ã½ºÅÛÀº "defaults,errors=remount-ro"¸¦ »ç¿ëÇÑ´Ù.
"defaults" Ű¿öµå¸¦ Á¦¿ÜÇϰí´Â ¸¶¿îÆ® ¿É¼ÇÀÌ ¸ðµç
ÆÄÀϽýºÅÛ¸¶´Ù ´Ù¸£´Ù. ´ç½ÅÀÌ »ç¿ëÇϰíÀÚ Çϴ ƯÁ¤ÇÑ XFS ¸¶¿îÆ®
¿É¼ÇÀ» ¾Ë°í ÀÖÁö ¾Ê´Â ÇÑÀº µðÆúÆ® ¿É¼ÇÀ» »ç¿ëÇ϶ó. ÁÖ¾îÁø µ¥ºñ¾È
¿¹Á¦¿¡¼´Â, errors ¿É¼ÇÀº XFS ¿¡¼´Â »ç¿ëÀÌ ºÒ°¡´ÉÇÏ¸ç ´ç½ÅÀÇ
ÆÄÀϽýºÅÛÀ» ¸¶¿îÆ®µÇÁö ¸øÇÏ°Ô ÇÒ °ÍÀÌ´Ù.
ÀÌÁ¦ »õ·Î¿î xfs / ÆÄÀϽýºÅÛÀ¸·Î ½Ã½ºÅÛÀ» ¸®ºÎÆ®ÇÑ´Ù.
¹°·Ð ·çÆ® ÆÄÀÏ ½Ã½ºÅÛÀ» À̵¿ÇÏ´Â ¹æ¹ý¿¡´Â ¿©·¯°¡Áö ´Ù¸¥ ¹æ¹ýÀÌ ÀÖ°í ¸¸¾à
´ç½ÅÀÌ ÁÁÀº »ý°¢À» °®°í ÀÖ´Ù¸é ³ª´Â Á¤¸» ±×°ÍÀ» ¾Ë°í ½Í°í ¿©±â¼ÀÇ
¹æ¹ýº¸´Ù ´õ °£´ÜÇØº¸Àδٸé ÀÌ ¹®¼¿¡ ±×°ÍÀ» ³ÖÀ» °ÍÀÌ´Ù. ³ª ÀÚ½ÅÀº
ÀÛ¾÷ÇÒ ¿©ºÐÀÇ ÆÄƼ¼ÇÀÌ ¾ø¾úÀ¸³ª CD ·¹ÄÚ´õ°¡ ÀÖ¾úÀ¸¹Ç·Î ³» ·çÆ®
ÆÄÀϽýºÅÛÀ» CD ·Î ±¸¿ö¼ »õ·Î¿î xfs / ¸¦ ¸¸µå´Âµ¿¾È ·çÆ®·Î ¸¶¿îÆ®Çß´Ù.
ÇÏÁö¸¸, ¸ðµç °æ¿ì¿¡µµ »õ·Î¿î ÆÄÀϽýºÅÛÀ» »ý¼ºÇÏ°í ¸¶¿îÆ®ÇÏ´Â ±âº»ÀûÀÎ
¸í·É¾î´Â ¸ðµÎ °°À» °ÍÀÌ´Ù.
¸¶Ä¡±â
°úÁ¤ÀÇ ¸¶Áö¸·Àº ¸Å¿ì °£´ÜÇÏ°í »õ·Î¿î ÆÄÀÏ ½Ã½ºÅÛÀ» ¸¸µé¸é¼ / ¿¡ ´ëÇØ¼
ÇàÇÑ ÆÄƼ¼Ç ¹Ù²Ù´Â °úÁ¤°ú º»ÁúÀûÀ¸·Î °°Àº °úÁ¤ÀÌ´Ù. ³ª´Â ÀÌ °úÁ¤ÀÇ
³ª¸ÓÁö¸¦ ½Ì±Û À¯Àú ¸ðµå¿¡¼ ÀÛ¾÷ÇÏ¿© / ÀÌ¿ÜÀÇ ¸ðµç °ÍÀ» ¾ð¸¶¿îÆ®ÇÒ ¼ö
ÀÖµµ·Ï ÇÏ¿© ¿©·¯¹ø ÀçºÎÆ®ÇÒÇÊ¿ä ¾øÀÌ ¸ðµç ±³Ã¼¸¦ ÇÒ ¼ö Àֱ⸦ ÃßõÇÑ´Ù.
½Ì±Û À¯Àú ¸ðµå·Î ºÎÆÃÇϱâ À§Çؼ´Â ´ÙÀ½°ú °°ÀÌ init ÇÁ·Î¼¼½º¿¡ ·±·¹º§
º¯°æ ¸í·ÉÀ» ³»¸®´ø°¡:
$ telinit 1
ȤÀº ÀçºÎÆÃÇØ¼ LILO ÇÁ·ÒÇÁÆ®¿¡¼ ½Ì±Û À¯Àú ¸ðµå·Î ºÎÆÃÇϵµ·Ï ¿äûÇÒ ¼ö ÀÖ´Ù:
LILO Boot: xfs single
ÀÌ·¸°Ô ÇÏ¸é ½Ã½ºÅÛÀÌ ºÎÆ®µÇ°í ³ª¼ ¹Ù·Î ·çÆ® ½©·Î µé¾î°¡¼ ¿ÜºÎÀÇ Á¢¼ÓÀ̳ª
°¡»óÅ͹̳ÎÀÌ ¾øÀ¸¹Ç·Î ´Ù¸¥ »ç¿ëÀÚµéÀ̳ª ÇÁ·Î¼¼½ºµé¿¡ ÀÇÇØ ÆÄÀϽýºÅÛÀÌ
»ç¿ëµÉ ±âȸ°¡ ¾ø´Ù(ÆÄÀϽýºÅÛÀ» »ç¿ëÁßÀÌ¸é ´ç½ÅÀÌ ±×°ÍÀ» ¾ð¸¶¿îÆ® ÇÒ¼ö
¾ø°Ô ¸¸µç´Ù). ÀÌÁ¦ ´ç½ÅÀº ¿©ºÐÀÇ ÆÄƼ¼ÇÀ» ¸¶¿îÆ®ÇÒ ¼ö ÀÖ°í, ¿¹Àüó·³,
À̵¿µÉ ÆÄƼ¼ÇÁßÀÇ Çϳª¸¦ ±×°÷¿¡ º¹»çÇ϶ó(¾Æ¸¶µµ / ¿¡¼ ¿ÞÂÊÀ¸·ÎºÎÅÍ Á¸ÀçÇÏ´Â
³»¿ëÀ» Áö¿ö¾ß ÇÒ °ÍÀÌ´Ù), ¿¹ÀüÀÇ ÆÄÀϽýºÅÛÀ» ¾ð¸¶¿îÆ®Çϰí, xfs ÆÄÀϽýºÅÛÀ»
±× À§¿¡ ¸¸µé°í, ±×°ÍÀ» xfs ·Î ´Ù½Ã ¸¶¿îÆ®Çϰí, ¿¹ÀüÀÇ ÆÄÀϽýºÅÛÀÇ ³»¿ëÀ»
±×°÷¿¡ º¹»çÇ϶ó. ´ç½ÅÀÌ /dev/hda3 ÆÄƼ¼ÇÀ» /usr ·Î ¸¶¿îÆ®Çß´Ù°í °¡Á¤ÇÏÀÚ.
ÀÌ °úÁ¤Àº ´ÙÀ½°ú À¯»çÇÒ °ÍÀÌ´Ù:
$ mount -t ext2 /dev/hda4 /mnt/temp
$ cd /usr
$ tar lcf - .|(cd /mnt/temp; tar xpvf - )
$ umount /usr
$ mkfs -t xfs /dev/hda3
$ mount -t xfs /dev/hda3 /usr
$ tar lcf - .|(cd /usr; tar xpvf - )
/etc/fstab ¿¡¼ /usr ÀÇ ÆÄÀϽýºÅÛ À¯ÇüÀ» xfs ·Î ¹Ù²Ù´Â °ÍÀ» ÀØÁö ¸»ÀÚ.
À̰ÍÀÌ ±×°Í¿¡ ´ëÇÑ ÀüºÎ´Ù. ³ª¸ÓÁö À̵¿µÉ ÆÄÀϽýºÅÛÀº °°Àº ¹æ½ÄÀ¸·Î ÀÛµ¿Çϸç,
±× ÈÄ¿¡´Â ¿ÏÀüÇÑ ¸ÖƼÀ¯Àú ¸ðµå·Î ÀçºÎÆÃÇØ¼ ´ç½Å ÀÚ½ÅÀÇ "Linux on Steroids!" ¸¦ °®´Â °ÍÀÌ´Ù.