Windows Azure ตอนที่ 5 การติดตั้ง Linux และ Windows Server บน Windows Azure Virtual Machine

ระบบเครื่องประมวลผลเสมือนหรือ Virtual Machines (VM) เป็นหนึ่งในบริการโครงสร้างพื้นฐาน (IaaS) สำหรับให้เราปรับแต่งและนำระบบที่พัฒนาสำหรับใช้งานผ่านระบบอินเทอร์เน็ตและอินทราเน็ตขึ้นสู่บริการประมวลผลแบบกลุ่มเมฆ โดยบริการโครงสร้างพื้นฐานที่จัดเตรียมไว้ให้บนระบบประมวลผลแบบกลุ่มเมฆโดยระบบเครื่องประมวลผลเสมือนที่รองรับทั้ง Windows และ Linux

โดยผู้พัฒนาระบบที่ใช้ในบริการเครื่องประมวลผลเสมือนนี้มาประยุกต์ใช้งานเพื่อสร้างระบบที่ออกแบบได้เองตั้งแต่การเลือกใช้งานระบบปฏิบัติการ (Operating System) การตั้งค่าการสื่อสารระหว่างตัวเครื่องประมวลผลเสมือนติดตั้งซอฟแวร์สื่อสารระหว่างระบบ (Middleware) ซอฟต์แวร์ช่วยประมวลผลภาษาโปรแกรมมิ่ง (Software Runtime) ซอฟต์แวร์เพื่อรองรับโครงร่างการพัฒนาโปรแกรมคอมพิวเตอร์ (Software Framework) และระบบสำรองข้อมูลทั้งหมด ทำให้เราสามารถบริหารจัดการได้เสมือนเครื่องแม่ข่ายจริงๆ

การติดตั้ง Ubuntu Linux Server บน Windows Azure Virtual Machine

1. เลือกที่ NEW ที่หน้า Windows Azure Portal

2013-10-05_223623

2. เลือกที่ Compute ตามด้วย Virtaul Machine และเลือกที่ From Gallery

2013-10-05_224608_thumb

3. เลือก Ubuntu Linux Server รุ่นที่ต้องการจากหน้า Virtual machine image selection กดปุ่ม Next

2013-10-05_224718

4. กรอกข้อมูลตั้งค่า Virtual Machince ส่วนของคุณสมบัติเครื่องเสมือนได้แก่

4.1. ตัวเลือก Version Release Date ซึ่งเป็นรุ่นที่มีการรวบรวมการสร้างอิมเมจของตัวระบบปฏิบัติการนั้นๆ ซึ่งถ้าใช้วันที่ล่าสุด จะทำให้เราไม่ต้องอัพเดทแพตเยอะเกินความจำเป็น

4.2. ตั้งชื่อเครื่องเสมือนที่ Virtual Machine Name

4.3. เลือกขนาดของตัวเครื่อง (Size)

image_thumb[3]

4.4. เลือกชื่อเข้าระบบ (New user name)

4.5. เอาเครื่องหมายถูกที่ Upload compatible SSH key for authentication ออกไป

4.6. เลือก Provide a password และตั้งรหัสผ่านเข้าระบบจากตรงนี้

ตั้งค่าทั้งหมดเสร็จแล้วกดปุ่ม Next

2013-10-05_224947

5. กรอกข้อมูลตั้งค่า Virtual Machince ในส่วนของการใช้งานเครือข่ายได้แก่

5.1. Cloud Service เป็นตัวเลือกเพื่อผูกเข้ากับ Cloud Service ใหม่หรือผนวกตัว Virtual Machine ที่กำลังจะสร้างนี้ไปใช้งานร่วมกับ Virtual Machine เก่าโดยการผนวกเพื่อใช้งานร่วมกับ Virtual Machine เก่าจะสามารถใช้ความสามารถของ Load Balancer ได้ด้วย

5.2. Cloud Service DNS name ชื่อของ Cloud Service ที่จะใช้อ้างอิงเพื่อใช้งานกับ domain ชื่อ cloudapp.net

5.3. Subscription ชื่อของบัญชีผู้ใช้งานเพื่อเรียกเก็บค่าใช้ระบบ

5.4. Region/Affinity Group/Virtual Network โซนที่ต้องการนำ Virtual Machine นี้ไปใช้งาน

