통합검색

Synology

[시놀로지] object storage 환경 구축을 위한 docker + minio 설치


[!]시놀로지 나스에 도커(docker) 설치[/!]

AWS에서 제공하는 s3와 같은 object storage를 시놀로지 나스에서도 운영할 수 있다.
시놀로지 나스에 컨테이너 플랫폼인 도커(docker)를 설치한뒤 도커 컨테이너에 minio 라는 스토리지서버 소프트웨어를 설치하면 
s3 sdk 와 연동되는 오브젝트 스토리지 환경 구축이 가능하다.

minio를 도커 위에 올려야 하기 때문에 도커 설치가 선행 되어야 한다.



시놀로지 나스에서 [패키지 센터] 를 실행한 뒤
docker 로 패키지를 검색하여 설치한다.
위 예시 화면에서는 이미 도커가 설치되어 있기 때문에 [설치] 버튼 대신 [업데이트] 버튼이 노출되고 있다.


[!]minio에서 사용하기 위한 공유폴더 생성[/!]

도커 컨테이너에 설치되는 minio에 연결하여 사용할 공유폴더를 생성해야 한다.
공유폴더 내에 minio 설정 정보 및 오브젝트 스토리지에 업로드된 객체들이 저장된다.



[제어판] - [공유 폴더] 를 클릭한다.



상단 [생성] - [공유 폴더 생성]을 클릭하여 공유 폴더 생성 마법사를 실행한다.



공유폴더 이름을 입력하고
'내 네트워크 환경에서 숨기기' 옵션을 활성화하여 불필요하게 네트워크 환경에서 노출되는 상황을 방지한다.
'휴지통 활성화' 옵션은 필수 옵션은 아니다.


[!]docker 레지스트리 다운로드 및 컨테이너 설치[/!]

도커 컨테이너로 생성할 레지스트 이미지를 사전에 다운로드 해야한다.



[도커] - [레지스트리] 로 접근한다.
상단 검색창에 'minio'를 입력하여 검색한뒤 검색 결과 중 'minio / minio'를 더블클릭한다.



'태그 선택' 창에서 원하는 minio 버전의 이미지를 다운로드 받을 수 있는데,
가장 최근 버전을 다운로드 받기 위해 'latest'를 선택 후 [선택] 버튼을 클릭한다.



[도커] - [컨테이너] 로 이동한 다음 상단 [생성]버튼을 클릭하여 새로운 컨테이너 생성을 시작한다.
[생성]버튼 클릭시 팝업되는 화면에서 직전 다운로드 받은 레지스트리 이미지를 선택한 뒤 [다음] 버튼을 클릭한다.



네트워크 설정 창에서 [다음] 버튼을 클릭한다.



일반 설정 화면에서 '높은 권한을 사용' 옵션을 체크하고
하단 [고급 설정]을 클릭하여 환경변수 설정 창을 연다.



환경변수는 도커 콘테이너에 설치될 minio에서 참조할 환경변수로
위 화면과 같이
MINIO_ROOT_USER : minio root 로그인 아이디
MINIO_ROOT_PASSWORD : minio root 로그인 패스워드
를 추가한다.
MINIO_BROWSER 옵션은 웹브라우저에서 오브젝트 스토리지 관리 콘솔 및 파일 브라우저를 실행할 것인지를 설정하는 옵션으로
off로 설정시 웹브라우저에서 오브젝트 스토리지를 객체를 관리할 수 없으며, sdk 와 같은 보조 도구를 통해 접근이 가능하게 된다.



[실행 명령] 탭으로 이동하여 '명령' 란에
 
minio server --console-address :9001 /data

를 입력한다음 [저장]을 클릭하여 설정 창을 닫은 다음 
컨테이너 생성 마법사로 돌아와 [다음]을 클릭하여 포트 설정 단계로 이동한다.



포트 설정 화면에서 로컬 및 컨테이너 포트를 설정한다.
외부에서 나스:9000 포트로 접근시 컨테이너:9000 포트로 트래픽을 전달 하겠다는 의미이며,
minio의 기본 포트는 9000이므로(minio console은 9001 이다) 컨테이너 포트는 수정하지 않는 것을 권장한다.
로컬 포트는 자유롭게 변경 가능하되, 타 프로세스와 겹치지 않는 포트로 설정해야 한다.

[다음]을 클릭하여 볼륨 설정 단계로 넘어간다.



볼륨 설정에서 등록한 폴더는 도커 컨테이너 내부에 설치된 minio 와 연결된다.
위 [폴더 추가] 버튼을 클릭하여 화면과 같이 사전에 생성해둔 minioFolder를 선택하여 마운트 경로 /data 를 입력하고,
File station을 통해 minioFolder 하위에 생성한 minioFolder/docker/minio/config 폴더를 선택하여
마운트 경로 /root/.minio 를 입력한 다음 [다음] 버튼을 클릭한다.

위와 같이 폴더를 마운트 하면 오브젝트 스토리지에서 업로드되는 객체들은 minioFolder에 저장되며, 
설정 관련 파일들은 minioFolder/docker/minio/config에 저장된다.

[다음]을 클릭하여 컨테이너 생성을 모두 마친다.


[!]접속 테스트[/!]

도커에 minio가 성공적으로 설치되었는지 확인하기 위해
웹브라우저에서 나스접속주소:9000 으로 접속하여 root 로그인 화면이 접속 되는지 확인한다.



위 화면과 같이 노출 된다면 설치가 모두 완료된 것이며,
로그인 정보는 앞서 환경변수에서 등록한 MINIO_ROOT_USER 와 MINIO_ROOT_PASSWD 정보로 로그인 하면 된다.

만약, 환경변수에서 MINIO_BROWSER 를 off 로 설정했다면
로그인 화면 접속이 되지 않으니 주의해야 한다.