คัดลอกดิสก์ไปยังเซิร์ฟเวอร์
ขั้นตอนสุดท้ายของการติดตั้งวินโดวส์คือการคัดลอกดิสก์ไปยังเซิร์ฟเวอร์
การเก็บ Disk Image บนเซิร์ฟเวอร์ จะเก็บเป็น Image File ธรรมดา ซึ่งสามารถคัดลอกกลับมายังดิสก์จริงได้
การคัดลอกดิสก์ไปยังเซิร์ฟเวอร์สามารถทำได้หลายวิธี ในที่นี้จะแนะนำ 2 วิธี คือ
- ใช้โปรแกรม nc เพื่อคัดลอกผ่านแลน
- นำฮาร์ดดิสก์ของเครื่องวินโดวส์ไปเสียบที่เซิร์ฟเวอร์
เนื้อหา
คำนวณขนาดของพาร์ทิชั่น (Optional)
ในกรณีที่แบ่งพาร์ทิชั่นไม่เต็มฮาร์ดดิสก์ ก็สามารถคัดลอกเฉพาะส่วนที่ใช้งานไปยังเซิร์ฟเวอร์ได้
สำหรับผู้ที่สร้างพาร์ทิชั่นเต็มเนื้อที่ฮาร์ดดิสก์ สามารถข้ามขั้นตอนนี้ไปได้
โดยเมื่อบูตลินุกซ์แล้ว (ทั้งกรณีใช้โปรแกรม nc และนำฮาร์ดดิสก์ไปเสียบที่เซิร์ฟเวอร์) ให้เรียกคำสั่ง
root@diskserv:~# fdisk -l Disk /dev/sda: 320.1 GB, 320072933376 bytes 255 heads, 63 sectors/track, 38913 cylinders, total 625142448 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x01234567 Device Boot Start End Blocks Id System /dev/sda1 * 63 390620474 195310206 7 HPFS/NTFS/exFAT
สังเกตพาร์ทิชั่น HPFS/NTFS/exFAT ซึ่งควรจะเป็นพาร์ทิชั่นแรก (/dev/sda1 ในกรณีใช้โปรแกรม nc หรือ /dev/sdX1 โดยที่ X เป็น a, b, ... ขึ้นอยู่กับลำดับการเสียบฮาร์ดดิสก) ให้นำค่าในคอลัมน์ End มาหารด้วย 2048 แล้วปัดเศษขึ้น ในที่นี้คือ
390620474 / 2048 = 190732.65 ปัดเศษขึ้นเป็น 190733 ตัวเลขนี้คือจำนวนบล็อกที่จะต้องคัดลอกไปยังเซิร์ฟเวอร์
ใช้โปรแกรม nc คัดลอกผ่านแลน
โปรแกรม nc (Net Cat) ใช้สำหรับส่งข้อมูลผ่านแลน โดยสามารถรับ/ส่งข้อมูลทาง pipe ได้
เตรียมการ
โปรแกรม nc เป็นโปรแกรมบนลินุกซ์ ดังนั้นจึงต้องบูตลินุกซ์ที่เครื่องลูก โดยจะบูตด้วยแผ่น Slackware64 13.37 มีขั้นตอนดังนี้
- นำ DVD Drive ไปเสียบที่เครื่องลูก แล้วบูตด้วยแผ่น Slackware64 13.37
- ที่หน้าจอ boot: ให้กดปุ่ม Enter
- ที่หน้าจอ Enter 1 to select a keyboard map: ให้กดปุ่ม Enter
- ที่หน้าจอ slackware login: ให้กดปุ่ม Enter
- หากสร้างพาร์ทิชั่นไม่เต็มฮาร์ดดสิก์ ให้คำนวณขนาดของพาร์ทิชั่นตามหัวข้อข้างต้น
Server
ที่เซิร์ฟเวอร์ ให้เรียกคำสั่งต่อไปนี้
cd /image nc -l -p 3333 | dd bs=1M of=disk1.img
Client
ที่เครื่องลูกให้เรียกคำสั่งดังต่อไปนี้
dd bs=1M if=/dev/sda count=xxx | nc -q 10 192.168.2.254 3333
โดยที่
- xxx คือขนาดของพาร์ทิชั่นที่คำนวณได้ตามขั้นตอนข้างต้น กรณีสร้างพาร์ทิชั่นเต็มฮาร์ดดิสก์ ให้เอาพารามิเตอร์ count=xxx ออก
- 192.168.2.254 คือ IP Address ของเครื่องเซิร์ฟเวอร์
นำฮาร์ดดิสก์ไปเสียบที่เซิร์ฟเวอร์
การนำฮาร์ดดิสก์เครื่องลูกไปเสียบที่เซิร์ฟเวอร์ จะทำให้คัดลอกได้เร็วกว่า แต่ก็ต้องปิดเซิร์ฟเวอร์เพื่อเสียบฮาร์ดดิสก์ โดยมีขั้นตอนดังนี้
- เสียบฮาร์ดดิสก์เครื่องลูกไปที่เซิร์ฟเวอร์
- บูตเซิร์ฟเวอร์
- ใช้คำสั่ง fdisk -l เพื่อตรวจดูว่าฮาร์ดดิสก์ที่เสียบเข้าไปมีชื่อ device อะไร โดยสังเกตจากพาร์ทิชั่นที่เป็น HPFS/NTFS/exFAT
- หากสร้างพาร์ทิชั่นไม่เต็มฮาร์ดดสิก์ ให้คำนวณขนาดของพาร์ทิชั่นตามหัวข้อข้างต้น
การคัดลอกดิสก์ สามารถทำได้โดยใช้คำสั่งดังนี้
dd bs=1M if=/dev/sdd of=/image/disk1.img count=xxx
โดยที่
- /dev/sdd คือชื่อ device ของฮาร์ดดิสก์ที่เสียบเข้าไป
- xxx คือขนาดของพาร์ทิชั่นที่คำนวณได้ตามขั้นตอนข้างต้น กรณีสร้างพาร์ทิชั่นเต็มฮาร์ดดิสก์ ให้เอาพารามิเตอร์ count=xxx ออก
การดูความคืบหน้า
การดูความคืบหน้าของการคัดลอกดิสก์ สามารถทำได้โดยดูขนาดของไฟล์ในไดเรกทอรี /image บนเครื่องเซิร์ฟเวอร์ โดยเปิดหน้าจอใหม่ (กดปุ่ม Alt-F2) ดังนี้
cd /image ls -l
หรือใช้คำสั่ง iostat -k 5 บนเครื่องลูก (กรณีใช้โปรแกรม nc) หรือบนเครื่องเซิร์ฟเวอร์ แล้วดูบรรทัดที่เป็น device ของฮาร์ดดิสก์จากเครื่องลูก ทั้งนี้คำสั่งนี้จะแสดงผลทุกๆ 5 วินาที ถ้าต้องการหยุด ให้กดปุ่ม Ctrl-C
การนำไฟล์ Image กลับมายังฮาร์ดดิสก์
เนื่องจากไฟล์ Image จะเหมือนกับฮาร์ดดิสก์ทุกประการ ดังนั้นการนำไฟล์ Image กลับมายังฮาร์ดดิสก์ก็เพียงใช้คำสั่งกลับกับขั้นตอนข้างต้น
กรณีทำผ่านแลนโดยใช้คำสั่ง nc ก็มีขั้นตอนดังนี้
- ทำตามขั้นตอน #เตรียมการ ในหัวข้อ ใช้โปรแกรม nc คัดลอกผ่านแลน
- ที่เครื่องลูก พิมพ์คำสั่ง
nc -l -p 3334 | dd bs=1M of=/dev/sda
- ที่เครื่องเซิร์ฟเวอร์ พิมพ์คำสั่ง
cd /image dd bs=1M if=disk1.img | nc -q 10 192.168.2.1 3334
โดยที่
- 192.168.2.1 คือ IP Address ของเครื่องลูก
กรณีนำฮาร์ดดิสก์ไปเสียบที่เครื่องเซิร์ฟเวอร์ หลังจากเสียบฮาร์ดดิสก์ และตรวจสอบชื่อ device เรียบร้อยแล้ว ให้พิมพ์คำสั่ง
dd bs=1M if=/image/disk1.img of=/dev/sdd
โดยที่
- /dev/sdd คือชื่อ device ของฮาร์ดดิสก์ที่เสียบเข้าไป
คำเตือน ให้ตรวจสอบชื่อ device ให้ถูกต้อง เพราะถ้าระบุ device ผิด ก็อาจทำให้ข้อมูลสำคัญถูกเขียนทับได้ และอาจทำให้ระบบเสียได้