5.5. Storage Account ชื่อบัญชีผู้ใช้งานสำหรับจัดการเก็บ Virtual Machine ซึ่งไฟล์ Virtual Machine จะเป็นนามสกุล VHD ซึ่งเป็นตัวเดียวกับที่ใช้บน Windows Server

5.6. Availability Set เป็นการตั้งกลุ่มเพื่อทำการขยายระบบและรองรับการล่มของ Virtual Machine ซึ่งจะทำงานสอดคล้องกับ Cloud Service ในข้อที่ 5.1

2013-10-05_225355

6. ตั้งค่าการเข้าถึงผ่าน Port ของ Network ซึ่งเป็นการตั้งค่าให้สอดคล้องกับระบบรักษาความปลอดภัยของ Windows Azure ผ่านระบบ Firewall ด้วยการตั้งค่า Endpoint ซึ่งค่าเริ่มต้นของ Linux นั้นจะเป็น Port หมายเลข 22 ที่เป็น Secure Shell นั้นเอง

2013-10-05_225450_thumb

จากตัวอย่าง ถ้าเราต้องการใช้ Virtual Machine นี้ในการให้บริการเว็บก็เลือก HTTP เพื่อใช้ Port หมายเลข 80 เพื่อให้รองรับกับ Apache Web Server และ Port หมายเลข 21 เพื่อให้รองรับกับการส่งไฟล์ผ่าน FTP เป็นต้น

เมื่อทุกอย่างตั้งค่าครอบแล้วให้ตอบ OK หรือเครื่องหมายถูก ที่มุมขวาล่าง

2013-10-05_225435

7. จากตัวอย่างดังกล่าว เมื่อตอบตกลงให้สร้าง Virtual Machine แล้ว ให้รอจนกว่าจะ Provisioning เสร็จสิ้นแล้วขึ้นสถานะ Running

2013-10-05_225536

2013-10-05_225857

8. เมื่ออยู่ในสถานะ Running แล้วให้เข้าไปที่ Dashboard ของ Virtual Machine เครื่องที่เราสร้างขึ้นมา จะมีส่วนต่างๆ ในหน้า Dashboard นี้หลายส่วนให้เทำความเข้าใจ

8.1. web endpoint status ตั้งสถานะการตรวจจับการทำงานของ endpoint ที่ตั้งขึ้นมาเพื่อส่งสถานะไปแจ้งเมื่อมีการล่มเกิดขึ้นหรือโยกการเข้าถึงไปยังระบบอื่นๆ

8.2. autoscale status ตั้งค่าขยายระบบอัตโนมัติ โดยปรกติถ้าใช้งานเพียง Virtual Machine เดียวเราจะไม่สามารถตั้งค่าอะไรเพิ่มเติมได้ เพราะต้องคั้งค่า Availability Set เสียก่อน

8.3. usage overview จะแสดงจำนวน core ของ CPU ที่ใช้งานอยู่และสามารถขยายระบบออกไปได้ ถ้าตั้ง Availability Set ไว้จะเห็นจำนวน core ของ CPU ใน Available เพิ่มขึ้นมา

8.4. disk ส่วนแสดงรายการของ disk หรือไฟล์ VHD ที่เกี่ยวกับและทำงานร่วมกับ Virtual Machine เครื่องนี้

8.5. quick glance ใช้สำหรับแสดงสถานะของ Virtual Machine ได้แก่
status แสดงว่ากำลังทำงานอยู่หรือไม่
dns name ชื่อ DNS สำหรับใช้ในการติดต่อ ภายใต้ domain name ชื่อ cloudapp.net
host name ชื่อ host name ของระบบปฏิบัติการที่ติดตั้งอยู่
public virtual IP หมายเลข IP ภายนอกที่ใช้สำหรับติดต่อเข้ามา ใช้งานแทน dns name ได้
internal IP หมายเลข IP สำหรับควบคมผ่าน cloud agent ของ Windows Azure Portal
SSH details รายละเอียดสำหรับเชื่อมต่อผ่าน SSH
size คุณสมบัติของ Virtual Machine เครื่องนี้

8.6. matrix เป็นกราฟที่ใช้แสดงโหลดของ Virtual Machine เครื่องนี้ว่ามีการเคลื่อนไหวอย่างไรบ้าง

