//---------------------------------------------------------------------
// 목표
//---------------------------------------------------------------------
aws의 ec2 에 mysql 을 설치해서 사용중임.
mysql 의 데이타를 hardware encryption 지원하는 디스크로 이동하길 원함.
ec2 의 root volume 은 encryption 를 지원하지 않음.
그래서. 새로운 volume 을 만들고 (Encryption 옵션 체크)
이것을 ec2 에 attach 시켰음.
이제 root volume 에 있던 mysql 데이타를 새로운 volume 으로 이동시키면 됨.
기존 mysql 데이타 디렉토리를 새로운 volume 으로
링크시켜서. mysql 설정을 바꾸지 않고 적용함
//---------------------------------------------------------------------
// 절차
//---------------------------------------------------------------------
* mysql 중지시킨다
$sudo service mysql stop
* mysql 이전할 디렉토리를 생성한다.
$sudo /new_data/db/etc
$sudo /new_data/db/lib
$sudo /new_data/db/log
* mysql 데이타베이스 파일 이전
(데이타파일, 로그파일, 설정파일)
(기존의 mysql 관련디렉토리를 새로운 디렉토리와 bind 시켜서, 설정변경 없도록 함)
$sudo mv /etc/mysql /new_data/db/etc/
$sudo mv /var/lib/mysql /new_data/db/lib/
$sudo mv /var/log/mysql /new_data/db/log/
$sudo mkdir /etc/mysql
$sudo mkdir /var/lib/mysql
$sudo mkdir /var/log/mysql
$echo "/new_data/db/etc/mysql /etc/mysql none bind" | sudo tee -a /etc/fstab
$echo "/new_data/db/lib/mysql /var/lib/mysql none bind" | sudo tee -a /etc/fstab
$echo "/new_data/db/log/mysql /var/log/mysql none bind" | sudo tee -a /etc/fstab
$sudo mount /etc/mysql
$sudo mount /var/lib/mysql
$sudo mount /var/log/mysql
* mysql 설정파일은 변경할거 없음
* mysql 시작
$sudo service mysql start
//---------------------------------------------------------------------
// 참고 명령어
//---------------------------------------------------------------------
* 디스크 상태 보는 명령어
$sudo fdisk -l
* 일시적인 mount 명령어
$sudo mount /dev/sdb1(장치명) /mnt(디렉토리명)
* mount 해제 명령어
$sudo amount /dev/sdb1(장치명)
* 파일복사 옵션
-r : 하위디렉토리도 같이 복사
-p : 원본파일의 모드, 소유자, 시간정보도 같이 복사
//---------------------------------------------------------------------
// 2016.07.07 추가
//---------------------------------------------------------------------
저렇게 해서 잘 사용하다가.
ec2 인스턴스를 중지 시킨후. 다시 시작하니. 인스턴스는 시작되는데.
부팅중 멈추어서 아무것도 할수 없음. 제기랄.
* ec2 콘솔에서 인스턴스의 스크린샷을 볼수 있음.
* Starting enable remaining boot-time encrypted block devices [OK] 이런 메세지 나오고 멈춤.
* 아래는 이 장애(?)를 처리한 절차임.
- ec2 인스턴스 중지 (이것을 a 인스턴스라고 부르자)
- root volume 을 detach 함.
- 떼어낸 volume 을 다른 인스턴스에 붙인다 (이것을 b 인스턴스라고 부르자)
- b 인스턴스에 ssh 로 접속해서. 새로 붙인 volume 을 mount 하고. 거기서 /etc/fstab 파일을 수정한다
(기존에 mount 했던것 지움)
- b 인스턴스에서 volume 을 detach 하고. 다시 a 인스턴스에 붙인다
(장치명은 /dev/sda1 으로 해야. root volume 이 된다)
- a 인스턴스 시작.
- 휴~
'잡다한 자료' 카테고리의 다른 글
Google Analytics. Real Time Reporting API (1) | 2016.06.29 |
---|---|
slack, dapulse 연동 (3) | 2016.06.20 |
[번역] AWS_HIPAA_Compliance_Whitepaper (0) | 2016.03.14 |
GA. measurement protocol (0) | 2016.03.09 |
apache. ssl. 인증서 (1) | 2016.02.01 |