MinIo برای کوچولوها

MinIO یک راه حل عالی برای زمانی است که شما نیاز دارید به راحتی و به سادگی ذخیره سازی اشیاء را سازماندهی کنید. راه اندازی ابتدایی، پلتفرم های زیاد و عملکرد خوب کار خود را در زمینه عشق مردمی انجام داده است. بنابراین چاره ای جز اعلام سازگاری یک ماه پیش نداشتیم Veeam Backup & Replication و MinIO. از جمله ویژگی مهمی مانند Immutability. در واقع MinIO یک کل دارد بخش در اسناد اختصاص داده شده به ادغام ما.

بنابراین، امروز در مورد چگونگی صحبت خواهیم کرد:

  • راه اندازی MinIO بسیار سریع است.
  • راه اندازی MinIO کمی سریعتر است، اما بسیار بهتر است.
  • از آن به عنوان یک ردیف آرشیو برای مخزن مقیاس پذیر Veeam SOBR استفاده کنید.

MinIo برای کوچولوها

تو چی هستی؟

یک معرفی کوتاه برای کسانی که با MinIO مواجه نشده اند. این یک ذخیره سازی شی منبع باز است که با آمازون S3 API سازگار است. تحت مجوز Apache v2 منتشر شده و به فلسفه مینیمالیسم اسپارتی پایبند است.

یعنی رابط کاربری گرافیکی گسترده ای با داشبورد، نمودارها و منوهای متعدد ندارد. MinIO به سادگی سرور خود را با یک دستور راه اندازی می کند، جایی که می توانید داده ها را با استفاده از تمام قدرت API S3 ذخیره کنید. اما باید توجه داشت که این سادگی در مورد منابع مورد استفاده می تواند فریبنده باشد. RAM و CPU کاملاً جذب می شوند، اما دلایل آن در زیر مورد بحث قرار خواهد گرفت. و به هر حال، ترکیباتی مانند FreeNAS و TrueNAS از MinIO در زیر کاپوت استفاده می کنند.

این مقدمه می تواند در اینجا به پایان برسد.

راه اندازی MinIO بسیار سریع است

راه اندازی آن به قدری سریع است که ما آن را برای ویندوز و لینوکس بررسی خواهیم کرد. گزینه هایی برای Docker، و Kubernetis، و حتی برای MacOS وجود دارد، اما معنی در همه جا یکسان خواهد بود.

بنابراین، در مورد ویندوز، به وب سایت رسمی بروید https://min.io/download#/windows و آخرین نسخه را دانلود کنید. در آنجا دستورالعمل هایی را برای شروع می بینیم:

 minio.exe server F:Data

و همچنین پیوندی به یک پیوند کمی دقیق تر وجود دارد راهنمای سریع. باور نکردن دستورالعمل ها فایده ای ندارد، بنابراین آن را اجرا می کنیم و چیزی شبیه به این پاسخ می گیریم.

MinIo برای کوچولوها
همین! فضای ذخیره سازی کار می کند و می توانید کار با آن را شروع کنید. وقتی گفتم MinIO مینیمالیست و فقط کار می کند، شوخی نکردم. اگر پیوند ارائه شده در حین راه اندازی را دنبال کنید، حداکثر عملکردهای موجود برای ایجاد یک سطل است. و می توانید شروع به نوشتن داده ها کنید.

برای دوستداران لینوکس، همه چیز کمتر ساده نیست. ساده ترین دستورالعمل ها:


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

نتیجه غیر قابل تشخیص از آنچه قبلا دیده شده است. 

راه اندازی MinIO کمی معنادارتر است

همانطور که می‌دانیم، پاراگراف قبلی برای اهداف آزمایشی، نوازش کردن است. و، بیایید صادق باشیم، ما به طور گسترده ای از MinIO برای آزمایش استفاده می کنیم، که اصلاً از اعتراف آن شرم نداریم. البته، کار می کند، اما حیف است که این را فراتر از نیمکت های آزمایشی تحمل کنیم. بنابراین، ما یک فایل را در دستان خود می گیریم و شروع به یادآوری آن می کنیم.

