SSD Nodes Learn 8GB RAM — ஆண்டுக்கு $66
கல்வி வழிகாட்டிகள் Matt Connorஆல் Matt Connor · புதுப்பிக்கப்பட்டது 2026-08-01

Ubuntu 24.04-இல் MinIO ஆப்ஜெக்ட் ஸ்டோரேஜ் அமைப்பது எப்படி?

Ubuntu 24.04 VPS-இல் MinIO-வை நிறுவி சொந்த S3 ஸ்டோரேஜ் உருவாக்குவது எப்படி என்று பாருங்கள். systemd unit, mc கட்டளைகள் மற்றும் restic பேக்கப் அமைப்பதற்கான முழுமையான வழிகாட்டி.

Verified Every command ran end-to-end on a fresh Ubuntu 24.04 server, July 30, 2026.

MinIO மூலம் நீங்கள் பெறும் சுய-ஹோஸ்ட் செய்யப்பட்ட ஆப்ஜெக்ட் ஸ்டோரேஜ்

MinIO என்பது Amazon S3 API-ஐப் பயன்படுத்தும் ஒரு சுய-ஹோஸ்ட் செய்யப்பட்ட ஆப்ஜெக்ட் ஸ்டோரேஜ் ஆகும். restic அல்லது ஏதேனும் ஒரு S3 SDK-ஐ உங்கள் சொந்த சர்வரை நோக்கிச் சுட்டிக்காட்டி, ஒரு endpoint அமைப்பை மாற்றினால் போதும்; கிளையண்டிற்கு எந்த மாற்றமும் தெரியாது. இந்த வழிகாட்டி Ubuntu 24.04-இல் ஒரு சிங்கிள் நோடை உருவாக்குகிறது: சரிபார்க்கப்பட்ட பைனரி, பிரத்யேக சிஸ்டம் பயனர், root நற்சான்றிதழ்களை unit கோப்பில் வைக்காத ஒரு systemd unit, மற்றும் restic பேக்கப் எடுக்கும் ஒரு பக்கெட் (bucket).

S3 (simple storage service) என்பது ஒரு கோப்பு முறைமை (filesystem) அல்ல, இது ஒரு HTTP API ஆகும். நீங்கள் ஒரு ஆப்ஜெக்ட்டை ஒரு கீ-இன் கீழ் பக்கெட்டில் PUT செய்கிறீர்கள், அதை மீண்டும் GET செய்கிறீர்கள். இதில் பகுதிநிலை எழுத்து (partial write) அல்லது பெயர் மாற்றம் (rename) கிடையாது. பேக்கப் கருவிகள் இந்த மாதிரியை விரும்புகின்றன, ஏனெனில் ஒரு ஆப்ஜெக்ட் முழுமையாக வந்து சேர்ந்திருக்கும் அல்லது வந்திருக்காது.

ஒரு நோடு உங்கள் தரவின் ஒரு நகலை வைத்திருக்கும். இது நீங்கள் செய்யும் சமரசம். ஒரு VPS விலையில் நீங்கள் கட்டுப்படுத்தும் S3 endpoint-ஐப் பெறுகிறீர்கள், அதே சமயம் பழுதடைந்த டிஸ்க்கை மாற்றுவது முதல் சர்வர் மென்பொருளைப் பேட்ச் செய்வது வரை கிளவுட் வழங்குநர் செய்து வந்த அனைத்துப் பணிகளும் இப்போது உங்கள் பொறுப்பாகிறது. இந்தச் சமரசம் எப்போது பயனுள்ளது என்பதை இறுதிப் பகுதி தெளிவாக விளக்குகிறது.

ஜூலை 2026-ல் MinIO கம்யூனிட்டி எடிஷனின் நிலை

இதன் மேல் நீங்கள் கட்டமைப்புகளை உருவாக்குவதற்கு முன்பு இந்தப் பகுதியை வாசிக்கவும், ஏனெனில் இதில் சமீபத்தில் மாற்றங்கள் செய்யப்பட்டுள்ளன. மே 2025-ல், MinIO தனது கம்யூனிட்டி எடிஷனில் இருந்த நிர்வாக அம்சங்களை வெப் கன்சோலில் இருந்து நீக்கியது. பிரவுசரில் தற்போது ஆப்ஜெக்ட் பிரவுசர் மட்டுமே உள்ளது, எனவே பக்கெட்டுகள் (buckets) மற்றும் அக்சஸ் கீகள் (access keys) ஆகியவற்றை நிர்வகிக்க mc கமாண்ட் லைன் கிளையண்ட்டைப் பயன்படுத்த வேண்டும்.

2025-ன் பிற்பகுதியில், MinIO முன்கூட்டியே தொகுக்கப்பட்ட (pre-compiled) கம்யூனிட்டி பைனரிகளை வெளியிடுவதை நிறுத்தியது. கம்யூனிட்டி எடிஷன் தற்போது சோர்ஸ் கோடாக மட்டுமே விநியோகிக்கப்படுவதாக புராஜெக்ட் README குறிப்பிடுகிறது. பழைய டவுன்லோட் URL-கள் இன்னும் வேலை செய்கின்றன: ஜூலை 2026 நிலவரப்படி, அவை சர்வர் பில்டு RELEASE.2025-09-07T16-13-09Z மற்றும் கிளையண்ட் பில்டு RELEASE.2025-08-13T08-35-41Z ஆகியவற்றை வழங்குகின்றன, மேலும் புதிய கம்யூனிட்டி பில்டு எதுவும் வெளியாகவில்லை. எனவே, கீழே உள்ள பைனரி உண்மையானது மற்றும் அது இயங்கக்கூடியது, ஆனால் அது மாற்றங்களுக்கு உட்படுத்தப்படாத நிலையில் (frozen) உள்ளது. செப்டம்பர் 2025-க்குப் பிறகு வெளியிடப்பட்ட பாதுகாப்புத் திருத்தங்கள் இதில் இல்லை.

