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
คัดลอกดิสก์ไปยังเซิร์ฟเวอร์
- หน้าหลัก: คัดลอกดิสก์ไปยังเซิร์ฟเวอร์
 
ขั้นตอนสุดท้ายของการติดตั้งวินโดวส์คือการคัดลอกดิสก์ไปยังเซิร์ฟเวอร์