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 端点的连接。 这可以通过官方补丁来解决 微软.

好了,准备工作完成了,我们打开VBR界面,进入备份基础设施选项卡,在这里我们将调用添加新存储库的向导。

MinIo 适合小孩子
当然,我们感兴趣的是对象存储,即S3 Compatible。 在打开的向导中,设置名称并执行指示地址和帐户的步骤。 如果需要,请不要忘记指定代理对存储的请求的入口。

MinIo 适合小孩子
然后选择存储桶、文件夹并选中“使最近的备份不可变”框。 或者我们不安装它。 但既然我们已经做了一个支持这个功能的存储设施,不使用它就是罪过。

MinIo 适合小孩子
下一步 > 完成并享受结果。

现在我们需要将其作为容量层添加到 SOBR 存储库中。 为此,我们要么创建一个新的,要么编辑一个现有的。 我们对容量层步骤感兴趣。

MinIo 适合小孩子
在这里我们需要选择我们将使用的场景。 所有选项在另一篇文章中都有很好的描述 文章,所以我不会重复自己

向导完成后,复制或传输备份的任务将自动启动。 但是,如果您的计划不包括立即在所有系统上放置负载,那么请务必设置可接受的时间间隔来处理“窗口”按钮。

MinIo 适合小孩子
当然,您可以执行单独的备份复制任务。 有些人认为这甚至更方便,因为对于不想深入研究射击场操作细节的用户来说,它们在某种程度上更加透明和可预测。 而且那里有足够的细节,所以我再次推荐上面链接中的相应文章。

最后,回答这个危险问题:如果您仍然尝试从不可变存储中删除备份,会发生什么?

答案如下:

MinIo 适合小孩子
这就是今天的全部内容。 按照真正的传统,获取有关该主题的有用主题列表:

来源: habr.com

添加评论