檔案為 'server' 類別

Mysql 只保留七天的 mysql-bin log

my.cnf
log-bin = /var/log/mysql/mysql-bin.log => 存放位置
expire-logs-days = 7 => 保存天數
max_binlog_size = 104857600 => 單一記錄檔最大容量

重新啟動 mysql 之後,將會只保留七天份的 log 檔案。

mysql-bin.log 目的可以幫你恢復 mysql 某點狀態,或者查看過去 mysql 的 sql 記錄。
參考資料 Restoring lost data from the Binary Upate Log
參考資料 mysql binary log 超佔空間~ 導致 /var 分割區爆滿

分享此文章

MogileFS Client Libraries

Perl - http://search.cpan.org/~bradfitz/MogileFS-Client/

POE - http://search.cpan.org/~mock/POE-Component-Client-MogileFS-0.02/

darwinport - http://p5-mogilefs-client.darwinports.com/

Java - http://github.com/eml/java-mogilefs/tree/master

Ruby - http://seattlerb.rubyforge.org/mogilefs-client/

PHP - http://svn.wikimedia.org/viewvc/mediawiki/trunk/extensions/MogileClient/

http://php-webdav.pureftpd.org/project/php-webdav

http://osterman.com/wordpress/2007/06/30/robust-php-mogilefs-client

http://lists.danga.com/pipermail/mogilefs/attachments/20070630/995c3387/MogileFS.class.bin

Python - http://www.albany.edu/~ja6447/mogilefs.py

分享此文章

Centos 5.1 安裝 mogileFS


To install a tracker:

rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-2.noarch.rpm

yum -y install mogilefsd perl-MogileFS-Client perl-MogileFS-Utils

To install a storage node:

rpm -Uvh  ttp://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-2.noarch.rpm

yum -y install mogstored mogstored-backend-perlbal
mogstored-backend-lighttpd mogstored-backend-apache perl-MogileFS-Client
perl-MogileFS-Utils
分享此文章

mogileFS的工作方式(譯)

下面簡要闡述 MogileFS 是怎麼工作的.

mogileFS由如下一些部分構成:

  • Application: 想要 保存/加載 文件的應用
  • Tracker (the mogilefsd process): 基于事件的(event-based) 父 進程/消息 總線來管理所有來之于客戶端應用的交互(requesting operations to be performed), 包括將請求負載平衡到 “query workers” 中,讓mogilefsd的子進程去處理. 你可以在不同的機器上運行兩個Tracker, 為了高可用性, 或使用更多的Tracker為了負載平衡(你需要運行多于兩個的Tracker). mogilefsd的子進程有:
    • Replication 個機器間復制文件
    • Deletion 從命名空間刪除是立即的,從文件系統刪除是異步的
    • Query 響應客戶端的請求
    • Reaper 在磁盤失敗後將文件復制請求重新放到隊列中
    • Monitor 監測主機和設配的健康度和狀態
  • Database 數據庫用來存放MogileFS的元數據 (命名空間, 和文件在哪裡). 這應該設置一個高可用性(HA)的環境以防止單點失敗.
  • Storage Nodes 實際文件存放的地方. 存儲節點是一個HTTP服務器,用來做 刪除,存放等事情,任何WebDAV服務器都可以, 不過推薦使用 mogstored 。 mogilefsd 可以配置到兩個機器上使用不同端口… mogstored 為所有 DAV 操作 (和流量監測), 並且你自己選擇的快速的HTTP服務器用來做 GET 操作(給客戶端提供文件). 典型的用戶沒一個加載點有一個大容量的 SATA 磁盤,他們被加載到 /var/mogdata/devNN.

