適合小孩子的 Minio

當您需要輕鬆簡單地組織物件儲存時,MinIO 是一個出色的解決方案。 基礎的設置、眾多的平台和良好的表現在大眾喜愛的領域中發揮了作用。 所以我們別無選擇,只能在一個月前聲明相容 Veeam Backup & Replication 與 MinIO。 包括Immutability這樣重要的特性。 事實上,MinIO有一整套 部分 在專門用於我們整合的文件中。

因此,今天我們就來談談如何:

  • 設定 MinIO 非常快。
  • 設定 MinIO 的速度稍慢,但要好得多。
  • 將其用作 Veeam SOBR 可擴充儲存庫的存檔層。

適合小孩子的 Minio

你是做什麼的?

為那些還沒有接觸過 MinIO 的人做一個簡短的介紹。 這是一個與 Amazon S3 API 相容的開源物件儲存。 在 Apache v2 許可下發布,並秉承斯巴達極簡主義的哲學。

也就是說,它沒有包含儀表板、圖表和大量選單的龐大 GUI。 MinIO 只需使用一個命令即可啟動其伺服器,您可以在其中使用 S3 API 的全部功能輕鬆儲存資料。 但應該注意的是,當涉及所使用的資源時,這種簡單性可能具有欺騙性。 RAM和CPU被完美吸收,但原因將在下面討論。 順便說一句,FreeNAS 和 TrueNAS 等組合在底層使用了 MinIO。

本次介紹到這裡就可以結束了。

設定 MinIO 非常快

設定速度非常快,我們將在 Windows 和 Linux 上查看它。 Docker、Kubernetis、甚至 MacOS 都有選項,但意義在任何地方都是相同的。

因此,如果是 Windows,請造訪官方網站 https://min.io/download#/windows 並下載最新版本。 在那裡我們也看到啟動說明:

 minio.exe server F:Data

還有一個稍微詳細一點的鏈接 快速入門指南。 不相信這些說明是沒有意義的,所以我們運行它並得到類似這樣的答案。

適合小孩子的 Minio
就這樣! 儲存正在工作,您可以開始使用它。 當我說 MinIO 是極簡主義並且可以工作時,我並不是開玩笑。 如果您點擊啟動期間提供的鏈接,則可以使用最多的功能來建立儲存桶。 然後就可以開始寫入資料了。

對於 Linux 愛好者來說,一切都一樣簡單。 最簡單的說明:


wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio
./minio server /data

結果將與之前看到的沒有什麼區別。 

設定MinIO更有意義一點

據我們了解,上一段是為了測試目的而放縱的。 而且,說實話,我們非常廣泛地使用 MinIO 進行測試,我們對此一點也不羞於承認。 當然,它是有效的,但在測試台之外忍受這種情況是一種恥辱。 因此,我們手裡拿著一份文件,開始記起它。

HTTPS

生產過程中的第一個強制性步驟是加密。 網路上已經有一百萬一千本為 MiniIO 添加證書的手冊,但他們的整體計劃是這樣的:

  • 建立證書
  • 如果是 Windows,則將其放在 C:Users%User%.miniocerts 中
  • 對於 Linux,位於 ${HOME}/.minio/certs 
  • 重新啟動伺服器

平庸的 Let's Encrypt 很無聊,到處都有描述,所以我們的路徑是武士的路徑,所以在 Windows 的情況下我們下載 Cygwin的,對於 Linux,我們只需檢查是否已安裝 openssl。 我們做了一些控制台魔術:

  • 建立金鑰: openssl ecparam -genkey -name prime256v1 | openssl ec -out private.key
  • 我們使用金鑰建立憑證: openssl req -new -x509 -days 3650 -key private.key -out public.crt
  • 將 private.key 和 public.crt 複製到上面指定的資料夾中
  • 重新啟動 MinIO

如果一切順利的話,那麼狀態中就會出現這樣的內容。

適合小孩子的 Minio