இந்த ஒரு உண்மைதான் இந்த வழிகாட்டியின் பிற பகுதிகளைத் தீர்மானிக்கிறது. இதனால்தான் MinIO இங்கே 127.0.0.1-ல் போர்ட்டை லிசன் செய்கிறது மற்றும் நீங்கள் கட்டுப்படுத்தும் ஒரு ப்ராக்ஸி வழியாக மட்டுமே இணையத்தை அடைகிறது. நீங்கள் பாதுகாப்புத் திருத்தங்களைப் பின்தொடர விரும்பினால், சோர்ஸ் கோடிலிருந்து பில்டு செய்யவும். வெண்டர் README ஒரு கட்டளையை வழங்குகிறது, go install github.com/minio/minio@latest, இதற்கு Go டூல்செயின் தேவைப்படுகிறது மற்றும் இது பைனரியை ~/go/bin/minio-ல் எழுதும். அந்த பைனரியை /usr/local/bin/minio-க்கு இன்ஸ்டால் செய்யவும், அதன் பிறகு இங்கே உள்ள மற்ற அனைத்து படிகளும் மாறாமல் இருக்கும்.

MinIO பைனரியை நிறுவுதல் மற்றும் பதிவிறக்கத்தைச் சரிபார்த்தல்

குறிப்பிட்ட ரிலீஸையும் அதன் செக்சம் (checksum) கோப்பையும் பதிவிறக்கவும். -f ஃபிளாக் (flag) பயன்படுத்தப்படும்போது, HTTP பிழை ஏற்பட்டால் curl கட்டளையானது பிழைப் பக்கத்தைச் சேமிப்பதற்குப் பதிலாகச் செயலிழந்துவிடும். இல்லையெனில், பயனர்கள் அறியாமல் 404 பிழைப் பக்கத்தைப் பதிவிறக்கிவிட்டு, ஏன் அது இயங்கவில்லை என்று குழப்பமடைவார்கள்.

cd /tmp
REL=RELEASE.2025-09-07T16-13-09Z
curl -fsSL "https://dl.min.io/server/minio/release/linux-amd64/archive/minio.$REL" -o minio
curl -fsSL "https://dl.min.io/server/minio/release/linux-amd64/archive/minio.$REL.sha256sum" -o minio.sha256sum

இரண்டு ஹாஷ்களை (hashes) ஒப்பிடவும், ஹாஷ்களை மட்டுமே ஒப்பிடவும்.

published=$(awk '{print $1}' minio.sha256sum)
downloaded=$(sha256sum minio | awk '{print $1}')
[ "$published" = "$downloaded" ] && echo "checksum ok"

இங்கே sha256sum -c minio.sha256sum கட்டளையைப் பயன்படுத்த வேண்டாம். அந்த கோப்பில் ஹாஷிற்குப் பின்னால் உள்ள லேபிள் minio.RELEASE.2025-09-07T16-13-09Z ஆகும், ஆனால் நாம் பதிவிறக்கத்தை minio என்ற பெயரில் சேமித்துள்ளோம். எனவே, -c கட்டளையானது இல்லாத ஒரு கோப்பைத் தேடும். அது No such file or directory மற்றும் WARNING: 1 listed file could not be read ஆகிய பிழைகளைத் தெரிவிக்கும்; இது பதிவிறக்கம் சிதைந்துவிட்டதாகத் தோன்றும், ஆனால் உண்மையில் அவ்வாறு இல்லை. லேபிள் என்பது ஒரு பெயர் மட்டுமே. ஹாஷ் என்பது தரவு சரியாக இருப்பதற்கான உத்தரவாதத்தை வழங்கும் பகுதியாகும்.

இந்தச் சரிபார்ப்பு எதை உறுதிப்படுத்துகிறது என்பதில் தெளிவாக இருக்கவும். பைனரியும் ஹாஷும் ஒரே விற்பனையாளரிடமிருந்து ஒரே இணைப்பின் வழியாக வருவதால், அவை ஒத்துப்போவது பதிவிறக்கம் முழுமையானது என்பதையும், இடையில் சிதையவோ அல்லது மாற்றப்படவோ இல்லை என்பதையும் உறுதிப்படுத்துகிறது. இது விற்பனையாளர் நம்பகமானவர் என்பதை உறுதிப்படுத்தாது. அது ஒரு தனிப்பட்ட சிக்கல், அதை எந்த sha256sum கட்டளையும் தீர்க்காது.

sudo install -o root -g root -m 755 minio /usr/local/bin/minio
minio --version

minio --version கட்டளையானது minio version RELEASE.2025-09-07T16-13-09Z மற்றும் சில பில்ட் (build) வரிகளை அச்சிடும். இங்கே Permission denied பிழை ஏற்பட்டால், கோப்பின் அனுமதி (mode) தவறாக உள்ளது என்று பொருள். command not found பிழை ஏற்பட்டால், /usr/local/bin உங்கள் PATH பாதையில் இல்லை என்று பொருள்.

சிஸ்டம் பயனர் மற்றும் தரவு கோப்பகத்தை உருவாக்குதல்

MinIO நெட்வொர்க் வழியாக பதிவேற்றங்களை ஏற்றுக்கொள்கிறது, எனவே இதை root பயனர் கணக்கில் இயக்கக்கூடாது. இதற்கு ஹோம் கோப்பகம் மற்றும் லாகின் ஷெல் இல்லாத ஒரு கணக்கை உருவாக்கவும்.

sudo groupadd -r minio-user
sudo useradd -M -r -g minio-user -s /usr/sbin/nologin minio-user
sudo mkdir -p /var/lib/minio/data
sudo chown -R minio-user:minio-user /var/lib/minio
sudo chmod 750 /var/lib/minio

-r கட்டளையானது 1000-க்கும் குறைவான UID கொண்ட ஒரு சிஸ்டம் கணக்கை உருவாக்குகிறது, இது சாதாரண பயனர்களுக்கான வரம்பிற்குள் வராமல் இருக்க உதவுகிறது. -M ஹோம் கோப்பகத்தை உருவாக்குவதைத் தவிர்க்கிறது, ஏனெனில் லாகின் செய்யாத கணக்கிற்கு அங்கே சேமிக்க எதுவும் இருக்காது. id minio-user கட்டளை மூலம் முடிவைச் சரிபார்க்கவும், மேலும் stat -c '%U %a' /var/lib/minio கட்டளை மூலம் சரிபார்க்கவும், இது minio-user 750 என்று காட்ட வேண்டும்.

