· KLDP.org · KLDP.net · KLDP Wiki · KLDP BBS ·
Partimage-HOWTO

Partimage


Version: 0.1

ÀÛ¼ºÀÚ: À̵·Çö(ȯ°ñÅ»ÅÂ) [http]http://blog.easysw.net


1. Partimage¶õ

ÆÄƼ¼Ç º°·Î ¹é¾÷ ¹× º¹±¸¸¦ °¡´ÉÇÏ°Ô ÇØ ÁÖ´Â ÇÁ·Î±×·¥ÀÌ´Ù. ÇÁ·Î±×·¥À» ¼³Ä¡Çؼ­ »ç¿ëÇصµ µÇ°í, partimage °³¹ßÀÚ°¡ ¸¸µç º¹±¸¿ë Á¾ÇÕ¼±¹° ¼¼Æ®ÀÎ systemrescuecdÀÇ iso ÆÄÀÏÀ» ´Ù¿î¹Þ¾Æ¼­ º¹±¸ CD¸¦ ¸¸µå´Â °Íµµ ÁÁ´Ù. ÀϹÝÀûÀ¸·Î µÎ¹ø° HDD¿¡ ¹é¾÷À» Çϱ⵵ ÇÏÁö¸¸, ³×Æ®¿öÅ©¸¦ ÅëÇؼ­µµ °¡´ÉÇϹǷΠpartimage ¹é¾÷¼­¹ö¸¦ ±¸ÃàÇؼ­ ¹é¾÷/º¹±¸¸¦ ÇÏ´Â °Íµµ ÁÁ°Ú´Ù. ÀÌ ÇÏ¿ìÅõ ¹®¼­¿¡¼­´Â ¼­¹ö »óȲÀ» °í·ÁÇÑ ¿¹Á¦³ª ½ºÅ©¸³Æ®¸¦ ´Ù·ç°íÀÚ ÇÑ´Ù.


2. Partimage »ç¿ë ½Ã³ª¸®¿À

¸î°¡Áö ¿¹¸¦ µé¾îºÃ´Âµ¥ ´õ ´Ù¾çÇÑ »óȲÀÌ ÀÖÀ» °Å¶ó »ý°¢µÈ´Ù.
  • »ç¿ëÀÚ °ú½Ç·Î ÀÎÇÑ µ¥ÀÌŸ ¼Õ½Ç º¹±¸
  • ÆÄƼ¼Ç Àå¾Ö·Î ÀÎÇÑ ÆÄƼ¼Ç º¹±¸
  • HDD Àå¾Ö·Î ÀÎÇÑ ½Ã½ºÅÛ HDD ±³Ã¼¿Í º¹±¸
  • H/W ¹× ±âŸ ÀçÇØ·Î ÀÎÇØ ´Ù¸¥ H/W¿¡ ½Ã½ºÅÛ º¹±¸

3. Partimage Áغñ

  • º¹±¸ CD¿ë iso ÆÄÀÏ ´Ù¿î·Îµå ÃֽŠ¹öÀüÀ» È®ÀÎÇÏ¿© ´Ù¿î·Îµå ¹ÞÀ¸¸é µÈ´Ù. http://sysresccd.org/Download
wget http://jaist.dl.sourceforge.net/sourceforge/systemrescuecd/systemrescuecd-x86-1.0.2.iso
wget http://nchc.dl.sourceforge.net/sourceforge/systemrescuecd/systemrescuecd-x86-1.0.2.iso
  • ·¹ÄÚµù
  • Ãß°¡ HDD ÀåÂø
  • CD »ðÀÔÈÄ ¼­¹ö ÀçºÎÆÃ


4. Partimage·Î ¹é¾÷

4.1. ¹é¾÷ HDD ÆÄƼ¼Å´× ¹× Æ÷¸Ë

fdisk /dev/sdb
mkfs.ext3 /dev/sdb1

4.2. MBR ¹é¾÷

