Ceph mount 명령어 스크립트를 암호화 하여 (부팅시) 다른 데몬 보다 먼저 구동하기

리눅스/Ceph|2016. 9. 2. 13:03
반응형

Ceph client 가 mount 를 하려면 /etc/ceph/ 디렉토리 안에 키파일을 넣어놓던가

마운트 명령줄에 키를 옵션으로 넣어 암호화 스크립트로 만들고, rc.local 에 등록하여 구동 합니다.



[문제점]


전자의 경우, ceph 설정파일 안에 계정과 키가 보이기 때문에, client 가 마음만 먹으면 언제든 rbd 명령을 수행할 수 있게 됩니다. (pool 생성, 이미지 생성, 용량 증가, 사용자 정보보기)


후자의 경우 ceph 스토리지 마운트보다 mysql 의 데몬 구동 시도가 우선되므로, ceph 스토리지 안에 DATA 디렉토리를 넣고 사용할 경우 mysql 이 정상 구동되지 못합니다. (mysql 데몬 구동시 ceph 스토리지가 마운트 되어있지 않으므로)



[해결책]


이 문제를 해결하기 위해서 아래와 같은 절차를 따릅니다.


1. ceph 스토리지 mount 스크립트 작성


#!/bin/bash

rbd --mon_host 192.168.10.2 --conf /dev/null --keyring /dev/null --name client.sysdocu --key AQC9IMVX7npVIRAAnhDCmV7BGgIwFG1tBPyeAA== --pool sysdocu-pool map vda

mount /dev/rbd0 /DATA


2. 위 스크립트 파일을 shc 명령으로 암호화 합니다.


3. /etc/ceph/ 디렉토리에 cfs_mount 이름으로 가져다 놓습니다. (파일명 상관없음)


4. /etc/init.d/rbdmap 파일을 열어 start 부분에 스크립트를 추가합니다.


(생략)

  start)

        /etc/ceph/cfs_mount    // 스크립트를 추가합니다.

        rbdmap map

        ;;

(생략)


5. 부팅시 rbdmap 데몬이 구동되도록 합니다.


- CentOS : ntsysv 실행

- Ubuntu : sysv-rc-conf 실행



rc3.d 디렉토리에서 보면 알 수 있듯 ceph 스토리지 마운트 데몬이 다른 데몬보다 구동 우선순위가 높습니다.

이렇게 보안상 문제 (마운트 스크립트 암호화) 와 서비스 문제 (mysql 등의 데몬 구동) 를 해결하였습니다.



반응형

댓글()