啟用 MinIO 糾刪碼

首先,簡單介紹一下這個主題。 簡而言之:這是一種保護資料免遭損壞和遺失的軟體。 就像突襲一樣,只是更加可靠。 如果經典 RAID6 可以承受遺失兩個磁碟的情況,那麼 MinIO 可以輕鬆應付一半磁碟的遺失。 該技術更詳細地描述於 官方指南。 但如果我們抓住本質,那麼這就是里德-所羅門碼的一種實現:所有資訊都以資料塊的形式存儲,資料塊有奇偶校驗塊。 似乎所有這些都已經做過很多次了,但是有一個重要的「但是」:我們可以明確指示儲存物件的奇偶校驗區塊與資料區塊的比率。
你想要1:1嗎? 請!
你想要5:2嗎? 沒問題!

如果您同時使用多個節點並希望在最大資料安全性和消耗的資源之間找到自己的平衡,那麼這是一個非常重要的功能。 MinIO 開箱即用,使用公式 N/2(其中 N 是磁碟總數),即將資料拆分為 N/2 個資料磁碟和 N/2 個奇偶校驗磁碟。 翻譯成人類的話:你可以丟失一半的磁碟並恢復資料。 這個關係是透過給予的 存儲類,讓您自己選擇更重要的一個:可靠性或容量。

該指南給出了以下範例:假設您在 16 個磁碟上進行了安裝,並且需要儲存大小為 100 MB 的檔案。 如果使用預設設定(8 個磁碟用於數據,8 個磁碟用於奇偶校驗區塊),則檔案最終將佔用幾乎兩倍的捲,即200MB。 如果磁碟比率為 10/6,則需要 160 MB。 14/2 - 114 MB。

與raid的另一個重要區別是:當磁碟發生故障時,MinIO將在物件層級工作,逐一恢復,而無需停止整個系統。 而常規的 raid 將被迫恢復整個卷,這將花費不可預測的時間。 作者記得有一個磁碟架,兩塊磁碟掉下來後,花了一週半的時間才重新計算。 這是相當不愉快的。

並且,重要提示:MinIO 使用最大可能的集合大小,將用於糾刪碼的所有磁碟分割為 4 到 16 個磁碟的集合。 未來,一個資訊元素將僅儲存在一組中。

這一切聽起來很酷,但是設定起來有多困難呢? 我們來看看吧。 我們運行命令並簡單地列出需要在其上建立儲存的磁碟。 如果一切都正確完成,那麼在報告中我們將看到涉及的磁碟數量。 並且建議不要一次向一台主機添加一半磁碟,因為這會導致資料遺失。

c:minio>minio.exe server F: G: H: I: J: K:

適合小孩子的 Minio
接下來,為了管理和設定 MinIO 伺服器,我們需要一個代理,您可以下載該代理 那裡 從官方網站。

為了不讓每次輸入地址和訪問鍵時都勞累手指(而且不安全),在第一次開始使用公式 mc alias set 時立即創建一個別名會很方便[您的存取金鑰] [您的秘密金鑰]

mc alias set veeamS3 https://172.17.32.52:9000 YOURS3ACCESSKEY YOURSECERTKE

或者您可以立即新增您的主機:

mc config host add minio-veeam https://minio.jorgedelacruz.es YOURS3ACCESSKEY YOURSECERTKEY

然後我們將與一個美麗的團隊創建一個不可變的桶

mc mb --debug -l veeamS3/immutable 

