Posted In Storage - By Tum. On Saturday, October 11th, 2008 With 1 Comment
การเพิ่ม hard disk เข้าไปในระบบปฏิบัติการ ลินุกซ์ นั้นไม่ยากเย็นแสนเข็ญเหมือนบางคนคิด แต่เป็นอะไรที่ง่ายและไม่ยุ่งยากซับซ้อนมากมายนัก(แต่ถ้าเทียบกับ microsoft windowns ก็ยากกว่านิดหน่อย) สิ่งที่เราจะต้องรู้ืและเข้าใจก็มีพวกการแบ่ง partition การสร้าง file system และการ mount โดยคำสั่งที่จะใช้ในการเพิ่ม hard disk ใหม่เข้าสู่ระบบมีดังต่อไปนี้
fdisk เป็นคำสั่งที่เอาไว้ใช้จัดการเรื่อง partition ของ Hard drive
mkfs.ext3 คำสั่งในการสร้าง file system ext3
e2lable คำสั่งสำหรับไว้ทำ label ของ partition
mount คำสั่งสำหรับการนำ partition ที่สร้างเสร็จแล้วมาใช้งาน
หลังจากที่ได้ทราบคำสั่งที่จะนำไปใช้เบื้องต้นแล้วเราลองมาดูวิธีการเลยดีกว่าว่าทำอย่างไรบ้าง
หลังจากเพิ่ม hard disk แล้วรันคำสั่ง fdisk -l เพื่อดูว่ามี hard disk ที่เราเพิ่มเข้ามาแล้วหรือยัง ตัวอย่าง ด้านล่าง มีการแอด Hard disk ใหม่ที่มีชื่อว่า hdb เนื่องจากยังไม่มี partition table เลย(เป็นวิธีการดูอย่างง่ายๆ 1 วิธีจากหลายๆวิธี)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[root@ezylinux ~]# fdisk -l
Disk /dev/hda: 64 heads, 63 sectors, 621 cylinders
Units = cylinders of 4032 * 512 bytes
Device Boot Start End Blocks Id System
/dev/hda1 * 1 184 370912+ 83 Linux
/dev/hda2 185 368 370944 83 Linux
/dev/hda3 369 552 370944 83 Linux
/dev/hda4 553 621 139104 82 Linux swap
Disk /dev/hdb: 64 heads, 63 sectors, 621 cylinders
Units = cylinders of 4032 * 512 bytes
Device Boot Start End Blocks Id System
รันคำสั่ง
1
2
3
[root@ezylinux ~]# fdisk /dev/hdb
จากนั้นจะเข้าหน้าจอในการจัดการ hard disk ให้กด n เพื่อ create partition ต่อมากด p และใส่เลข 1 จากนั้นโปรแกรมจะให้เลือกว่าจะเริ่มต้น partition ที่ cylinder ไหน โดยทั่วไปให้กด enter ต่อมาจะถามว่าให้จบที่ cylinder ไหน แต่ว่าเราไม่ต้องตกใจไปว่าเราจะต้องนับ cylinder เลยหรือ เพราะว่าโปรแกรมนี้สามารถที่จะให้เราใส่ค่าเป็นหน่วยที่เราเข้าใจได้ อย่างเช่น MB เป็นต้น ในตัวอย่างนี้จะใส่ค่า +128MB (ต้องใส่เครื่องหมาย + ด้วยทุกครั้ง) จากนั้นลองกด p ดูเพื่อดูว่า partition ที่เราสร้างขึ้นมามีหรือยัง จะได้ผลลัพธ์ดังข้างล่าง
จากนั้นให้กด w เพื่อทำการ save เมื่อออกมาหน้าจอ terminal แล้วลองพิมพ์คำสั่ง
จากตัวอย่างจะเห็นว่ามี partition /dev/hdb1 ที่เราสร้างขึ้นโผล่มาแล้ว :)
รันคำสั่ง
1
2
3
4
1
2
3
4
5
6
7
8
1
2
3
Device Boot Start End Blocks Id System
/dev/hdb1 1 196 395104 83 Linux
[root@ezylinux ~]# fdisk -l /dev/hdb
Disk /dev/hdb: 64 heads, 63 sectors, 621 cylinders
Units = cylinders of 4032 * 512 bytes
Device Boot Start End Blocks Id System
/dev/hdb1 * 1 196 395104+ 83 Linux
[root@ezylinux ~]# mkfs.ext3 /dev/hdb1
เพื่อสร้าง file system แบบ ext3
ขั้นตอนนี้จะทำหรือไม่ทำก็ได้เพราะว่าไม่ค่อยมีความสำคัญมากนัก
ทำการสร้าง Label ของ partition นี้ โดยใช้คำสั่ง
ทำการสร้าง directory ขึ้นมาชื่อหนึ่งด้วยคำสั่ง
ทำการ mount hdb1 ที่เราได้สร้างไว้ด้วยคำสั่ง
แต่ถ้าต้องการให้ auto mount ทุกครั้งที่ restart ก็ให้ใช้คำสั่ง
จากนั้นลองใช้คำสั่ง
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
[root@ezylinux ~]# e2label /dev/hdb1 /test1
[root@ezylinux ~]# mkdir /test1
[root@ezylinux ~]# mount -t ext3 /dev/hdb1 /test1
[root@ezylinux ~]# df -h
[root@ezylinux ~]# echo "LABEL=/test1 /test1 ext3 defaults 1 2" >>/etc/fstab
เพื่อตรวจสอบว่ามี partition ที่เราได้ทำการ mount อยู่หรือไม่
เป็นไงบ้างครับไม่ยากอย่างที่คิดใช่ไหมครับ :)
วิธีที่ 2
- ต่อ hdd ใหม่เข้าระบบ (อย่าลืมเช็ค spec เครื่อง server ว่ารับ hdd ได้เท่าไหร่ก่อนซื้อนะครับ เดี๋ยวซื้อมา มองไม่เห็นจะเสียเวลา) จากนั้นเปิดเครือง boot ปกติ
- login root เข้า console
- ใช้คำสั่ง dmesg | grep sdx <– ไล่ไปเรื่อยๆ sda,sdb,sdc ถ้าใส่ hdd ทั้งหมด 2 ก็จะมีแค่ sda,sdb ครับ sda คือ hdd ลูกแรก
- เพื่อความมั่นใจ ลองดูโครงสร้างของ hdd
fdisk -l /dev/sda
fdisk -l /dev/sdb
hdd ลูกใหม่ ถ้ายังไม่แบ่ง partition ก้จะไม่แสดงนะครับ มีแค่รายละเอียด
ความต้องการ = ต้องการ ขยาย /var/log เนื่องจาก hdd เก่าไม่พอ
ทำการ fdisk ลูกใหม่ สมมุติว่า ต่อเป็นตำแน่ง /dev/sdb แล้วกันนะครับ
#fdisk /dev/sdb
กด p ดู โครงสร้าง
กด n เพื่อ add new partition
กด p เพื่อเลือก primary
กด 1 เพื่อ เลือกเป็น partition ที่ 1
กด enter เลือก start default
กด enter สิ้นสุด เราใช้ขนาด hdd ทั้งลูกเลยนะครับ
กด t เปลี่ยน ชนิด partition เป็น ext3
กด เลือก partiotion ที่ 1
กด 83 เพื่อระบุ ชนิด partition ถ้าไม่รู้ให้กด L ดูได้นะครับ
จากนั้น กด v
กด w
ทำการ format partition ใหม่
mkfs.ext3 /dev/sdb1
(อาจ)ต้องทำการ reboot 1 ครั้ง ถึงจะใช้งานได้
เราจะทำการ ย้าย /var/log มาลูกใหม่นะครับ ต้องเองของเดิมมาด้วย ไม่งั้น error บาน
เข้า single mode โดยสั่ง init 1
mount -t ext3 /dev/sdb1 /mnt
cp -pvrf /var/log/* /mnt
umount /mnt
ทำการ mount แบบถาวร ใน /etc/fstab เปิดโดย pico ,nano ,vi
/dev/sdb1 /var/log ext3 defaults 0 1
สั่ง mount
mount -a
init 2 หรือ init 3 เพื่อกลับเข้า normal mode
ลองใช้งานได้เลยครับ บางขั้นตอนผมนั่งเทียนเอานะครับ ช่วงนี้ทำบ่อย ถ้าลืมบางขั้นตอน ขออภัย จขกท ลองศึกษาเพิ่มด้วยครับ
http://surin.reru.ac.th/?cat=4