MBRÀ» ¹é¾÷ÇÑ´Ù.
mkdir /mnt/sdb1
mount -t ext3 /dev/sdb1 /mnt/sdb1
mkdir /mnt/sdb1/080329
cd /mnt/sdb1/080329
dd if=/dev/sda of=/mnt/sdb1/080329/080329-sda.mbr count=1 bs=512

4.3. ÆÄƼ¼Ç Á¤º¸ ¹é¾÷

ÆÄƼ¼Ç Á¤º¸¸¦ ¹é¾÷ÇÑ´Ù.
cd /mnt/sdb1/080329/
sfdisk -d /dev/sda > 080329-sda.sf


4.4. ÆÄƼ¼Ç º° ¹é¾÷

* Partition to save/restore
 sda1 ¼±ÅÃ
* Image file to create/use
 /mnt/sdb1/080329/080329-sda1.partimg.gz
* Action to be done: 
 (*) Save partition into a new image file

* Compression Level 
 (*) Gzip (.gz; medium speed + small image file)
* Options
 [X] Check partition before saving
 [X] Enter Description 
* Image split mode
 (*) Into files whose size is:...... 2037 MiB
* If finished successfully: 
 (*) Wait

4.5. ¹é¾÷ÇÑ À̹ÌÁö È®ÀÎ

partimage imginfo /mnt/sdb1/080329/080329-sda.partimg.gz.000


5. Partimage·Î º¹±¸

5.1. MBR º¹±¸

ÇÊ¿äÇÏ´Ù¸é MBRÀ» º¹±¸ÇÑ´Ù.
mount -t ext3 /dev/sdb1 /mnt/sdb1
dd if=/mnt/sdb1/080329/080329-sda.mbr of=/dev/sda

5.2. ÆÄƼ¼Ç Á¤º¸ º¹±¸

ÆÄƼ¼ÇÀÌ ±úÁ³°Å³ª HDD°¡ ±³Ã¼µÇ¾úÀ» °æ¿ì¿¡´Â ÆÄƼ¼ÇÀ» º¹±¸/»ý¼ºÇÑ´Ù.
mount -t ext3 /dev/sdb1 /mnt/sdb1
sfdisk /dev/sda < /mnt/sdb1/080329/080329-sda.sf
¸¸¾à ÆÄƼ¼ÇÀ» º¹±¸Çß´Ù¸é ÀçºÎÆà Çϵµ·Ï ÇÑ´Ù.

5.3. ÆÄƼ¼Ç º° º¹±¸

* Partition to save/restore
 º¹±¸ÇÒ sda1 ¼±ÅÃ
* Image file to create/use
 /mnt/sdb1/080329/080329-sda1.partimg.gz.000
* Action to be done:
 (*) Restore partion from an image file
* Options
 º¹±¸ Å×½ºÆ®¸¦ ¿øÇÑ´Ù¸é ½Ã¹°·¹ÀÌ¼Ç ¸ðµå·Î ÇÑ´Ù.
 [  ] Simulation of the restoration (nothing is written)
 [  ] Erase free blocks with zero values
* If finished successfully:
 (*) Wait
 ( ) Halt 
 ( ) Reboot
 ( ) Quit


6. ÀÚµ¿È­

6.1. ¹é¾÷ ½ºÅ©¸³Æ® (pisave.sh)

¿©·¯°³ÀÇ µð½ºÅ©µé°ú ÆÄƼ¼ÇµéÀ» ÇѲ¨¹ø¿¡ ¹é¾÷ÇÏ´Â ½ºÅ©¸³Æ®ÀÌ´Ù. º¸Åë ¼­¹ö±¸ÃàÀÌ ¿Ï·áµÈ ÈÄ¿¡ Çѹø ÇØ ³õÀ¸¸é ÁÁ´Ù.

