小孩子们的MinIo

当您需要轻松轻松地组织对象存储时,MinIO是一个很好的解决方案。基本的自定义,多个平台和良好的性能已在人们的喜爱领域中发挥了作用。因此,除了一个月前宣布Veeam Backup&Replication与MinIO的兼容性之外,我们别无选择包括诸如不变性这样的重要功能。实际上,MinIO在用于集成的文档中有一整内容。



因此,今天我们将讨论如何:



  • 设置MinIO的速度非常快。
  • 设置MinIO的速度较慢,但​​更好。
  • 将其用作Veeam SOBR可扩展存储库的存档层。






你是做什么的?



对于尚未遇到MinIO的人的简短介绍。它是与Amazon S3 API兼容的开源对象存储。它是在Apache v2许可下发布的,并遵循Spartan极简主义的哲学。



也就是说,它没有包含仪表板,图表和众多菜单的扩展GUI。MinIO只需使用一个命令即可启动其服务器,您可以在其中使用S3 API的全部功能简单地存储数据。但是应该注意的是,这种简单性对于所使用的资源可能是欺骗性的。RAM和CPU可以很好地吸收,但是原因如下。而且,顺便说一下,FreeNAS和TrueNAS之类的组合在后台使用了MinIO。



简介可以完成。



设置MinIO的速度非常快



设置如此之快,以至于我们将在Windows和Linux上进行介绍。有docker,kubernetis甚至makosi的选项,但含义到处都是一样的。



因此,对于Windows,请访问官方网站https://min.io/download#/windows并下载最新版本。在同一位置,我们看到启动说明:



 minio.exe server F:\Data


另外,还有指向更详细的快速入门指南的链接不相信这些说明是没有意义的,因此我们运行并得到类似的内容。





就这样!存储设备正在工作,您可以开始使用它。当我说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%\。Minio \ certs
  • 如果是$ {HOME}中的Linux,/。Minio / certs 
  • 我们重启服务器


Banal 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清除编码



首先,关于这个主题的几句话。简而言之:这是软件保护数据免受损坏和丢失。就像突袭一样,只有更可靠了。虽然经典的RAID6可以损失两个驱动器,但MinIO却可以轻松损失一半。该技术在官方指南中有更详细的描述但是,如果从本质上讲,这就是里德-所罗门代码的实现:所有信息都以数据块的形式存储,奇偶校验块位于该数据块中。似乎所有这些操作已经完成了很多次,只有一个重要的“但是”:我们可以明确指出存储对象的奇偶校验块与数据块的比率。

想要1:1吗?别客气!

想要5:2?没问题!



如果您一次使用多个节点,并且希望在最大数据安全性和消耗的资源之间找到自己的平衡,则这是一项非常重要的功能。 MinIO开箱即用,使用N / 2公式(其中N是磁盘总数),即在N / 2个数据磁盘和N / 2个奇偶校验磁盘之间划分数据。转换为人类:您可能会丢失一半的磁盘并恢复数据。此比率是通过Storage Class设置的,可让您独立选择哪个更重要:可靠性或容量。



该指南提供了一个示例:假设您在16个磁盘上进行了安装,并且需要保存100 MB的文件。如果使用默认设置(8个磁盘用于数据,8个用于奇偶校验块),则文件最终将占用几乎两倍的大小,即200 MB。如果驱动器比率为10/6,则需要160 MB。 14/2-114 Mb。



与RAID的另一个重要区别是:如果磁盘丢失,MinIO将在对象级别上工作,在不停止整个系统的情况下逐个还原。尽管正常的袭击将被迫恢复整个卷,但这将花费不可预测的时间。在作者的记忆中,磁盘架在丢失了两个磁盘后被重新计算了一个半星期。这是非常不愉快的。



还有一个重要的注意事项:MinIO使用最大的集大小将用于擦除编码的所有磁盘分为4到16个磁盘集。将来,一条信息将仅存储在一组中。



所有这些听起来都很棒,但是设置会有多困难?让我们来看看。我们使用命令来启动,并简单列出需要在其上创建存储的磁盘。如果一切都正确完成,那么在报告中,我们将看到已用磁盘的数量。并建议将一半的磁盘一次添加到一个主机是没有用的,因为这会丢失数据。



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




此外,为了控制和定制MinIO我们需要一个代理,你可以下载所有的服务器一样与官方网站。



为了不让您的手指掉线,每次输入地址和访问键(这都是不安全的),在初次使用mc别名集<YOUR-MINIO-ENDPOINT> [YOUR-ACCESS-KEY] [YOUR-SECRET-键]



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


--debug使您不仅可以查看最终消息,还可以查看更多详细信息。 



-l表示--with-lock,表示不可变。



如果现在返回Web界面,新的存储桶将显示在此处。





目前为止就这样了。我们已经创建了一个安全的存储,并准备继续与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_MACHINE \ SOFTWARE \ Veeam \ Veeam备份和复制\中创建一个DWORD密钥SOBRArchiveS3DisableTLS。将其值设置为1,请记住,我们强烈反对这种行为,因此请勿将其推荐给任何人。



再次注意!如果由于某种误解而继续使用Windows 2008 R2,那么当您尝试将MinIO连接到Veeam时,您很可能会收到类似于以下内容的错误:无法建立与Amazon S3终端节点的连接。Microsoft提供了一个官方补丁来处理此问题



好了,准备工作结束了,让我们打开VBR界面并转到“备份基础结构”选项卡,在此我们将调用向导来添加新的存储库。





当然,我们对对象存储感兴趣,即S3兼容。在打开的向导中,设置名称,并使用地址和帐户完成所有步骤。如果需要,请不要忘记指定对存储请求进行代理的门。





然后选择存储桶,文件夹,并勾选“使最近备份不变”复选框。否则我们不会。但是由于我们已经建立了一个支持此功能的存储库,所以不使用它是一个罪过。





下一步>完成并享受结果。



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





在这里,我们需要选择要使用的方案。在另一篇文章中对所有选项进行了很好的描述,因此我不再赘述



。向导完成后,将自动启动复制或传输备份的任务。但是,如果您不打算立即在所有系统上发布负载,请确保通过“窗口”按钮设置允许的工作间隔。





而且,当然,您可以进行单独的备份复制作业。某些人认为这更加方便,因为它们对于不想钻研资本射击场操作细节的用户来说更加透明和可预测。而且有足够的详细信息,因此我再次推荐上面链接中的相应文章。



最后-阴险问题的答案:如果您仍然选择并尝试从Immutable存储中删除备份,将会发生什么?



答案是:





今天就这些。传统上,请获取有关该主题的有用主题列表:






All Articles