Moving to Linode & Rackspace Cloud 1

Posted by AnnoMundi on July 14, 2009

จากที่ไม่ได้อัพเดทบล็อกมาเกือบปี แต่ความจริงก็ยังแวบๆมาอัพเดท Wordpress และ Plugin อยู่เรื่อยๆครับ แล้ววันนี้ก็ได้ฤกษ์อัพเดทบล็อกซะที เนื่องจากผมได้เริ่มทำการย้ายเว็ปต่างๆของผมไปยัง Linode และ Rackspace Cloud Server

Linode.Com

Rackspace Cloud

โดยผมจะย้ายเว็ปหลักๆไปยัง Linode และเว็ปที่กำลังพัฒนาจะย้ายไปยัง Rackspace Cloud Server ไว้เมื่อลองใช้งานทั้ง Linode และ Rackspace Cloud ไปสักระยะค่อยมาตัดสินใจกันใหม่ เพราะบอกตรงๆครับ ว่าเลือกค่อนข้างยาก ในแง่การ scale ระบบ ทั้ง Linode และ Rackspace Cloud ก็พอๆกันต่างกันที่ Linode เป็น Prepaid แต่ Rackspace Cloud Server เป็น Post paid จ่ายตามที่ใช้ ซึ่งคุ้มสำหรับเว็ปที่ Traffic ไม่สูง เช่นถ้าทำเลือกสร้าง Virtual Server ขนาดหน่วยความจำ 256MB ขึ้นมาใน Rackspace Could เพื่อทำเว็ปโดยมี traffic รวมแล้วต่ำกว่า 5GB ต่อเดือน คุณก็จะจ่ายไม่เกิน $12 ในตอนสิ้นเดือน แต่ถ้าคุณทำเว็ปที่มี Traffic สูงถึงจุดนึง ค่าใช้จ่ายจะเริ่มแพงกว่า VPS แต่อย่างเว็ปผม 3-4 เว็ปนี่รวมกันยังไม่เคยใช้เกิน 5GB ต่อเดือนเลย :P อาจสงสัยว่าแล้วทำไมผมไม่เลือกใช้ Rackspace Cloud ที่เดียวไปเลย  นั่นเพราะ Racspace Cloud Server  นั้นจะมีแต่ Linux 64bit เช่นเดียวกับ Slicehost ซึ่งโปรแกรมเดียวกันบน 64bit จะใช้หน่วยความจำมากกว่าที่รันบน 32bit ดังนั้นที่หน่วยความจำเท่าๆกัน ที่ Linode จะรองรับงานได้มากกว่า เลยต้องขอลองใช้ไปสักระยะก่อน ถึงค่อยตัดสินใจอีกที

Upgrade VirtualBox 1

Posted by AnnoMundi on September 27, 2008

หลังจากเขียนบทความการทำ Virtual Server บน VirtualBox ไป 4 ตอน ก็ยังไม่มีเวลามาอัพเดทเขียนต่อเลย วันนี้พอมีเวลาว่างเลยไปเช็คดูที่เว็ป VirtualBox ก็เห็นว่าเขาออกเวอร์ชั่น 2.0.2 แล้ว ในตอนที่ผมเขียนบทความยังเป็นเวอร์ชั่น 1.6.4 อยู่เลย และด้วยความที่ชอบลองของใหม่ ผมเลยจัดการอัพเกรดซะเลย โดยดาว์นโหลด virtualbox-2.0_2.0.2-36488_Ubuntu_hardy_i386.deb มา สำหรับใครใช้ Ubuntu 64 Bit ก็โหลดมาให้ถูกด้ยนะครับ โหลดมาเสร็จแล้วก่อนอื่นเลย ให้ uninstall version เก่าออกก่อนแล้วลง libqt4-core และ libqt4-gui ก่อนครับ

sudo apt-get remove --purge virtualbox
sudo apt-get libqt4-core libqt4-gui

จากนั้นก็

sudo dpkg -i virtualbox-2.0_2.0.2-36488_Ubuntu_hardy_i386.deb

เป็นอันเสร็จเรียบร้อยครับ ถ้าใน Menu มันยังไม่มี VirualBox มาให้เราเรียกใช้ ก็ Log off ไปก่อนเข้ามาใหม่ จะเรียกโปรแกรมได้ที่เมนู Application->System Tools->Sun xVM VirtualBox ครับ

