Đang Tải...

Trang chủ
Tot Blog

Tutorials

Hướng dẫn cài đặt Object Storage Server dùng MinIO trên Ubuntu 22.04

10/05/2023

icon

MinIO là một server lưu trữ dạng phân tán với hiệu năng cao, bạn có thể dễ dàng upload file, download và tương thích với API của Amazon S3. Qua bài viết này, Tothost sẽ hướng dẫn bạn cài đặt Object Storage Server dùng MinIO trên Ubuntu 22.04

Mục lục

Mục lục

1. Giới thiệu về MinIO

1.1. Định nghĩa

Minio is a high performance distributed object storage server, designed for large-scale private cloud infrastructure.

Định nghĩa tại trang chủ của MinIO

Tạm dịch: MinIO là một máy chủ lưu trữ đối tượng phân tán có hiệu suất cao, được thiết kế cho cơ sở hạ tầng đám mây riêng quy mô lớn.

MinIO là giải pháp mã nguồn mở dùng để thiết lập Object Storage, là một server lưu trữ dạng phân tán với hiệu năng cao, giúp bạn dễ dàng upload file, download file như amazon, google drive, mediafire..vv. MinIO tương thích với API của dịch vụ lưu trữ đám mây Amazon S3.

Hiểu đơn giản MinIO chính là một file server hỗ trợ upload file, download file.

1.2. Yêu cầu

Có hai yêu cầu chính dưới đây:

  • Máy chủ Ubuntu 22.04.
  • Một tên miền và trỏ nó đến địa chỉ IP của máy chủ của chúng ta.

2. Cài đặt và Cấu hình allow firewall

2.1. Cập nhật hệ thống

Để đảm bảo rằng tất cả các phụ thuộc của MinIO đều được cập nhật, chúng ta hãy thực thi lệnh bên dưới.

apt-get update && apt-get upgrade
_

2.2. Chuẩn bị cho cài đặt CSF

Trước tiên, chúng ta cần cài đặt các phụ thuộc cho CSF.

apt install -y perl zip unzip dnsutils libwww-perl liblwp-protocol-https-perl sendmail-bin
_

2.3. Cài đặt CSF

Chúng ta điều hướng đến /usr/src

cd /usr/src
_

Chúng ta sẽ tải xuống bản phân phối CSF, bằng cách sử dụng lệnh sau:

wget https://download.configserver.com/csf.tgz
_

Chúng ta giải nén CSF.

tar -xzf csf.tgz
_

Sau đó, chúng ta điều hướng đến /usr/src/csf

cd csf
_

Sau đó, chúng ta chạy lệnh sau để cài đặt CSF.

sh install.sh
_

Xác minh các mô-đun iptables cần thiết cho CSF có sẵn.

perl /usr/local/csf/bin/csftest.pl
_

Chúng ta sẽ nhận thấy kết quả dưới đây.

RESULT: csf should function on this server

Tiếp theo cần xác minh trạng thái CSF sau khi cài đặt.

csf -v 
_

Chúng ta sẽ thấy một kết quả tương tự như.

csf: v14.16 (generic)
*WARNING* TESTING mode is enabled - do not forget to disable it in the configuration

2.4. Cấu hình CSF

Mặc định CSF chạy ở chế độ THỬ NGHIỆM. Chỉnh sửa /etc/csf/csf.conf để tắt chế độ THỬ NGHIỆM

Chúng ta xác định vị trí dòng TESTING = “1” và thay đổi giá trị thành “0”

/etc/csf/csf.conf
TESTING = "0"
_

Tiếp theo, Chúng ta xác định vị trí dòng RESTRICT_SYSLOG = “0” và thay đổi giá trị thành “3”. 

Điều này có nghĩa là chỉ các thành viên của RESTRICT_SYSLOG_GROUP mới có thể truy cập các tệp syslog / rsyslog

/etc/csf/csf.conf
RESTRICT_SYSLOG = "3"
_

Chúng ta xác định vị trí các dòng sau và thêm các cổng cần thiết 80, 443, 9000, 9001

/etc/csf/csf.conf
# Allow incoming TCP ports
TCP_IN = "80,443,9000,9001"
_

Sau đó, chúng ta lưu tệp cấu hình.

Dừng và tải lại CSF với tùy chọn -ra

csf -ra

_

3. Cách cài đặt MinIO

Chúng ta tải xuống file minio từ trang web chính thức của MinIO là min.io .

wget https://dl.min.io/server/minio/release/linux-amd64/minio

_

Chúng ta cấp quyền thực thi cho tệp.

chmod +x minio

_

