티스토리 뷰
지난번에 MinIO를 공식홈페이지에서 나온대로 설치를 해보니 불편한점이 있었다. 실행, 중지에 대한 별도의 script를 제공하지 않아서 MinIO에 대해서 잘 모르는 사람들은 이를 기동하기 힘들수도 있다는 생각이 들었다. 그래서 tomcat을 기동하고 중지하는 것처럼 MinIO도 누구나 쉽게 시작하고 중지할 수 있도록 script를 만들어서 사용하려한다.
지난번에 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 파일에 정상적으로 쌓인다. 잘 동작되고 있다.
끝!
'Server > Storage' 카테고리의 다른 글
MinIO API 사용하여 file upload 구현하기 (0) | 2020.09.22 |
---|---|
MinIO API 사용하는법 예제를 통해 쉽게 알아보기 (0) | 2020.09.22 |
MinIO bucket 생성 및 파일 업로드 해보기 (0) | 2020.09.21 |
MinIO config.json을 통해 계정 초기화하는 방법 (0) | 2020.09.17 |
CentOS (linux) 에 MinIO (Object Storage) 설치하기 (1) | 2020.09.14 |