8.7. dashboard menu เมนูหลักในการจัดการ Virtual Machine ในส่วนต่างๆ

2013-10-05_230513_thumb[6]

9. ส่วนของ Endpoint เป็นส่วนที่ใช้สำหรับจัดการ Port เพื่อให้เราสามารถเชื่อมต่อกับ Virtual Machine ได้จากเครือข่ายภายนอก Windows Azure โดย Port ต่างๆ นั้นจะใช้ผ่านโปรแกรมหรือการเรียกใช้ตามที่ระบุไว้เท่านั้น ถ้าไม่มีการเปิดใน Endpoint นี้ก่อน จะทำให้การเข้าถึงในโปรแกรมหรือระบบที่ได้ติดตั้งลงใน Virtual Machine ที่ทำงานใน Port ดังกล่าว ใช้งานจากภายนอก Windows Azure ไม่ได้

2013-10-05_230538

10. การตั้งขนาดของ Virtual Machine สามารถกลับมาปรับได้จากหน้า Configure นี้ รวมไปถึงการตั้งค่า Availability Set เพื่อสร้างกลุ่มของการขยายและรองรับการล่มของระบบขึ้นมา ในส่วนของ monitoring นั้น เป็นส่วนที่ใช้สำหรับตั้งค่า web endpoint status ซึ่งเป็นที่เดียวกันในหน้า Dashboard

2013-10-05_230733

11. การเชื่อมต่อสามารถเข้าได้ผ่าน SSH Client อย่าง PuTTY โดยใช้ค่าจาก SSD Details มาใช้งานเพื่อเชื่อมต่อ ซึ่งเมื่อทำการเชื่อมต่อให้กดรับ rsa2 key fingerprint ก่อนเพื่อให้การเชื่อมต่อสำเร็จ

2013-10-05_230958

2013-10-05_231026

12. เมื่อเชื่อมต่อได้ ผ่านข้อมูลในข้อที่ 4. ก็จะเข้ามาในหน้า Shell ของระบบ เป็นอันเสร้จสิ้นการติดตั้ง Ubuntu Linux Server

2013-10-05_231141

 

การติดตั้ง Windows Server บน Windows Azure Virtual Machine

1. เลือกที่ NEW ที่หน้า Windows Azure Portal

2013-10-05_223623

2. เลือกที่ Compute ตามด้วย Virtaul Machine และเลือกที่ From Gallery

2013-10-05_224608

3. เลือก Windows Server รุ่นที่ต้องการจากหน้า Virtual machine image selection กดปุ่ม Next

2013-10-05_231605

4. กรอกข้อมูลตั้งค่า Virtual Machince ส่วนของคุณสมบัติเครื่องเสมือนได้แก่

4.1. ตัวเลือก Version Release Date ซึ่งเป็นรุ่นที่มีการรวบรวมการสร้างอิมเมจของตัวระบบปฏิบัติการนั้นๆ ซึ่งถ้าใช้วันที่ล่าสุด จะทำให้เราไม่ต้องอัพเดทแพตเยอะเกินความจำเป็น

4.2. ตั้งชื่อเครื่องเสมือนที่ Virtual Machine Name

4.3. เลือกขนาดของตัวเครื่อง (Size)

4.4. เลือกชื่อเข้าระบบ (New user name)

4.5. กรอกข้อมูลรหัสผ่าน (New password) และยืนยันรหัสผ่านอีกครั้ง

ตั้งค่าทั้งหมดเสร็จแล้วกดปุ่ม Next

2013-10-05_232502

5. กรอกข้อมูลตั้งค่า Virtual Machince ในส่วนของการใช้งานเครือข่ายได้แก่

5.1. Cloud Service เป็นตัวเลือกเพื่อผูกเข้ากับ Cloud Service ใหม่หรือผนวกตัว Virtual Machine ที่กำลังจะสร้างนี้ไปใช้งานร่วมกับ Virtual Machine เก่าโดยการผนวกเพื่อใช้งานร่วมกับ Virtual Machine เก่าจะสามารถใช้ความสามารถของ Load Balancer ได้ด้วย

5.2. Cloud Service DNS name ชื่อของ Cloud Service ที่จะใช้อ้างอิงเพื่อใช้งานกับ domain ชื่อ cloudapp.net