HTTPS

اولین مرحله اجباری در مسیر تولید، رمزگذاری است. در حال حاضر یک میلیون و هزار دفترچه راهنما در شبکه برای افزودن گواهینامه به MiniIO وجود دارد، اما برنامه کلی آنها این است:

  • یک گواهی ایجاد کنید
  • در مورد ویندوز، آن را در C:Users%User%.miniocerts قرار دهید
  • برای Linux در ${HOME}/.minio/certs 
  • راه اندازی مجدد سرور

پیش پا افتاده Let's Encrypt خسته کننده است و در همه جا توصیف شده است، بنابراین مسیر ما مسیر سامورایی است، بنابراین در مورد ویندوز ما دانلود می کنیم Cygwinو در مورد لینوکس به سادگی بررسی می کنیم که 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 Erasure Coding را فعال کنید

ابتدا چند کلمه در مورد موضوع. به طور خلاصه: این نرم افزار محافظت از داده ها در برابر آسیب و از دست دادن است. مانند یک حمله، فقط بسیار قابل اعتماد تر است. اگر RAID6 کلاسیک توانایی از دست دادن دو دیسک را داشته باشد، MinIO می تواند به راحتی با از دست دادن نیمی از دیسک ها کنار بیاید. این فناوری با جزئیات بیشتری در توضیح داده شده است راهنمای رسمی. اما اگر ماهیت را در نظر بگیریم، این یک پیاده سازی از کدهای Reed-Solomon است: تمام اطلاعات در قالب بلوک های داده ذخیره می شود که دارای بلوک های برابری هستند. و به نظر می رسد که همه اینها قبلاً بارها انجام شده است ، اما یک "اما" مهم وجود دارد: ما می توانیم به صراحت نسبت بلوک های برابری به بلوک های داده را برای اشیاء ذخیره شده نشان دهیم.
آیا 1:1 می خواهید؟ لطفا!
آیا شما 5:2 می خواهید؟ مشکلی نیست!

یک ویژگی بسیار مهم اگر از چندین گره به طور همزمان استفاده می کنید و می خواهید تعادل خود را بین حداکثر امنیت داده و منابع مصرف شده پیدا کنید. خارج از جعبه، MinIO از فرمول N/2 (که در آن N تعداد کل دیسک ها است) استفاده می کند. داده های شما را بین دیسک های داده N/2 و دیسک های برابری N/2 تقسیم می کند. ترجمه به اصطلاحات انسانی: می توانید نیمی از دیسک ها را از دست بدهید و داده ها را بازیابی کنید. این رابطه از طریق داده می شود کلاس ذخیره سازی، به شما امکان می دهد آنچه را که مهم تر است برای خود انتخاب کنید: قابلیت اطمینان یا ظرفیت.

راهنما مثال زیر را ارائه می دهد: فرض کنید که روی 16 دیسک نصب دارید و باید فایلی با حجم 100 مگابایت ذخیره کنید. اگر از تنظیمات پیش‌فرض استفاده شود (۸ دیسک برای داده، ۸ دیسک برای بلوک‌های برابری)، در نهایت حجم فایل تقریباً دو برابر خواهد شد، یعنی. 8 مگابایت اگر نسبت دیسک 8/200 باشد، 10 مگابایت مورد نیاز است. 6/160 - 14 مگابایت.

تفاوت مهم دیگر با حملات: در صورت خرابی دیسک، MinIO در سطح شی کار می کند، بدون اینکه کل سیستم را متوقف کند، یک به یک بازیابی می کند. در حالی که یک حمله معمولی مجبور می شود کل حجم را بازیابی کند، که زمان غیرقابل پیش بینی طول می کشد. نویسنده قفسه دیسکی را به خاطر می آورد که پس از افتادن دو دیسک، محاسبه مجدد آن یک هفته و نیم طول کشید. کاملا ناخوشایند بود.