High-level 流程:

  • 應用程序請求打開一個文件 (通過RPC 通知到 tracker, 找到一個可用的機器). 做一個 “create_open” 請求.
  • tracker 做一些負載均衡(load balancing)處理,決定應該去哪兒,然後給應用程序一些可能用的位置。
  • 應用程序寫到其中的一個位置去 (如果寫失敗,他會重新嘗試並寫到另外一個位置去).
  • 應用程序 (client) 通過”create_close” 告訴tracker文件寫到哪裡去了.
  • tracker 將該名稱和域命的名空間關聯 (通過數據庫來做的)
  • tracker, 在後台, 開始復制文件,知道他滿足該文件類別設定的復制規則
  • 然後,應用程序通過 “get_paths” 請求 domain+key (key == “filename”) 文件, tracker基于每一位置的I/O繁忙情況回復(在內部經過 database/memcache/etc 等的一些抉擇處理), 該文件可用的完整 URLs地址列表.
  • 應用程序然後按順序嘗試這些URL地址. (tracker’持續監測主機和設備的狀態,因此不會返回死連接,默認情況下他對返回列表中的第一個元素做雙重檢查,除非你不要他這麼做..)

轉自 : http://www.sunnyu.com/?p=32

分享此文章

選擇MogileFS理由

在這個web 2.0的系統中遇到了第一個問題,如果想讓更多的web靜態內容服務器一起工作,為了節省存儲必然讓更多的web服務器使用相同的存儲。
比如圖片
圖片是靜態內容,有如下需求:
1, 需要集中存儲,也就是對服務的需求者,只有一個統一的接口。
2, 圖片需要的存儲比較大。
3, 要穩定,文件不能丟失。
根據上述要求我們可以採用如下模式:

Web Server可以使用眾多的網絡協議來使用File Server上的文件,可以是NFS或是CIFS,甚至可以是SAN(當然,這東東比較貴的說)。但是為了滿足上面提出的3個要求,我更傾向于用分布式文件來取代File Server。
MogileFS就是這樣一種系統。
MogileFS利用多個有自己的計算資源的靜態服務器來分區存儲並管理它們的一個分布式文件系統。
特點:
應用層,沒有特殊的內核組件要求
無單點失敗 MogileFS啟動的三個組件(存儲節點、跟蹤器、跟蹤用的數據庫),可運行在多個機器上,因此沒有單點失敗。(你也可以將跟蹤器和存儲節點運行在同一台機器上,這樣你就沒有必要用4台機器)推薦至少兩台機器自動的文件復制 文件是基于他們的”類”, 文 件可以自動的在多個存儲節點上復制,這是為了盡量少的復制,才使用”類”的。假如你的圖片站點有 三份JPEG圖片的拷貝,但實際只有1or2份拷貝,那麼Mogile可以重新建立遺失的拷貝。用這種辦法,MogileFS(不做RAID)可以節約 在磁盤,否則你將存儲同樣的拷貝多份,完全沒有必要” “比RAID好” 在一個非存儲區域網絡的RAID(non-SAN RAID)的建立中,磁盤是冗餘的,但主機不是,如果你整個機器壞了,那麼文件也將不能訪問。 MogileFS在不同的機器之間進行文件復制,因此文件始終是可用的 傳輸中立,無特殊協議 MogileFS客戶端可以通過NFS或HTTP來和MogileFS的存儲節點來通信,但首先需要告知跟蹤器一下。

簡單的命名空間 文件通過一個給定的key來確定,是一個全局的命名空間。你可以自己生成多個命名空間,只要你願意,但是這樣可能在同一MogileFS中,會造成衝突key。

不用共享任何東西 MogileFS不需要依靠昂貴的SAN來共享磁盤,每個機器只用維護好自己的磁盤。

不需要RAID 在MogileFS中的磁盤可以是做了RAID的也可以是沒有,如果是為了安全性著想的話RAID沒有必要買了,因為MogileFS已經提供了。

不會碰到文件系統本身的不可知情況 在MogileFS中的存儲節點的磁盤可以被格式化成多種格式(ext3,reiserFS等等)。MogilesFS會做自己內部目錄的哈希,所以它不會碰到文件系統本身的一些限制,比如一個目錄中的最大文件數。你可以放心的使用。

分享此文章