5.3. Subscription ชื่อของบัญชีผู้ใช้งานเพื่อเรียกเก็บค่าใช้ระบบ

5.4. Region/Affinity Group/Virtual Network โซนที่ต้องการนำ Virtual Machine นี้ไปใช้งาน

5.5. Storage Account ชื่อบัญชีผู้ใช้งานสำหรับจัดการเก็บ Virtual Machine ซึ่งไฟล์ Virtual Machine จะเป็นนามสกุล VHD ซึ่งเป็นตัวเดียวกับที่ใช้บน Windows Server

5.6. Availability Set เป็นการตั้งกลุ่มเพื่อทำการขยายระบบและรองรับการล่มของ Virtual Machine ซึ่งจะทำงานสอดคล้องกับ Cloud Service ในข้อที่ 5.1

2013-10-05_234002

6. ตั้งค่าการเข้าถึงผ่าน Port ของ Network ซึ่งเป็นการตั้งค่าให้สอดคล้องกับระบบรักษาความปลอดภัยของ Windows Azure ผ่านระบบ Firewall ด้วยการตั้งค่า Endpoint ซึ่งค่าเริ่มต้นของ Windows นั้นจะเป็น Port หมายเลข 3389 ที่เป็น Remote Desktop และ 5986 ที่เป็น PowerShell เพื่อ Remote เข้ามาได้

2013-10-05_234027

จากตัวอย่าง ถ้าเราต้องการใช้ Virtual Machine นี้ในการให้บริการเว็บก็เลือก HTTP เพื่อใช้ Port หมายเลข 80 เพื่อให้รองรับกับ IIS และ Port หมายเลข 21 เพื่อให้รองรับกับการส่งไฟล์ผ่าน FTP เป็นต้น

เมื่อทุกอย่างตั้งค่าครอบแล้วให้ตอบ OK หรือเครื่องหมายถูก ที่มุมขวาล่าง

2013-10-05_234041

7. จากตัวอย่างดังกล่าว เมื่อตอบตกลงให้สร้าง Virtual Machine แล้ว ให้รอจนกว่าจะ Provisioning เสร็จสิ้นแล้วขึ้นสถานะ Running

2013-10-05_234157

2013-10-05_234546

8. เมื่ออยู่ในสถานะ Running แล้วให้เข้าไปที่ Dashboard ของ Virtual Machine เครื่องที่เราสร้างขึ้นมา จะมีส่วนต่างๆ ในหน้า Dashboard นี้หลายส่วนให้เทำความเข้าใจ

8.1. web endpoint status ตั้งสถานะการตรวจจับการทำงานของ endpoint ที่ตั้งขึ้นมาเพื่อส่งสถานะไปแจ้งเมื่อมีการล่มเกิดขึ้นหรือโยกการเข้าถึงไปยังระบบอื่นๆ

8.2. autoscale status ตั้งค่าขยายระบบอัตโนมัติ โดยปรกติถ้าใช้งานเพียง Virtual Machine เดียวเราจะไม่สามารถตั้งค่าอะไรเพิ่มเติมได้ เพราะต้องคั้งค่า Availability Set เสียก่อน

8.3. usage overview จะแสดงจำนวน core ของ CPU ที่ใช้งานอยู่และสามารถขยายระบบออกไปได้ ถ้าตั้ง Availability Set ไว้จะเห็นจำนวน core ของ CPU ใน Available เพิ่มขึ้นมา

8.4. disk ส่วนแสดงรายการของ disk หรือไฟล์ VHD ที่เกี่ยวกับและทำงานร่วมกับ Virtual Machine เครื่องนี้

8.5. quick glance ใช้สำหรับแสดงสถานะของ Virtual Machine ได้แก่
status แสดงว่ากำลังทำงานอยู่หรือไม่
dns name ชื่อ DNS สำหรับใช้ในการติดต่อ ภายใต้ domain name ชื่อ cloudapp.net
host name ชื่อ host name ของระบบปฏิบัติการที่ติดตั้งอยู่
public virtual IP หมายเลข IP ภายนอกที่ใช้สำหรับติดต่อเข้ามา ใช้งานแทน dns name ได้
internal IP หมายเลข IP สำหรับควบคมผ่าน cloud agent ของ Windows Azure Portal
size คุณสมบัติของ Virtual Machine เครื่องนี้

