Galera Cluster for MySQL Multi-master Replication

galera_mysql_replication
最近公司買了幾台機架伺服器來處理 HTTP 跟 DB Load balancer,要做到 DB 的分散式架構,首先需要同步多台機器資料,也就是寫入或更動任意一台單筆資料,另外平行的機器也會同時進行更新。同步的好處可以用來做備援及分散處理連線,而要做到此功能,可子參考網路上評價不錯的

Galera Cluster for MySQL 方案。本篇會介紹在 UbuntuCentOS 6.x final 版本如何安裝 Galera 伺服器套件及設定。要架設 Galera Cluster Server,有兩種套件選擇,一個是 Percona XtraDB Cluster 另一個是 MariaDB Galera Cluster,這次作者會介紹後者的安裝。

Galera Cluster 介紹 為什麼要選擇 Galera Cluster Server,它有什麼優點及功能呢?MySQL/Galera 是一套可以同步多台 MySQL/InnoDB 機器的叢集系統,底下可以列出功能。

  • 同步複製資料
  • 可讀取和寫入叢集系統內任一節點
  • 自動偵測節點錯誤,如果有節點當機,則叢集系統自動移除該節點
  • 可任意擴充節點
  • 採用 row level 方式來平行複製資料 從上面功能看來,我們可以平行任意擴充節點,動態增加伺服器到叢集系統,要做到上面功能,就是利用

Galera library 來做到同步資料處理,同步的詳細細節,可以參考 Galera library 連結。這邊就不再多描述了。

[Read More]

用 Ubuntu 10.10 Live CD 重新安裝 GRUB 2 到 Bootloader

logo-Ubuntu

今天起床打開電腦,Ubuntu 跳出 Warning 訊息,boot 磁區剩下 84MB,所以我手殘進去 /boot/ 目錄,把舊的 Kernel 清除,不小心砍掉 initrd.img-2.6.35-32-generic Linux Image 開機所需要的檔案,結果之後開機出現

You need to load the kernel first 大家好像都是升級 Kernel 之後才會出現上述狀況,網路上找到的解答都不符合我的需求,所以我又往 GRUB2 開機 Boot 去瞭解,新的 GRUB 2 跟原先的 GRUB 的解法已經完全不同了,沒有 /boot/grub/menu.list,而被 /boot/grub/grub.cfg 取代,所以不應該在手動編輯此檔案。grub.cfg 會在有更新 Kernel 版本時,手動執行 update-grub 的時候被修改覆寫。這次發生的原因是在我把舊版 Kernel 刪除,而忘記執行 update-grub,這時候的最佳解法就是透過 Live CD 來救援。

[Read More]

[筆記] 在 Ubuntu mount DVD ISO 檔案

logo-Ubuntu
在網路上常常下載

ISO 檔案Windows 底下可以透過虛擬光碟看到檔案內容,可是到了 Ubuntu 系統該如何知道 ISO 裡面放了哪些檔案呢?其實很簡單,可以透過 mount 指令就可以做到了喔,參考 Ubuntu 台灣論壇: 如何mount iso檔? [論壇 - Ubuntu基本設定]

$ mount /iso/ubuntu.iso /home/appleboy/ISO/ -t iso9660 -o loop
執行完上述指令,可以發現桌面會多出 DVD 光碟圖示,直接點選就可以了

How to change run levels and init.d scripts in Ubuntu & Debian

Ubuntu 6.10 (Edgy Eft) 之後使用 Upstart 代替原來的 sysinit,而 init 是用來管理 Upstart 的 Daemon,本來系統預設的 runlevel 可以在 /boot/menu.list 或者是 /etc/inittab,可是現在這檔案已經移除了,取而代之的就是 Upstart 管理,可以利用 telinit 來改變系統 runlevel,然而現在 runlevel 的定義跟以前不太一樣了,原先 Ubuntu 跟 Fedora 系列 runlevel 代表意義如下: 0:系統關機 (to halt the system) 1:單一使用者模式 (single-user mode) 2:尚未使用(可由使用者定義) 3:多使用者模式 (文字介面登入) 4:尚未使用 (可由使用者定義) 5:多使用者模式 (含有一個X介面的登入畫面) 6:重新開機 (reboot the system) 轉換成 Upstart 的話,就會變成底下 0:系統關機 (to halt the system) 1:單一使用者模式 (single-user mode) 2:多使用者模式 (含有一個X介面的登入畫面) 3:多使用者模式 (含有一個X介面的登入畫面) 4:多使用者模式 (含有一個X介面的登入畫面) 5:多使用者模式 (含有一個X介面的登入畫面) 6:重新開機(reboot the system) 上面資訊可以在 man telinit 裡面找到,寫得很詳細,現在 Ubuntu 9. [Read More]

如何在 console 端使用 Tail (View) Multiple Files on UNIX / Linux Console

這在管理 UNIX base 系統方面最重要的地方,不管是維護 Linux or FreeBSD 主機,都要學習如何觀看 log 檔案,系統出問題,不管是 apache 不能啟動,或者是 MySQL 發生錯誤,基本上都可以觀察 /var/log 底下的檔案來達到解決問題,平常在使用 Linux 預設可以用 tail 這個指令,使用方法如下:

tail -F /var/log/message
tail -f /var/log/message
-f 如果在 message 晚上 rotate 檔案的時候,就會停止
-F 持續偵測是否有新檔案,會繼續維持下去
[Read More]

[Debian] GNU/Linux 5.0 發布 zhcon 解決終端機亂碼

Debian 釋出了 GNU/Linux 5.0 發布,官方新聞 於2009年02月14日發佈出來,最近想說把自己的 NB 要換成 Debian 5.0 版本,不過之前都是在玩 Ubuntu 的狀況下,所以就找 i386 的 ISO 檔案,利用虛擬機器 VirtualBox,之前也沒有玩過虛擬機器,都是直接燒光碟,拿主機來硬幹,哈哈,不過想說學習一下 VitualBox 來試試看,我參考了一篇 VirtualBox指南,寫的很不錯,我就拿來使用 Debian 5.0 了,不過安裝過程其實還蠻簡易的,可以參考這篇:[教學]圖解Debian Desktop安裝筆記(1),這篇寫的很好,也淺顯易懂,安裝好之後,開機 grub 畫面如下: 2009-02-18_151709 (by appleboy46)

[Read More]