Posts

Showing posts from April, 2014

OpenStack Swift - Container Sync (New & Old ways)

Image
OpenStack Swift Container-Sync  Swift 內建功能利用背景工作, 讓 Container to Container 如同鏡像一樣同步所有資料. 不僅僅是自己的Container, 還可以跟其他人Account內的Container相互同步資料. 這個功能也被部分企業用來將資料從舊的Swift Cluster轉移到新的環境上.

提示
如果User request是對object做POST的操作, 操作內容不一定會被同步, 除非object_post_as_copy = true 在 Proxy server 的設定, 目前這個值預設為開啟 true.

同步的設定可以有幾種模式 :

One-way sync : 單向同步 containerA --> containerBTwo-way sync : 雙向同步 containerA <--> containerBChain : 鏈狀同步 containerA --> containerB --> containerC --> containerA
首先你必須要知道目前有兩種方法(新/舊)來設定 Container Sync
First of all, you need to know there are two styles for setting container-sync currently. 
OLD-style(舊): Supported since Swift's initial release. 任何版本,包含新版本NEW-style(新): Implemented in Swift 1.12 or later. 在1.12版本後才釋出 不論新舊styles, 都有一個重要的前提, 原資料所在的Container Server, 必須要能跟遠端目標Container 的 Proxy Server 透過網路連結的到.

NEW-Style - 多了realm(域)的觀念.
新的做法需要先建立一個設定檔 ( /etc/swift/container-sync-realms.conf )在兩個叢集的"所有"節點. 具體一點來說, 只要會涉及到這個同步過程的所有Proxy Server與Container Server 上面…