தரவு கோப்பகமானது அந்த பயனரால் படிக்க மட்டுமல்லாமல், எழுதவும் கூடியதாக இருக்க வேண்டும். முதல்முறை தொடங்கும் போது, MinIO தனது சொந்த உள்ளமைவைச் சேமிக்க வால்யூமிற்குள் .minio.sys கோப்பகத்தை உருவாக்குகிறது. எனவே, root பயனருக்குச் சொந்தமான கோப்பகமாக இருந்தால், தொடக்கத்தின் போது MinIO வெளியேறி, permission denied என்று முடியும் செய்தியைக் காட்டும். இதே விதி நீங்கள் இந்த முறையில் இயக்கும் ஒவ்வொரு சேவைக்கும் பொருந்தும், மேலும் VPS-ல் குறைந்தபட்ச அதிகாரமுள்ள சேவை பயனர்கள் என்ற பகுதியில் இது விரிவாக விளக்கப்பட்டுள்ளது.

root நற்சான்றிதழ்களை ஒரு environment கோப்பில் சேமித்தல்

root நற்சான்றிதழ்கள் அனைத்து bucket-களையும் அணுக அனுமதிக்கும். எனவே, அவற்றை world-readable ஆக இருக்கும் unit கோப்பில் வைக்கக்கூடாது. முதலில் சரியான mode-உடன் கோப்பை உருவாக்கி, பின் அதில் தரவுகளை எழுதவும். இதனால் கடவுச்சொல் எந்த நேரத்திலும் படிக்கக்கூடிய கோப்பில் இருக்காது.

sudo install -o root -g root -m 600 /dev/null /etc/default/minio
printf 'MINIO_ROOT_USER=minio-root\nMINIO_ROOT_PASSWORD=%s\nMINIO_VOLUMES="/var/lib/minio/data"\nMINIO_OPTS="--address 127.0.0.1:9000 --console-address 127.0.0.1:9001"\n' "$(openssl rand -base64 24)" | sudo tee /etc/default/minio > /dev/null
sudo sed -n 's/^MINIO_ROOT_PASSWORD=//p' /etc/default/minio

tee ஏற்கனவே உள்ள கோப்பை மீண்டும் உருவாக்குவதற்குப் பதிலாக அதை வெட்டிச் சுருக்குகிறது (truncate). இதனால் mode 600 ஆகவும், உரிமையாளர் root ஆகவும் நீடிக்கிறது. இது திட்டமிட்டே செய்யப்படுகிறது. systemd, User=-க்கு உரிமைகளை (privileges) குறைப்பதற்கு முன்பே EnvironmentFile-ஐ root ஆகப் படிக்கிறது. இதன் பொருள், service account தனது சொந்த நற்சான்றிதழ்களைப் படிக்க வேண்டிய அவசியமில்லை என்பதாகும். service இயங்கிய பிறகு, sudo -u minio-user cat /etc/default/minio மூலம் அதை உறுதிப்படுத்தவும். அந்தக் கட்டளை Permission denied-ஐ அச்சிட வேண்டும்.

MinIO-வைத் தொடங்குவதற்கு முன் அதன் இரண்டு செயல்பாடுகளைத் தெரிந்துகொள்வது அவசியம். அதன் environment-ல் MINIO_ROOT_USER மற்றும் MINIO_ROOT_PASSWORD இல்லையென்றால், MinIO தொடங்குவதை மறுக்காது. அது ஆவணப்படுத்தப்பட்ட default நற்சான்றிதழ்களான minioadmin:minioadmin-உடன் தொடங்கும். இது ஸ்கேனர்கள் முதலில் முயற்சிக்கும் இணையாகும், மேலும் அவ்வாறு செய்யும்போது அது முழுமையாகச் செயல்படுவது போலத் தோன்றும். 8 எழுத்துகளுக்குக் குறைவான கடவுச்சொல் நிராகரிக்கப்படும்: access key-க்குக் குறைந்தபட்சம் 3 எழுத்துகளும், secret key-க்குக் குறைந்தபட்சம் 8 எழுத்துகளும் தேவைப்படுவதால், நற்சான்றிதழ்கள் செல்லாது என்ற பிழையுடன் MinIO தொடக்கத்திலேயே நின்றுவிடும்.

MINIO_VOLUMES என்பது தரவுப் பாதை (data path) மற்றும் MINIO_OPTS என்பது flags-களைக் கொண்டுள்ளது. 127.0.0.1-ல் பிணைப்பது (binding) என்பது, இந்த VPS-க்கு வெளியே உள்ள எவராலும் S3 API-ஐ இன்னும் அணுக முடியாது என்பதாகும். இது சரியான default அமைப்பாகும். பின்னர், certificate-ஐக் கொண்ட ஒரு proxy வழியாக நீங்கள் அதைத் திட்டமிட்டுத் திறப்பீர்கள்.

systemd யூனிட்டை உருவாக்குதல்

/etc/systemd/system/minio.service-ஐ உருவாக்கவும்:

[Unit]
Description=MinIO object storage
Documentation=https://github.com/minio/minio
Wants=network-online.target
After=network-online.target

[Service]
User=minio-user
Group=minio-user
EnvironmentFile=/etc/default/minio
ExecStart=/usr/local/bin/minio server $MINIO_VOLUMES $MINIO_OPTS
Restart=always
RestartSec=5
LimitNOFILE=65536
NoNewPrivileges=true

[Install]
WantedBy=multi-user.target

EnvironmentFile-இல் - முன்னொட்டு இல்லை. இது தட்டச்சுப் பிழை அல்ல, வேண்டுமென்றே செய்யப்பட்ட முடிவு. அந்த டேஷ் (dash) இருந்தால், கோப்பு இல்லை என்றாலும் systemd அதை அலட்சியப்படுத்தி MinIO-வை இயக்கும். இதனால் கோப்பு நீக்கப்பட்டாலோ அல்லது பாதையில் பிழை இருந்தாலோ, சர்வர் minioadmin:minioadmin-இல் இயங்கத் தொடங்கும். டேஷ் இல்லையென்றால், கோப்பு இல்லாதபோது MinIO தொடங்குவதற்கு முன்பே யூனிட் தோல்வியடையும், மேலும் journalctl -u minio-இல் Failed to load environment files: No such file or directory என்று காட்டும். இயங்க மறுக்கும் யூனிட்டைக் கவனிப்பது, இயல்பான கடவுச்சொல்லுடன் அமைதியாக இயங்கும் சர்வரை விட எளிதானது.

