Diskless Server
เอกสารต่อไปนี้เป็นวิธีการทำระบบ Diskless Server สำหรับบูตวินโดวส์ โดยใช้ลินุกซ์เป็นเซิร์ฟเวอร์ และใช้โปรแกรมที่เป็น Free Open Source Software ทั้งหมด
ระบบ Diskless หรือ No Hard Disk ในที่นี้หมายถึงการใช้งานคอมพิวเตอร์โดยที่ไม่มีฮาร์ดดิสก์ แต่ใช้วิธีจำลองฮาร์ดดิสก์โดยการเชื่อมต่อไปยังเซิร์ฟเวอร์แทน
ภาพรวม
ระบบ Diskless ในที่นี้ ได้ใช้ Free Software Open Source ทั้งหมด (อย่างไรก็ดีซอฟต์แวร์บางตัวอาจไม่ฟรีในบางสถานการณ์) มีจุดมุ่งหมายให้ผู้ใช้งานสามารถติดตั้งระบบได้เอง
ขั้นตอนทั้งหมดเป็นการแนะนำเท่านั้น ในการติดตั้งจริงบางขั้นตอนอาจแตกต่างไปจากเอกสารฉบับนี้ ทั้งนี้ขึ้นอยู่กับการใช้งาน
การติดตั้งระบบ Diskless ตามขั้นตอนในนี้ หากผู้ติดตั้งยังไม่คุ้นเคยกับระบบลินุกซ์ (Linux) หรือยูนิกซ์ (Unix) ควรจะอ่านหัวข้อ การใช้งานเบื้องต้น ก่อน เพื่อทำความคุ้นเคยกับระบบลินุกซ์
การทดสอบได้ทำบน Windows XP SP3 32bit อย่างไรก็ดี ระบบนี้สามารถใช้งานกับ Windows 7 ได้
คุณสมบัติ
คุณสมบัติ และความสามารถของระบบ มีดังนี้
- รองรับฮาร์ดแวร์ของเครื่องลูกหลากหลาย
- เนื่องจากใช้โปรแกรม และไดรเวอร์บนวินโดวส์ตามปกติทั้งหมด จึงไม่ต้องกังวลเรื่องความเข้ากันได้
- รองรับการทำหลายสเปคโดยใช้ไฟล์ Image เพียงไฟล์เดียว
- เพื่อความสะดวกในการใช้งานกับเครื่องลูกหลายสเปค
- รองรับจำนวน Image, จำนวนเครื่องได้มาก
- จำนวน Image + จำนวนเครื่อง ไม่เกิน 255
- สามารถนำไฟล์ Image กลับมาใช้งานบนฮาร์ดดิสก์ได้ทันที
- เพราะไฟล์ Image มีข้อมูลเหมือนกับฮาร์ดดิสก์ทุกประการ
- ควบคุมระบบผ่านทาง Web Interface
- ไม่ต้องติดตั้งโปรแกรมควบคุมระบบ
- ไม่ต้องกังวลเรื่องไวรัส
- เนื่องจากระบบจะล้างสิ่งที่เกิดขึ้นใหม่ทุกครั้งที่บูต
- สามารถทดลองอัปเดต, ลงโปรแกรมเพิ่ม ก่อนใช้จริงได้
- เพราะการอัปเดตจะเป็นการเอาประวัติการใช้งานจากเครื่องลูก มา Merge Image หลัก หากอัปเดตแล้วมีปัญหา ก็สามารถทำใหม่ได้ (ก่อน Merge)
- สามารถกำหนดให้ไม่ล้างข้อมูลในระหว่างการบูตได้
- เหมาะสำหรับใช้ตอนติดตั้งโปรแกรมที่ต้องบูตเครื่องใหม่
- แยกเนื้อที่ขั่วคราวของเครื่องลูกแต่ละเครื่อง
- กรณีเครื่องลูกบางเครื่องใช้เนื้อที่ขั่วคราวบนเซิร์ฟเวอร์มากผิดปกติ ก็จะไม่กระทบกับเครื่องอื่นๆ
- สามารถสร้างไดรฟ์ D: ส่วนตัวของแต่ละเครื่องได้
- เพื่อให้ลูกค้าสามารถเก็บข้อมูลชั่วคราวได้ ซึ่งสามารถ format ได้ตามเวลาที่กำหนด
- รองรับการทำ Image ฉุกเฉิน
- สามารถกำหนดให้เครื่องลูกบูต Image อื่นตามต้องการได้ (เช่น Memtest) หรือวินโดวส์แบบติดตั้งโปรแกรมน้อย
- รองรับโปรแกรมช่วยเหลือเพิ่มเติม
- เนื่องจากเป็น Opensource จึงสามารถพัฒนาโปรแกรมช่วยเหลือเพิ่มเติมได้ เช่น สคริปต์สำหรับลบบางโปรแกรมในบางเครื่อง (เหมาะสำหรับกรณีซื้อบางโปรแกรมมาไม่ครบตามจำนวนเครื่อง)
หลักการทำงาน
- หน้าหลัก: หลักการทำงาน
หลักการทำงานของระบบโดยคร่าวๆ คือจำลองไฟล์ Image จากเซิร์ฟเวอร์มาเป็นฮาร์ดดิสก์ แต่เมื่อเครื่องลูกจะเขียนข้อมูล ระบบจะไปเขียนยังไฟล์ชั่วคราวแทน โดยเครื่องลูกแต่ละเครื่องจะมีไฟล์ชั่วคราวแยกจากกัน และระบบจะล้างไฟล์ชั่วคราวนี้ทุกครั้งที่บูตเครื่องลูก
Hardware
- หน้าหลัก: Hardware
อุปกรณ์ที่ใช้ในเอกสารมีดังนี้
Server
- Motherboard: Asus P8H67-V
- CPU: Intel Core i3-2100
- Memory: 4 x 4 GiB = 16 GiB
- Disk
- Boot: 500 GB HDD SATA 3 Gbps
- Image: 4 x 500 GB HDD SATA 3 Gbps (Software RAID-0) = 2 TB
- CoW: OCZ Vertex4 128 GB SSD SATA 6 Gbps
- LAN
- Downlink: ทำ trunk โดยใช้แลน 2 พอร์ต
- PCIe x1: 2 x Gigabit Ethernet
- Uplink: Onboard Gigabit Ethernet
- Downlink: ทำ trunk โดยใช้แลน 2 พอร์ต
Network
- 3 x 24 Port Gigabit Ethernet Switch
Client
- Motherboard: Asus P8H61-M LE
- CPU: Intel Pentium G620
- Memory: 4 GiB
Software
- หน้าหลัก: Software
โปรแกรมต่างๆ ที่ใช้ มีดังนี้
- Server
- OS: Slackware Linux 13.37 64 bit
- iPXE
- iSCSI Enterprise Target
- CoW (Loopback Device, Disk Manager)
- Apache Web Server (included with Slackware)
- MySQL (included with Slackware)
- PhpMyAdmin (optional but strongly recommend)
- CakePHP
- Disk Serve Manager
- Client
- OS: Windows XP SP3
- Microsoft iSCSI Initiator
- sanbootconf
สิ่งที่จะทำต่อ
สิ่งที่จะทำต่อในระบบ Disk Serve มีดังนี้
- เขียนเอกสาร และโปรแกรมสำหรับนำไฟล์ Image สำรองกลับมาใช้ (กำลังดำเนินการอยู่)
- เขียนโปรแกรมสำหรับการใช้งานหลายเซิร์ฟเวอร์ (ระงับชั่วคราว - กำลังเขียนเอกสารเพื่อใช้งานหลายเซิร์ฟเวอร์แบบ manual แทน)
- เขียนโปรแกรมสำหรับการปรับปรุงไฟล์ Image ในขณะที่มีการใช้งาน (โปรแกรมรองรับ variation แล้ว - รอเขียนเอกสารเพิ่มเติม)
- เขียนเอกสารในส่วนของ Windows 7 ทั้ง 32 bit และ 64 bit
ติดต่อผู้เขียน
หากมีข้อสงสัย หรือต้องการข้อมูลเพิ่มเติม สามารถติดต่อผู้เขียนได้ที่อีเมล์ joke@nakhon.net
หรือสามารถติดต่อผู้เขียนได้โดยโพสต์ข้อความในเว็บบอร์ดดังต่อไปนี้ (กรุณาอย่าส่งเป็น PM เพราะมักจะมองไม่เห็น) โดยระบุว่าเป็นเรื่องเกี่ยวกับ Diskless Nakhon (อย่าระบุเป็นชื่อคน)
- กลุ่มเครือข่ายร้านอินเทอร์เน็ตไทย (internetcafe.in.th)
- Linuxthai.org
- กลุ่มร้านอินเทอร์เน็ตคาเฟ่ไทย (ict.in.th)
การติดตั้ง Server
ขั้นตอนการติดตั้งโปรแกรมบนเซิร์ฟเวอร์
แผนการ
การใช้ฮาร์ดดิสก์, การ์ดแลน และแรม จะขึ้นอยู่กับแต่ละการติดตั้ง สำหรับในตัวอย่างนี้ได้วางแผนการใช้งานตามนี้ ซึ่งสามารถปรับเปลี่ยนได้ตามความเหมาะสม
ฮาร์ดดิสก์
ฮาร์ดดิสก์ | ขนาดฮาร์ดดิสก์ | partition | ขนาด partition | ชื่อ partition | mount point |
---|---|---|---|---|---|
SATA | 500 GB | /dev/sda1 | 10 GB | root_partition | / |
/dev/sda2 | 10 GB | var_partition | /var | ||
/dev/sda3 | 480 GB | space_partition | /space | ||
SSD | 128 GB | /dev/sdb1 | 128 GB | cow_partition | /cow |
SATA RAID-0 | 2.0 TB | /dev/md0 | 2.0 TB | image_partition | /image |
500 GB | /dev/sdc1 | 500 GB | N/A | N/A | |
500 GB | /dev/sdd1 | 500 GB | N/A | N/A | |
500 GB | /dev/sde1 | 500 GB | N/A | N/A | |
500 GB | /dev/sdf1 | 500 GB | N/A | N/A |
การ์ดแลน และ Network
การ์ดแลนของเซิร์ฟเวอร์
การ์ดแลน | การทำงาน | IP Address | หมายเหตุ |
---|---|---|---|
Onboard Gigabit Ethernet | Uplink to router | 192.168.1.2/24 | IP ของ router คือ 192.168.1.1/24 |
PCIe x1 Gigabit Ethernet | Downlink to client | 192.168.2.254/24 | IP ของ client คือ 192.168.2.1/24, 192.168.2.2/24, ... |
PCIe x1 Gigabit Ethernet |
ชื่อเครื่อง
เครื่อง | IP Address | Name |
---|---|---|
Server | 192.168.2.254 | diskserv.localnet |
PC #01 | 192.168.2.1 | pc01.localnet |
PC #02 | 192.168.2.2 | pc02.localnet |
PC #03 | 192.168.2.3 | pc03.localnet |
... | ||
PC #50 | 192.168.2.50 | pc50.localnet |
การกำหนดค่าเครื่องลูก
IP Address | 192.168.2.1 ... 192.168.2.50 |
---|---|
Netmask | 255.255.255.0 |
Default Gateway | 192.168.2.254 |
DNS | 192.168.2.254 |
ไดเรกทอรี และไฟล์
ในการติดตั้งจะจัดไดเรกทอรี และไฟล์ที่ใช้งาน ดังนี้
เตรียมเครื่อง
ในการติดตั้ง ให้เตรียมอุปกรณ์ในเครื่องเซิร์ฟเวอร์ดังนี้
- ใส่ฮาร์ดดิสก์เฉพาะ Boot drive (SATA 500 GB) ไว้ที่พอร์ต SATA-1 (พอร์ตแรก)
- ใส่ DVD ROM Drive (SATA) ชั่วคราว
- ยังไม่ต้องใส่การ์ดแลน (ใช้เฉพาะ Onboard ในขั้นตอนการติดตั้ง)
- ใส่อุปกรณ์อื่น (เช่น RAM, ฯลฯ) ให้ครบ
ติดตั้ง Slackware64 13.37
- หน้าหลัก: ติดตั้ง Slackware64 13.37
การติดตั้ง Slackware64 13.37 โดยใช้แผ่น DVD
ปรับแต่ง Slackware Linux
- หน้าหลัก: ปรับแต่ง Slackware Linux
หลังจากติดตั้ง Slackware แล้ว จะต้องปรับแต่งเพื่อให้ตรงกับการใช้งาน
ปรับแต่ง Network
- หน้าหลัก: ปรับแต่ง Network
- Network Bonding
- กำหนดค่า Network
ติดตั้ง RAID (Optional)
- หน้าหลัก: ติดตั้ง RAID
การติดตั้ง RAID เพื่อเพิ่มความเร็วให้กับฮาร์ดดิสก์ ในที่นี้จะใช้ Software RAID ซึ่งลินุกซ์สนับสนุนหลากหลายรูปแบบ
ในที่นี้จะกล่าวถึงกรณีที่ไม่ใช้ RAID ด้วย
ติดตั้ง iSCSI Enterprise Target
- หน้าหลัก: ติดตั้ง iSCSI Enterprise Target
การติดตั้งโปรแกรม iSCSI Enterprise Target (IET)
ติดตั้งโปรแกรมสำหรับจัดการระบบผ่านเว็บ
โปรแกรมจัดการระบบผ่านเว็บ มีขั้นตอนการติดตั้งดังนี้
Apache
- หน้าหลัก: ติดตั้ง Apache
Slackware ได้ติดตั้ง Apache Web Server มาให้แล้ว จึงเพียงแต่ config ค่าที่ต้องใช้งานเท่านั้น
MySQL
- หน้าหลัก: ติดตั้ง MySQL
Slackware ได้ติดตั้ง MySQL Database Server มาให้แล้ว จึงเพียงแต่ config ค่าที่ต้องใช้งานเท่านั้น
PhpMyAdmin
- หน้าหลัก: ติดตั้ง PhpMyAdmin
phpMyAdmin เป็นโปรแกรมจัดการฐานข้อมูล MySQL ผ่านทางเว็บ ทำให้ใช้งาน MySQL ได้ง่ายกว่การใช้ command line
CakePHP
- หน้าหลัก: ติดตั้ง CakePHP
CakePHP เป็น MVC (Model - View - Controller) Framework สำหรับเขียนโปรแกรมบนเว็บ ซึ่งช่วยให้การพัฒนาโปรแกรมเป็นไปได้อย่างรวดเร็ว และได้โปรแกรมที่มีระเบียบเรียบร้อย สามารถพัฒนาต่อเนื่องได้เป็นอย่างดี
Disk Serve Manager
- หน้าหลัก: ติดตั้ง Disk Serve Manager
โปรแกรม Disk Serve Manager ใช้ควบคุมการทำงานของระบบ Diskless
การติดตั้ง Client
การติดตั้ง Windows XP สำหรับระบบ Diskless มีขั้นตอนเพิ่มขึ้นเล็กน้อยจากการติดตั้งตามปกติ
ติดตั้ง Windows XP
- หน้าหลัก: ติดตั้ง Windows XP
ติดตั้ง Windows XP ตามปกติ, ติดตั้ง Driver ให้ครบถ้วน
ติดตั้ง iSCSI
- หน้าหลัก: ติดตั้ง iSCSI
ติดตั้งโปรแกรม Microsoft iSCSI Initiator และ sanbootconf
ปรับแต่ง Windows XP
- หน้าหลัก: ปรับแต่ง Windows XP
หลังจากติดตั้งวินโดวส์, ไดรเวอร์ และโปรแกรมต่างๆ เรียบร้อยแล้ว จำเป็นต้องปรับแต่งวินโดวส์ เพื่อให้เหมาะสมกับการใช้งานในระบบ Diskless
คัดลอกดิสก์ไปยังเซิร์ฟเวอร์
- หน้าหลัก: คัดลอกดิสก์ไปยังเซิร์ฟเวอร์
ขั้นตอนสุดท้ายของการติดตั้งวินโดวส์คือการคัดลอกดิสก์ไปยังเซิร์ฟเวอร์