티스토리 뷰

지난번에 MinIO를 공식홈페이지에서 나온대로 설치를 해보니 불편한점이 있었다. 실행, 중지에 대한 별도의 script를 제공하지 않아서 MinIO에 대해서 잘 모르는 사람들은 이를 기동하기 힘들수도 있다는 생각이 들었다. 그래서 tomcat을 기동하고 중지하는 것처럼 MinIO도 누구나 쉽게 시작하고 중지할 수 있도록 script를 만들어서 사용하려한다. 

 

 

CentOS (linux) 에 MinIO (Object Storage) 설치하기

예전에 파일 업로드를 위한 서버를 구성을 한적이 있었다. 들어온 요청(파일)을 특정 경로에 저장시켜주는 역할을 하는 하나의 JSP 파일을 가진 초간단 파일 업로드 서버였다. 이정도 역할만 해��

oingdaddy.tistory.com

지난번에 wget으로 minio 파일을 가지고 와서 그 파일이 있는 곳에서 다음과 같이 MinIO를 기동했었다. 

$ minio server --address ip:9000(기본포트) /data

이렇게 실행을 하면 foreground로 동작하기 때문에 불편하다. 더욱이 이렇게 일일히 ip, port, 저장경로 등을 지정해서 실행하게 된다면 실수를 할수도 있다. 그리고 이렇게 사용하는 것을 꼭 숙지를 하고 있어야 한다. 이런 불편함이 있기에 간단하게 실행시킬 수 있는 script를 제작해 보자. 

 

 

사전작업

  • wget으로 얻은 minio 파일을 적당한 디렉토리로 이동시킨다. 필자는 /app/minio/sample 이라는 곳에 minio 파일을 위치시켰다.
  • log 폴더도 하나 생성을 해 놓는다. log 폴더는 MinIO를 background로 실행시킬것이기 때문에 출력되는 로그를 log 폴더에 담을 계획이다.
  • 최초 실행 후 계정 초기화 작업도 진행을 한다. 계정 초기화하는 방법은 위에 표시한 지난글에서 찾아볼 수 있다. 

그리고 이 위치에 start.sh 와 stop.sh 파일을 만든다. 물론 만든 후에는 실행 권한을 줘야 한다. 

최종 모습은 이런 식으로 되어야 한다. (data, minio.pid는 나중에 minio 실행하면 생성된다. )

 

 

start.sh

#!/bin/bash

LOG_FILE="$PWD/logs/minio.log"

export MINIO_ACCESS_KEY=minioadmin
export MINIO_SECRET_KEY=minioadmin

./minio server --address :9000 /app/minio/sample/data >> $LOG_FILE 2>&1 &

MINIO_PID=$!

if [ ! -z $MINIO_PID ] ; then 
    echo "$MINIO_PID" > minio.pid
fi

실행을 하면 실행 log는 minio.log 파일에 쌓이고 pid를 생성을 한다. 즉 pid가 있으면 실행중이라는 것이다. 이것은 종료를 할때 사용하기 위해 생성을 해 놓는 것이다. 계정 초기화를 하지 않았을 경우는 MINIO_ACCESS_KEY, MINIO_SECRET_KEY를 기본계정인 minioadmin:minioadmin으로 export 해준다. 

 

 

stop.sh

#!/bin/bash

MINIO_PID='cat minio.pid 2> /dev/null'

if [ ! -z $MINIO_PID ]; then
    kill $MINIO_PID
    rm -f minio.pid
else 
    echo "No MINIO processes are currently active."
fi

minio.pid 파일이 있으면 pid를 가지고 와서 죽이고 파일을 삭제해준다. 동작하고 있는 minio 서버가 없으면 없다고 출력해주는것은 덤. 

 

 

minio.log

로그는 잘 쌓이나 확인을 해본다. 

foreground로 동작시킬때 나왔던 에러가 minio.log 파일에 정상적으로 쌓인다. 잘 동작되고 있다. 

 

끝!

댓글
최근에 올라온 글
최근에 달린 댓글
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31