2009年5月10日 星期日
2009年5月1日 星期五
MySQL HA 與 Slave 的關係
上面一篇「MySQL HA」其實是要提 Mark Callaghan 所寫的「Global transaction IDs are hot」這篇文章。
在三種架構下,DRBD + Heartbeat 的系統要加掛 slave 是最容易的,因為 master server 雖然跳動,但 replication 位置不會變。
在 Master-Master 架構下,由於兩台 master 都有自己的 binlog,會使得 master 跳動時 slave 產生問題,也就是在 Mark Callaghan 文章裡所寫的三種解法 “switch and hope”、”check and lose”、”check and fix”。
這三種解法都並沒有很完滿的解決問題 (第三種解法雖然看起來有 “fix”,但是透過工人智慧手動解決)。
一種方法是引入 Global transactions IDs,這是由 Google 提出的 patch:「MySQL Hierarchical Replication & Global Group IDs」,對 binlog 每筆 transaction 都加上一組 64bits 且遞增的數字,這樣 slave 就不會受到 master 切換而產生 replication err。
先記錄下來,之後很有可能會透過 Google 又找到自己寫的文章…
Update:看到「High Availability for MySQL: Considering the Options」這篇文章,要如何做 HA。
選擇 MySQL 用的硬體
「5 Minute DBA – Database Server Hardware Selection」講了一些幫資料庫選擇硬體的方式,其實是偏向 MySQL…
簡單的說,CPU 超過 8 CPU 其實意義不大,不需要買 4*4core 或是 4*6core,因為 MySQL 目前無法利用到。
記憶體愈大愈好,記憶體現在便宜許多,如果有 I/O bound 的問題,除了改寫程式外,直接把記憶體加到 32GB 或是 64GB 通常是最划算的方法。
硬碟愈快愈好,有 Hardware RAID10 (要有電池) 會比軟體的 RAID10 好,不過這主要看需求,如果是 CPU bound 的應用,說不定 SATA 硬碟就夠用?
網卡請務必用 GigabitEthernet,最好是 bounding/trunking,除了增加 thoughput 外,也可以當作 redundant link。然後作業系統一定要選 64bits,不然會受限於記憶體可定址空間。
MySQL HA
MySQL 有幾種不同的方法實做 High Availability 架構:
- Master-Slave Replication,當 master 當掉時,將 slave 提昇為 master。
- DRBD + Heartbeat,透過網路對 Disk 層 RAID1,平常只有一台會 mount 並跑 mysql,當掉時會跳到另外一台。
- Master-Master Replication,當其中一台當掉時直接到另外一台使用。
這三種方法各有不同的缺點,舉例來說:
- Master-Slave Replication:master 當掉時可能有 transaction 已經寫入,但尚未被送到 slave 而造成不同步。
- DRBD + Heartbeat:當備援機跳起來時,記憶體內都還沒有 cache,會造成剛跑起來時 MySQL I/O bound,有時候叫做 “warm up problem”。
- Master-Master Replication:query 會有 race condition (同時在 db1 下
DELETE FROM table1;,以及在 db2 下INSERT INTO table1 SET col1=1;,有可能最後在 db1 上有資料,但在 db2 上沒有資料),這點可以用把寫入固定到某一台而避免,但由於也是 replication 類的架構,也會遇到 Master-Slave Replication 所敘述的問題。
由於資料的正確性會比其他的因素重要,現在我還是偏好用 DRBD + Heartbeat。因 query 的特性而不會有 query dependency 問題的系統才會用 Master-Master。
2009年4月22日 星期三
XP 系統還原指令
Faulting application explorer.exe, version 6.0.2900.5512, faulting module unknown, version 0.0.0.0, fault address 0x647cd68a
For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.
/SCANNOW 立即掃描所有保護的系統檔案。
/SCANONCE 在下次開機時掃描所有保護的系統檔案一次。
/SCANBOOT 每次開機時掃描所有保護的系統檔案
/REVERT 將掃描回到預設設定。
/PURGECACHE 清除檔案快取。
/CACHESIZE=x 設定檔案快取大小。
下指令時, 要先放入原版光碟以復原系統檔案.
2009年3月25日 星期三
FreeBSD setting vlan
1.首先, 進入
/sys/i386/conf 並且拷貝 GENERIC 檔 成為你想要的檔名。例如: # cd /usr/src/sys/i386/conf
# cp GENERIC MYKERNEL
在 kernel 中加入
device vlan
當你完成建立或修改 kernel 設定檔時,執行以下命令來編譯你的 kernel:
# /usr/sbin/config MYKERNEL
# cd ../../compile/MYKERNEL
# make depend
# make
# make install
註:make depend; make; make install 可用 make depend all install 來替代
建完後重開機.
2.如果沒有在 kernel 中加入 vlan device 的話, 可以在 loader.conf 加入
if_vlan_load="YES"
cloned_interfaces="vlan100 vlan200 vlan300 vlan482"
ifconfig_fxp0="up"
ifconfig_vlan100="inet 102.203.98.97/28 vlan 100 vlandev fxp0"
ifconfig_vlan200="inet 102.203.98.24/28 vlan 200 vlandev fxp0"
ifconfig_vlan300="inet 102.203.98.10/29 vlan 300 vlandev fxp0"
ifconfig_vlan482="inet 102.203.98.223/28 vlan 482 vlandev fxp0"
2009年3月6日 星期五
辦理限定繼承記實~莊代書親身出馬
後來,家族會議就決定要辦理限定繼承.......
家族人士也去問代書,說大約要25000~30000元....
我大致與法院的服務櫃枱人員詢問結果.... 感覺應該沒有複雜到那種程度...
後來就決定自己來辦.....
大概把我所了解及辦理的整個過程與大家分享..
首先,了解何謂限定繼承。
民法第1154條:限定繼承乃繼承人限定以因繼承所得的遺產,償還被繼承人債務之意思表示。其責任僅限於遺產而已,雖被繼承人之債務超過遺產,繼承人亦無須以其自己之固有財產為清償。
了解了嗎?假設被繼承人(指亡者)留有遺產100萬,繼承人不知被繼承人有無負債,即可以向法院聲請限定繼承。以現有遺產100萬用來在未來償還被繼承人之債務最大值!即如果被繼承人債務150萬,最多也只以被繼承人留下之遺產100萬來做償還的上限值。不會去用繼承人自己的財產來償還!!!
聲請時效:應於繼承開始三個月內辦理。
辦理地點:被繼承人住所所在法院。
誰來聲請:被繼承人之第一順位繼承人。例如我爺爺過世,第一順位即爺爺的兒女。且只須一人代表出來聲請辦理即可!在民法第1154條第2項規定,繼承人有數人,其中一人主張為限定繼承時,其他繼承人視為同為限定之繼承。
準備資料:
- 死亡證明書。(開立多份,有很多地方要用到。申請公保、勞保等喪葬補助,開立除戶戶籍謄本都會用到)
- 除戶戶籍謄本。(憑死亡證明書至戶政事務所辦除戶,這也要許多份。)
- 遺產清冊。(憑死亡證明書至國稅局清查亡者不動產/所得等資料,有土地及建物者,併向地政事 務所申請土地、建物登記簿謄本。)
- 如果其它銀行等存款也要影印存款的封面及內容頁最後一頁之最新最近資訊。
- 限定繼承聲請書。(可至法院購買書狀,這粉簡單。只要填寫代表出來申請的第一順位繼承人資料即可。)
- 戶籍謄本。(聲請人戶籍謄本,這裡要注意,是所有第一順位聲請人的戶籍謄本。)
- 繼承系統表。(這裏就照法院的範本,由上而下填下來。)
以上提供大家參考。
參考資訊:
http://tph.judicial.gov.tw/t06_01.asp