• 서버에 MinIO 설치
  • 로컬 디스크에 데이터를 유지하는 간단한 S3 호환 Minio 엔진을 시작

 

1. MinIO docker 설치

$ mkdir -p /data/minio
$ mkdir -p /var/log/minio/
$ touch /var/log/minio/minio.log

$ docker run -d --rm --name minio \
    -v /data/minio:/data \
    -v /var/log/minio/minio.log:/log/minio.log \
    -p 9000:9000 \
    -e "MINIO_ACCESS_KEY=minio" \
    -e "MINIO_SECRET_KEY=melovethanos" \
    -e "MINIO_HTTP_TRACE=/log/minio.log" \
    minio/minio:RELEASE.2019-01-31T00-31-19Z \
    server --anonymous --json /data

 

2. minio logrotate 작성

  1. 매주 생성
  2. gz으로 압축
  3. 압축파일에 날짜를 명시
  4. 수행 완료 후 minio 컨테이너 재실행
    $ vi /etc/logrotate.d/minio
    /var/log/minio/*.log {
    weekly
    rotate 5
    create 0644 root root
    missingok
    notifempty
    compress
    sharedscripts
    postrotate
       /bin/docker restart `docker ps | grep -i minio | awk -F ' ' '{print$1}'` > /dev/null 2>/dev/null || true
    endscript
    }

3. minio logrotate를 실행할 /etc/crontab 설정 및 logroate 적용

# logrotate 디버그
$ /usr/sbin/logrotate -d /etc/logrotate.d/minio
Allocating hash table for state file, size 15360 B

Handling 1 logs

rotating pattern: /var/log/minio/*.log  weekly (5 rotations)
empty log files are not rotated, old logs are removed
considering log /var/log/minio/minio.log
  log does not need rotating (log has been already rotated)not running postrotate script, since no logs were rotated

# logrotate 적용
$ /usr/sbin/logrotate -f /etc/logrotate.d/minio

# 압축 파일 생성 확인
$ ls /var/log/minio/
minio.log  minio.log.1.gz

# /etc/crontab 적용
# 매주 일요일 자정 logrotate 실행
$ vi /etc/crontab
00 00 * * 7 /usr/sbin/logrotate -f /etc/logrotate.d/minio

# log 확인
$ cat /var/lib/logrotate/logrotate.status  | grep minio
"/var/log/minio/minio.log" 2022-2-6-0:9:7  

 

4. thanos bucket(타노스 버킷) 생성

  • 향후 minio 오브젝트 스토리지에 thano 실행하기 위한 디렉토리 생성
    $ mkdir /data/minio/thanos

5. Minio 배포 확인

  1. Minio가 의도한 대로 작동하는지 확인 → http://[설치 서버IP]:9000
  2. 자격 증명을 입력
    • Access Key (액세스 키) : minio
    • Secret Key (비밀 키) : melovethanos

 

 

+ Recent posts