و یک نکته مهم: 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 به معنی - با قفل، که به معنای تغییر ناپذیر است

اگر اکنون به رابط وب برگردیم، سطل جدید ما در آنجا ظاهر می شود.

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 ایجاد کنید. SOBRArchiveS3DisableTLS. مقدار آن را 1 تنظیم کنید و به یاد داشته باشید که ما به شدت چنین رفتاری را تایید نمی کنیم و آن را به کسی توصیه نمی کنیم.

توجه دوباره! اگر به دلیل سوء تفاهم، همچنان از Windows 2008 R2 استفاده می کنید، پس زمانی که می خواهید MinIO را به Veeam وصل کنید، به احتمال زیاد با خطایی شبیه به این مواجه خواهید شد: اتصال به نقطه پایانی Amazon S3 برقرار نشد. این را می توان با یک پچ رسمی از مایکروسافت.

خوب، آماده سازی کامل است، اجازه دهید رابط VBR را باز کنیم و به تب Backup Infrastructure برویم، جایی که جادوگر را برای افزودن یک مخزن جدید فراخوانی می کنیم.

MinIo برای کوچولوها
البته، ما به ذخیره سازی Object، یعنی S3 Compatible علاقه داریم. در جادوگری که باز می‌شود، یک نام تنظیم کنید و مراحل نشان‌دهنده آدرس و حساب کاربری را طی کنید. در صورت لزوم، فراموش نکنید که دروازه ای را که از طریق آن درخواست های ذخیره سازی پروکسی می شود، مشخص کنید.

MinIo برای کوچولوها
سپس سطل، پوشه را انتخاب کنید و تیک گزینه Make latest backups immutable را بزنید. یا آن را نصب نمی کنیم. اما از آنجایی که ما یک مرکز ذخیره سازی ساخته ایم که از این عملکرد پشتیبانی می کند، استفاده نکردن از آن گناه است.

MinIo برای کوچولوها
بعد > تمام کنید و از نتیجه لذت ببرید.

اکنون باید آن را به عنوان یک ردیف ظرفیت به مخزن SOBR اضافه کنیم. برای انجام این کار، یا یک مورد جدید ایجاد می کنیم یا یک موجود را ویرایش می کنیم. ما به مرحله ظرفیت ردیف علاقه مندیم.

MinIo برای کوچولوها
در اینجا باید انتخاب کنیم که با کدام سناریو کار کنیم. همه گزینه ها به خوبی در دیگری توضیح داده شده است مقاله، بنابراین من خودم را تکرار نمی کنم

و پس از تکمیل جادوگر، وظایف کپی یا انتقال نسخه پشتیبان به طور خودکار راه اندازی می شود. اما اگر برنامه های شما شامل قرار دادن بار فوری بر روی همه سیستم ها نیست، حتما فواصل قابل قبولی را برای کار بر روی دکمه Window تنظیم کنید.

MinIo برای کوچولوها
و البته، می توانید کارهای جداگانه Backup Copy را انجام دهید. برخی معتقدند که این حتی راحت تر است، زیرا برای کاربری که نمی خواهد جزئیات عملکرد محدوده تیراندازی را بررسی کند تا حدودی شفاف تر و قابل پیش بینی تر است. و جزئیات کافی در آنجا وجود دارد، بنابراین یک بار دیگر مقاله مربوطه را در پیوند بالا توصیه می کنم.

و در نهایت، پاسخ به این سوال خائنانه: اگر همچنان سعی کنید نسخه پشتیبان را از ذخیره‌سازی Immutable حذف کنید، چه اتفاقی می‌افتد؟

در اینجا پاسخ است:

MinIo برای کوچولوها
برای امروز کافی است. به سنت واقعی، فهرست موضوعات مفید در مورد موضوع را بررسی کنید:

منبع: www.habr.com

اضافه کردن نظر