BackupDisks¿Í BackupParts, SaveDir1¸¸ ¼öÁ¤Çؼ­ »ç¿ëÇÏ¸é µÈ´Ù.
# by try365
## ¼öÁ¤ÇÒ ºÎºÐ ####################################
# MBR°ú ÆÄƼ¼Ç ´ýÇÁÇÒ µð½ºÅ©µé (ex: sda sdb...)
BackupDisks="sda"
# ¹é¾÷ÇÒ ÆÄƼ¼Çµé (ex: sda1 sda2 sda5 sda6 sda7 sda8 sda9 sda10 sda11 sdb1 sdb2 sdb5....)
BackupParts="sda1 sda2 sda5"
# ¹é¾÷ÇÑ À̹ÌÁö°¡ ÀúÀåµÉ µð·ºÅ丮 (ex: /mnt/sdc1) : ³â¿ùÀÏ·Î µð·ºÅ丮°¡ »ý¼ºµÇ°í ±× ¾È¿¡ ¹é¾÷µÊ
SaveDir1="/mnt/sdb1"

## ¼öÁ¤ÀÌ ºÒÇÊ¿äÇÑ ºÎºÐ #############################
DATE=`date +%y%m%d`
SaveDir2="${SaveDir1}/$DATE"
# -b : batch mode: the GUI won't wait for an user action
# -z1 : compress using gz
# -o : overwrite the existing image file without confirmation
# -d : don't ask any description for the iamge file
PM="partimage -b -z1 -o -d "

#####################################################
if [ ! -d $SaveDir1 ]; then
  echo "$SaveDir1 not found"
  exit
else
  mkdir -p $SaveDir2 
  chmod 700 $SaveDir2
fi

# MBR ¹é¾÷
for i in $BackupDisks; do
 dd if=/dev/${i} of=$SaveDir2/${DATE}-${i}.mbr count=1 bs=512
done

# ÆÄƼ¼Ç Á¤º¸ ´ýÇÁ
for i in $BackupDisks; do
 sfdisk -d /dev/${i} >  $SaveDir2/${DATE}-${i}.sf
done

# ÆÄƼ¼Ç ¹é¾÷
for i in $BackupParts ; do 
  echo "$PM save /dev/${i} ${SaveDir2}/$DATE-${i}.partimg.gz"
  $PM save /dev/${i} ${SaveDir2}/$DATE-${i}.partimg.gz
done

# ¹é¾÷µÈ À̹ÌÁö Á¤º¸ º¸±â
for i in $BackupParts ; do 
  echo "partimage imginfo ${SaveDir2}/$DATE-${i}.partimg.gz.000"
done

# vi: set ts=2 sts=2 sw=2

¹é¾÷ È®ÀÎ
[root@localhost root]# ls -l /mnt/sdb1/080329/
-rw-r--r--  1 root root      512  3¿ù 29 17:54 080329-sda.mbr
-rw-r--r--  1 root root      514  3¿ù 29 17:54 080329-sda.sf
-rw-------  1 root root 36631185  3¿ù 29 17:54 080329-sda1.partimg.gz.000

6.2. º¹±¸ ½ºÅ©¸³Æ® (pirestore.sh)

Àå¾Öº¹±¸½Ã ¿©·¯°³ÀÇ ÆÄƼ¼ÇÀ» ºü¸¥ ½Ã°£³»¿¡ º¹±¸Çϱâ À§ÇÑ ½ºÅ©¸³Æ®·Î¼­ À̹ÌÁö ¹é¾÷½Ã ³¯Â¥¸¦ ÂüÁ¶ÇÏ¿© ¹Ì¸® º¹±¸ ½ºÅ©¸³Æ®¸¦ ¼¼ÆÃÇØ µÎ¸é Àå¾Ö½Ã µµ¿òÀÌ µÉ °Å °°´Ù.

RestoreDisks, RestoreParts, Date, ImageDirÀ» ¼öÁ¤Çؼ­ »ç¿ëÇÏ¸é µÈ´Ù.

¸¸¾à sfdisk¸¦ »ç¿ëÇÏ¿© ÆÄƼ¼ÇÀ» º¹±¸Çß´Ù¸é ÀçºÎÆà Çϵµ·Ï ÇÑ´Ù.
# by try365 
## ¼öÁ¤ÇÒ ºÎºÐ ####################################
# MBR°ú ÆÄƼ¼ÇÀ» º¹±¸ÇÒ µð½ºÅ©µé (ex: sda sdb...)
RestoreDisks="sda"
# º¹±¸ÇÒ ÆÄƼ¼Çµé (ex: sda1 sda2 sda5 sda6 sda7 sda8 sda9 sda10 sda11 sdb1..)
RestoreParts="sda1"

