mc (minio client)의 사용법을 정리한다.
파일 이동, 계정 관리, 정책 등 MinIO 서버와 관련된 다양한 설정을 위해 MinIO 클라이언트를 사용한다.
사용자가 minio client를 사용하는 방법은 다음 문서를 참고한다.
관리자가 minio client를 사용하는 방법은 다음 문서를 참고한다.
Docker를 사용하여 MinIO를 설정하는 방법은 다음 포스팅을 참고한다.
MinIO의 WebUI 사용법은 아래 포스팅을 참고한다.
mc (MinIO Client) 설치와 설정 방법을 정리한다.
mc 다운로드
mc는 apt install과 같은 설치 방법을 제공하지 않기 때문에 직접 다운로드해야 한다.
운영체제별 다운로드 방법은 아래 사이트를 참고한다.
우분투 중심으로 사용할 것이므로 리눅스 중심으로 정리한다.
아래 명령으로 mc 실행 파일을 다운로드한다.
$ wget https://dl.minio.io/client/mc/release/linux-amd64/mc
$ chomd +x mc
$ ./mc --help
다음과 같이 다운로드가 진행된다.
mc 초기설정
config 설정 파일 생성
아래 명령을 실행하여 ~/.mc 폴더의 하위 경로에 설정 파일들을 생성한다.
$ ./mc config
mc: Configuration written to `/home/bearpooh/.mc/config.json`. Please update your access credentials.
mc: Successfully created `/home/bearpooh/.mc/share`.
mc: Initialized share uploads `/home/bearpooh/.mc/share/uploads.json` file.
mc: Initialized share downloads `/home/bearpooh/.mc/share/downloads.json` file.
NAME:
mc config - configure MinIO client
USAGE:
mc config COMMAND [COMMAND FLAGS | -h] [ARGUMENTS...]
COMMANDS:
host add, remove and list hosts in configuration file
FLAGS:
--config-dir value, -C value path to configuration folder (default: "/home/bearpooh/.mc")
--quiet, -q disable progress bar display
--no-color disable color theme
--json enable JSON lines formatted output
--debug enable debug output
--insecure disable SSL certificate verification
--help, -h show help
config.json 알아보기
config.json 파일을 확인해보면 다음과 같다.
$ vi ~/.mc/config.json # 파일 내부 텍스트 출력
$ ./mc config host list # config.json을 예쁘게(?) 출력
실행하면 다음과 같이 출력된다. (config host list 기준)
s3, local, play, gcp가 있는데 각각 다음과 같다.
-
s3 - AWS에서 제공하는 S3 서비스
-
gcp - 구글에서 제공하는 스토리지 서비스
-
play - min.io 에서 제공하는 MinIO 스토리지 서비스
-
local - 사용자가 로컬에 직접 설정한 MinIO
해당 이름은 mc에서 URL 대신 사용할 수 있는 alias (별칭)으로 사용한다.
명령어에 https://s3.amazonaws.com 대신 s3를 사용하면 되므로 편리하다.
s3, gcp, play는 사용할 일이 없다면 삭제해도 된다.
만약 s3나 gcp를 사용해야 하는 경우 해당 부분의 설정을 변경하면 된다.
로컬 MinIO를 설정 파일에 등록하기
로컬에 설정한 MinIO를 설정 파일에 등록하는 방법은 두 가지가 있다..
config.json 파일을 수정하거나 명령어를 사용하는 것이다.
config.json 수정
아래 명령으로 config.json 파일을 수정한다.
$ vi ~/.mc/config.json
{
"version": "10",
"aliases": {
"local": {
# SSL을 적용한 경우 아래 http://를 https://로 수정
"url": "http://localhost:9000",
"accessKey": "minio", # 사용할 계정
"secretKey": "miniopass", # 계정의 비밀번호
"api": "S3v4",
"path": "auto"
}
}
}
local이 아닌 다른 이름을 사용하려고 하는 경우 새로운 이름을 추가한다.
다른 MinIO를 추가하고자 하는 경우도 동일하다.
$ vi ~/.mc/config.json
{
"version": "10",
"aliases": {
"local": {
# SSL을 적용한 경우 아래 http://를 https://로 수정
"url": "http://localhost:9000",
"accessKey": "minio", # 사용할 계정
"secretKey": "miniopass", # 계정의 비밀번호
"api": "S3v4",
"path": "auto"
}, # 콤마가 누락되지 않도록 주의한다.
"minio": {
"url": "http://localhost:9000",
"accessKey": "minio", # 사용할 계정
"secretKey": "miniopass", # 계정의 비밀번호
"api": "S3v4",
"path": "auto"
}
}
}
명령어 사용
아래 명령으로 사용할 MinIO를 host로 등록한다.
# ./mc config host add 추가할이름 \
# MINIO_URL:PORT ACCESS_KEY(계정) SECRET_KEY(비밀번호)
# SSL을 적용한 경우 아래 http://를 https://로 수정
$ ./mc config host add minio \
http://localhost:9000 minio miniopass
자체 서명 인증서를 사용하는 경우 인증서 정보를 확인할 수 없어 다음과 같은 오류가 발생한다.
$ ./mc config host add minio https://localhost:9000 minio miniopass
mc: <ERROR> Unable to initialize new alias from the provided credentials.
Get "https://localhost:9000/probe-bucket-sign-il3shvhz9s9z/?location=":
x509: certificate signed by unknown authority.
이러한 경우 config 앞에 --insecure 옵션을 추가한다.
$ ./mc --insecure config host add minio https://localhost:9000 minio miniopass
Added `minio` successfully.
등록 완료되면 mc config host list 명령으로 등록된 host를 확인할 수 있다.
$ ./mc config host list
local
URL : http://localhost:9000
AccessKey :
SecretKey :
API :
Path : auto
minio
URL : https://localhost:9000
AccessKey : minio
SecretKey : miniopass
API : s3v4
Path : auto
이미 존재하는 별칭 (alias)의 설정을 변경하고자 하는 경우, 아래 변경할이름 부분에 해당하는 별칭을 기입한다.
# ./mc config host add 변경할이름 \
# MINIO_URL:PORT ACCESS_KEY(계정) SECRET_KEY(비밀번호)
# SSL을 적용한 경우 아래 http://를 https://로 수정
$ ./mc config host add local \ # local은 이미 존재하는 별칭 (alias)
http://localhost:9000 minio miniopass
실행이 완료되면 local 부분이 변경 된 것을 확인할 수 있다.
$ ./mc config host list
local
URL : https://localhost:9000
AccessKey : minio
SecretKey : miniopass
API : s3v4
Path : auto
minio
URL : https://localhost:9000
AccessKey : minio
SecretKey : miniopass
API : s3v4
Path : auto
alias 사용하기
자체서명 인증서를 사용하는 경우 명령어를 사용할 때마다 --insecure 옵션을 입력해야 한다.
그러나 매번 입력하기에는 너무 번거롭다.
운영체제에 자주 사용하는 명령어를 alias로 등록하여 사용할 수 있다.
아래와 같이 입력하면 해당 옵션을 항상 사용할 수 있다.
$ alias mc ='./mc --insecure'
$ mc config host list
local
URL : https://localhost:9000
AccessKey : minio
SecretKey : miniopass
API : s3v4
Path : auto
minio
URL : https://localhost:9000
AccessKey : minio
SecretKey : miniopass
API : s3v4
Path : auto
mc 버전 확인
아래 명령을 실행하면 mc의 현재 버전을 확인할 수 있다.
$ mc --version
mc version RELEASE.2022-02-07T09-25-34Z
MinIO의 웹 콘솔에서 현재 MinIO의 버전을 확인할 수 있다.
MinIO와 mc의 버전 차이가 많이 발생할 경우 호환 문제로 인해 아래와 같은 오류가 발생할 수 있다.
mc: <ERROR> Cannot get service status.
Unexpected client 'admin' API version found 'v3', expected 'v2',
please downgrade the client to older releases.
이러한 경우 아래 사이트에서 사용 중인 MinIO 버전 직후에 배포 된 mc 바이너리를 다운로드하여 사용한다.
MinIO의 재시작하기
mc의 admin service 옵션을 사용하면 MinIO의 재시작 또는 중지할 수 있다.
# mc admin service restart MINIO_NAME
$ mc admin service restart minio
# SSL을 적용할 때 자체서명 인증서를 사용한 경우 --insecure 옵션 추가
# mc --insecure admin service resatrt minio
Restart command successfully sent to `minio`.
Type Ctrl-C to quit or wait to follow the status of the restart process.
......
Restarted `minio` successfully in 12 seconds
admin service의 상세 사용법은 다음과 같다.
$ mc admin service
NAME:
mc admin service - restart and stop all MinIO servers
USAGE:
mc admin service COMMAND [COMMAND FLAGS | -h] [ARGUMENTS...]
COMMANDS:
restart restart all MinIO servers
stop stop MinIO server
FLAGS: # 주요 플래그만 표기
--config-dir value, -C value path to configuration folder (default: "/home/bearpooh/.mc")
--debug enable debug output
--insecure disable SSL certificate verification
'::: IT인터넷 :::' 카테고리의 다른 글
Python으로 MinIO를 사용하는 방법 (1) - 소개와 설치 (0) | 2022.04.11 |
---|---|
mc (minio client)로 MinIO 사용하기 (0) | 2022.04.07 |
MinIO의 WebUI 사용법 정리 (0) | 2022.03.31 |
mongo-express에 SSL 적용하기 (0) | 2022.03.28 |
Docker로 MongoDB 설정하기 (0) | 2022.03.24 |