Disk Migration Baik,SeungChan jang4sc@paran.com 2007.05.12 2007.09.23 (°øÁö»çÇ×) ¡á ¸ðµç Å×½ºÆ®´Â x86(VMWare)¿¡¼­ Å×½ºÆ® ÇÏ¿´½À´Ï´Ù. ¡á À̸§¿¡ ÁÖÀÇ ÇϽñ⠹ٶø´Ï´Ù. sparc¿ë¿¡¼­ Å×½ºÆ® ÇϽǶ§´Â ´ÙºñÀ̽º À̸§¿¡ ÁÖÀÇ Çϼ¼¿ä. ¡á VMWare¿¡¼­ ÀÛ¾÷À» ÇÏ¿´±â ¶§¹®¿¡ »õ·Î¿î µð½ºÅ©´Â VMWare¿¡¼­ Ãß°¡¸¦ ÇÏ¿´°í(VM > Add > Disk Add) Solaris¿¡¼­ Device Reconfiguration °ú Á¤À» ¼öÇàÇÏ¿©¼­ µð¹ÙÀ̽º¸¦ ÀÎ½Ä ½ÃÄ×´Ù. ¡á À̱ÛÀº http://www.daum.net (¼Ö½Ç´ë)¿¡¼­ ¸¹Àº ¹®¼­¸¦ ÂüÁ¶ÇÏ¿´´Ù. ¿Ã¸®½Å ºÐÀÇ À̸§À» ±â·Ï ¸øÇѰÍÀ» ¾Æ½±°Ô »ý°¢ÇÑ´Ù. ¡á µð½ºÅ© Disk Migration ÀÛ¾÷À̶ó¸é dd ¸í·É¾î¸¦ »ç¿ëÇÏ´Â ¹æ¹ýÀ» Ãßõ ÇÑ´Ù. ´ÙÀ½Àº Disk1¿¡¼­ ¸ðµç µ¥ÀÌÅ͸¦ Disk2·Î ¿Å±â´Â ÀÛ¾÷¿¡ ´ëÇÑ ¼³¸íÀÌ´Ù. ¡á (1). ufsdump ¸í·É¾î¸¦ »ç¿ëÇÏ´Â ¹æ¹ý ¡á (2). dd ¸í·É¾î¸¦ »ç¿ëÇÏ´Â ¹æ¹ý ¡á (3). ±âŸ ¹æ¹ý ==================================================== 1. ufsdump/ufsrestore ¸í·É¾î¸¦ »ç¿ëÇÑ DISK Migration ==================================================== [Disk1] [Disk2] ======= ======= c0d0s0 ==> c0d1s0 ======= ======= c0d0s1(SWAP) c0d1s1(SWAP) ======= ======= c0d0s7 c0d1s7 ======= ======= [±×¸²]. µð½ºÅ© ±¸¼ºµµ (1). Ư¡ - ÆÄƼ¼Ç(½½¶óÀ̽º)À» ´ÜÀ§·Î À̵¿½ÃŲ´Ù. - ÇϳªÀÇ µð½ºÅ©°¡ ¾Æ´Ï¶ó ¿©·¯°³ÀÇ ½½¶óÀ̽º°¡ Á¸ÀçÇÏ´Â °æ¿ì ºÒÆíÇÒ¼ö ÀÖ´Ù. - Source, Target ÆÄƼ¼ÇÀÇ Å©±â³ª, µð½ºÅ© Á¾·ù°¡ Ʋ·Áµµ »ç¿ë°¡´ÉÇÏ´Ù. - ufsdump/ufsrestore ¸í·É¾î¸¦ »ç¿ëÇÏ¿© ½½¶óÀ̽º ´ÜÀ§·Î ¿Å±â°Ô µË´Ï´Ù. - ufs ÆÄÀϽýºÅÛ¿¡ °üÇØ¼­¸¸ °¡´ÉÇÏ´Ù. °úÁ¤À» °£´ÜÇÏ°Ô Á¤¸®ÇØ º¸¸é ´ÙÀ½°ú °°½À´Ï´Ù. - VTOC À̵¿ - »õ·Î¿î µð½ºÅ©(Disk2) Æ÷¸Ë - ufsdump/ufsrestore ½ÇÇà - installboot ¸í·É¾î ½ÇÇà - Á¡°Ë ÀÎÅÚ¿ëÀ̱⠶§¹®¿¡ »õ·Î¿î µð½ºÅ©(Disk2)¿¡¼­ format ¸í·É¾î¸¦ ½ÇÇàÇÏ¿© fdiskÀ» ½ÇÇàÇϰí 100%À» ¼Ö¶ó¸®½º ÆÄÀϽýºÅÛÀ¸·Î Á¤ÀÇ ÇÏ¿´´Ù. (a). VTOC º¹»ç # prtvtoc /dev/rdsk/c0d0s2 > /c0d0s2.vtoc # fmthard -s /c0d0s2.vtoc /dev/rdsk/c0d1s2 (b). »õ·Î¿î µð½ºÅ©(Disk2) Æ÷¸Ë # newfs /dev/rdsk/c0d1s0 # newfs /dev/rdsk/c0d1s7 (c). ufsdump/ufsrestore ½ÇÇà ½Ì±ÛÀ¯Àú ¸ðµå ±ÇÀå¿¡¼­ ÀÛ¾÷ÇÏ´Â °ÍÀ» ±ÇÀåÇÏÁö¸¸ ÀϹݸðµå¿¡¼­µµ °¡´ÉÇÏ´Ù. ufsrestore ¸í·É¾î´Â ¸¶¿îÆ® µÇ¾î ÀÖÁö ¾ÊÀº°÷¿¡¼­ ½ÇÇàÇÒ¼ö ¾øÀ¸¹Ç·Î ´ÙÀ½°ú °°ÀÌ c0d1s0 ÆÄƼ¼ÇÀ» tmp/root µð·ºÅ丮¿¡ ¸¶¿îÆ® ÇÏ¿´´Ù. (c0d0s0 ÀÛ¾÷) # mkdir /tmp/root # mount /dev/dsk/c0d1s0 /tmp/root # cd /tmp/root # ufsdump 0f - /dev/rdsk/c0d0s0 | ufsrestore rvf - (c0d0s7 ÀÛ¾÷) # mkdir /tmp/data # mount /dev/dsk/c0d1s7 /tmp/data # cd /tmp/data # ufsdump 0f - /dev/rdsk/c0d0s7 | ufsrestore rvf - (ÁÖÀÇ) ½º¿Ò°ø°£¿¡ °üÇØ¼­´Â ±×³É ½½¶óÀ̽º ÇҴ縸 µÇ¾î ÀÖÀ¸¸é µÇ±â ¶§¹®¿¡ Ưº°ÇÑ ¼³Á¤ÀÌ ÇÊ¿äÇÏÁö´Â ¾Ê´Â´Ù. (d). installboot ¸í·É¾î ½ÇÇà / ½½¶óÀ̽º¿¡ °üÇØ¼­¸¸ ½ÇÇàÇØ ÁÖ¸é µÈ´Ù. (sparc) # cd /usr/platform/`uname -i`/lib/fs/ufs # installboot bootblk /dev/rdsk/c0t1d0s0 (intel) # cd /usr/platform/`uname -i`/lib/fs/ufs # installboot pboot bootblk /dev/rdsk/c0d1s0 (e). Á¡°Ë ÀÌÁ¦ ÀÛ¾÷ÀÌ ¿Ï·á µÇ¾ú±â ¶§¹®¿¡ µÎ°³ÀÇ µð½ºÅ©¸¦ ±³Ã¼ÇÏ¿© Å×½ºÆ® ÇØ º¸¸éµÈ´Ù. ±³Ã¼ÀÛ¾÷Àº »õ·Î¿î µð½ºÅ©¸¦ ¿øº» µð½ºÅ©°¡ ÀÖ´ø ÀÚ¸®¿¡ ³õÀ¸¸é µÈ´Ù. ¿øº» µð½ºÅ©¸¦ ±×´ë·Î µÎ°í »õ·Î¿î µð½ºÅ© ÂÊÀ¸·ÎÀÇ Å×½ºÆ®¸¦ ÇϱâÀ§Çؼ­´Â ´ÙÀ½°ú °°Àº ÀÛ¾÷ÀÌ ´õ ÇÊ¿äÇÏ´Ù. (sparc) # vi /etc/vfstab (vfstab ÆÄÀÏ ÆíÁý) # init 0 ok show-disks ok nvalias mydisk [»õ·Î¿îµð½ºÅ©À̸§] ok setenv boot-device mydisk ok reset-all (intel) Å×½ºÆ®½Ã VMWare ¼Ö¶ó¸®½º¸¦ »ç¿ëÇÏ¿´±â¶§¹®¿¡ µð½ºÅ©¸¦ ±³Ã¼ÇÏÁö ¾Ê°í ±âÁ¸¿¡ ÀÖ´ø µð½ºÅ©´Â ±×´ë·Î ³öµÎ°í ´Ù¸¥ µð½ºÅ©ÂÊ¿¡ ºÎÆÃ½Ã۱â À§Çؼ­ /etc/vfstab ÆÄÀÏÀÇ c0d0s0 -> c0d1s0, c0d0s7 -> c0d1s7·Î ¹Ù²Ù¾î ÁÖ°í # eeprom bootpath=/pci@0,0/pci-ide@7,1/ide@0/cmdk@1,0:a ¸í·É¾î¸¦ ¼öÇàÇÏ¿´´Ù. ±âÁ¸ÀÇ Á¤º¸´Â bootpath=/pci@0,0/pci-ide@7,1/ide@0/cmdk@0,0:aÀ¸·Î µÇ¾îÀÖ¾ú´Ù. ÁÖÀÇ)ÀÎÅÚ¿ëÀΰæ¿ì¿¡´Â /bootµµ ¸¶À̱׷¹¼Ç ÇØ¾ß ÇÑ´Ù.(c0d0p0:boot) tar ¸í·É¾î¸¦ ÅëÇØ¼­ »õ·Î¿î µð½ºÅ©ÂÊÀ¸·Î ¿Å°å´Ù. ufsdump/ufsrestore ¸í·É¾î·Î ¿Å±æ¼ö´Â ¾ø´Ù. ÀÌÁ¦ ¸ðµç ÀÛ¾÷ÀÌ ³¡³µ´Ù¸é »õ·Î¿î µð½ºÅ©ÂÊÀ¸·Î ºÎÆÃÇÏ¸é µÈ´Ù. ==================================== 2. dd ¸í·É¾î¸¦ »ç¿ëÇÑ DISK Migration ==================================== ÀÛ¾÷À» Çϱâ Àü¿¡ »õ·Î¿î [Disk3]À» ÆÄƼ¼Ç ÀÛ¾÷À» ¼öÇàÇÏ¿´´Ù. ¶È°°Àº µð½ºÅ© ½½¶óÀÌ ½º¸¦ ¸¸µé¾ú´Ù. ±×¸®°í c0d0s1 ÆÄƼ¼ÇÀº SWAPÀ¸·Î Á¤ÀÇÇØÁ® ÀÖ´Ù. DISK1 DISK2 +-----------+ +-----------+ | c0d0s0 | | c1d1s0 | +-----------+ +-----------+ | c0d0s1 | ====> | c1d1s1 | +-----------+ +-----------+ | c0d0s7 | | c1d1s7 | +-----------+ +-----------+ [±×¸²] DISK Migration (1). dd ¸í·É¾î¸¦ »ç¿ëÇÑ DISK Migration Ư¡ ¡á DISK Migration ÀÛ¾÷½Ã °¡Àå °£ÆíÇÏ°Ô ¿Å±æ¼ö ÀÖ´Ù. ¡á UFS ÆÄÀϽýºÅÛÀÌ ¾Æ´Ñ°æ¿ì¿¡µµ Migration ÀÛ¾÷ÀÌ °¡´ÉÇÏ´Ù. ¡á dd ¸í·É¾î´Â low-level·Î µð½ºÅ©¸¦ º¹»çÇϹǷΠ´Ù¸¥Á¾·ùÀÇ µð½ºÅ©¸¦ »ç¿ëÇϴ°æ¿ì ±ÇÀåÇÏÁö ¾Ê´Â´Ù.(¿¹: dad, sd´Â ´Ù¸¥ Á¾·ùÀÇ µð½ºÅ©ÀÌ´Ù.) ¡á ´ë¿ë·®ÀÇ µð½ºÅ©ÀÌ¸ç ¸¹Àº µ¥ÀÌÅͰ¡ ÀúÀåµÇ¾î ÀÖ´Â µð½ºÅ©¸¦ ¿Å±â´Â °æ¿ì¿¡´Â dd ¸í·É¾î¸¦ »ç¿ëÇÏ´Â °Íº¸´Ù ufsdump ¸í·É¾î¸¦ »ç¿ëÇÏ´Â °ÍÀ» ±ÇÀåÇÑ´Ù. ¡á / ½½¶óÀ̽º¿¡ °üÇØ¼­µµ installboot ¸í·É¾î¸¦ ¼öÇàÇÒ Çʿ䰡 ¾ø´Ù. ¡á ½Ì±ÛÀ¯Àú ¸ðµå ±ÇÀå¿¡¼­ ÀÛ¾÷ÇÏ´Â °ÍÀ» ±ÇÀåÇÏÁö¸¸ ÀϹݸðµå¿¡¼­µµ °¡´ÉÇÏ´Ù. (2). ÀÛ¾÷°úÁ¤ ¡á dd ¸í·É¾î¸¦ ÅëÇÑ DISK Migration ¼öÇà ¡á ¼³Á¤ Á¡°Ë (2-1). dd ¸í·É¾î ½ÇÇà # dd if=/dev/rdsk/c0d0s2 of=/dev/rdsk/c1d1s2 bs=128k »ó´çÇÑ ½Ã°£ÀÌ °É¸®¹Ç·Î Àß ¼öÇàÀÌ ³¡³¯¶§±îÁö ¸í·É¾î¸¦ °­Á¦·Î Á¾·á½ÃŰÁö ¾Ê´Â´Ù. (2-2). ¼³Á¤ Á¡°Ë ÀÌÁ¦ ÀÛ¾÷ÀÌ ¿Ï·á µÇ¾ú±â ¶§¹®¿¡ µÎ°³ÀÇ µð½ºÅ©¸¦ ±³Ã¼ÇÏ¿© Å×½ºÆ® ÇØ º¸¸éµÈ´Ù. ¿øº» µð½ºÅ©¸¦ ±×´ë·Î µÎ°í »õ·Î¿î µð½ºÅ© ÂÊÀ¸·ÎÀÇ Å×½ºÆ®¸¦ ÇϱâÀ§Çؼ­´Â ´ÙÀ½°ú °°Àº ÀÛ¾÷ÀÌ ´õ ÇÊ¿äÇÏ´Ù. (SPARC Platform) (a) /etc/vfstab ÆÄÀÏ ¼³Á¤ # vi /etc/vfstab (vfstab ÆÄÀÏ ÆíÁý) ¿Å°ÜÁú µð½ºÅ©¿¡ ´ëÇØ Á¤È®È÷ µî·ÏÇØ¾ß ÇÑ´Ù. (b) »õ·Î¿î µð½ºÅ©·Î ºÎÆÃ ¼³Á¤ # init 0 ok printenv auto-boot? ok printenv boot-device ok show-disks ok nvalias mydisk ^Y ok setenv boot-device mydisk ok reset-all (INTEL Platform) (a) /etc/vfstab ÆÄÀÏ ¼³Á¤ Å×½ºÆ®½Ã VMWare ¼Ö¶ó¸®½º¸¦ »ç¿ëÇÏ¿´±â¶§¹®¿¡ µð½ºÅ©¸¦ ±³Ã¼ÇÏÁö ¾Ê°í ±âÁ¸¿¡ ÀÖ ´ø µð½ºÅ©´Â ±×´ë·Î ³öµÎ°í ´Ù¸¥ µð½ºÅ©ÂÊ¿¡ ºÎÆÃ½Ã۱â À§Çؼ­ /etc/vfstab ÆÄÀÏ ÀÇ c0d0s0 -> c1d1s0, c0d0s7 -> c1d1s7·Î ¹Ù²Ù¾î ÁÖ¾ú´Ù. # vi /etc/vfstab (vfstab ÆÄÀÏ ÆíÁý) ¿Å°ÜÁú µð½ºÅ©¿¡ ´ëÇØ Á¤È®È÷ µî·ÏÇØ¾ß ÇÑ´Ù. (b) bootenv.rc ÆÄÀÏ ¼³Á¤ bootenv.rc ÆÄÀÏÀº eeprom ¸í·É¾î¸¦ ÅëÇØ Ãâ·ÂµÇ´Â ¼³Á¤À» ´ã´Â´Ù. ÀÌ ÆÄÀÏÀº 2±º µ¥¿¡ Á¸ÀçÇϴµ¥ eeprom ¸í·É¾î¸¦ »ç¿ë ÇÏ¿© ¼³Á¤Çϸé bootenv.rc ÆÄÀÏÀÌ µ¿±âÈ­ µÈ´Ù. ¿ø·¡ ºÎÆÃÇÏ´Â ºÎºÐÀ» ¼öÁ¤Çϱâ À§Çؼ­´Â eeprom ¸í·É¾î¸¦ »ç¿ëÇÏ¿© ¸¶Áö¸· ºÎºÐÀÇ bootpath ºÎºÐÀ» ¼³Á¤ÇؾßÇÑ´Ù. # mkdir /mnt/disk # mount /dev/dsk/c1d1s0 /mnt/disk # vi /mnt/disk/boot/solaris/bootenv.rc ...... [Before] setprop bootpath '/pci@0,0/pci-ide@7,1/ide@0/cmdk@0,0:a' [After] setprop bootpath '/pci@0,0/pci-ide@7,1/ide@1/cmdk@1,1:a' ...... # cat /mnt/disk/platform/`uname -i`/boot/solaris/bootenv.rc ....... [Before] setprop bootpath '/pci@0,0/pci-ide@7,1/ide@0/cmdk@0,0:a' [After] setprop bootpath '/pci@0,0/pci-ide@7,1/ide@1/cmdk@1,1:a' ...... [Ref.] eeprom ¸í·É¾î ¼öÇà½Ã Âü°í »çÇ× eeprom ¸í·É¾î¸¦ »ç¿ëÇÒ¶§ ´ÙÀ½À» Âü°íÇØ¾ß ÇÑ´Ù. # cat /etc/path_to_inst | grep cmdk "/pci@0,0/pci-ide@7,1/ide@0/cmdk@0,0" 0 "cmdk" "/pci@0,0/pci-ide@7,1/ide@0/cmdk@1,0" 1 "cmdk" "/pci@0,0/pci-ide@7,1/ide@1/cmdk@1,0" 2 "cmdk" (c) ºÎÆÃ½Ã¿¡ µð½ºÅ© ¼±Åà # reboot ÀÎÅÚ¿ëÀΰæ¿ì¿¡ Disk ÀÛ¾÷À» ÅëÇØ ´Ù¸¥ µð½ºÅ©·Î ¿î¿µÃ¼Á¦¸¦ ¿Å±ä °æ¿ì »õ·Î¿î µð½ºÅ© ÂÊÀ¸·Î ºÎÆÃÇϱâ À§Çؼ­´Â ¸®ºÎÆÃÈÄ Ã¹¹øÂ° È­¸é¿¡¼­ ۸¦ ÀÔ·ÂÇÑ ÈÄ¿¡ ÆÄ¶õ»ö È­¸éÀÌ ³ª¿À¸é ºÎÆÃÇÏ´Â °ÍÀ» ´Ù¸¥ Disk·Î ¼±ÅÃÇÏ¸é µÈ´Ù. 3. ±âŸ ______________________ tar ¸í·É¾î¸¦ »ç¿ëÇÏ´Â °æ¿ì³ª cpio ¸í·É¾î¸¦ »ç¿ëÇÏ´Â °æ¿ì¸¦ »ç¿ëÇÏ´Â °æ¿ìµµ ÀÖ´Ù. tar ¸í·É¾î º¸´Ù´Â cpio ¸í·É¾î¸¦ ±ÇÀåÇÑ´Ù. - tar ¸í·É¾î¸¦ »ç¿ëÇÏ´Â °æ¿ì - cpio ¸í·É¾î¸¦ »ç¿ëÇÏ´Â °æ¿ì ÀÌ·± °æ¿ì¿¡µµ Filesystem ¸¸ ¿Å°ÜÁö±â ¶§¹®¿¡ ½Å°æÀ» ½áÁà¾ß ÇÒ ºÎºÐÀÌ ÀÖ´Ù. - installboot ¸í·É¾î »ç¿ë - bootpath ¼³Á¤ - VTOC ÀÛ¾÷