Минио за най-малките

MinIO е отлично решение, когато трябва лесно и просто да организирате съхранение на обекти. Елементарна настройка, много платформи и добро представяне са свършили работата си в областта на популярната любов. Така че нямахме друг начин, освен да декларираме съвместимост преди месец Veeam Backup & Replication и MinIO. Включително такава важна характеристика като неизменността. Всъщност MinIO има едно цяло раздел в документацията, посветена на нашата интеграция.

Затова днес ще говорим за това как:

  • Настройването на MinIO е много бързо.
  • Настройването на MinIO е малко по-малко бързо, но много по-добро.
  • Използвайте го като архивно ниво за Veeam SOBR Scalable Repository.

Минио за най-малките

Какво си ти?

Кратко въведение за тези, които не са срещали MinIO. Това е обектно хранилище с отворен код, съвместимо с API на Amazon S3. Издаден под лиценз 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 е минималистичен и просто работи. Ако следвате връзката, предложена по време на стартирането, максималните налични функции са за създаване на кофа. И можете да започнете да пишете данни.

За любителите на 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 Erasure Coding

Първо, няколко думи по темата. С две думи: това е софтуерна защита на данните от повреда и загуба. Като рейд, само че много по-надежден. Ако класическият RAID6 може да си позволи да загуби два диска, то MinIO лесно може да се справи със загубата на половината. Технологията е описана по-подробно в официално ръководство. Но ако вземем същността, тогава това е реализация на кодовете на Рийд-Соломон: цялата информация се съхранява под формата на блокове от данни, които имат блокове за паритет. И изглежда, че всичко това вече е направено много пъти, но има важно „но“: можем изрично да посочим съотношението на блоковете за паритет към блоковете с данни за съхранени обекти.
Искате ли 1:1? Моля те!
Искате ли 5:2? Няма проблем!

Много важна функция, ако използвате няколко възела наведнъж и искате да намерите собствен баланс между максималната сигурност на данните и изразходваните ресурси. Извън кутията MinIO използва формулата N/2 (където N е общият брой дискове), т.е. разделя вашите данни между N/2 дискове с данни и N/2 дискове за паритет. Превеждайки го на човешки език: можете да загубите половината от дисковете и да възстановите данните. Тази връзка е дадена чрез Клас на съхранение, което ви позволява сами да изберете кое е по-важно: надеждност или капацитет.

Ръководството дава следния пример: да предположим, че имате инсталация на 16 диска и трябва да запишете файл с размер 100 MB. Ако се използват настройките по подразбиране (8 диска за данни, 8 за блокове за паритет), тогава файлът в крайна сметка ще заеме почти двоен обем, т.е. 200 MB. Ако дисковото съотношение е 10/6, тогава ще са необходими 160 MB. 14/2 - 114 MB.

Друга важна разлика от нападенията: в случай на повреда на диска, MinIO ще работи на ниво обект, като възстановява един по един, без да спира цялата система. Докато редовното нападение ще бъде принудено да възстанови целия обем, което ще отнеме непредвидимо време. Авторът си спомня рафт за дискове, който след изпадане на два диска отне седмица и половина за преизчисляване. Беше доста неприятно.

И важна забележка: MinIO разделя всички дискове за Erasure Coding на комплекти от 4 до 16 диска, като използва максималния възможен размер на набора. И в бъдеще един елемент информация ще се съхранява само в рамките на един комплект.

Всичко това звучи много готино, но колко трудно ще бъде настройката? Нека да погледнем. Взимаме командата за изпълнение и просто изброяваме дисковете, на които трябва да се създаде хранилище. Ако всичко е направено правилно, тогава в отчета ще видим броя на включените дискове. И съветът е, че не е добре да добавяте наведнъж половината дискове към един хост, защото това ще доведе до загуба на данни.

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

Минио за най-малките
След това, за да управляваме и конфигурираме 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

--debug ви позволява да видите не само крайното съобщение, но и по-подробна информация. 

-l означава —with-lock, което означава неизменен

Ако сега се върнем към уеб интерфейса, нашата нова кофа ще се появи там.

Минио за най-малките
Това е всичко за сега. Създадохме защитено хранилище и сме готови да преминем към интеграция с 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 ключ SOBRArchiveS3DisableTLS. Задайте стойността му на 1 и не забравяйте, че ние категорично не одобряваме подобно поведение и не го препоръчваме на никого.

Отново внимание! Ако поради някакво недоразумение продължите да използвате Windows 2008 R2, тогава когато се опитате да свържете MinIO към Veeam, най-вероятно ще получите нещо подобно на грешка: Неуспешно установяване на връзка с крайна точка на Amazon S3. Това може да се лекува с официален пластир от Microsoft.

Е, подготовката приключи, нека отворим VBR интерфейса и отидем в раздела Backup Infrastructure, където ще извикаме съветника за добавяне на ново хранилище.

Минио за най-малките
Разбира се, ние се интересуваме от Object storage, а именно S3 Compatible. В съветника, който се отваря, задайте име и преминете през стъпките, посочващи адреса и акаунта. Ако е необходимо, не забравяйте да посочите портала, през който ще се изпращат заявки към хранилището.

Минио за най-малките
След това изберете кофата, папката и поставете отметка в квадратчето Make recent backups immutable. Или не го инсталираме. Но тъй като сме направили хранилище, което поддържа тази функция, би било грях да не го използваме.

Минио за най-малките
Следващ > Край и се насладете на резултата.

Сега трябва да го добавим към хранилището на SOBR като ниво на капацитет. За да направим това, или създаваме нов, или редактираме съществуващ. Ние се интересуваме от стъпката на ниво капацитет.

Минио за най-малките
Тук трябва да изберем по какъв сценарий ще работим. Всички опции са описани доста добре в друг Статия, така че няма да се повтарям

И след завършване на съветника автоматично ще се стартират задачи за копиране или прехвърляне на архиви. Но ако вашите планове не включват незабавно натоварване на всички системи, тогава не забравяйте да зададете приемливи интервали за работа върху бутона Window.

Минио за най-малките
И, разбира се, можете да изпълнявате отделни задачи за архивиране. Някои смятат, че това е дори по-удобно, тъй като те са малко по-прозрачни и предвидими за потребителя, който не иска да се задълбочава в подробностите за работата на стрелбището. И там има достатъчно подробности, така че отново препоръчвам съответната статия на връзката по-горе.

И накрая, отговорът на коварния въпрос: какво ще се случи, ако все пак се опитате да изтриете резервното копие от неизменното хранилище?

Ето отговора:

Минио за най-малките
Това е всичко за днес. В истинска традиция, хванете списък с полезни теми по темата:

Източник: www.habr.com

Добавяне на нов коментар