8.6. matrix เป็นกราฟที่ใช้แสดงโหลดของ Virtual Machine เครื่องนี้ว่ามีการเคลื่อนไหวอย่างไรบ้าง

8.7. dashboard menu เมนูหลักในการจัดการ Virtual Machine ในส่วนต่างๆ

โดยในส่วนของเมนู Endpoint และ Configure นั้นไม่แตกต่างจากของ Linux แต่อย่างใดนัก

2013-10-05_235810

9. ในส่วนของการเชื่อมต่อเข้าไปยัง Virtual Machine เพื่อควบคุมนั้น สามารถดึง RDP profile จากในหน้า Windows Azure Portal ได้จากเมนู Connect ที่ด้านล่าง

2013-10-05_235906

10. เราจะได้ไฟล์ .rdp มา เมื่อ Save และ Open ไฟล์ดังกล่าว ตัว Windows ของเราจะทำการเชื่อมต่อกับ Virtual Machine ที่สร้างขึ้นมา

2013-10-05_235927

11. ตอบรับการเชื่อมต่อในคำแนะนำนี้

2013-10-05_235950

12. ใช้การเชื่อมต่อแบบกำหนดเอง ให้กรอกข้อมูลที่ข้อที่ 4.

2013-10-06_000047

13. ตอบรับ Certificate ของการเชื่อมต่อนี้

2013-10-06_000055

14. รอการเชื่อมต่อ และรอการตั้งค่าต่างๆ ครั้งแรกที่ได้เชื่อมต่อเข้าไป

2013-10-06_000105

2013-10-06_000121

15. เมื่อเชื่อมต่อเสร็จแล้ว เราก็สามารถควบคุม Virtual Machine ที่เป็น Windows Server ได้แล้ว

2013-10-06_000304

 

การเปิดใช้ SWAP Partition ของระบบปฏิบัติการ Linux บน Windows Azure

โดยปรกติแล้ว ถ้าเราลง Linux โดยทั่วไปจะมีการตั้ง SWAP Partition ไว้เป็นปรกติอยู่แล้ว แต่ถ้าอยู่บน Cloud นั้นตัวอิมแมจของระบบปฏิบัติการ Linux จะถูกปรับแต่งบางส่วนเพื่อไม่ให้สร้าง SWAP Partition ด้วยเหตุผลด้านพื้นที่ที่ต้องจองไว้และความไม่จำเป็นโดยทั่วไปของ Cloud อยู่แล้ว (ปรกติใช้ Cloud สำหรับ Compute ข้อมูลที่อาจจะไม่ได้ใช้หน่วยความจำเยอะ) เพราะไม่ใช่ทุกคนที่ลงระบบปฏิบัติการ ต้องได้ใช้ SWAP เสมอไป แต่ถ้าอยากลงก็มีทางให้อยู่ โดยการตั้งค่าต่อไปนี้ อ้างอิงอยู่บน Ubuntu Linux Server เพื่อให้สอดคล้องกับการติดตั้งระบบปฎิบัติการ Ubuntu Linux Server ด้านบน

1. จัดการ sudo ให้ตัวเองเป็น root ของระบบ

2. เข้าไปแก้ไข Windows Azure Linux Agent Configuration ซึ่งอยู่ที่ /etc/waagent.conf

3. เมื่อเปิดไฟล์ขึ้นมาจะตัวตั้งค่าอยู่พอสมควร ให้หาส่วนที่ขึ้นต้นด้วย ResourceDisk ซึ่งจะมีอยู่ทั้งหมด 5 ค่า

ResourceDisk.Format=y
ResourceDisk.Filesystem=ext4
ResourceDisk.MountPoint=/mnt/resource
ResourceDisk.EnableSwap=n
ResourceDisk.SwapSizeMB=0

4. เราจะปรับให้ใช้ SWAP ขนาด 2GB โดยปรับค่า 2 ตัวดังนี้

#เปิดการใช้ SWAP
ResourceDisk.EnableSwap=y

# 2GB หน่วยเป็น MB
ResourceDisk.SwapSizeMB=2048

5. เมื่อปรับแต่งตัวตั้งค่าทั้ง 2 ตัวแล้ว บันทึกไฟล์แล้วออกจากตัว editor

6. สั่ง Deprovision ด้วยคำสั่งด้านล่าง