$MINIO_VOLUMES மற்றும் $MINIO_OPTS ஆகியவை மேற்கோள் குறிகள் (quotes) இன்றி உள்ளன. ஏனெனில் systemd மேற்கோள் குறிகள் இல்லாத மாறிகளை இடைவெளிகளின் அடிப்படையில் தனித்தனி ஆர்கியூமெண்டுகளாகப் பிரிக்கும். இதனால்தான் MINIO_OPTS-இல் உள்ள நான்கு சொற்களும் minio server-க்கு நான்கு ஆர்கியூமெண்டுகளாக மாறுகின்றன. LimitNOFILE=65536 கோப்பு விளக்கக் குறிப்பு (file descriptor) வரம்பை உயர்த்துகிறது. ஒவ்வொரு திறந்த இணைப்பும் மற்றும் திறந்த தரவுக் கோப்பும் ஒரு விளக்கக் குறிப்பை எடுத்துக்கொள்ளும் என்பதால், சுமை அதிகரிக்கும்போது இயல்பான 1024 வரம்பு போதாது.

sudo systemctl daemon-reload
sudo systemctl enable --now minio
systemctl is-active minio
curl -fsS -o /dev/null -w '%{http_code}\n' http://127.0.0.1:9000/minio/health/live

is-active கட்டளை active என்று காட்ட வேண்டும், மேலும் ஹெல்த் எண்ட்பாயிண்ட் 200 என்று பதிலளிக்க வேண்டும். journalctl -u minio -n 20 --no-pager சர்வர் எந்த API முகவரியில் இயங்குகிறது என்பதைக் காட்டும். யூனிட் மீண்டும் மீண்டும் ரீஸ்டார்ட் ஆனால், systemd முயற்சியைக் கைவிட்டு Start request repeated too quickly என்று லாக் செய்யும். அதாவது ஒவ்வொரு முயற்சியிலும் MinIO வெளியேறுகிறது என்று பொருள். அந்தச் செய்திக்கு மேலே உள்ள வரிகளில் அதற்கான காரணம் இருக்கும், எனவே மேலே வாசிக்கவும்.

கூடுதல் பாதுகாப்பிற்கு, [Service] பிரிவில் ProtectSystem=full மற்றும் ProtectHome=true ஆகியவற்றைச் சேர்க்கவும். இவை இரண்டிற்கும் ஹோஸ்ட் கர்னலில் இருந்து மவுண்ட் நேம்ஸ்பேஸ்கள் (mount namespaces) தேவை. OpenVZ அல்லது LXC போன்ற ஹோஸ்ட் கர்னலைப் பகிரும் கன்டெய்னர் விர்ச்சுவலைசேஷனில் இவை தோல்வியடையலாம், அப்போது யூனிட் status=226/NAMESPACE என்று காட்டும். அந்த இரண்டு வரிகளையும் நீக்கினால் அது இயங்கும். இந்த யூனிட் ஒரு சாதாரணமான யூனிட் ஆகும். VPS-இல் systemd சர்வீஸ்கள் மற்றும் டைமர்கள் பகுதியில் மற்ற டைரக்டிவ்கள் விளக்கப்பட்டுள்ளன.

mc நிறுவுதல் மற்றும் ஒரு முழுமையான பரிமாற்றத்தை உறுதி செய்தல்

MinIO client என்பது mc ஆகும். இதை apt install mc மூலம் நிறுவ வேண்டாம். அந்தத் தொகுப்பு Midnight Commander ஆகும், இது MinIO உடன் தொடர்பில்லாத ஒரு கோப்பு மேலாளர் (file manager) ஆகும்.

cd /tmp
curl -fsSL https://dl.min.io/client/mc/release/linux-amd64/mc -o mc
curl -fsSL https://dl.min.io/client/mc/release/linux-amd64/mc.sha256sum -o mc.sha256sum
[ "$(awk '{print $1}' mc.sha256sum)" = "$(sha256sum mc | awk '{print $1}')" ] && echo "checksum ok"
sudo install -o root -g root -m 755 mc /usr/local/bin/mc

சேவையகத்தை ஒரு alias ஆகப் பதிவு செய்து, அதன் வழியாக ஒரு பொருளை (object) நகர்த்தவும்.

MINIO_PASS=$(sudo sed -n 's/^MINIO_ROOT_PASSWORD=//p' /etc/default/minio)
mc alias set local http://127.0.0.1:9000 minio-root "$MINIO_PASS"
mc mb local/backups
echo "hello object storage" > /tmp/hello.txt
mc cp /tmp/hello.txt local/backups/hello.txt
mc ls local/backups
mc cat local/backups/hello.txt

mc ls கட்டளையானது hello.txt-ஐ அதன் அளவுடன் பட்டியலிட வேண்டும், மேலும் mc cat கட்டளையானது hello object storage-ஐ அச்சிட வேண்டும். இந்த முழுமையான பரிமாற்றமே சேவையகம் சரியாகச் செயல்படுவதற்கான உண்மையான சான்றாகும், ஏனெனில் இது மற்ற அனைத்து கிளையண்டுகளும் செய்யும் அதே கையொப்பமிடப்பட்ட S3 கோரிக்கைகளை (signed S3 requests) உருவாக்குகிறது. உங்களுக்கு இரண்டாவது கருத்து தேவைப்பட்டால், mc admin info local சேவையகத்தின் நிலையை அச்சிடும்.

சேவையகம் காலியாக இருக்கும்போதே, இப்போது மேலும் ஒரு சோதனையைச் செய்யவும்.

mc alias set defaultcheck http://127.0.0.1:9000 minioadmin minioadmin

இந்தக் கட்டளை தோல்வியடைய வேண்டும். இது வெற்றி பெற்றால், environment கோப்பு செயல்முறைக்கு (process) சென்றடையவில்லை என்று அர்த்தம், மேலும் உங்கள் சேவையகம் இயல்புநிலை நற்சான்றிதழ்களில் (default credentials) இயங்குகிறது. கணினியில் வேறு எதையும் தொடுவதற்கு முன்பு அதைச் சரிசெய்யவும்.

mc ஆனது alias-களை ~/.mc/config.json-இல் எளிய உரையாகச் சேமிக்கிறது, எனவே அந்தக் கட்டளையை இயக்கியவரின் home directory-இல் அந்த நற்சான்றிதழ்கள் இருக்கும். sudo பயனரின் கீழ் mc-ஐ இயக்குவது root நற்சான்றிதழ்களை /root/.mc/config.json-இல் வைக்கும். root alias-ஐ ஒரு நிர்வாகி கணக்கில் மட்டும் வைத்துக்கொண்டு, ஒவ்வொரு பயன்பாட்டிற்கும் (application) தனித்தனி key-களை வழங்கவும்.

