Thursday, December 18, 2014

ขั้นตอนการย้าย /home เพื่อเพิ่มขนาด disk เดิม #ubuntu

มีขั้นตอนทั้งหมด 6 ขั้นตอน คือ
  1. เตรียม paratition ใหม่
  2. backup ไฟล์ fstab และ แก้ไขไฟล์ fstab ให้มองเห็น paratition ใหม่ให้เป็น /media/home
  3. ใช้คำสั่ง rsync เพื่อ copy ข้อมูลทั้งหมดของ /home (เดิม) ไปยัง /media/home (ใหม่)
  4. แก้ไข fstab อีกครั้งเพื่อย้าย mount point จาก /media/home ไปเป็น /home เพื่อแทนที่ของเดิม
  5. จากนั้นเปลี่ยนชื่อ /home เดิมเป็น /old_home  แล้ว reboot เครื่อง
  6. ทดสอบการทำงานว่าเป็นปกติหรือไม่?  ถ้าเป็นปกติ ไฟล์ทุกอย่างยังอยู่ครบ ก็ทำการลบ /old_home ออกจากระบบได้ 

เตรียม paratition ใหม่ 

ใช้ natilus format ก็ได้ ให้เลือกเป็น linux filesystem ext3 หรือ ext4   ถ้าถนัด command line ก็ใช้ คำสั่ง
sudo fdisk /dev/sda3

หลังจากเตรียม paratition เสร็จแล้ว ก็อย่าลืมจด UUID ของ paratition นั้น ๆ  ไว้ด้วย โดยคำสั่ง
sudo blkid

หรือถ้าไม่มี ก็ให้ใช้คำสั่ง
sudo vol_id -u 
ตัวอย่าง
sudo vol_id -u /dev/sda3

backup fstab 

ใช้คำสั่ง
sudo cp /etc/fstab /etc/fstab.$(date +%Y-%m-%d)

 ถ้าต้องการตรวจสอบว่าไฟล์ที่ backup เหมือนกับไฟล์ต้นฉบับ หรือไม่ ใช้คำสั่ง
cmp /etc/fstab /etc/fstab.$(date +%Y-%m-%d)

แก้ไข ไฟล์ fstab โดยใช้คำสั่ง 

sudo pico /etc/fstab

แล้วเพิ่มบรรทัดดังนี้
# (identifier)  (location, eg sda5)   (format, eg ext3 or ext4)      (some settings) 
UUID=????????   /media/home    ext3          defaults       0       2 
 
แทนที่ ????? ด้วย UUID ที่ได้จดไว้แล้ว  กรณีที่ format เป็น ext4 อย่าลืมเปลี่ยน ext3 ให้เป็น ext4 ด้วย 

เมื่อแก้ไขเสร็จก็ทำการ save & close แล้วจึงทำการสร้าง directory ตามคำสั่ง 

sudo mkdir /media/home
 

จากนั้น restart mount  ด้วยคำสั่ง

sudo mount -a 

ทำการโอนย้ายข้อมูจาก /home มาสู่ /media/home ด้วยคำสั่ง 

  
sudo rsync -aXS --exclude='/*/.gvfs' /home/. /media/home/.
 
หลังจาก run คำสั่งแล้วอาจจะรอนานหน่อย เนื่องจากต้องใช้เวลาในการ copy ข้อมูล  และบางครั้งอาจจะมี error เกิดขึ้นเกี่ยวกับการ copy ไฟล์ cache ต่าง ๆ ไม่ต้องตกใจไป
 เมื่อทำการ copy ข้อมูลเสร็จแล้ว สามารถจะตรวจสอบ ได้ว่าไฟล์ต่าง ๆ ได้ถูก copy ไปครบแล้วหรือไม่ ด้วยคำสั่ง 
sudo diff -r /media/ubuntu/linux-root/home /media/ubuntu/linux-home
 

 แก้ไขไฟล์ fstab อีกครั้งด้วยคำสั่ง 

sudo pico /etc/fstab 

แก้ไขบรรทัดที่ได้เพิ่มไปในขั้นตอนก่อนหน้านี้ (แก้ไขในส่วนของ location
# (identifier)  (location, eg sda5)   (format, eg ext3 or ext4)      (some settings) 
UUID=????????   /home    ext3          defaults       0       2

ทำการ mv /home เดิม เป็น /old_home ด้วยคำสั่ง 

 
cd / && sudo mv /home /old_home && sudo mkdir /home
 
 แล้วทำการ restart mount  อีกครั้ง
sudo  mount -a 

ทำลองใช้งานต่าง ๆ พร้อมทั้ง ทดสอบ restart เครื่องด้วย  เมื่อทำทดสอบแล้วไม่มีปัญหาอะไร ก็ทำการ ลบ /old_home ทิ้งซะ ด้วยคำสั่ง
cd /
sudo rm -r /old_home
 

No comments: