幕後的物件存儲,或如何成為自己的服務提供者

1996 年,世界看到了第一個物件儲存原型。 10 年後,Amazon Web Services 將推出 Amazon S3,世界將開始有系統地為扁平位址空間而瘋狂。 由於使用元資料及其在負載下不下降的擴展能力,物件儲存很快就成為大多數雲端資料儲存服務的標準,而且不僅如此。 另一個重要功能是它非常適合儲存檔案和類似的很少使用的文件。 每個參與資料儲存的人都欣喜若狂,並把新科技擁在懷裡。

幕後的物件存儲,或如何成為自己的服務提供者

但人們的謠言充滿了對象存儲只是關於大雲的謠言,如果你不需要該死的資本家的解決方案,那麼你將很難製作自己的解決方案。 關於部署自己的雲端的文章已經有很多,但關於創建所謂的 S3 相容解決方案的資訊還不夠。

因此,今天我們將弄清楚有哪些選項“這樣它就像成人一樣,而不是 CEPH 和更大的文件”,我們將部署其中之一,並使用 Veeam Backup & Replication 檢查一切是否正常。 它聲稱支援使用 S3 相容的存儲,我們將測試這一聲明。

其他人呢?

我建議首先對市場和物件儲存選項進行簡要概述。 公認的領導者和標準是 Amazon S3。 兩個最接近的追蹤者是 Microsoft Azure Blob Storage 和 IBM Cloud Object Storage。

這就是全部? 真的沒有其他競爭對手嗎? 當然,也有競爭對手,但有些則各行其是,例如 Google Cloud 或 Oracle Cloud Object Storage,對 S3 API 的支援不完整。 有些使用舊版本的 API,例如百度雲。 而有些,例如日立雲,需要特殊的邏輯,這肯定會造成其自身的困難。 無論如何,大家都跟亞馬遜做比較,也算是業界標準。

但在本地解決方案中,有更多的選擇,所以讓我們概述一下對我們來說重要的標準。 原則上,只有兩個就夠了:支援S3 API和使用v4簽章。 說實話,我們作為未來的客戶,只對互動介面感興趣,而對儲存設施本身的內部廚房並不那麼感興趣。

許多解決方案都符合這些簡單的條件。 例如,經典的企業重量級人物:

  • 戴爾易安信ECS
  • NetApp S3 儲存網格
  • Nutanix 水桶
  • 純儲存 FlashBlade 和 StorReduce
  • 華為FusionStorage

有一些開箱即用的純軟體解決方案:

  • 紅帽 Ceph
  • SUSE 企業存儲
  • Cloudian

即使是那些喜歡在組裝後仔細歸檔的人也沒有被冒犯:

  • 最純粹的 CEPH 形式
  • Minio(Linux版本,因為Windows版本有很多問題)

該列表還遠未完成;可以在評論中討論。 只是在實施之前不要忘記檢查系統效能以及 API 相容性。 您最不想看到的就是由於查詢卡住而丟失數 TB 的資料。 因此,不要羞於進行負載測試。 一般來說,所有處理大量數據的成人軟體至少都有相容性報告。 的情況下 Veeam公司整個節目 相互測試,這使我們能夠自信地聲明我們的產品與特定設備的完全相容性。 這已經是一項雙向工作,並不總是很快,但我們正在不斷擴展 名單 經過測試的解決方案。

組裝我們的展位

我想談談選擇測試對象的問題。

首先,我想找一個開箱即用的選項。 好吧,或者至少以最大的可能性它會起作用,而不需要進行不必要的動作。 在晚上敲著手鼓跳舞並擺弄控制台是非常令人興奮的,但有時您希望它立即工作。 而且此類解決方案的整體可靠性通常更高。 是的,冒險主義精神已經在我們身上消失了,我們已經停止爬進我們心愛的女人的窗戶,等等(c)。

其次,說實話,使用物件儲存的需求出現在相當大的公司中,因此在這種情況下尋求企業級解決方案不僅不是可恥的,甚至是值得鼓勵的。 無論如何,我還不知道有任何人因購買此類解決方案而被解僱的例子。

基於以上所有,我的選擇是 Dell EMC ECS 社群版。 這是一個非常有趣的項目,我認為有必要向大家介紹一下。

當你看到插件時第一個想到的就是 社區版 - 這只是一個完整的 ECS 的副本,其中一些限制可以透過購買許可證來消除。 所以不行!

請記住:

!!!社區版是一個為測試而創建的獨立項目,沒有戴爾的技術支援!
即使您真的想要,它也無法轉變為成熟的 ECS。

讓我們弄清楚一下

許多人認為,如果您需要物件存儲,Dell EMC ECS 幾乎是最佳解決方案。 ECS品牌下的所有項目,包括商業和企業項目,均基於 知乎。 這是戴爾的善意姿態。 除了在其品牌硬體上運行的軟體之外,還有一個開源版本,可以部署在雲端、虛擬機器上、容器中或您自己的任何硬體上。 展望未來,甚至還有 OVA 版本,我們將使用它。
DELL ECS 社群版本身就是成熟軟體的迷你版本,可在品牌 Dell EMC ECS 伺服器上運作。

我發現了四個主要區別:

  • 不支援加密。 這是一種恥辱,但並不重要。
  • 織物層缺失。 這個東西負責建置叢集、資源管理、更新、監控和儲存Docker映像。 這是已經很令人反感的地方了,但戴爾也可以理解。
  • 上一點最噁心的後果:安裝完成後無法擴充節點大小。
  • 沒有技術支援。 這是一個用於測試的產品,不禁止在小型安裝中使用,但我個人不敢在那裡上傳PB級的重要資料。 但從技術上講,沒有人可以阻止你這樣做。

幕後的物件存儲,或如何成為自己的服務提供者

大版本裡有什麼?

讓我們馳騁歐洲,探索鐵定的解決方案,以便對生態系統有更全面的了解。

我不會以某種方式確認或反駁 DELL ECS 是最好的本地對象存儲這一說法,但如果您對這個主題有話要說,我很樂意在評論中閱讀。 至少根據版本 2018 年 IDC 市場景觀 Dell EMC 自信地躋身 OBS 市場前五名領導者之列。 儘管其中沒有考慮基於雲端的解決方案,但這是一個單獨的對話。

從技術角度來看,ECS是一種物件存儲,透過雲端儲存協定提供對資料的存取。 支援 AWS S3 和 OpenStack Swift。 對於啟用檔案的儲存桶,ECS 支援 NFSv3 進行逐檔案匯出。

記錄資訊的過程非常不尋常,尤其是在經典的區塊儲存系統之後。

  • 當新資料到達時,會建立一個具有名稱、資料本身和元資料的新物件。
  • 物件被分成 128 MB 的區塊,每個區塊一次寫入三個節點。
  • 索引檔案被更新,其中記錄了標識符和儲存位置。
  • 日誌檔案(日誌條目)被更新並寫入三個節點。
  • 向客戶端發送錄音成功的訊息
    資料的所有三個副本都是並行寫入的。 只有當所有三個副本都寫入成功時,才認為寫入成功。

幕後的物件存儲,或如何成為自己的服務提供者

閱讀更容易:

  • 客戶端請求資料。
  • 索引尋找資料的儲存位置。
  • 資料從一個節點讀取並發送到客戶端。

幕後的物件存儲,或如何成為自己的服務提供者

伺服器本身有相當多,所以讓我們看看最小的 Dell EMC ECS EX300。 它從 60TB 開始,可以成長到 1,5PB。 它的老兄 Dell EMC ECS EX3000 允許您每個機架儲存多達 8,6PB 的資料。

部署

從技術上講,Dell ECS CE 可以根據您的需求進行部署。 無論如何,我沒有發現任何明確的限制。 然而,透過克隆第一個節點來完成所有縮放是很方便的,為此我們需要:

  • 8個vCPU
  • RAM 64GB
  • 16GB 用於作業系統
  • 1TB直接存儲
  • CentOS 最小化最新版本

當您想要從一開始就自己安裝所有內容時,這是一個選項。 這個選項與我們無關,因為...... 我將使用 OVA 映像部署。

但無論如何,即使是一個節點,要求也是非常邪惡的,如果你嚴格遵守法律條文,那麼你需要四個這樣的節點。

然而,ECS CE開發者生活在現實世界中,即使只有一個節點也能安裝成功,最低要求是:

  • 4個vCPU
  • 16 GB RAM
  • 16 GB 用於作業系統
  • 本身儲存容量為 104 GB

這些是部署 OVA 映像所需的資源。 已經更加人性化和現實了。

安裝節點本身可以從官方獲取 GitHub上。 還有關於一體化部署的詳細文檔,但您也可以閱讀官方 閱讀文件。 因此,我們不會詳細討論OVA的展開,那裡沒有任何技巧。 最重要的是,在啟動之前,不要忘記將磁碟擴展到所需的捲,或附加必要的捲。
我們啟動機器,打開控制台並使用最佳的預設憑證:

  • 登入: 管理員
  • 密碼: 更改我

然後我們運行 sudo nmtui 並配置網路介面 - IP/遮罩、DNS 和網關。 請記住,CentOSminimal 沒有網路工具,我們透過 ip addr 檢查設定。

幕後的物件存儲,或如何成為自己的服務提供者

由於只有勇敢者才能征服海洋,因此我們進行了 yum 更新,然後重新啟動。 實際上相當安全,因為... 所有部署都是透過 playbook 完成的,所有重要的 docker 軟體包都鎖定為目前版本。

現在是時候編輯安裝腳本了。 沒有花哨的視窗或偽用戶介面 - 一切都是透過您最喜歡的文字編輯器完成的。 從技術上講,有兩種方法:您可以手動執行每個命令或立即啟動 videoploy 配置器。 它只會在 vim 中開啟配置,退出時它將開始檢查它。 但刻意簡化你的生活並不有趣,所以讓我們再執行兩個指令。 雖然這毫無意義,但我警告過你 =)

因此,讓我們建立 vim ECS-CommunityEdition/deploy.xml 並進行最佳的最小更改,以便 ECS 啟動並執行。 參數列表可以縮短,但我是這樣做的:

  • Licensed_accepted: true 您不必更改它,那麼在部署時將明確要求您接受它,並會顯示一個不錯的短語。 也許這甚至是一個復活節彩蛋。
    幕後的物件存儲,或如何成為自己的服務提供者
  • 取消註釋 autonames: 和 custom: 至少輸入一個所需的節點名稱 - 主機名稱將在安裝過程中替換為該名稱。
  • install_node: 192.168.1.1 指定節點的真實IP。 在我們的例子中,我們指示與 nmtui 中相同的內容
  • dns_domain:輸入您的網域名稱。
  • dns_servers:輸入您的 DNS。
  • ntp_servers:您可以指定任何一個。 我從 0.pool.ntp.org 池中找到了第一個(它變成了 91.216.168.42)
  • autonaming: custom 如果不取消註釋,月亮將被稱為 Luna。
  • ecs_區塊_設備:
    的/ dev / sdb的
    由於某些未知原因,可能存在不存在的區塊儲存裝置 /dev/vda
  • 儲存池:
    成員:
    192.168.1.1 這裡再次表示節點的真實IP
  • ecs_區塊_設備:
    /dev/sdb 我們重複刪除不存在裝置的操作。

一般來說,整份文件非常詳細地描述在 文件但誰會在這樣的亂世裡讀它呢。 它還說,至少指定 IP 和遮罩就足夠了,但在我的實驗室中,這樣的一組啟動效果相當差,我不得不將其擴展為上面指定的。

幕後的物件存儲,或如何成為自己的服務提供者

退出編輯器後,您需要執行 update_deploy /home/admin/ECS-CommunityEdition/deploy.yml,如果一切都正確完成,則會明確報告這一點。

幕後的物件存儲,或如何成為自己的服務提供者

然後您仍然需要執行 videoploy,等待環境更新,您可以使用 ova-step1 命令開始安裝本身,並在成功完成後使用 ova-step2 命令。 重要提示:不要手動停止腳本! 某些步驟可能需要花費大量時間,第一次嘗試可能無法完成,並且可能看起來一切都已損壞。 無論如何,你需要等待腳本自然完成。 最後您應該會看到與此類似的訊息。

幕後的物件存儲,或如何成為自己的服務提供者

