VMware Esxi ตัว VM ค้าง Poweroff, Restart ไม่ได้เลย

ผมพบเจอกับปัญหาตัว VM ในระบบ VMware เกิดอาการค้าง เนื่องมาจากตัวระบบ Backup ที่มีชื่อว่า Veeam Backup เรียกได้ว่าเจออยู่บ่อยๆ ไม่รู้จะมีบัคอะไรมากมายขนาดนั้น แต่ผมก็ยังใช้งานมันต่อไป เพราะว่าไม่มีตัวไหนที่จะทำการ Backup ระดับ VM ได้ดีเท่าเจ้านี้ละนะ

จากปัญหาคือ ระบบ Veeam ไม่สามารถทำการ Backup ตัว VM ได้, และในตัว VM มองไม่เห็น Storage อาจจะเพราะว่าโดน Mount ไปยัง VM ที่ใช้ Backup และ Mount กลับมาตัว VM หลักไม่สมบูรณ์ ทำให้ตัว VM หลักมองไม่เห็น Disk ที่แท้จริง และทำให้ตัว VM ค้างในที่สุด

วิธีการแก้ไขปัญหานี้

  1. ล็อคอินเข้า SSH และใช้คำสั่งดึง VM ทั้งหมดออกมา เพื่อที่จะดู ID ของ VM ที่มีปัญหา
     vim-cmd vmsvc/getallvms | grep xxx 
  2. ใช้คำสั่ง Reload ตัว VM ด้วยคำสั่งนี้ (vmid = เลขข้างหน้าที่ได้จากข้อ 1)
    vim-cmd vmsvc/reload vmid

จากนั้นก็รอๆๆ ถ้าใช้ vCenter และมีระบบ HA มันจะทำการ Start VM ให้เอง, แต่ถ้าไม่ได้ใช้ ก็ให้กด Power On หลังจากที่มันจะขึ้นให้กดได้นะครับ

ติดตั้ง VPN ใช้งานส่วนตัวด้วย OpenVPN บน Ubuntu 14.04

VPN คือการจำลอง Netowrk แบบ Private ขึ้นมา และใช้ในการรับส่งข้อมูลในช่องทางเฉพาะ ผ่านระบบเครือข่ายแบบ Public Network แต่ข้อมูลที่รับส่งกันจะมีการเข้ารหัสอยู่ใน Private Network ซึ่งทำให้ VPN นั้นมีความเป็นส่วนตัวสูงในการใช้งาน

สำหรับวิธีการทำ VPN ใช้งานเอง สามารถติดตั้งบน Ubuntu 14.04 ด้วยคำสั้งด้านล่างนี้


wget https://raw.githubusercontent.com/cwaffles/ezopenvpn/master/ezopenvpn.sh; chmod +x ezopenvpn.sh; ./ezopenvpn.sh

เมื่อติดตั้งเสร็จ คุณจะได้ไฟล์ zip ที่เก็บตัว Key ต่างๆของโปรแกรม OpenVPN ให้ทำการดาวน์โหลดลงมาที่คอมพิวเตอร์ของคุณ และใช้งานโปรแกรม OpenVPN ทำการเชื่อมต่อไปยังเซิฟเวอร์ปลายทางผ่าน VPN ได้เลย

CentOS ตั้งเวลาประเทศไทย และใช้ระบบ Sync เวลาให้ตรงตลอด

หลายๆคนที่ใช้งาน CentOS กับบริการ VPS หรือ Cloud VPS อาจจะมีปัญหาเรื่องของเวลาตัวเซิฟเวอร์ไม่ตรง ผมเลยจะมาบอกวิธีการแก้ไขดังนี้

1. ตั้งค่าให้ใช้ Timezone เป็น Asia/Bangkok ด้วยคำสั้งนี้


cp /usr/share/zoneinfo/Asia/Bangkok /etc/localtime

2. ใช้คำสั่ง Sync ด้วยตัวเอง ผ่านทาง SSH ด้วยคำสั่งนี้


ntpdate -u time.csloxinfo.com

ในขั้นตอนที่ 2 นี้ เราสามารถที่จะเลือก Server ที่เราจะ Sync Time ได้เลยนะครับ, จากตัวอย่างข้างบนคือ Sync เวลากับ CS Loxinfo IDC ครับ

3. ตั้ง Sync Time แบบ Auto ไม่ต้องมาคอยเช็คตลอดเวลาก็ตรง ด้วยการติดตั้งว NTP จากคำสั่งนี้


yum -y install ntp

แก้ไขไฟล์ /etc/ntp.conf เพื่อตั้งค่า Server ที่ต้องการ Sync Time


nano /etc/ntp.conf

มองหาบรรทัดที่มีคำว่า server อยู่ข้างหน้า และแก้ไขให้เป็นดังนี้


server time.csloxinfo.com

จากนั้นใช้คำสั่งด้านล่างนี้ เพื่อทำการ Restart Service, ตั้งค่าให้ Service ทำงานหลัง Boot ระบบ และทดสอบ Sync Time


service ntpd restart
chkconfig ntpd on
ntpq -pn

เท่านี้ก็เป็นอันเสร็จสิ้นครับ