azureuser@ns1:~$ waagent –force –deprovision
azureuser@ns1:~$ export HISTSIZE=0

7. เมื่อสั่งรันคำสั่งจบก็ exit ออกมา แล้วไปที่ Windows Azure Portal เพื่อสั่ง Restart ตัว Virtual Machines รอสัก 3-4 นาทีโดยประมาณ ระบบจะบูทกลับมาใหม่ ให้ remote กลับเข้ามา แล้วพิมพ์คำสั่ง swapon –s เพื่อตรวจสอบว่ามีไฟล์ SWAP ของระบบอยู่ที่ /mnt/resource/swapfile หรือไม่

2013-03-02_192724

ข้อเสนอการออกรุ่นใหญ่ของ Ubuntu อาจทำให้ต้องใช้แต่ LTS สำหรับงานด้าน Server

จากข่าว “Ubuntu พิจารณาปรับแผนออกรุ่นใหญ่เฉพาะ LTS และออกรุ่นย่อยให้ถี่กว่าเดิม

โดยส่วนตัวก็ถือว่าดีในมุนของผู้ใช้งานทั่วไปมากกว่างานระบบ Server ที่ผมทำงานอยู่นะ

คือส่วนตัวใช้ Long Term Support (LTS) สำหรับงานด้าน Server เป็นหลัก และนานๆ ครั้งจะใช้ Interim Release (IR) กับงาน Server เพราะ LTS นั้นช่วยให้เราสามารถรัน App ที่พัฒนาได้ครบรอบ Software Support ได้ 18 เดือนแน่ๆ ซึ่งอย่างน้อยๆ ก็ไม่ทำให้ระบบต้องแก้ไขเรื่องเข้ากันไม่ได้กับระบบ OS โดยรวม แต่ถ้าต่อไปเป็น Rolling Release แทน Interim Release ก็อาจจะใช้แต่ LTS ล้วนๆ แทน ซึ่งก็ไม่แน่นะ ผมอาจจะเปลี่ยนใจมาใช้ Debian แทนก็ได้ เพราะ Rolling Release สำหรับงาน Server ดูจะเสี่ยงเกินไปหน่อย ขนาด 18 – 24 เดือนเปลี่ยน System ทีคนทำระบบหลายๆ คนยังร้องเลย ><”

เมื่อ Linux OS Virtual Machinces บน Windows Azure ไม่มี SWAP Partition แก้ไขยังไง?

โดยปรกติแล้ว ถ้าเราลง Linux โดยทั่วไปจะมีการตั้ง SWAP Partition ไว้เป็นปรกติอยู่แล้ว อย่างเช่นตัวอย่างที่ผมเอามาโพสก็คือ Ubuntu Server 12.04.2 LTS มีการติดตั้ง SWAP ไว้อยู่

การตรวจสอบทำได้ด้วยการใช้คำสั่ง shell ด้านล่าง ซึ่งจะได้รายการ SWAP ออกมาว่ามีอยู่หรือไม่ 

ford@ns1:~$ swapon –s

2013-03-02_190758

แต่ถ้าเป็นบน Cloud นั้น ตัว Image ของ Linux OS จะถูกปรับแต่งบางส่วนเพื่อไม่ให้สร้าง SWAP พวกนี้ ด้วยเหตุผลด้านพื้นที่ที่ต้องจองไว้และความไม่จำเป็นโดยทั่วไปของ Cloud อยู่แล้ว (ปรกติใช้ Cloud สำหรับ Compute ข้อมูลที่อาจจะไม่ได้ใช้หน่วยความจำเยอะ) เพราะไม่ใช่ทุกคนที่ลง OS ต้องได้ใช้ SWAP เสมอไป แต่ถ้าอยากลงก็มีทางให้อยู่

แน่นอนว่า Cloud ที่ผมใช้อยู่นั้น อยู่บน Windows Azure สำหรับใครที่ใช้ Amazon EC2 ก็คงต้องหาวิธี ซึ่งก็มีวิธีเช่นกัน (How to add swap to Amazon EC2 instance Ununtu 12.04 LTS?)

ตอนนี้ผมลองทำบน Virtual Machines ผมปัจจุบัน 1 ตัว ซึ่งเป็น Ubuntu Server 12.04.2 LTS โดยใช้คำสั่งข้างต้น ก็จะไม่เจอ SWAP แต่อย่างใด

