루트 볼륨을 XFS로 변환하거나 두 번째 볼륨을 생성 할 수 있습니다. 개인적으로 후자는 유연성이 뛰어나므로 후자를 선호합니다.
옵션 1 : 루트 볼륨을 XFS로 변환
- 인스턴스 중지 (종료하지 않음) (인스턴스 A라고 함)
- 새 인스턴스를 시작하십시오 (인스턴스 B라고 함).
- 인스턴스 A에서 루트 볼륨을 분리하여 인스턴스 B에 연결하십시오.
- 두 번째 EBS 볼륨을 생성하여 인스턴스 B에 연결
- 새 EBS 볼륨을 XFS로 포맷하십시오 (
xfsprogs
아직 설치 하지 않은 경우 설치 ).
- 새로운 일에 첫 번째 볼륨의 모든 데이터를 복사 (예를 들어, 사용
rsync -aHAXxSP /source /target
)
- 인스턴스 B에서 새 볼륨을 분리하고 인스턴스 A의 루트 볼륨으로 연결하십시오.
- 인스턴스 A 시작
- 인스턴스 B를 종료하십시오 (원래 루트 볼륨이 지속되어야하며 원하는대로 작동 할 때까지 유지하십시오).
루트 볼륨을 다른 인스턴스에 연결하는 이유는 사용중인 볼륨으로는 어려울 수있는 일관성을 유지하기위한 것입니다.
옵션 2 : 두 번째 EBS 볼륨으로 데이터 이동
- 두 번째 EBS 볼륨을 생성하여 인스턴스에 연결하십시오. XFS로 포맷하고 마운트
- 새 볼륨으로 이동할 디렉토리를 식별하십시오 (일부 고려 사항 : / var / log, / var / lib / mysql, / var / www, / var / spool / mail, / var / vmail)
- 쓰기 잠금을 제거하기 위해 가능한 많은 서비스를 중지하십시오
lsof | grep /path/to/dir
남은 쓰기 잠금을 확인하는 데 사용
- 디렉토리를 새 EBS 볼륨으로 이동
- 마운트가 이전 위치에 새 디렉토리를 바인딩 (예
mount -o bind
/mnt/path/to/dir /orig/path/to/dir
)
- 각 디렉토리마다 반복
- 모든 것이 작동하도록 서비스를 시작하십시오
/etc/fstab
마운트 포인트를 영구적으로 만들 려면 파일을 편집하십시오 . 예 :/mnt/path/to/dir /orig/path/to/dir bind defaults,noatime,bind 0 0
모든 것이 지속되고 제대로 작동하도록 다시 시작하십시오. 루트 볼륨을 약간 줄이려고 할 수도 있는데, 그 이유는 루트에서 모든 데이터를 제거하여 루트 볼륨을 크게 늘리거나 변경하지 않아야하기 때문입니다.
참고로 fsfreeze
,에 포함 된를 사용하여 ext4 파일 시스템을 고정 할 수 있습니다 util-linux-ng
.