mc: <DEBUG> PUT /immutable/ HTTP/1.1
Host: 172.17.32.52:9000
User-Agent: MinIO (windows; amd64) minio-go/v7.0.5 mc/2020-08-08T02:33:58Z
Content-Length: 0
Authorization: AWS4-HMAC-SHA256 Credential=minioadmin/20200819/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-bucket-object-lock-enabled;x-amz-content-sha256;x-amz-date, Signature=**REDACTED**
X-Amz-Bucket-Object-Lock-Enabled: true
X-Amz-Content-Sha256: UNSIGNED-PAYLOAD
X-Amz-Date: 20200819T092241Z
Accept-Encoding: gzip
mc: <DEBUG> HTTP/1.1 200 OK
Content-Length: 0
Accept-Ranges: bytes
Content-Security-Policy: block-all-mixed-content
Date: Wed, 19 Aug 2020 09:22:42 GMT
Location: /immutable
Server: MinIO/RELEASE.2020-08-16T18-39-38Z
Vary: Origin
X-Amz-Request-Id: 162CA0F9A3A3AEA0
X-Xss-Protection: 1; mode=block
mc: <DEBUG> Response Time:  253.0017ms

- 偵錯 讓您不僅可以看到最終訊息,還可以看到更詳細的資訊。 

-l 意思是-with-lock,意思是不可變的

如果我們現在返回到 Web 介面,我們的新儲存桶將出現在那裡。

適合小孩子的 Minio
目前為止就這樣了。 我們已經創建了安全存儲,並準備繼續與 Veeam 整合。

您還可以確保一切正常:

c:minio>mc admin info veeamS3

●  172.17.32.52:9000
   Uptime: 32 minutes
   Version: 2020-08-16T18:39:38Z
   Network: 1/1 OK
   Drives: 6/6 OK
0 B Used, 1 Bucket, 0 Objects
6 drives online, 0 drives offline

MinIO 和 Veeam

警告! 如果您出於某種令人難以置信的原因想要透過 HTTP 進行工作,則在 HKEY_LOCAL_MACHINESOFTWAREVeeamVeeam Backup and Replication 建立一個 DWORD 鍵 SOBRArchiveS3停用TLS。 將其值設為 1,並記住我們強烈不贊成這種行為,也不向任何人推薦它。

再次注意! 如果由於某些誤解,您繼續使用 Windows 2008 R2,那麼當您嘗試將 MinIO 連接到 Veeam 時,您很可能會收到以下錯誤:無法建立與 Amazon S3 端點的連線。 這可以透過官方補丁來解決 Microsoft微軟.

好了,準備工作完成了,我們打開VBR介面,進入備份基礎設施選項卡,在這裡我們將呼叫新增儲存庫的精靈。

適合小孩子的 Minio
當然,我們感興趣的是對象存儲,即S3 Compatible。 在開啟的精靈中,設定名稱並執行指示位址和帳戶的步驟。 如果需要,請不要忘記指定代理程式對儲存的請求的入口。

適合小孩子的 Minio
然後選擇儲存桶、資料夾並選取「使最近的備份不可變」方塊。 或者我們不安裝它。 但既然我們已經做了一個支援這個功能的儲存設施,不使用它就是罪過。

適合小孩子的 Minio
下一步 > 完成並享受結果。

現在我們需要將其作為容量層添加到 SOBR 存儲庫中。 為此,我們要么創建一個新的,要么編輯一個現有的。 我們對容量層步驟有興趣。

適合小孩子的 Minio
在這裡我們需要選擇我們將要使用的場景。 所有選項在另一篇文章中都有很好的描述 文章,所以我不會重複自己

精靈完成後,複製或傳輸備份的任務將自動啟動。 但是,如果您的計劃不包括立即在所有系統上放置負載,那麼請務必設定可接受的時間間隔來處理「視窗」按鈕。

適合小孩子的 Minio
當然,您可以執行單獨的備份複製任務。 有些人認為這甚至更方便,因為對於不想深入研究射擊場操作細節的用戶來說,它們在某種程度上更加透明和可預測。 而且那裡有足夠的細節,所以我再次推薦上面鏈接中的相應文章。

最後,回答這個危險問題:如果您仍然嘗試從不可變儲存中刪除備份,會發生什麼?

答案如下:

適合小孩子的 Minio
這就是今天的全部內容。 按照真正的傳統,獲取有關該主題的有用主題清單:

來源: www.habr.com

添加評論