Saturday, June 30, 2018

Run Minio as Systemd

          Hello sobat Nostra, pada postingan blog kali ini saya akan membahas tentang bagaimana cara run minio sebagai service dengan menggunakan systemd. Sebelumnya saya sudah pernah membahas tentang minio pada post berikut, namun pada postingan tersebut untuk run minio kita menggunakan command melalui terminal dan ditambah dengan control operator '&' agar minio berjalan di background. Nah kali ini kita akan run minio dengan menggunakan systemd. Oke langsung saja ke step-step yang akan kita lakukan.

1.     Akses terminal untuk VM minio server dan login sebagai root

2.  Download package dan change permission to executable mode. (lakukan langkah berikut ini disetiap server)

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

chmod +x minio

mkdir /opt/Minio && mv minio /opt/Minio

3.  Create folder konfigurasi file dan folder yang akan dijadikan tempat penyimpanan untuk data minio

mkdir /etc/minio
mkdir /opt/MinioData

4.     Create file environment variable untuk minio

vi /etc/default/minio

#insert config berikut : 

#lokasi file minio akan disimpan
MINIO_VOLUMES="/opt/MinioData"

#konfigurasi bind port
MINIO_OPTS="-C /etc/minio --address :443"

5.     Next, kita akan membuat file service untuk minio

vi /etc/systemd/system/minio.service

#insert config berikut

[Unit]
Description=Minio
Documentation=https://docs.minio.io
Wants=network-online.target
After=network-online.target
AssertFileIsExecutable=/opt/Minio/minio

[Service]
WorkingDirectory=/opt

User=root
Group=root

PermissionsStartOnly=true

EnvironmentFile=-/etc/default/minio
ExecStartPre=/bin/bash -c "[ -n \"${MINIO_VOLUMES}\" ] || echo \"Variable MINIO_VOLUMES not set in /etc/default/minio\""

ExecStart=/opt/Minio/minio server $MINIO_OPTS $MINIO_VOLUMES

# Let systemd restart this service only if it has ended with the clean exit code or signal.
Restart=on-success

StandardOutput=journal
StandardError=inherit

# Specifies the maximum file descriptor number that can be opened by this process
LimitNOFILE=65536

# Disable timeout logic and wait until process is stopped
TimeoutStopSec=0

# SIGTERM signal is used to stop Minio
KillSignal=SIGTERM

SendSIGKILL=no

SuccessExitStatus=0

[Install]
WantedBy=multi-user.target

# Built for ${project.name}-${project.version} (${project.name})

6.     Change permission untuk library minio

chown minio:minio /etc/minio
chown minio:minio /opt/Minio
chown minio:minio /opt/MinioData

7.     Reload daemon dengan command berikut :

systemctl daemon-reload

8.     Start minio.service dengan menggunakan systemd

systemctl start minio

9.     Enable startup untuk minio service

systemctl enable minio

10. Untuk mengganti password bias menggunakan command berikut atau bisa melalui web minio setelah minio sudah berjalan

vi /etc/minio/config.json
change dengan :
  "accessKey": "admin",
  "secretKey": "password”

11. Buka web browser di <IPSERVER>:9000, masukkan ACCESS KEY dan SECRET KEY yang telah didapatkan untuk login kedalam minio.

12. Jika ingin mengganti access dan secret key bias juga dilakukan melalui menu setting pada web minio

13. Untuk mengakases minio dari public, add firewall rules pada server untuk allow inbound connection port 9000.

Nah sekarang kita sudah setup minio dengan menggunakan systemd, untuk start service minio dapat dilakukan dengan "systemctl start minio" dan untuk stop "systemctl start minio"

Sekian untuk postingan kali ini, semoga bermanfaat.

Reference : 

- https://docs.minio.io/docs/distributed-minio-quickstart-guide 
- https://en.wikipedia.org/wiki/Systemd

No comments:

Post a Comment