Lab 09: Deploying Object Storage with MinIO¶
Introduction¶
In this lab, you will deploy MinIO, an open-source, high-performance object storage server. MinIO is compatible with the Amazon S3 API, making it perfect for learning modern cloud-native storage concepts.
By the end of this lab, you will:
- Install MinIO inside your Lubuntu VM (Lab 03).
- Run the MinIO server with local storage.
- Access the MinIO web interface.
- Create a bucket, upload/download objects.
- Configure access policies.
This simulates how enterprises use object storage for unstructured data like images, videos, and backups.
Step 1: Preparing Lubuntu VM¶
- Ensure your Lubuntu VM (Lab 03) is running.
- Open a terminal inside Lubuntu.
- Update packages:
sudo apt update && sudo apt upgrade -y
Step 2: Installing MinIO¶
- Download MinIO server binary:
wget https://dl.min.io/server/minio/release/linux-amd64/minio -O minio
chmod +x minio
sudo mv minio /usr/local/bin/
✅ MinIO server is now installed.
Step 3: Running MinIO Server¶
- Create a directory for MinIO data:
mkdir ~/minio-data
minio server ~/minio-data --console-address ":9001"
Step 4: Accessing the MinIO Web Interface¶
- On your Windows Host PC, open a browser.
- Go to:
http://<lubuntu-ip>:9001
Example: http://192.168.1.130:9001
3. Log in with the Access Key and Secret Key provided by MinIO.
✅ You are now inside the MinIO Web Console.
Step 5: Creating a Bucket¶
- In the MinIO console, click Buckets → Create Bucket.
- Name the bucket:
techops-bucket. - Keep default settings and save.
✅ A bucket is like a folder for storing objects.
Step 6: Uploading and Downloading Objects¶
- Inside the
techops-bucket, click Upload. - Upload a simple text file or image (e.g.,
hello.txt). - Verify the object appears in the bucket.
- Click on the object → Download to confirm you can retrieve it.
✅ You have successfully uploaded and downloaded objects.
Step 7: Sharing the files¶
- In the
techops-bucketthat you created, select the file you just uploaded by selecting checkmark on the left side of the file name. - In the sub-menu on right side, you will find the Share button, click on it.
- Accept the default values for sharing time or add as per your needs.
- Copy the link and share to your instructor on Slack and updte your Jira Card for the lab.
✅ You can now access the file directly via URL now.
⚠️ Note: In production, access policies should be restricted for security.
Step 8: (Optional) Using MinIO Client (mc)¶
- Download MinIO client:
wget https://dl.min.io/client/mc/release/linux-amd64/mc -O mc
chmod +x mc
sudo mv mc /usr/local/bin/
mc alias set local http://localhost:9000 <ACCESS_KEY> <SECRET_KEY>
mc ls local
✅ MinIO client provides powerful command-line management.
Troubleshooting Tips¶
- Can’t access web console: Ensure Lubuntu VM uses Bridged Adapter networking.
- Port blocked: Verify firewall rules, allow TCP ports
9000and9001. - Forgot access key/secret key: Restart the MinIO server — new keys will be generated.
- MinIO crashes on low RAM: Allocate at least 2 GB RAM to Lubuntu VM.
✅ Congratulations! You have successfully deployed MinIO object storage, created a bucket, uploaded files, and configured access policies. You now understand how object storage works in modern cloud environments.