หมายเหตุ ถ้าเวอร์ชั่นเดิมยังใช้งานได้ดี ไม่อัพเกรดก็ได้นะครับ เพราะผมเพิ่งอัพเกรดยังดูไม่ละเอียดว่ามีปัญหาอะไรหรือเปล่า เท่าที่ดูเปิดใช้งาน Virtual Machine ที่ลง Ubuntu Server และ WindowsXP ได้ปกติ

สร้าง Virtual Server ด้วย VirtualBox บน Ubuntu Hardy ตอน 4 1

Posted by AnnoMundi on August 20, 2008

จากตอนที่แล้วที่เราลงเซ็ต Bridge Network ให้เครื่อง host และ virtualbox แล้ว ตอนนี้เราสารมารถจะรีโมท ssh เข้าไปใช้งาน Virtual Machine ได้แล้วครับ ในที่นี้ Virtual Machine ผม IP 192.168.1.4 ถ้าจะดู IP ก็ให้ Login เข้าไปแล้วใช้คำสั่ง ifconfig ดูก็ได้ครับ

ifconfig

จากนั้นให้ลอกง ssh จากเครื่อง host ของเราเข้าไปได้โดยใช้คำสั่ง

ssh annomundi@192.168.1.4 

โดย annomundi เป็น username ที่ผมสร้างไว้ตอนลง Ubuntu server ในตอนที่ผ่านมา ก็ให้เลี่ยนเป็น username และ ip ของเครื่อง virtual machine ที่คุณกำลังใช้อยู่ครับ หลังจากใส่ password แล้ว เราก็พร้อมที่จะใช้งานเครื่อง Virtual Machine แล้วครับ แต่ก่อนอื่นเพื่อที่เราจะไม่ต้องคอยใส่ password ทุกครั้งที่ ssh ก็ให้ทำดังนี้ครับ ที่เครื่อง host ให้เราใช้คำสั่ง

ssh-keygen -t rsa

คำสั่งนี้จะสร้างไฟล์ id_rsa และ id_rsa.pub ในโฟลเดอร์ .ssh ตอนมันให้คีย์ passphrase ไม่ต้องใส่นะครับกด enter ผ่านเลย จากนั้นใช้คำสั่ง

scp ~/.ssh/id_rsa.pub annomundi@192.168.1.4:/home/annomundi

เป็นการก็อบปี้ ไฟล์ id_rsa.pub ไปที่เครื่อง virtual machine อย่าลืมเปลี่ยน annomundi และ ip เป็น username และ ip เครื่อง virtual machine ที่คุณใช้ด้วยนะครับ จากนั้นไปที่ virtual machine จะสั่งผ่าน ssh ที่เรารีโมทค้างไว้ก่อนหน้านี้ก็ได้ครับ โดยใช้คำสั่ง

mkdir ~/.ssh
mv ~/id_rsa.pub ~/.ssh/authorized_keys
chown -R annomundi:annomundi ~/.ssh
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

จากนั้นไปที่เครื่อง host แล้วของ ssh เข้ามาที่ virtual machine ถ้าไม่มีอะไรผิดพลาดเราจะสามารถ ssh เข้าไปได้โดยไม่ต้องใส่ password ทั้งนี้สำหรับการเซ็ตเครื่องเพื่อใช้งานจริงๆเราต้องมีการเซ็ต sshd config เพื่อความปลอดภัย แต่จะขอไม่กล่าวถึงในตอนนี้นะครับ ทีนี้ไปที่เครื่อง virtual machine เราจะทำการอัพเดท package list และอัพเกรดโปรแกรมต่างๆในเครื่องด้วยคำสั่ง

sudo aptitude update
sudo aptitude safe-upgrade
sudo aptitude full-upgrade

จากนั้นก็ลงโปรแกรมพื้นฐาน อย่างพวก gcc, make, patch และอื่นๆ เพราะจำเป็นต้องใช้งาน ให้ใช้คำสั่งดังนี้ครับ

sudo aptitude install build-essential

เสร็จแล้วตอนนี้เรามาปรับแต่งระบบกันอีกเล็กน้อย โดยแก้ไขไฟล์ ~/.bashrc

sudo chown annomundi:annomundi ~/.nano_history
nano ~/.bashrc

บรรทัดแรกจะเป็นการแก้สิทธิ์ของไฟล์ .nano_history กลับมาเป้นของเรา ในกรณีบางทีมันไปเป็นของ root แล้วเวลาเรา edit ไฟล์มันจะแจ้งเตือน permission denied หลังจากเปิดไฟล์ ~/.bashrc มาแล้วให้เพิ่มคำสั่งตามด้านล่างเข้าไปท้ายไฟล์