2013-03-02_190129

อยากสร้างเรามีวิธี โดยจากคู่มือ Creating and Uploading a Virtual Hard Disk that Contains the Linux Operating System นั้นได้อ้างอิงตัว Windows Azure Linux Agent User Guide อีกทีครับ

สรุปง่ายๆ คือ เข้าไปแก้ไข Windows Azure Linux Agent Configuration ซึ่งอยู่ที่ /etc/waagent.conf (sudo ตัวเองเป็น root ก่อนแก้ไข)

เมื่อเปิดไฟล์ขึ้นมาจะตัวตั้งค่าอยู่พอสมควร ให้หาส่วนที่ขึ้นต้นด้วย ResourceDisk ซึ่งจะมีอยู่ทั้งหมด 5 ตัวครับ

ResourceDisk.Format=y
ResourceDisk.Filesystem=ext4
ResourceDisk.MountPoint=/mnt/resource
ResourceDisk.EnableSwap=n
ResourceDisk.SwapSizeMB=0

ผมจะปรับให้ใช้ SWAP ขนาด 2GB โดยปรับค่า 2 ตัวดังนี้

#เปิดการใช้ SWAP
ResourceDisk.EnableSwap=y

# 2GB หน่วยเป็น MB
ResourceDisk.SwapSizeMB=2048

เมื่อปรับแต่งตัวตั้งค่าทั้ง 2 ตัวแล้ว ก็ Save ตัวไฟล์แล้วออกจากตัว editor เสร็จแล้วสั่ง Deprovision ด้วยคำสั่งด้านล่าง

azureuser@fordantitrust:~$ waagent –force –deprovision
azureuser
@fordantitrust:~$ export HISTSIZE=0

เมื่อสั่งรันคำสั่งจบก็ exit ออกมา

แล้วไปที่ Windows Azure Portal สั่ง Restart ตัว Virtual Machines รอสัก 3-4 นาทีโดยประมาณ ระบบจะบูทกลับมาใหม่ แล้วพิมพ์คำสั่ง swapon –s อีกรอบ จะเจอไฟล์ SWAP ของระบบอยู่ที่ /mnt/resource/swapfile

2013-03-02_192724

เพียงเท่านี้ก็จบกระบวนการ การสร้าง SWAP บน Cloud แล้วครับ

สำหรับคนที่ยังไม่รู้ว่า Fedora Linux Core 4 คืออะไร ?

อันนี้เป็นรายงานที่ทำไว้เมื่อเทอมที่แล้ว ตอนนี้เลยมีความคิดว่าเราน่าจะเอามาเผยแพร่เพื่อจะได้แบ่งปันความรู้กันและกันครับ เป็นไฟล์ PDF ครับ จัดทำขึ้นโดยใช้ LaTex ในการจัดทำครับ โหลดไปอ่านกันดูนะครับ

Download

MySQL 5.0 (build 15) Full Release !!!

อาจจะเก่าไปนิดแต่ว่าไม่น่าจะนานมาก เมื่อวันที่ 24 ตุลาคม 2548 ที่ผ่านมา MySQL AB ได้เปิดตัว MySQL 5.0 ซึ่งเป็นการเปลี่ยนแปลงครั้งใหญ่ในรอบหลายๆ ปีของ MySQL AB เลยทีเดียว เพราะว่าตัว MySQL 5.0 นั้นมีคุณสมบัติในระดับองค์กร (Enterprise) ซึ่งต้องการความน่าเชื่อถือสูงมาก ตามมาตรฐาน SQL 2003 เลยทีเดียว โดยคุณสมบัติที่เพิ่มเติม มาก็ได้แก่ Stored Procedures, SQL Functions, Triggers, Views, Cursors, XA Distributed Transactions, ตัวเลือกระบบบีบอัดข้อมูล (federated and archive storage options), SQL Mode, ฯลฯ อ่านเพิ่มเติมที่นี่ครับ http://dev.mysql.com/doc/refman/5.0/en/mysql-5-0-nutshell.html

ซึ่งทำงานได้บน Linux, Windows, Solaris, Mac OS X, FreeBSD, HP-UX, IBM AIX 5L, ฯลฯ

