ข้อเสนอการออกรุ่นใหญ่ของ 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 ทีคนทำระบบหลายๆ คนยังร้องเลย ><”

แก้ปัญหา gnome-settings-daemon โหลด cpu time 100%!

เป็น bug ใน Ubuntu 12.04.1 ลงมา (น่าจะรวมถึง 12.04 ด้วย) อยู่ใน Bug report ที่ [keyboard]: gnome-settings-daemon consumes 100% cpu (and blinking numlock) คาดว่าจะแก้ไขใน Ubuntu 12.04.2

เป็นปัญหาของตัว gnome-settings-daemon มันพยายามจะตั้งค่า numlock ให้ใช้งานได้ตลอดเวลาจนไปโหลดระบบ

ปัญหาจะพบเพื่อเปิดใช้งานพวก Remote desktop เป็นหลัก เช่น Remote desktop sharing (vino) ของตัว Ubuntu เองผ่าน VNC จากใน Bug report มีการโพสแก้ไขปัญหาเฉพาะหน้า คือไปปิดการจำ state ของ numlock ผ่าน dconf-tools

วิธีก็ทำตามด้านล่างนี้ได้เลย

ไปที่ Terminal แล้ว ติดตั้ง dconf-tools แล้วเรียก dconf-editor

$ sudo apt-get install dconf-tools
$ dconf-editor

เข้าไปหาในส่วนของ org.gnome.settings-daemon.peripherals.keyboard

แล้วติ้กเครื่องหมายถูกออกจากตัวเลือก “remember-numlock-state” แล้ว restart เครื่อง ก็เสร็จเรียบร้อย

ย้าย datadir ของ MySQL ใน Ubuntu Server 8.10

พอได้ Server ใหม่ของ <a href=”http://www.thaithinkpad.com/forum/general-discussion/thaithinkpad-server/”>ThaiThinkPad</a> มาแล้วกำลัง Tuning ตัวระบบอยู่ สิ่งที่ต้องทำคือการย้าย datadir ของ MySQL ออกมาอีก I/O แยกจาก H/D หลัก ซึ่งตัว Server ผมมี H/D อยู่สองลูกครับ
วิธีการทำก็ไม่ยากครับ แต่มึนตอนแรกตรง AppArmor เนี่ยแหละ เพราะตอนผมทำบน Windows หรือบน CentOS มันไม่มีปัญหานี้ พอมา Ubuntu Server นี่มันมีส่วนนี้เลยต้องแก้ไขส่วนนี้เพิ่มเติมครับ เรามาเริ่มกันเลย

ปิด Service MySQL

$ sudo /etc/init.d/mysql stop
* Stopping MySQL database server mysqld [ OK ]

ทำการ copy แบบ archive (คงสภาพของ owner/mode ของไฟล์) ไปไว้ที่ H/D นึง ผม mount ไว้ที่ /datasvr (ย้ายจาก /var/lib/mysql ไป /datasvr)

$ sudo cp -a /var/lib/mysql /datasvr

ทำการ Backup ตัวเก่าไว้ก่อนด้วยการเปลี่ยนชื่อ dir ไว้เฉย ๆ กันเหนี่ยวไว้ก่อน

$ sudo mv /var/lib/mysql /var/lib/mysqlbk

ทำการ change owner เป็น group mysql และ user mysql สักหน่อยเผื่อไว้

$ sudo chown -R mysql:mysql /datasvr

แก้ไขไฟล์ my.conf

$ sudo nano /etc/mysql/my.conf

แก้ไขค่าของ

datadir = /var/lib/mysql

เป็น

datadir = /datasvr/mysql

ถ้าใช้ Ubuntu 8.10 Server แก้ไขตัว Application Armor เสียด้วย โดยไปที่

$ sudo nano /etc/apparmor.d/usr.sbin.mysqld

โดยแทรกข้อมูลด้านล่างลงไป โดยเปลีย่น /datasvr/mysql/ เป็น path ของ datadir ที่เราต้องการย้ายไป

/datasvr/mysql/ r,
/datasvr/mysql/** rwk,

แล้ว restart Service AppArmor

sudo /etc/init.d/apparmor restart

แล้วก็เปิด Service MySQL ทำงานต่อไปได้เลย

$sudo /etc/init.d/mysql start
* Starting MySQL database server mysqld [ OK ]

แค่นี้ก็เสร็จสิ้นกรรมวิธีการย้ายข้อมูลแล้ว คราวนี้ก็แบ่ง ๆ โหลด I/O ไปคนละ H/D ครับ