現在我們終於可以使用我們所知道的IP開啟WebUI控制面板了。 如果目前未更改配置,則預設帳戶將為root/ChangeMe。 您甚至可以立即使用我們的 S3 相容儲存。 它可在 HTTP 連接埠 9020 和 HTTPS 連接埠 9021 上使用。 同樣,如果沒有任何更改,則 access_key: object_admin1 和 Secret_key: ChangeMeChangeMeChangeMeChangeMeChangeMe。

但我們不要操之過急,按順序開始吧。

幕後的物件存儲,或如何成為自己的服務提供者

當您第一次登入時,您將被強制將密碼變更為正確的密碼。 主儀表板非常清晰,所以讓我們做一些比解釋明顯指標更有趣的事情。 例如,讓我們建立一個用於存取儲存空間的使用者。 在服務提供者的世界中,這些人被稱為租戶。 這是在「管理」>「使用者」>「新物件使用者」中完成的

幕後的物件存儲,或如何成為自己的服務提供者

建立使用者時,我們需要指定一個命名空間。 從技術上講,沒有什麼可以阻止我們創建盡可能多的用戶。 反之亦然。 這使您可以獨立管理每個租戶的資源。

因此,我們選擇我們需要的功能並產生用戶密鑰。 S3/Atmos 對我來說就夠了。 並且不要忘記保存密鑰😉

幕後的物件存儲,或如何成為自己的服務提供者

用戶已創建,現在是時候為他分配一個儲存桶了。 前往管理 > 儲存桶並填寫必填欄位。 這裡一切都很簡單。

幕後的物件存儲,或如何成為自己的服務提供者

現在我們已做好一切準備,可以在戰鬥中使用 S3 儲存了。

設定 Veeam

因此,正如我們所記得的,物件儲存的主要用途之一是長期儲存很少存取的資訊。 一個理想的例子是需要在遠端站點儲存備份。 在 Veeam Backup & Replication 中,此功能稱為容量層。

讓我們開始設置,將 Dell ECS CE 添加到 Veeam 介面。 在「備份基礎架構」標籤上,啟動「新增儲存庫精靈」並選擇「物件儲存」。

幕後的物件存儲,或如何成為自己的服務提供者

讓我們選擇這一切的初衷——S3 相容。

幕後的物件存儲,或如何成為自己的服務提供者

在出現的視窗中,輸入所需的名稱並轉到“帳戶”步驟。 此處您需要在表格中指定服務點 https://your_IP:9021,可以保留該區域並新增已建立的使用者。 如果您的儲存空間位於遠端站點,則需要門伺服器,但這已經是優化基礎架構的主題和單獨的文章,因此您可以安全地在此處跳過它。

幕後的物件存儲,或如何成為自己的服務提供者

如果所有內容都指定並配置正確,則會出現有關憑證的警告,然後出現一個帶有儲存桶的窗口,您可以在其中為我們的檔案建立資料夾。

幕後的物件存儲,或如何成為自己的服務提供者

我們完成嚮導直至最後並享受結果。

幕後的物件存儲,或如何成為自己的服務提供者

下一步是建立一個新的橫向擴展備份儲存庫,或將我們的 S3 新增至現有備份儲存庫 - 它將用作歸檔儲存的容量層。 目前版本中沒有像常規儲存庫那樣直接使用 S3 相容儲存的功能。 要實現這一目標,需要解決太多相當不明顯的問題,但一切都有可能。
轉到儲存庫設定並啟用容量層。 那裡的一切都是透明的,但有一個有趣的細微差別:如果您希望所有數據盡快發送到對象存儲,只需將其設置為 0 天即可。

幕後的物件存儲,或如何成為自己的服務提供者

完成精靈後,如果您不想等待,可以在儲存庫上按 ctrl+RMB,強制執行分層作業並觀察圖表爬行。

幕後的物件存儲,或如何成為自己的服務提供者

目前為止就這樣了。 我認為我成功地表明了塊存儲並不像人們想像的那麼可怕。 是的,有貨車和小型推車的解決方案和選項,但您無法在一篇文章中涵蓋所有內容。 那麼讓我們在評論中分享我們的經驗。

來源: www.habr.com

添加評論