Sau đó chúng ta di chuyển MinIO vào thư mục /usr/local/bin

mv minio /usr/local/bin

_

Tiến hành xác minh cài đặt.

minio --version

_

Kết quả nhận được

minio version RELEASE.2022-07-08T00-05-23Z (commit-id=ed0cbfb31e00644013e6c2073310a2268c04a381)
Runtime: go1.18.3 linux/amd64
License: GNU AGPLv3 <https://www.gnu.org/licenses/agpl-3.0.html>
Copyright: 2015-2022 MinIO, Inc.

3.1. Cấu hình MinIO

Chúng ta sẽ tạo người dùng, nhóm cho MinIO.

groupadd -r minio-user
useradd -M -r -g minio-user minio-user

_

Chúng ta tạo một thư mục để lưu trữ tệp cấu hình.

mkdir /etc/minio

_

Tiếp đến, chúng ta cấp quyền sở hữu thư mục cho người dùng và nhóm MinIO.

chown minio-user:minio-user /etc/minio

_

Tiếp theo chúng ta tạo thư mục dữ liệu nơi minio sẽ lưu trữ tất cả các tệp.

mkdir /mnt/data

_

Cấp quyền sở hữu thư mục cho người dùng và nhóm MinIO.

chown minio-user:minio-user /mnt/data

_

Chúng ta sẽ tạo, mở tệp môi trường của minio /etc/default/minio và thêm nội dung sau.

/etc/default/minio
MINIO_VOLUMES="/mnt/data"
MINIO_OPTS="-C /etc/minio --address your_server_ip:9000 --console-address :9001"
MINIO_ROOT_USER=minioadmin
MINIO_ROOT_PASSWORD=Rc3OzCzpQbk$

MINIO_VOLUMES: Chỉ định thư mục lưu trữ cho dữ liệu.
MINIO_OPTS: đặt các tùy chọn khác nhau cho máy chủ Minio. -C khai báo nơi sẽ chứa các file config của minIO, –address khai báo IP của server/VPS chạy minIO và cổng để liên kết đến. Nếu Chúng ta không chỉ định địa chỉ IP, Minio sẽ liên kết với mọi địa chỉ IP trên máy chủ, bao gồm cả localhost hoặc bất kỳ địa chỉ IP nào liên quan đến Docker. Cổng mặc định là 9000. và cổng 9001 cho bảng điều khiển web của Minio. -C–address–console-address
MINIO_ROOT_USER: Tên người dùng để truy cập giao diện người dùng Minio. Nó phải có độ dài tối thiểu là 3 ký tự.
MINIO_ROOT_PASSWORD: Mật khẩu để truy cập vào giao diện Minio. Nó phải có độ dài tối thiểu là 8 ký tự. Chọn một khóa bí mật mạnh mẽ và phức tạp.

3.2. Cài đặt dịch vụ MinIO

Chúng ta tải xuống tệp minio.service vào thư mục /etc/systemd/system

 curl --url https://raw.githubusercontent.com/minio/minio-service/master/linux-systemd/minio.service -o  /etc/systemd/system/minio.service

_

Chúng ta sẽ load lại service của hệ thống.

systemctl daemon-reload

_

Chúng ta bật MinIO khởi động cùng hệ thống.

sudo systemctl enable minio

_

Kết quả

Created symlink /etc/systemd/system/multi-user.target.wants/minio.service → /etc/systemd/system/minio.service.

Sau đó chúng ta khởi động máy chủ MinIO.

systemctl start minio

_

Mở URL trong trình duyệt và chúng ta sẽ thấy màn hình sau. http://your_server_ip:9001

MinIO Console

4. Cài đặt và cấu hình SSL miễn phí

4.1. Cài đặt Snap

Certbot yêu cầu chứng chỉ HTTPS từ Let’s Encrypt cho máy chủ web của Chúng ta. Certbot yêu cầu Snap, hãy chạy lệnh sau để cài đặt Snap.

apt install -y snapd

_

4.2. Cài đặt Certbot

Chúng ta cài đặt Certbot với Snap với lệnh sau.

snap install core
snap refresh core
snap install --classic certbot
ln -s /snap/bin/certbot /usr/bin/certbot

_

Chúng ta tạo chứng chỉ SSL

certbot certonly --standalone --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -d minio.example.com -m admin@example.com

_

Lệnh trên sẽ tải chứng chỉ xuống thư mục trên máy chủ của chúng ta. /etc/letsencrypt/live/minio.example.com

Chúng ta sẽ sao chép các tệp và vào thư mục thư mục cấu hình của MinIO.