export PS1='\[\033[0;32m\]\u@\h\[\033[0;36m\] \w\[\033[00m\]: '
alias free="free -m"
alias nano="nano -w"

จากนั้นสั่ง

source ~/.bashrc

จะแสดง Prompt สวยงามขึ้น และการแสดงผลของคำสั่ง free จะแสดงหน่วยเป็น MB
ตอนนี้ก่อนที่เราจะลงโปรแกรม server ต่างๆ ซึ่งจะกล่าวถึงในตอนถัดไป เราจะมาดูวิธีการ Backup Virtual Machine กันก่อน ถ้าตามอ่านมาในตอนที่ 1 จะเห็นว่า Virual Machine ที่เรากำลังใช้งานในตอนนี้ ซึ่งลง Ubuntu Server นั้นอยู่บน Virtual Disk สำหรับในเครื่องผมจะคือไฟล์ ~/.VirtualBox/VDI/UbuntuServer.vdi คำสั่งสำหรับการ backup หรือ copy ให้ใช้คำสั่งดังนี้

VBoxManage clonevdi ~/.VirtualBox/VDI/UbuntuServer.vdi ~/.VirtualBox/VDI/UbuntuServer_Backup.vdi

จะเป็นการโคลน Image ไฟล์ (Virtual Disk) UbuntuServer.vdi ไปยัง UbuntuServer_Backup.vdi คำสั่งนี้จะใช้เวลาขึ้นกับขนาดของ virtual disk ที่เราสร้างไว้ตอนแรกครับ

การโคลน virtual disk image นี่ต้องปิด virtual machine ก่อนนะครับ

หลังจากเสร็จแล้วเราก็จะมี virtual disk เหมือนๆกัน 2 อัน จะใช้ตัวไหนบูตก็ได้ครับ วิธีก็คือไปที่ Window หลักของ VirtualBox ไปที่ File -> Virtual Disk Manager แล้วกดปุ่ม Add เลือก virtual disk ที่เราโคลนมาเมื่อครู่ ตามรูปด้านล่างครับ

กด Open และ Ok จากนั้นไปที่ Setting ไปที่ส่วน Harddisk ตามรูปด้านล่าง

จะเห็นว่าเราสามารถเลือกได้ว่าจะให้ Virtual Disk ตัวไหนมาต่อกับ IDE Primary Master ก็ให้ลองเลือกเอาตัวที่เราโคลนเมื่อครู่นี้ครับ แล้วลอง Start Virtual Machine ดูครับ

ที่ต้องกล่าวถึงการ backup ก็เพื่อเวลาเราลงโปรแกรมหรือคอนฟิกโปรแกรมแล้วมีปัญหาแก้ไขไม่ได้ จะได้โคลน backup กลับมา หรได้ ซึ่งในตอนนี้ก็ควร backup ไว้เลยครับ แต่ทีนี้บางคนอาจสงสัยว่าทำไมไม่ใช้คำสั่งก็อบปี้ นั่นก็เพราะมันจะใช้ไม่ได้ครับ ผมก็ไม่ทราบเหมือนกันว่าทำไม ^^ เอาเป็นว่าไว้ตอนถัดไปเราจะเริ่มลงโปรแกรม server ต่างๆกันครับ ตอนนี้ถ้าว่างๆก็ backup แล้วลองลงโปรแกรมลองเซ็ตคอนฟิกเล่นไปพลางๆก่อนก็ได้ครับ

สร้าง Virtual Server ด้วย VirtualBox บน Ubuntu Hardy ตอน 3 1

Posted by AnnoMundi on August 18, 2008

Create a permanent bridge

ในตอนนี้เราจะมาทำการเซ็ต Bridge ให้กับ เครื่อง Host และ Virtual Machine กันครับ เริ่มแรกปิด Virtual Machine เราไปก่อน โดยการสั่ง Shutdown นะครับ ถ้าเปิด Virtaul Machine ไว้อยู่ก็ให้ login เข้าไปแล้วสั่ง

sudo shutdown -h now

ตอนนี้จะปิด VirtualBox ไปก่อนก็ได้ครับ เพราะเราจะทำการเซ็ตที่เครื่อง Host เราก่อน ให้เปิด Terminal ขึ้นมา แล้วใช้คำสั่ง

sudo apt-get install bridge-utils uml-utilities

