← شروع آموزش

WIUNIX ACADEMY

آموزش MinIO پس از بایگانی؛ آزمایشگاه خصوصی S3 از کد ثابت

صفحهٔ 4 از 4؛ مراحل قبلی و پیش‌نیازها را پیش از ادامه مرور کن.

آموزش متناسب با محیط تو

کجا اجرا می‌کنی؟

سیستم‌عامل و نسخه را انتخاب کن تا مراحل، دستورها و راه‌حل‌ها برای همان محیط نمایش داده شوند.

Debian12بررسی‌شده با مستندات رسمی ·

آموزش متناسب با مقادیر تو

تنظیمات این آموزش

مقادیر نمونه را برای محیط خودت تنظیم کن؛ متن و دستورهای مرتبط با هم تغییر می‌کنند. رمز، کلید خصوصی و توکن وارد نکن. مقادیر فقط در همین زبانه نگهداری می‌شوند و به سرور یا لینک اشتراک‌گذاری فرستاده نمی‌شوند. پیش از اجرا، DNS، گواهی‌ها و سیاست شبکهٔ واقعی را بررسی کن.

آی‌پی، دامنه یا پورت مثال‌ها با محیط تو فرق دارد؟ دکمهٔ زیر را باز کن، مقادیر را تغییر بده و «اعمال در آموزش» را بزن؛ سپس دستورهای به‌روز‌شده را کپی کن.

تنظیم مقادیر برای محیط من6 مقدار قابل‌تغییر

خطای گواهی، ساعت و فضای ذخیره‌سازی را بررسی کنید

گواهی self-signed باید با اعتماد پیش‌فرض رد و با اعتماد صریح آزمایشگاه پذیرفته شود. Connection refused معمولاً به namespace یا پورت نادرست یا فرایند متوقف مربوط است. AccessDenied در آزمون باکت دیگر و حذف طبیعی است؛ در موارد دیگر action و resource policy را بررسی کنید. SignatureDoesNotMatch می‌تواند از endpoint، Host، path، query، ساعت یا اعتبارنامه باشد. خطای کمبود فضا را پیش از تکرار عملیات بررسی کنید.

bash

داخل کانتینر آزمایشگاهی · ترمینال

set -eu
python3 - <<'PY'
import ssl,urllib.request,urllib.error
url='https://127.0.0.1:19000/minio/health/ready'
try: urllib.request.urlopen(url,timeout=3)
except urllib.error.URLError: print('Expected: untrusted certificate rejected')
else: raise AssertionError('Unexpected system trust')
ctx=ssl.create_default_context(cafile='/srv/academy-minio/certs/public.crt')
with urllib.request.urlopen(url,context=ctx,timeout=3) as q: assert q.status==200
print('Explicit trust: ready200')
PY
df -h '/srv/academy-minio/data'
date -u
13

قدم بعدی

فقط فرایند و کانتینر همین آزمایشگاه را متوقف کنید

پیش از signal، مسیر executable و data root مربوط به PID ثبت‌شده کنترل می‌شود. برای بررسی، کانتینر متوقف و داده را نگه دارید. حذف پوشهٔ داده، کپی فایل داخلی erasure یا اجرای باینری قدیمی روی فرادادهٔ ارتقایافته راه میان‌بُر بازیابی نیست. اگر شروع ناموفق بود، لاگ خصوصی را محلی بررسی کنید و ارسال نکنید؛ پس از رفع علت، برای تکرار از آزمایشگاه تازه و خالی استفاده کنید.

bash

داخل کانتینر آزمایشگاهی · ترمینال

set -eu
python3 - <<'PY'
import os,signal
from pathlib import Path
r=Path('/srv/academy-minio');pid=int((r/'run/server.pid').read_text(encoding='utf-8'))
assert os.readlink('/proc/'+str(pid)+'/exe')==str(r/'bin/minio'), 'PID identity mismatch'
cmd=(Path('/proc')/str(pid)/'cmdline').read_bytes().split(b'\0')
assert str(r/'data').encode() in cmd, 'Wrong data root'
os.kill(pid,signal.SIGTERM)
print('SIGTERM sent only to verified lab child; data and private files retained')
PY
exit
از کجا بدانم درست انجام شد؟

فرایند تأییدشده SIGTERM می‌گیرد، فقط academy-minio-lab متوقف می‌شود و سرویس میزبان یا باکت واقعی تغییر نکرده است.

14

قدم بعدی

کانتینر نام‌گذاری‌شده را از میزبان VM متوقف کنید

دستور exit در مرحلهٔ قبل شما را به میزبان ماشین مجازی آزمایشی برگرداند. این کادر جداگانه را آنجا اجرا کنید. کانتینر متوقف، دادهٔ ساختگی و فایل خصوصی را نگه می‌دارد و کانتینر دیگری متوقف نمی‌شود. کانتینر و اعتبارنامه‌هایش را به منبع انتشار منتقل نکنید.

bash

میزبان ماشین مجازی آزمایشی · ترمینال

set -eu
podman stop --time 10 'academy-minio-lab'
podman inspect 'academy-minio-lab' --format '{{.State.Status}}'
از کجا بدانم درست انجام شد؟

فقط academy-minio-lab وضعیت exited دارد.

پیش از دادهٔ واقعی، مسیر نگهداری معتبر انتخاب کنید

برای استفادهٔ عملیاتی تازه، شرایط و محدودیت‌های امروز AIStor Free در حالت standalone یا پشتیبانی AIStor Enterprise را از خود فروشنده بررسی کنید؛ راهکار مستقلِ دارای نگهداری هم باید با هویت و قرارداد خودش ارزیابی شود. این‌ها با فایل Community ساخته‌شده از آرشیو یکسان نیستند. این صفحه مجوزی تهیه نمی‌کند و SLA فروشنده نمی‌دهد. اگر MinIO موجود دارید، build و امکانات S3 را فهرست کنید و پیش از تغییر مسیر داده، مهاجرت، بازگشت و بازیابی واقعی اپلیکیشن و object و فراداده را مستقل بیازمایید.

دامنهٔ شواهد این آموزش

شواهد مربوط به کانتینر مستقل Ubuntu24.04، دانلود و ساخت ورودی ثابت، فایل خصوصی، دو listener با TLS روی loopback، دسترسی محدود باکت، دو نسخهٔ ساختگی، منع فهرست باکت دیگر و حذف و رفت‌وبرگشت object جاری با مقایسهٔ بایت است. مسیر توزیع‌های دیگر مستنداتی است. سرویس، حساب، اعتبارنامه، شبکه و فایروال عملیاتی تغییر نکرده‌اند. تمدید TLS عمومی، نصب همهٔ OSها، ورود کنسول، HA، erasure، healing، Object Lock، KMS، بازیابی کامل نسخه‌ها و IAM یا بازیابی خارج میزبان تأیید نشده است.

پشتوانهٔ این آموزش

منابع رسمی

وضعیت بررسی هر محیط بالای صفحه مشخص است؛ بررسی مستندات به معنی اجرای عملی همهٔ نسخه‌ها نیست.

ادامهٔ مسیر

قدم بعدی تو

همهٔ آموزش‌های آکادمی ↗