1. Xác định yêu cầu phần cứng tối thiểu cho MinIO
Mục đích: Xác định cấu hình phần cứng tối thiểu để đảm bảo MinIO hoạt động ổn định, tránh tình trạng treo hoặc mất dữ liệu do tài nguyên không đủ.
Yêu cầu: MinIO là object storage yêu cầu cao về I/O và RAM. Dưới đây là cấu hình khuyến nghị cho môi trường Production:
- CPU: Tối thiểu 2 vCPU (4 vCPU khuyến nghị cho load cao).
- RAM: Tối thiểu 4GB (MinIO cần RAM để cache metadata và buffer I/O).
- Disk: Tối thiểu 100GB SSD/NVMe. Chú ý: Không dùng HDD cơ học cho môi trường production vì latency cao sẽ làm giảm hiệu năng nghiêm trọng.
- Network: 1Gbps hoặc 10Gbps. MinIO rất nhạy cảm với băng thông mạng.
Verify kết quả: Chạy lệnh kiểm tra tài nguyên hiện có trên máy chủ:
cat /proc/cpuinfo | grep "processor" | wc -l && free -h && df -h /data
Kết quả mong đợi: Số core CPU >= 2, RAM >= 4GB, và dung lượng trống của partition dữ liệu >= 100GB.
2. Tải và kiểm tra tính toàn vẹn của ISO Ubuntu 24.04 LTS
2.1. Tải file ISO từ nguồn chính thức
Mục đích: Đảm bảo file cài đặt không bị giả mạo hoặc bị lỗi trong quá trình truyền tải.
Hành động: Sử dụng `wget` để tải bản Server ISO 64-bit từ mirror chính thức của Canonical.
wget https://releases.ubuntu.com/24.04/ubuntu-24.04-live-server-amd64.iso
Kết quả mong đợi: File `ubuntu-24.04-live-server-amd64.iso` được tải về, kích thước khoảng 2.6GB.
2.2. Kiểm tra SHA256 checksum
Mục đích: So sánh hash của file đã tải với hash chính thức để đảm bảo tính toàn vẹn.
Hành động: Tải file checksum và so sánh.
wget https://releases.ubuntu.com/24.04/SHA256SUMS && sha256sum -c SHA256SUMS ubuntu-24.04-live-server-amd64.iso
Kết quả mong đợi: Dòng cuối cùng hiển thị `ubuntu-24.04-live-server-amd64.iso: OK`.
3. Cài đặt Ubuntu 24.04 với cấu hình partition tối ưu cho storage
Mục đích: Tách biệt hệ điều hành (OS) và dữ liệu (Data) để tối ưu hiệu năng I/O và dễ dàng backup/restore dữ liệu MinIO.
Yêu cầu: Khi vào màn hình cài đặt (Installer), chọn "Guided - use entire disk" hoặc "Custom storage layout" để cấu hình thủ công.
3.1. Cấu hình bảng phân vùng (Partitioning)
Chiến lược: Tạo 3 phân vùng chính: EFI (Boot), Root (OS), và Data (Storage).
- /boot/efi: 512MB, FAT32 (Bắt buộc cho UEFI).
- /: 50GB, Ext4 (Chứa hệ điều hành và logs hệ thống).
- /data: Phần còn lại, XFS (Tối ưu cho file hệ thống lớn của MinIO).
Hành động: Trong màn hình phân vùng của Ubuntu Installer, thiết lập như sau:
# Cấu hình mô phỏng trong installer (Tham khảo):
# Partition 1: /boot/efi | Size: 512M | Type: FAT32
# Partition 2: / | Size: 50G | Type: Ext4
# Partition 3: /data | Size: All remaining | Type: XFS
Kết quả mong đợi: Installer hoàn tất, máy khởi động lại vào hệ điều hành Ubuntu mới.
3.2. Mount điểm dữ liệu sau khi cài đặt
Mục đích: Đảm bảo phân vùng `/data` được mount đúng cách và có quyền sở hữu phù hợp cho MinIO.
Hành động: Xác nhận mount point và tạo thư mục dữ liệu.
lsblk && mount -a && mkdir -p /data/minio-volumes
Kết quả mong đợi: `lsblk` hiển thị `/data` đã được mount, và thư mục `/data/minio-volumes` tồn tại.
4. Cập nhật repository và cài đặt công cụ hệ thống
Mục đích: Cập nhật hệ điều hành lên bản mới nhất và cài đặt các công cụ cần thiết trước khi triển khai Docker.
4.1. Cập nhật gói phần mềm
Hành động: Refresh source list và nâng cấp tất cả các gói hiện có.
apt update && apt upgrade -y
Kết quả mong đợi: Không có lỗi dependency, tất cả package đều ở trạng thái `up to date`.
4.2. Cài đặt công cụ cơ bản
Mục đích: Cài đặt `curl`, `wget`, `vim`, `net-tools`, `unzip` để thao tác với server.
apt install -y curl wget vim net-tools unzip ca-certificates gnupg lsb-release
Kết quả mong đợi: Các lệnh `curl`, `wget`, `netstat` có thể chạy được.
4.3. Cài đặt Docker Engine (Chuẩn bị cho MinIO)
Mục đích: Cài đặt Docker Engine chính thức (không phải Docker Desktop) để chạy container MinIO.
Bước 1: Thêm repository chính thức của Docker.
apt install -y ca-certificates curl gnupg lsb-release
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
chmod a+r /etc/apt/keyrings/docker.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
Kết quả mong đợi: File `/etc/apt/sources.list.d/docker.list` được tạo thành công.
Bước 2: Cài đặt Docker Engine.
apt update
apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Kết quả mong đợi: Docker engine được cài đặt, không có lỗi.
4.4. Cấu hình Docker chạy tự động và quyền rootless
Mục đích: Đảm bảo Docker khởi động cùng hệ thống và cho phép user hiện tại chạy lệnh docker mà không cần `sudo`.
systemctl enable docker && systemctl start docker
usermod -aG docker $USER
newgrp docker
Kết quả mong đợi: Lệnh `docker version` chạy thành công không cần sudo.
4.5. Verify môi trường cuối cùng
Hành động: Chạy container test để đảm bảo Docker hoạt động và có thể truy cập network.
docker run --rm hello-world
Kết quả mong đợi: Hiển thị thông báo "Hello from Docker!" và container tự động xóa sau khi chạy xong.
Điều hướng series:
Mục lục: Series: Triển khai Database Object Storage với MinIO và Ubuntu 24.04
Phần 2: Cài đặt Docker Engine và cấu hình môi trường container »