เป็นการลงโปรแกรมที่จำเป็นสำหรับการทำ Bridge Network จากนั้นให้เปิดไฟล์ /etc/network/interfaces ขึ้นมา

sudo gedit /etc/network/interfaces

แก้ไขให้เป็นไปตามด้านล่างครับ

auto eth0
iface eth0 inet manual

auto br0
iface br0 inet dhcp
   bridge_ports eth0

# The loopback network interface
auto lo
iface lo inet loopback

จากนั้นสั่ง Restart Network

$sudo /etc/init.d/networking restart

มันจะ restart network ใช้เวลาแปปนึงไม่ต้องตกใจครับ หลังจากเสร็จแล้ว เน็ตจะใช้งานได้เหมือนเดิม เพียงแต่จะเชื่อมต่อผ่าน Bridge

สร้าง virtual interfaces สำหรับ VirtualBox

หลังจากสร้าง Bridge เราก็จะมาสร้าง Virtual Interface (vbox0) ให้กับ Virtualbox โดยการใช้คำสั่ง

sudo VBoxAddIF vbox0 `whoami` br0

ตรง `whoami` ใช้ Black Quote นะครับ หรือจะพิมพ์ ชื่อ username เราไปตรงๆก็ได้ เสรจแล้วก็สั่ง

sudo /etc/init.d/vboxnet restart

เพื่อ restart Virtualbox Host Network จากนั้นให้เปิด VirtualBox ขึ้นมาเลือก Virtual Machine ที่เราสร้างแล้ว กดปุ่ม Setting

ตรง Attach to ให้เปลี่ยนเป็น Host Interface และตรง Interface Name ให้พิมพ์ vbox0 ลงไปแล้วกดปุ่ม OK จากนั้นให้ลอง Start Virtual Machine แล้วล็อกอินเข้าไปดู แล้วลอง ping yahoo.com ดูก็ได้ครับ

ลองสั่ง ifconfig ดูรายละเอียดก็ได้นะครับ มันจะแสดง IP ของเครื่องให้ดูด้วย

ก็เป็นอันเสร็จสำหรับการเซ็ต Bridge ให้กับเครื่อง Host และ VirtualBox ตอนต่อไปเราจะทำการลงโปรแกรมต่างๆบน Virtual Machine กันครับหลังจากลงเสร็จมันก็จะกลายเป็น Virtual Server ให้เราจำลองการใช้งานและฝึกเซ็ตอัพเครื่อง Server กัน ^^

หมายเหตุ : เท่าที่สังเกตุหากเราใช้งาน Virtualbox แล้วเราสั่ง Restart หรือ Shutdow เคร่ือง Host จะมี Error ระหว่างที่กำลัง Shutdown หรือ Restart แต่ก็ยังไม่พบว่าทำให้เกิดปัญหาอย่างอื่นครับ

สร้าง Virtual Server ด้วย VirtualBox บน Ubuntu Hardy ตอน 2 1

Posted by AnnoMundi on August 18, 2008

จากตอนที่แล้วที่เราเซ็ตอัพ Virtual Machine เสร็จ ในตอนนี้จะเป็นขั้นตอนการลง Ubuntu 8.04.1 Hardy บน Virtual Machine ในตอนนี้จะอธิบายด้วยรูปภาพเป็นส่วนใหญ่นะครับ แต่ในบางช่วงในตอน Install อย่างช่วง Detect hardware ช่วง Copy ไฟล์ ผมอาจข้ามๆไปไม่ได้ capture รูปมาแสดง

เอาล่ะมาเริ่มกันเลย ที่ VirtualBox ให้เรากดปุ่ม Start เพื่อเริ่มบูต Virtual Machine เครื่องจะทำการบูตจาก CD Image ที่เรา mount ไป


ในขั้นตอนการ Install ที่นี้ผมเลือกภาษาอังกฤษครับ


หน้าจอ Install ครับ ถ้าเกิด Virtualbox มัน capture mouse เราไปแล้ว และเราต้องการจะใช้งาน mouse ให้กดปุ่ม Ctrl ด้านขวาของ Keyboard นะครับ ทีนี้มาต่อให้เลือก Install Ubuntu Server ครับ และจากนี้ให้ดูตามรูปนะครับไฮไลท์สีแดงนั่นคือตามที่ผมเลือก ไม่จำเป็นต้องตามผมทั้งหมดก็ได้ครับ
อ่านต่อด้านในครับ…