dist: Adding systemd script for running Minio distributed. (#3034)

master
Karthic Rao 8 years ago committed by Harshavardhana
parent 885bac330b
commit 87af2dbc43
  1. 41
      dist/linux-systemd/distributed/README.md
  2. 40
      dist/linux-systemd/distributed/minio.service

@ -0,0 +1,41 @@
- Systemd script is configured to run the binary from /usr/share/minio/bin/.
`$ mkdir -p /usr/share/minio/bin/`
- Download the binary. Find the relevant links for the binary at https://minio.io/downloads/#minio-server.
`$ wget -O /usr/share/minio/bin/minio https://dl.minio.io/server/minio/release/linux-amd64/minio`
- Give execute permission to the Minio binary.
`$ chmod +x /usr/share/minio/bin/minio`
- Create user minio. Systemd is configured with User=minio .
`$ useradd minio`
- Create the Environment configuration file.
`$ cat <<EOT >> /etc/default/minio.conf`
```
MINIO_VOLUMES=node1:/tmp/drive1 node2:/drive1 node3:/tmp/drive1 minio4:/tmp/drive1
MINIO_ACCESS_KEY=Server-Access-Key
MINIO_SECRET_KEY=Server-Secret-Key
EOT
```
- Download and put `minio.service` in `/etc/systemd/system/`
`$ ( cd /etc/systemd/system/; curl -O https://raw.githubusercontent.com/minio/minio/master/dist/linux-systemd/distributed/minio.service )`
- Enable startup on boot.
`$ systemctl enable minio.service`

@ -0,0 +1,40 @@
[Unit]
Description=Minio
Documentation=https://docs.minio.io
Wants=network-online.target
After=network-online.target
AssertFileIsExecutable=/usr/share/minio/bin/minio
[Service]
WorkingDirectory=/usr/share/minio/
User=minio
Group=minio
PermissionsStartOnly=true
EnvironmentFile=-/etc/default/minio.conf
ExecStartPre=/bin/bash -c "[ -n \"${MINIO_VOLUMES}\" ] || echo \"Variable MINIO_VOLUMES not set in /etc/defaults/minio.conf\""
ExecStart=/usr/share/minio/bin/minio server $MINIO_OPTS $MINIO_VOLUMES
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})
Loading…
Cancel
Save