ஒரு presigned URL மூலம் ஒரு பொருளைப் பகிர்தல்

ஒரு presigned URL என்பது கையொப்பம் (signature) மற்றும் காலாவதி நேரம் இணைக்கப்பட்ட ஒரு சாதாரண HTTPS இணைப்பு ஆகும். இந்த இணைப்பை வைத்திருக்கும் எவரும், கணக்கு அல்லது கிளையண்ட் மென்பொருள் இல்லாமலேயே அந்த ஒரு பொருளைப் பதிவிறக்கம் செய்ய முடியும்.

mc share download --expire 12h local/backups/hello.txt

இதன் வெளியீட்டில் X-Amz-Signature மற்றும் X-Amz-Expires ஆகியவை query string-இல் இடம்பெறும். இதில் இரண்டு விஷயங்கள் பயனர்களை ஆச்சரியப்படுத்தலாம். நீங்கள் பயன்படுத்திய alias-இல் உள்ள endpoint-ஐக் கொண்டே இந்த இணைப்பு உருவாக்கப்படுகிறது. எனவே, 127.0.0.1-இல் உள்ள ஒரு alias, அந்த இயந்திரத்தால் மட்டுமே திறக்கக்கூடிய இணைப்பை உருவாக்கும். நீங்கள் பிறருக்கு அனுப்ப விரும்பும் இணைப்புகளுக்கு, உங்கள் public hostname-இல் இரண்டாவது alias-ஐ உருவாக்கவும். மேலும், இதில் revoke பொத்தான் கிடையாது. கையொப்பம் காலாவதியாகும் வரை அது செல்லுபடியாகும், எனவே குறுகிய காலாவதி நேரத்தை அமைப்பது மட்டுமே நீங்கள் செய்யக்கூடிய ஒரே கட்டுப்பாடு ஆகும். S3 கையொப்ப வடிவம் அனுமதிக்கும் அதிகபட்ச காலம் ஏழு நாட்கள் மட்டுமே.

restic-க்கு எனத் தனிப்பட்ட சாவி மற்றும் பக்கெட்டை உருவாக்குதல்

root நற்சான்றிதழ்கள் (credentials) அனைத்து பக்கெட்டுகளையும் வாசிக்கவும் நீக்கவும் கூடியவை, எனவே ஒரு பேக்கப் பணிக்கு அவற்றை வழங்கக்கூடாது. ஒரு பக்கெட், அந்தப் பக்கெட்டுக்கு மட்டும் வரையறுக்கப்பட்ட கொள்கை (policy), மற்றும் வேறு எந்த அனுமதியும் இல்லாத ஒரு பயனர் ஆகியவற்றை உருவாக்கவும்.

mc mb local/restic
cat > /tmp/restic-rw.json <<'EOF'
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": ["s3:ListBucket", "s3:GetBucketLocation"],
      "Resource": ["arn:aws:s3:::restic"]
    },
    {
      "Effect": "Allow",
      "Action": ["s3:GetObject", "s3:PutObject", "s3:DeleteObject"],
      "Resource": ["arn:aws:s3:::restic/*"]
    }
  ]
}
EOF
RESTIC_KEY=$(openssl rand -base64 24)
mc admin policy create local restic-rw /tmp/restic-rw.json
mc admin user add local restic-backup "$RESTIC_KEY"
mc admin policy attach local restic-rw --user restic-backup