cp /etc/letsencrypt/live/minio.example.com/privkey.pem /etc/minio/certs/private.key
cp /etc/letsencrypt/live/minio.example.com/fullchain.pem /etc/minio/certs/public.crt

_

Chúng ta thay đổi quyền sở hữu tệp đã sao chép.

chown minio-user:minio-user /etc/minio/certs/private.key
chown minio-user:minio-user /etc/minio/certs/public.crt

_

Sau đó chúng ta mở tệp cấu hình Minio /etc/default/minio và thêm dòng sau ở dưới cùng.

/etc/default/minio

MINIO_SERVER_URL="https://minio.example.com:9000"

Mặc dù console được truy cập thông qua cổng 9001, URL máy chủ SSL sử dụng cổng 9000 để truy cập API MinIO.

Chúng ta khởi động lại Máy chủ MinIO.

systemctl restart minio

_

Chúng ta có thể truy cập console MinIO thông qua URL trong trình duyệt của mình. https://minio.example.com:9001

4.3. Cài đặt MinIO client

Tiếp theo chúng ta sẽ cài ứng dụng client dòng lệnh của MinIO. Chúng ta sẽ tải xuống tệp mc bằng lệnh sau.

wget https://dl.min.io/client/mc/release/linux-amd64/mc

_

Chúng ta sẽ thêm quyền thực thi cho tệp mc.

chmod +x mc

_

Sau đó, chúng ta di chuyển tệp mc vào thư mục /usr/local/bin

mv mc /usr/local/bin

_

Chúng ta sẽ xác minh cài đặt bằng lệnh sau.

mc --version
mc version RELEASE.2022-07-06T14-54-36Z (commit-id=81c4a5ad6ee47ff2fc264b9811d884984ae05f6e)
Runtime: go1.18.3 linux/amd64
Copyright (c) 2015-2022 MinIO, Inc.
License GNU AGPLv3 <https://www.gnu.org/licenses/agpl-3.0.html>

_

Tiếp theo chúng ta sẽ đặt bí danh cho máy chủ MinIO của chúng ta để chúng ta có thể truy cập bằng cách sử dụng một tên dễ nhận dạng.

mc alias set myminio https://minio.example.com:9000 minioadmin Rc3OzCzpQbk$

_

Thay thế tên người dùng và mật khẩu của chúng ta đã đặt cho máy chủ: minioadmin và Rc3OzCzpQbk$

Tên sau alias set chúng ta có thể được đặt thành bất cứ thứ gì. Trong trường hợp này được đặt là myminio

Chúng ta sẽ nhận được kết quả sau.

Kết quả

mc: Configuration written to `/<user>/.mc/config.json`. Please update your access credentials.
mc: Successfully created `/<user>/.mc/share`.
mc: Initialized share uploads `/<user>/.mc/share/uploads.json` file.
mc: Initialized share downloads `/<user>/.mc/share/downloads.json` file.
Added `myminio` successfully.

MinIO client lưu trữ tất cả các cấu hình trong thư mục. /user/.mc

4.4. Tạo User và Service Account bằng mc

Tạo User

Chúng ta sử dụng lệnh mc admin user add để tạo user mới trong MinIO.

mc admin user add myminio userdemo BwebE025Ux6L

_

Chúng ta hãy thay thế myminio bằng tên ALIAS của chúng ta, userdemo là tên user mới, BwebE025Ux6L là mật khẩu user

Sau khi tạo người dùng, chúng ta sử dụng mc admin policy set để liên kết Kiểm soát truy cập dựa trên chính sách MinIO với người dùng mới.

mc admin policy set myminio readwrite user=userdemo
Policy `readwrite` is set on user `userdemo`

_

Tạo Service Account

Tiếp theo chúng ta sẽ tạo Service Account liên kết với người dùng được chỉ định, ở đây là tài khoản userdemo.

mc admin user svcacct add                       \
   --access-key "p86DC2sf29sMq97u"          \
   --secret-key "9eBwebE025Ux6LPphPOTShfB3Mq9jwIJ"  \
   myminio userdemo

_

Chúng ta hãy thay thế access-key và secret-key bằng key của chúng ta

Kết quả

Access Key: p86DC2sf29sMq97u
Secret Key: 9eBwebE025Ux6LPphPOTShfB3Mq9jwIJ

Tổng kết

Như vậy Tothostchúng ta vừa hoàn thành hướng dẫn Cài đặt Object Storage Server dùng MinIO trên Ubuntu 22.04, Hy vọng bài viết này sẽ giúp các bạn cài đặt thành công.

TelegramCommunity
scroll top
Thông báo
Đóng