3C科技 娛樂遊戲 美食旅遊 時尚美妝 親子育兒 生活休閒 金融理財 健康運動 寰宇綜合

Zi 字媒體

2017-07-25T20:27:27+00:00
加入好友
為什麼要用 Distributed Object Storage 呢?除了酷炫之外,有一個很大的好處就是可以 Scale-out 水平擴充。AWS S3 目前算是最常被使用的 Object Storage,但是都是收費的模式,如果想要自己搞 Distributed Object Storage 的話當然也有 Open Source 且免費的 CEPH Project 可以用。CEPH 的架構如下: http://docs.ceph.com/docs/master/architecture/ RADOSGW 就是傳說中的 Rados Gateway,提供了與 S3 API 相容的 REST Interface,早期 Ceph 的版本在 RadosGW 有非常大的效能瓶頸,許多廠商都自己透過 LIBRADOS 重新實作 REST Interface,但聽說在新版的 Ceph 已經有很大的改進,但我也還在測試中,我相信 Ceph 會越來越成熟,就不需自己硬幹實作囉。 最近常常要測試 Ceph RadoaGW API 傳檔與讀檔,也想備份 Linux OS 中的重要檔案到 Ceph,好像沒有發現比較好用的程式,大部分的範例都是實作 AWS S3 的版本。雖然說 API 是相容,但是實際上還是有一點點不一樣,像是 Bucket Name 在 Ceph 中是透過 URI 而非 Hostname 來傳送。其他的地方就真的完全一樣,可以無痛轉移,反正大家都抄 AWS 就對了,阿里雲的 OSS 也是用幾乎一樣的規格,只差在 Siganture Prefix 不同,對開發者來說也比較方便,用起來都差不多。 要在 Linux 上傳或下載檔案,要呼叫 HTTP 當然第一個想到的就是 curl 命令,呼叫 API 的過程中有一些產生 Signature 的步驟比較麻煩,拜了 Google 大神後,把方法寫成 Script 可以方便以後使用,程式放在 GitHub,使用的方法如下: 一開始可以透過以下命令設定組態,會將連線設定儲存於 ~/.ceph-cp.conf 檔案中: ./ceph-cp --init 要將本地檔案複製到 Ceph 所指定的 Bucket 中可以用以下命令: ./ceph-cp [filename] [remote path]@[bucket] 從複製 Ceph Service 複製檔案回來本地使用以下命令 ./ceph-cp [remote path]@[bucket] [filename] 如果沒有設定 --init,也可以直接指定 Service Key, Secret, Host 進行呼叫,如下: ./ceph-cp -h http://192.168.0.1 -k ESe8dJDS3988duy -s 48FDg4DFIjeiwe4e90 需要的人請自行服用,謝謝。 分享到 Twitter(在新視窗中開啟) 按一下以分享至 Facebook(在新視窗中開啟) 分享到 LinkedIn(在新視窗中開啟) 點這裡寄給朋友(在新視窗中開啟) 按一下即可分享至 Skype(在新視窗中開啟) 分享到 Reddit(在新視窗中開啟) 分享到 Tumblr(在新視窗中開啟) 按一下以分享到 Telegram(在新視窗中開啟)

本文由toright提供 原文連結

寫了 5860316篇文章,獲得 23313次喜歡
精彩推薦