MinIO-வில் உள்ளமைக்கப்பட்ட readwrite கொள்கை உள்ளது, இது ஒரு கட்டளை குறைவாக இருந்தாலும், சர்வரில் உள்ள அனைத்து பக்கெட்டுகளுக்கும் முழு அணுகலை வழங்குகிறது. மேலே உள்ள கொள்கையில் பக்கெட்டின் பெயர் இரண்டு முறை குறிப்பிடப்பட்டுள்ளது: ஒன்று arn:aws:s3:::restic எனப் பக்கெட்டைப் பட்டியலிடவும், மற்றொன்று arn:aws:s3:::restic/* என அதற்குள் உள்ள பொருட்களை அணுகவும். S3-இல் பக்கெட்டும் அதன் பொருட்களும் தனித்தனி வளங்கள், எனவே ஏதேனும் ஒன்றை மட்டும் குறிப்பிடும் கொள்கை, கிளைண்ட் பழுதடைந்தது போன்ற பிழையை ஏற்படுத்தும்.

அனுமதியை நம்புவதற்கு முன் அதைச் சோதிக்கவும்.

mc alias set resticuser http://127.0.0.1:9000 restic-backup "$RESTIC_KEY"
mc ls resticuser/restic
mc ls resticuser/backups

முதல் ls கட்டளை வெற்றி பெறும், இரண்டாவது Access Denied பிழையுடன் தோல்வியடையும். நீங்கள் சோதிக்காத கொள்கை வெறும் ஊகம் மட்டுமே.

இப்போது restic-ஐ அந்தப் பக்கெட்டிற்குச் சுட்டிக்காட்டவும். restic ஆனது S3 நற்சான்றிதழ்களை நிலையான AWS சூழல் மாறிகளிலிருந்து (environment variables) வாசிக்கிறது, எனவே restic-க்கெனத் தனிப்பட்ட நற்சான்றிதழ் கோப்பு எதுவும் தேவையில்லை.

sudo apt install -y restic
export AWS_ACCESS_KEY_ID=restic-backup
export AWS_SECRET_ACCESS_KEY="$RESTIC_KEY"
restic -r s3:http://127.0.0.1:9000/restic init
restic -r s3:http://127.0.0.1:9000/restic backup /etc
restic -r s3:http://127.0.0.1:9000/restic snapshots

restic init கட்டளை களஞ்சியத்திற்கான கடவுச்சொல்லைக் கேட்கும். அந்தக் கடவுச்சொல் களஞ்சியத்தை மறைகுறியாக்கம் (encrypt) செய்கிறது, எனவே MinIO எப்போதும் குறியாக்கம் செய்யப்பட்ட தரவை மட்டுமே சேமிக்கும். கடவுச்சொல்லை இழந்தால் பேக்கப்பை மீட்க முடியாது. systemd டைமர் மூலம் தொடங்கும் பணியில் கடவுச்சொல்லை உள்ளிட முனையம் (terminal) இருக்காது, எனவே திட்டமிடப்பட்ட பேக்கப்புகளுக்கு RESTIC_PASSWORD_FILE-ஐ mode 600 கோப்பாக அமைக்கவும்.

மேலே உள்ள எந்தக் கட்டளையை விடவும் ஒரு இடமாற்ற விதி முக்கியமானது. தரவு இருக்கும் அதே VPS-இல் restic களஞ்சியத்தை வைத்திருப்பது, ஒரு மோசமான rm-லிருந்து மட்டுமே உங்களைக் காக்கும். MinIO நோட் வேறொரு இயந்திரமாக இருக்க வேண்டும், முன்னுரிமை அடிப்படையில் வேறொரு பிராந்தியத்தில் இருக்க வேண்டும். VPS-இல் restic பேக்கப்புகள் பகுதி, இதற்கான திட்டமிடல் மற்றும் தரவுத் தக்கவைப்பு குறித்து விளக்குகிறது.

nginx மூலம் TLS இணைப்பை முடித்தல்

MinIO ஆனது localhost-இல் இயங்குகிறது, எனவே nginx பொது முகப்பாகச் செயல்படுகிறது. certbot மற்றும் nginx மூலம் Let's Encrypt சான்றிதழ்களைப் பெறுதல் என்பதில் விவரிக்கப்பட்டுள்ளபடி முதலில் சான்றிதழைப் பெறவும், பின்னர் இந்த server block-ஐப் பயன்படுத்தவும்.

server {
    listen 443 ssl;
    server_name s3.example.com;

    ignore_invalid_headers off;
    client_max_body_size 0;
    proxy_buffering off;
    proxy_request_buffering off;

    location / {
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_connect_timeout 300;
        proxy_http_version 1.1;
        proxy_set_header Connection "";
        chunked_transfer_encoding off;
        proxy_pass http://127.0.0.1:9000;
    }
}

அவற்றில் பல வரிகள் மிக முக்கியமானவை. client_max_body_size 0 ஆனது இயல்புநிலை 1 MB கோப்பு அளவு வரம்பை நீக்குகிறது; இது இல்லையெனில், MinIO கோரிக்கையைப் பெறுவதற்கு முன்பே 413 Request Entity Too Large பிழையுடன் பெரிய பதிவேற்றங்களை நிராகரிக்கும். proxy_request_buffering off பதிவேற்றத்தை நேரடியாகச் செலுத்துகிறது, ஏனெனில் இயல்புநிலை அமைப்பில் முழு கோரிக்கையும் முதலில் ஒரு தற்காலிகக் கோப்பில் சேமிக்கப்படும், இதனால் பெரிய கோப்புகளுக்கு இருமடங்கு வட்டு இடம் தேவைப்படும். proxy_set_header Host $http_host என்பது நுணுக்கமானது: S3 கையொப்பம் Host தலைப்பை உள்ளடக்கியது, எனவே அதை மாற்றியமைக்கும் ஒரு ப்ராக்ஸி ஒவ்வொரு கோரிக்கையையும் SignatureDoesNotMatch பிழையுடன் தோல்வியடையச் செய்யும், அதே நேரத்தில் அணுகல் பதிவில் (access log) கோரிக்கை சாதாரணமாக வருவது போலக் காட்டும்.

MinIO-க்கு அதன் பொதுப் பெயரைத் தெரிவிக்கவும், அப்போதுதான் அது உருவாக்கும் இணைப்புகள் localhost-க்கு பதிலாக ப்ராக்ஸியைச் சுட்டிக்காட்டும்.

echo 'MINIO_SERVER_URL=https://s3.example.com' | sudo tee -a /etc/default/minio
sudo systemctl restart minio

ஃபயர்வால் (firewall) அமைப்புகளைச் சுருக்கமாக வைத்திருக்கவும். SSH மற்றும் HTTPS-ஐ அனுமதிக்கவும், 9000 மற்றும் 9001 போர்டுகளுக்கு எந்த விதியையும் சேர்க்க வேண்டாம். ஏனெனில் 127.0.0.1-இல் பிணைக்கப்பட்ட முகவரி, ஃபயர்வால் என்ன சொன்னாலும் மற்றொரு கணினியிலிருந்து அணுக முடியாததாக இருக்கும். VPS-இல் ufw ஃபயர்வால் அடிப்படைகள் என்பதில் இதற்கான கட்டளைகள் உள்ளன.

ஒற்றை-முனை (Single-node) MinIO எப்போது போதுமானது, எப்போது உண்மையான S3 தேவைப்படுகிறது

இங்கு ஒற்றை-முனை என்பது சமநிலை (parity) இல்லாத ஒரு வட்டு (drive) என்று பொருள்படும். MinIO-வின் சொந்த ஆவணங்கள், இந்த அமைப்பை சோதனை செய்வதற்கும், கிடைக்கும் தன்மை (availability) தேவையில்லாத சிறிய பணிச்சுமைகளுக்கும் ஏற்றது என்று குறிப்பிடுகின்றன. இந்த வரிசைப்படுத்தலில் இரண்டாவது நகல் எதுவும் இல்லை, எனவே ஒவ்வொரு பொருளின் (object) நீடித்து நிலைக்கும் திறன் என்பது ஒரு VPS வட்டின் நீடித்து நிலைக்கும் திறனை மட்டுமே சார்ந்தது. விநியோகிக்கப்பட்ட அழிப்பு-குறியீட்டு (erasure-coded) பின்தளத்தை அடிப்படையாகக் கொண்ட அம்சங்களான பக்கெட் பிரதிபலிப்பு (bucket replication) மற்றும் ஆப்ஜெக்ட் லாக்கிங் (object locking) போன்றவை பல-வட்டு வரிசைப்படுத்தல்களுக்கு உரியவை. எனவே, இந்த அமைப்பில் மாற்ற முடியாத தக்கவைப்புக் கொள்கையை (immutable retention policy) யாருக்கும் உறுதி அளிக்க வேண்டாம்.

மற்றொரு பிராந்தியத்தில் உள்ள இரண்டாவது VPS-ல் restic இலக்காகவும், மேம்பாட்டுப் பணிகள் மற்றும் CI கலைப்பொருட்களுக்கான S3 எண்ட்-பாயிண்டாகவும் இது சிறப்பாகச் செயல்படும். அங்கு ஒரு பக்கெட்டை இழப்பது என்பது மீண்டும் உருவாக்குவதற்கான செலவை மட்டுமே ஏற்படுத்தும். ஒரு சிறிய பயன்பாட்டில் பயனர் பதிவேற்றங்களுக்கு இது நியாயமானதே, ஆனால் உங்களிடம் மீட்புத் திட்டம் (recovery plan) இருக்க வேண்டும் மற்றும் நீங்கள் உண்மையில் மீட்டெடுப்பைச் சோதித்திருக்க வேண்டும்.

ஒரு ஒப்பந்தம் அல்லது ஒழுங்குமுறை ஆணையம் ஆப்ஜெக்ட் லாக் அல்லது பல-பிராந்திய நீடித்து நிலைக்கும் திறனைக் கோரும்போது, அல்லது வட்டு நிரம்பியதால் அதிகாலை 03:00 மணிக்கு உங்களை யாரும் அழைக்கக்கூடாது என்று நீங்கள் விரும்பினால், நிர்வகிக்கப்படும் S3-ஐத் தேர்ந்தெடுக்கவும். உறைந்த நிலையில் உள்ள பில்ட் (frozen build) மற்றொரு நேர்மையான காரணமாகும். ஜூலை 2026 நிலவரப்படி, முன்-தொகுக்கப்பட்ட சமூக பைனரி (community binary) செப்டம்பர் 2025-லிருந்து உள்ளது மற்றும் அதற்கு எந்தத் திருத்தங்களும் வழங்கப்படுவதில்லை. எனவே, அதை இயக்குவது என்றால், அந்த நிலையை ஏற்றுக்கொள்வது அல்லது மூலக் குறியீட்டிலிருந்து (source) நீங்களே தொகுத்து திட்டத்தைப் புதுப்பித்த நிலையில் வைத்திருப்பது என்று பொருள்.

ஒரு எல்லையைத் தெளிவாகக் குறிப்பிடுவது அவசியம், ஏனெனில் இது அடிக்கடி எழுகிறது. ஆப்ஜெக்ட் ஸ்டோரேஜ் என்பது தரவுத்தளம் (database) அல்ல. ஒவ்வொரு எழுதும் செயலும் ஒரு முழு ஆப்ஜெக்ட்டையும் மாற்றியமைக்கிறது, எனவே S3 பக்கெட்டில் உள்ள நேரடி SQL கோப்பு மெதுவாகவும் பாதுகாப்பற்றதாகவும் இருக்கும். தரவுத்தளத்தை உள்ளூர் வட்டில் வைத்துக்கொண்டு, அதை பக்கெட்டில் பேக்கப் எடுக்கவும்: VPS-ல் SQLite-ஐ தயாரிப்பு சூழலில் இயக்குதல் அந்தப் பிரிப்பைப் பற்றி விவரிக்கிறது.

தோல்வி நிலைகளும் நீங்கள் காணும் செய்திகளும்

systemctl enable --now-க்கு பிறகு யூனிட் தோல்வியடைகிறது. journalctl -u minio -n 30 --no-pager-ஐ வாசிக்கவும். Failed to load environment files: No such file or directory என்பது /etc/default/minio விடுபட்டுள்ளது அல்லது யூனிட்டில் அதன் பாதை தவறாகக் குறிப்பிடப்பட்டுள்ளது என்று பொருள். permission denied என முடியும் செய்தி, சர்வீஸ் அக்கவுண்டிற்கு டேட்டா டைரக்டரியில் எழுதும் அனுமதி இல்லை என்று பொருள், எனவே stat -c '%U' /var/lib/minio/data கட்டளையை இயக்கும்போது minio-user வெளியீடாக வருகிறதா எனச் சரிபார்க்கவும்.

minioadmin:minioadmin இன்னும் லாக்-இன் ஆகிறது. என்விரான்மென்ட் ஃபைல் பிராசஸை அடையவில்லை. யூனிட்டில் EnvironmentFile=/etc/default/minio உள்ளதா என்பதை உறுதிப்படுத்தவும், sudo systemctl daemon-reload கட்டளையை இயக்கவும், பிறகு சர்வீஸை ரீஸ்டார்ட் செய்யவும். MinIO தனது ரூட் கிரெடென்ஷியல்களை தொடக்கத்தின்போது ஒருமுறை மட்டுமே வாசிக்கும், எனவே ரீஸ்டார்ட் செய்யாமல் அந்த ஃபைலை எடிட் செய்வதால் எந்த மாற்றமும் ஏற்படாது.

தொடக்கத்தின்போது Address already in use. மற்றொரு பிராசஸ் 9000 போர்ட்டைப் பயன்படுத்திக் கொண்டிருக்கிறது. MinIO-வின் போர்ட்டை மாற்றுவதற்கு முன் sudo ss -ltnp | grep :9000 கட்டளையைப் பயன்படுத்தி அந்த பிராசஸைக் கண்டறியவும்.

ப்ராக்ஸி வழியாக 1 MB-க்கு அதிகமான பதிவேற்றங்கள் தோல்வியடைகின்றன. nginx 413 Request Entity Too Large எனப் பதிலளித்துள்ளது, MinIO அந்த கோரிக்கையைப் பெறவில்லை. சர்வர் பிளாக்கில் client_max_body_size 0 அமைப்பைச் சேர்க்கவும்.

SignatureDoesNotMatch. சீக்ரெட் கீ தவறாக இருக்கலாம், அல்லது கிளைண்டிற்கும் MinIO-விற்கும் இடையில் ஏதோ ஒன்று Host ஹெடரை மாற்றியிருக்கலாம், இது சிக்னேச்சரால் பாதுகாக்கப்படுகிறது.

RequestTimeTooSkewed. கிளைண்ட் அல்லது சர்வரின் கடிகார நேரம் தவறாக உள்ளது. ஒவ்வொரு S3 கோரிக்கையும் ஒரு டைம்ஸ்டாம்பைக் கொண்டிருக்கும், 15 நிமிட கால இடைவெளிக்கு வெளியே இருந்தால் அது நிராகரிக்கப்படும். timedatectl-ஐச் சரிபார்த்து, நேர ஒத்திசைவு (time synchronisation) செயல்பாட்டில் உள்ளதா என்பதை உறுதிப்படுத்தவும்.

உங்களுக்குத் தெரிந்த பக்கெட்டில் Access Denied. கீ வேறொரு பக்கெட்டிற்கு ஒதுக்கப்பட்டுள்ளது. mc admin policy info local restic-rw கட்டளையைப் பயன்படுத்தி பாலிசி எதை அனுமதிக்கிறது என்பதைப் பிரிண்ட் செய்து, ரிசோர்ஸ் வரிகளில் உள்ள பக்கெட் பெயருடன் ஒப்பிட்டுப் பார்க்கவும்.

FAQ

ஒற்றை-முனை (single-node) MinIO உண்மையான பேக்கப்களுக்கு போதுமானதா?

தரவுகள் பாதுகாக்கப்படும் கணினியிலிருந்து தனித்த ஒரு கணினியில் இயங்கும் restic இலக்காக இதைப் பயன்படுத்தினால் இது போதுமானது. இதுவே உங்கள் ஒரே நகலாக இருந்தால், இது போதுமானதல்ல. ஒற்றை-டிரைவ் (single-drive) அமைப்பில் சமநிலை (parity) கிடையாது, எனவே MinIO-க்குள் இரண்டாவது நகல் இருக்காது. அந்த VPS வட்டில் தரவு இழப்பு ஏற்பட்டால், ஆப்ஜெக்ட்கள் நிரந்தரமாக அழிந்துவிடும். மற்றொரு இடத்தில் இரண்டாவது இலக்கை வைத்திருங்கள். செயல்முறை சரியாக வேலை செய்கிறதா என்பதை உறுதிப்படுத்த, இரண்டிலிருந்தும் குறைந்தது ஒருமுறை தரவை மீட்டெடுத்துப் பாருங்கள்.

MinIO-வின் செக்சம் (checksum) கோப்பில் sha256sum -c ஏன் தோல்வியடைகிறது?

ஏனெனில், அந்தக் கோப்பில் உள்ள ஹாஷிற்குப் பின்னால் உள்ள லேபிள் minio.RELEASE.2025-09-07T16-13-09Z என்ற ரிலீஸைக் குறிக்கிறது, ஆனால் நீங்கள் பதிவிறக்கிய கோப்பு பொதுவாக minio என்று அழைக்கப்படுகிறது. sha256sum -c செக்சம் கோப்பில் உள்ள பெயரைக் கொண்ட கோப்பைத் தேடுகிறது, அது கிடைக்காததால் No such file or directory மற்றும் WARNING: 1 listed file could not be read பிழைகளைத் தெரிவிக்கிறது. பதிவிறக்கம் சரியாகத்தான் உள்ளது. ஹாஷ் சரங்களை நேரடியாக ஒப்பிட்டுப் பாருங்கள், லேபிளைப் புறக்கணியுங்கள், ஏனெனில் அதற்குப் பாதுகாப்பு முக்கியத்துவம் இல்லை.

MinIO நிர்வாக இணைய கன்சோல் எங்கே போனது?

MinIO மே 2025-ல் கம்யூனிட்டி எடிஷன் கன்சோலில் இருந்து நிர்வாக அம்சங்களை நீக்கிவிட்டது, இப்போது இணைய இடைமுகத்தில் ஆப்ஜெக்ட் பிரவுசர் மட்டுமே உள்ளது. பக்கெட்டுகள் (buckets) மற்றும் பயனர்கள் இப்போது mc கிளையண்ட் மூலம், mc admin user add மற்றும் mc admin policy attach போன்ற கட்டளைகளைப் பயன்படுத்தி நிர்வகிக்கப்படுகின்றன. இதுவே கம்யூனிட்டி எடிஷனில் ஆதரிக்கப்படும் முறையாகும், இதனால்தான் இந்த வழிகாட்டியில் அனைத்து செயல்பாடுகளும் கட்டளை வரி (command line) மூலம் செய்யப்படுகின்றன.

restic-ஐ S3 பேக்கெண்டாக MinIO-வுடன் எவ்வாறு இணைப்பது?

AWS_ACCESS_KEY_ID மற்றும் AWS_SECRET_ACCESS_KEY ஆகியவற்றை MinIO அக்சஸ் கீ மற்றும் அதன் சீக்ரெட் கீயாக அமைக்கவும். பின்னர் s3:https://s3.example.com/restic என்ற வடிவத்தில் ரெபாசிட்டரி சரத்தைப் பயன்படுத்தவும், இதில் கடைசிப் பகுதி பக்கெட் பெயராக இருக்க வேண்டும். முதலில் mc mb மூலம் பக்கெட்டை உருவாக்கவும், ஏனெனில் ஒரு பக்கெட்டிற்கு மட்டும் கட்டுப்படுத்தப்பட்ட கீயால் புதிய பக்கெட்டுகளை உருவாக்க முடியாது. பதிவேற்றுவதற்கு முன்பு restic தனது சொந்த ரெபாசிட்டரி கடவுச்சொல்லைக் கொண்டு அனைத்தையும் என்க்ரிப்ட் செய்கிறது, எனவே MinIO-வில் சைபர் டெக்ஸ்ட் (ciphertext) மட்டுமே சேமிக்கப்படும், உங்கள் கோப்புகளை அது பார்க்க முடியாது.

MinIO-வை nginx-க்கு பின்னால் இயக்க வேண்டுமா?

கிளையண்ட் அதே கணினியில் இல்லாதபோது உங்களுக்கு TLS (transport layer security) தேவை, ஏனெனில் S3 சான்றுகள் மற்றும் ஆப்ஜெக்ட் தரவு ஆகிய இரண்டும் கோரிக்கைக்குள் (request) பயணிக்கின்றன. certbot-லிருந்து பெறப்பட்ட சான்றிதழுடன் போர்ட் 443-ல் ஒரு ப்ராக்ஸியைப் பயன்படுத்துவது எளிமையான வழியாகும், இது சான்றிதழ் புதுப்பித்தலை MinIO-விலிருந்து தனித்து வைத்திருக்கும். --certs-dir-ஐ public.crt மற்றும் private.key உள்ள டைரக்டரியைச் சுட்டிக்காட்டினால் MinIO-வே TLS-ஐ முடித்துக்கொள்ளும் (terminate), ஆனால் அதற்கு சர்வீஸ் அக்கவுண்டிற்குப் புதுப்பிக்கப்பட்ட பிரைவேட் கீயைப் படிக்கும் அனுமதி தேவைப்படும், இது அதே முடிவைப் பெற கூடுதல் வேலை ஆகும்.

#minio#s3#object-storage#self-hosted#vps