VMware Esxi คำสั่ง Restart ระบบจัดการ Esxi

ปัญหานี้เกิดจากที่ผมได้ทำการลบ SAN ออกจากตัว Esxi และเพิ่มเข้ามาใหม่ ในชื่อใหม่ และตัว Esxi แจ้งว่าให้ทำการ Reboot หรือทำการ Update Datastore ให้เป็นรุ่นล่าสุด แต่ผมก็ไม่อยาก reboot server ถึงจะมีระบบ vMotion ก็ตาม เลยได้วิธีแก้ไขด้วยการทำการ Restart ตัว Management ของ Esxi ด้วยคำสั่งนี้ผ่านทาง SSH นะครับ


/etc/init.d/hostd restart
/etc/init.d/vpxa restart

VMware Esxi โหลดค้างที่ loading ipmi_si_drv [วิธีแก้ไข]

เมื่อเร็วๆนี้ผมเจอปัญหา VMware Esxi 6.0 Update 1 โหลดไม่เข้าหน้าหนัก แต่ค้างอยู่ที่ loading ipmi_si_drv ทำยังไงก็ไม่โหลดต่อเลย เลยได้หาวิธีแก้ไข พบวิธีการแก้ไขดังนี้

  1. แก้ไขโดยการไม่ให้โหลด IPMI ตอนก่อนที่จะโหลดเข้า Esxi ให้ทำการกด Shift + O (โอ) และพิมพ์ noipmiEnabled ต่อท้าย จากนั้น Enter ให้โหลดเข้า Esxi ตามปกติ
  2. ปิดไม่ให้ Esxi ทำการโหลด IPMI ในครั้งต่อๆไป ด้วยคำสั่งนี้ผ่านทาง SSH นะครับ

esxcli software vib remove --dry-run --vibname ipmi-ipmi-si-drv
esxcli software vib remove --vibname ipmi-ipmi-si-drv

DELL Server วิธีการอัพเกรด BIOS, Firmware ผ่าน CentOS

คำสั่งสำหรับใช้อัพเดต Fiemware และ BIOS ผ่าน CentOS ของเซิฟเวอร์รุ่น DELL


yum -y install wget perl; wget -q -O - http://linux.dell.com/repo/hardware/dsu/bootstrap.cgi | bash && yum -y install dell-system-update && dsu --inventory && dsu

DirectAdmin แก้ไข Permission โฟเดอร์และไฟล์ของแต่ละ User เป็น 755/644

สำหรับเซิฟเวอร์ที่รันด้วย FastCGI, suPHP หรือ mod_php with mod_ruid2 ก็ตามแต่ การสร้างไฟล์หรือโฟเดอร์ขึ้นมาใช้งานในระบบจะไม่ใช่สิทธิ์ของ Apache อีกต่อไป แต่จะเป็นสิทธิ์ของ User นั้นๆ ทำให้การเข้าถึงไฟล์หรือโฟเดอร์ไม่จำเป็นต้องกำหนดสิทธิ์ให้เป็น 0777 อีกต่อไป สะดวกและใช้งานง่ายขึ้นเยอะ

แต่สำหรับเซิฟเวอร์ที่เพิ่งจะเปลี่ยนมาใช้ระบบแบบนี้ แน่นอนว่าสิทธิ์เก่าที่ User เคยตั้งไว้สำหรับการเข้าถึงในการอ่านเขียนเต็มรูปแบบ ต้องเป็น 0777 อย่างแน่นอน เราจึงควร(ต้อง)เปลี่ยนสิทธิ์ให้ต่ำลง เพื่อความปลอดภัย โดยโฟเดอร์จะใช้เป็น 0755 และไฟล์จะใช้เป็น 0644 นะครับ

คำสั่งเปลี่ยน Permission จาก 0777 และแก้ไขสิทธิ์จาก Apache เป็นสิทธิ์ของ User


cd /usr/local/directadmin/scripts && ./set_permissions.sh user_homes
find /home/*/domains/*/public_html -type d -print0 | xargs -0 chmod 755
find /home/*/domains/*/public_html -type f -print0 | xargs -0 chmod 644
find /home/*/domains/*/public_html -type f -name '*.cgi*' -exec chmod 755 {} \;
find /home/*/domains/*/public_html -type f -name '*.pl*' -exec chmod 755 {} \;
find /home/*/domains/*/public_html -type f -name '*.pm*' -exec chmod 755 {} \;
cd /usr/local/directadmin/data/users && for i in `ls`; do { chown -R $i:$i /home/$i/domains/*/public_html;}; done;

 

วิธีการปิด Firewall ใน CentOS 7

สำหรับ CentOS 7 และ 6 จะมีคำสั่งและการใช้งานค่อนข้างที่จะแตกต่างกันในบางส่วน รวมถึงในส่วนของ Firewall หรือ iptables ด้วยเช่นกัน จากที่ผมลองใช้คำสั่ง service iptables save ไม่สามารถใช้งานได้ซะงั้น

วิธีการปิด Firewall ใน CentOS 7


systemctl stop firewalld
systemctl disable firewalld

ตรวจสอบว่า Firewall ถูกปิดไปหรือยัง


systemctl status firewalld