MySQL 5.0 นี่อยู่บนข้อตกลง Open Source (GPL) หรือ Commercial MySQL Licenses ซึ่งทำงานตาม concept ของเค้าว่า high-performance, reliability และ ease-of-use ครับ

เพราะว่าตอนนี้ MySQL ไม่เหมือนเมื่อก่อนแล้วครับ ในด้านการจัดการระบบต่างๆ นั้นแทบจะไม่ต้อง set ผ่าน text files แบบเดิมๆ ครับ ทำงานผ่าน wizard ได้เลย ส่วนถ้าต้องการละเอียดมากขึ้นก็ไปโหลด MySQL Administrator จากเว็บ MySQL มาเพื่มเพื่อทำงาน และปรับแต่งต่างๆ ได้ทั้งหมดครับ รวมไปถึงเครื่องมือในการทดสอบ Query ข้อมูล MySQL Query Browser เพื่อทดสอบ SQL ที่เราจะทำงานได้จากซอต์แวร์นี้ครับ ทำงานได้ง่ายมากๆ เลยครับ และส่วนใครจะทำการย้ายฐานข้อมูล MySQL ก็ใช้เครื่องมือ MySQL Migration Toolkit ได้อีกเช่นกันครับ อันนี้ยังไม่ได้ลองทดสอบแต่อย่างใด ถ้าใครใช้แล้วเป็นยังไง ก็ Comment ไว้ครับ

จากที่ได้ลองใช้ดูนั้น การทำงานถือว่าเสถียรดีมาก แต่ว่าผมยังไม่ได้ลองให้มันทำงาน load สุดๆ เลยยังไม่รู้ว่าจะเสถียรกว่าตัวเก่าหรือเปล่า แต่ด้วยระบบที่ใหม่กว่า ไม่น่าจะมีอะไรผิดพลาดแต่อย่างใด

ในการใช้งานตอนนี้ของผมนั้นทำงานบน Storage Engine แบบ InnoDB เพราะว่าผมต้องใช้งาน Transaction ของ DBMS ด้วย ซึ่งจากตัว MySQL 4.1.13 ที่ได้ใช้มาก่อนหน้านี้ก็ทำงานได้ไม่มีที่ติ


อันนี้แนะนำเพิ่มเติมครับ เป็นเครื่องมือในการออกแบบ Database ที่มีประสิทธิภาพมากๆ ตัวหนึ่งเลยทีเดียวครับ มันชื่อว่า fabFORCE DBDesigner 4 (http://www.fabforce.net/) ครับ เจ้า DBDesigner 4 มันเป็นระบบออกแบบฐานข้อมูลแบบเสมื่อนจริง (Visual Database Design System) ที่ดีมากๆ เลย ซึ่งเหมาะสำหรับการออกแบบและการสร้างฐานข้อมูลในรูปแบบ ER-Diagram ซึ่งสามารถทำการจัดการได้โดยตรงจาก Model ได้เลย แถมเชื่อโยงความสัมพันธ์ได้ง่ายมากๆ เลยครับ รวมไปถึง Export ให้ทำงานร่วมกับฐานข้อมูล MySQL, Oracle, MSSQL, SQLite และ ODBC

ซึ่งซอฟค์แวร์ตัวนี้อยู่บนข้อตกลงของ Open Source Project (GPL) สนับสนุนการทำงานบน Microsoft Windows 2k/XP และ Linux KDE/Gnome

โดยที่ความต้องการของระบบในการทำงานนั้นน้อยมาก ไม่ต้องใช้ระบบที่สูงมากนัก แถมทำงานได้เร็วอีกต่างหาก ไม่แฮงง่ายด้วยครับ


แต่ทั้งนี้ทั้งนั้น ถึงแม้จะมี Toosl มาช่วยให้เราบริหารระบบ DBMS มากมายแค่ไหน ถ้าเราไม่เข้าใจว่าเราจะเอามันมาใช้งานยังไงให้เกิดประโยชน์สูงสุดแล้ว ผมว่าก็น่าเสียดายความสามารถเหล่านั้น แถมความสามารถเหล่านี้ก็ไม่ต้องซื้อหาจากที่ไหน เพราะว่าทั้งหลายทั้งบวงที่ได้กล่าวมานั้นอยู่บนข้อกำหนด GPL แทบทั้งสิ้นครับ