virtualization

Build openvz kernel บน 2.6.32

มีความจำเป็นต้อง build debian kernel ไว้ใช้เอง เพราะใช้ OpenVZ โชคดีที่ sid ใช้ 2.6.32 ที่ OpenVZ ออกมาด้วยพอดี เนื่องจาก openvz ยังไม่ได้เป็น feature มาตรฐาน เลยต้องมี patch ออกมาเป็นระยะ

ความจริงใน 2.6.32-11 (package linux-image-2.6.32-4) มี openvz แล้วแต่ว่ามีบั๊กติดมาด้วย กรณีที่ใช้ linux-image-2.6.32-4-openvz-amd64 (Bug #574598) ทาง debian ไม่แก้ เพราะเป็นบั๊กของ openvz พอ openvz แก้บั๊กนี้แล้ว ก็ใจร้อนไม่อยากรอ debian เลยต้อง build เอง ดังนี้

$ apt-get source  linux-image-2.6.32-4-openvz-amd64

สร้าง source

$ make -f debian/rules source-all

หลังจากนั้นจะแพตช์อะไรก็ไปทำที่ debian/build/source_amd64_openvz แล้วก็:

$ DEBIAN_KERNEL_JOBS=8 CONCURRENCY_LEVEL=9 \
  fakeroot make -f debian/rules.gen binary-arch_amd64_openvz

เพื่อ build amd64_openvz

Virtualization

การทำ virtualization แบบต่าง ๆ

webvz: ลองทำ container ใช้เอง

บันทึกการทำ container ใช้เอง ด้วย debootstrap

บันทึกติดตั้ง WebVZ บน lenny

WebVZ เป็นโปรแกรมจัดการ OpenVZ แบบ web based ตอนนี้ยังทำอะไรไม่ได้มาก แต่ติดตั้งไว้ก็ดี เผื่อทำงานอะไรเล็ก ๆ น้อย ๆ

ทดลองติดตั้ง Xen บน Lenny

Xen เป็นซอฟต์แวร์ที่ใช้ทำ virtualization ในทางทฤษฎีสามารถรัน guest OS ใด ๆ ก็ได้ โดยมีข้อแม้คือ ซีพียูต้องรองรับการทำ virtualization ด้วย แต่ถ้าซีพียูไม่รองรับ ต้องใช้กับ OS ที่ดัดแปลงให้ใช้กับ Xen เท่านั้น

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

ข้อเสียคือ เนื่องจากแยกเคอร์เนลและฮาร์ดแวร์กันอย่างเด็ดขาด จึงทำให้ต้องการฮาร์ดแวร์มากกว่าปกติ และหากหน่วยความจำที่แบ่งให้แต่ละ guest OS ไม่พอ Xen ก็จะสลับหน่วยความจำลงดิสก์ ทำให้ระบบทำงานช้ามาก (ซึ่งจะมีผลกับทุก ๆ โพรเซสที่ยังค้างอยู่ในหน่วยความจำ คือช้าทั้งระบบ)

ทดลองติดตั้ง OpenVZ บน lenny

OpenVZ เป็นซอฟต์แวร์ที่ใช้ทำ virtualization ที่ใช้กับลินุกซ์เท่านั้น มีข้อแตกต่างจาก xen ตรงที่ใช้เพียงเคอร์เนลเดียว

ข้อดีคือ เร็วและพร้อมใช้

ข้อเสียคือ ไม่มีการ swap หน่วยความจำ ถ้าหน่วยความจำเต็ม โพรเซสที่มาทีหลังจะตายหมด

(แต่ก็ยังมีข้อดีในข้อเสีย คือ openvz จะบริหารการสลับหน่วยความจำระหว่าง guest OS อย่างมีประสิทธิภาพ และโพรเซสที่รันอยู่ก่อนที่หน่วยความจำจะเต็ม จะยังคงได้ความเร็วที่เกือบคงที่)

Syndicate content

Creative Commons License ลิขสิทธิ์ของบทความเป็นของเจ้าของบทความแต่ละชิ้น
ผลงานนี้ ใช้สัญญาอนุญาตของครีเอทีฟคอมมอนส์แบบ แสดงที่มา-อนุญาตแบบเดียวกัน 3.0 ที่ยังไม่ได้ปรับแก้