# ¹é¾÷µÈ ³¯Â¥ (µð·ºÅ丮 À̸§°ú ÆÄÀϸíÀÇ ±¸ºÐÀÚ·Î ¾²ÀÓ)
Date="080329"
# ¹é¾÷µÈ À̹ÌÁö°¡ ÀúÀåµÇ¾î ÀÖ´Â µð·ºÅ丮
ImageDir="/mnt/sdb1/$Date"

# PartimageÀÇ º¹±¸ ¿É¼Ç (-S : simulation of restoration mode)
# º¹±¸¸¦ ½Ã¹Ä·¹ÀÌ¼Ç ÇÏ°íÀÚ ÇÑ´Ù¸é -S ¿É¼ÇÀ» Ãß°¡ÇÏ¸é µÈ´Ù.
PM="partimage -b"

# MBR º¹±¸ ¿©ºÎ [0|1]
RestoreMBR="0"

# ÆÄƼ¼Ç º¹±¸ ¿©ºÎ [0|1]
RestoreSFDISK="0"

#####################################################

if [ ! -d $ImageDir ]; then
  echo "$ImageDir not found"
  exit
fi

# MBR º¹±¸ (ex: dd if=/mnt/sdb1/080329/080329-sda.mbr of=/dev/sda)
if [ "x${RestoreMBR}" = "x1" ]; then
  for i in $RestoreDisks; do
    echo "dd if=$I{mageDir}/${Date}-${i}.mbr of=/dev/${i}"
    dd if=${ImageDir}/${Date}-${i}.mbr of=/dev/${i}
    sleep 1
  done
fi

# ÆÄƼ¼Ç Å×ÀÌºí º¹±¸ (ex: sfdisk /dev/sda < /mnt/sdb1/080329/080329-sda.sf)
if [ "x${RestoreSFDISK}" = "x1" ]; then
  for i in $RestoreDisks; do
    echo "sfdisk /dev/${i} < ${ImageDir}/${Date}-${i}.sf"
    sfdisk /dev/${i} < ${ImageDir}/${Date}-${i}.sf
    sleep 1
  done
  echo -n "If you finished an extended partitions recovery, "
  echo "you will have to reboot your computer."
  echo -n "reboot ? (y/n) : "
  read yesorno
  if [ "x$yesorno" = "xy" ]; then
    echo "Do the unmounting and rebooting directly."
    exit
  else
    echo "continue"
  fi
fi

# Partimage·Î ÆÄƼ¼Ç º¹±¸
for i in $RestoreParts ; do
  if [ -f ${ImageDir}/$Date-${i}.partimg.gz.000 ]; then
    #partimage -b -S restore /dev/sda1 /PATH/080329-sda1.partimg.gz.000
    echo "$PM restore /dev/${i} ${ImageDir}/$Date-${i}.partimg.gz.000"
    $PM restore /dev/${i} ${ImageDir}/$Date-${i}.partimg.gz.000
  else
    echo "error : ${ImageDir}/$Date-${i}.partimg.gz.000 not found"
  fi
done

# vi: set ts=2 sts=2 sw=2

7. ±âŸ ±â´É

7.1. ¹é¾÷ÇÑ À̹ÌÁö Á¤º¸ È®ÀÎ

partimage imginfo 200080330-sda5.partimg.gz.000

7.2. ³×Æ®¿öÅ© ¹é¾÷

  • partimaged


7.3. º¸¾ÈÀü¼Û

  • partimage-ssl


ID
Password
Join
Sin has many tools, but a lie is the handle which fits them all.


sponsored by andamiro
sponsored by cdnetworks
sponsored by HP

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2008-08-08 15:11:59
Processing time 0.0076 sec