Ceph mount 명령어 스크립트를 암호화 하여 (부팅시) 다른 데몬 보다 먼저 구동하기
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 등의 데몬 구동) 를 해결하였습니다.
'리눅스 > Ceph' 카테고리의 다른 글
Ceph qemu-nbd and zerofill 사용하고 다시 줄어든 용량 적용해주기 (0) | 2017.07.07 |
---|---|
Ceph 실제 고객이 사용하는 블록스토리지 1개 사용량 확인하기 (0) | 2017.07.07 |
Ceph image 파일 내용 보기 (마운트) (0) | 2016.09.01 |
[Ceph 에러] [osd-1][ERROR ] RuntimeError: command returned non-zero exit status: 1 (0) | 2016.08.29 |
Ceph 이미지 실 사용 용량 확인 (0) | 2016.08.26 |