내가 찾은 모든 게시물은 새 시스템으로 마이그레이션하거나 전체 운영 체제를 한 하드 드라이브에서 다른 하드 드라이브로 마이그레이션하는 것에 관한 것이었습니다. 내가 도대체 무슨 일을 하고 있는지는 모르겠지만, 나는 분명 리눅스 전문가다.
현재 RAID 구성을 갖춘 1TB 서버가 있습니다. 아직 어떤 유형의 RAID인지 잘 모르겠습니다. 앞으로 몇 달에 걸쳐 하드 드라이브 공간을 확장해야 하며 현재 크기를 두 배로 늘리면 현재 데이터 사용량으로 몇 년을 벌 수 있습니다.
기존 RAID는 현재 /dev/md1에 있으며 문제가 있는 모든 파일은 /srv/Data에 저장됩니다.
우리가 원하는 것은 이 데이터 디렉터리를 새로운 2TB RAID 1 설정으로 마이그레이션하고 데이터베이스에서 아무것도 변경할 필요가 없도록 동일한 마운트 지점을 유지하는 것입니다. 즉, 기존 데이터를 이 새로운 HDD 세트로 이동하고 싶지만 소프트웨어 측면에서 너무 많은 변경을 하지 않고도 즉시 쓰기를 시작할 수 있도록 이를 /srv/Data라고 부릅니다.
새 RAID 장치(아마도 /dev/md2)를 /srv/Data로 마운트하고 기존 데이터를 복사하는 것만큼 간단합니까?
답변1
/dev/md2
먼저 설치 /srv/DataNew
하고 첫 번째 라운드 사본을 실행하십시오.루트 사용자로(사실 추천합니다동기화, IMHO는 이런 종류의 작업에 더 적합합니다):
rsync -a --delete /srv/Data/ /srv/DataNew
또는 cmd를 다시 실행할 수 있습니다. 두 번째 실행은 더 빨라야 하며(rsync는 복사된 파일 및 up2date를 건너뛸 수 있음) 실제 영역 지정 스위치를 사용하여 애플리케이션을 종료하는 데 걸리는 대략적인 시간 추정치를 제공합니다. 아래를 참조하세요. .
그런 다음 /srv/Data 파티션을 사용하여 애플리케이션을 일시적으로 중지 및 비활성화하고(데이터 손실을 유발할 수 있는 일시적인 쓰기가 없도록 다시 시작하여 부팅 시 애플리케이션이 다시 시작되지 않도록 보장) 동일한 콘텐츠를 반복적으로 다시 실행합니다.동기화위의 명령루트 사용자로이전 파티션 이후 이전 파티션에서 발생한 변경 사항으로 새 파티션을 업데이트합니다.동기화구현하다.
rsync cmd에 더 이상 업데이트가 없다고 표시될 때까지 몇 번 다시 실행해야 할 수도 있습니다. 이는 2개의 파티션이 동기화되었음을 의미합니다. 선택한 경우 각 재실행은 위의 두 번째 실행 시간과 대략 비슷합니다.
그런 다음 및 아래에 마운트할 파일을 마운트 해제 /srv/Data
하고 /srv/DataNew
수정합니다 ./etc/fstab
/dev/md1
/srv/DataOld
/dev/md2
/srv/Data
그런 다음 마운트 /srv/Data
( /srv/DataOld
다른 동기화 확인을 실행하려는 경우)하거나 원하는 경우 재부팅을 선택하면 시스템이 새 파티션과 함께 나타납니다.
원하는 경우 또 다른 rsync 확인을 실행할 수 있습니다. 이번에는 새 마운트 지점에 대한 cmd를 약간 수정합니다(일시적인 액세스 없이는 업데이트가 표시되지 않아야 함).
rsync -a --delete /srv/DataOld/ /srv/Data
이제 애플리케이션을 다시 활성화하고 다시 시작할 수 있습니다. 그러면 추가 디스크 공간 외에는 아무런 차이도 느낄 수 없습니다.
마지막으로 더 이상 필요하지 않은 경우 /srv/DataOld
해당 항목을 제거하고 삭제 하면 /etc/fstab
작업이 완료됩니다.
이전에 rsync를 사용한 적이 없다면 rsync 부분을 시험적으로 실행할 수 있지만 일부 임시/테스트 디렉터리와 일부 작은 디렉터리를 일반적으로 변경되지 않는(피할 수 없는 제어되지 않는 과도 현상 없이) 소스로 사용합니다(중지하지 않는 한). 응용 프로그램) 작동에 익숙해지기 위해 설치 후 비어 있는 새 파티션을 사용할 수 있습니다.
mkdir /srv/DataNew/rsync_test
rsync -a --delete /some_smaller_dir /srv/DataNew/rsync_test
/srv/Data/some_smaller_dir에서 파일의 임시 삭제를 시뮬레이션합니다.
touch /srv/DataNew/rsync_test/deleted_file_equivalent
ls -la /srv/DataNew/rsync_test/deleted_file_equivalent
다음 rsync는 새 디렉터리에서 이 파일(및 다른 임시 파일도?)을 찾아 삭제해야 합니다.
rsync -a --delete /srv/Data/some_smaller_dir /srv/DataNew/rsync_test
ls -la /srv/DataNew/rsync_test/deleted_file_equivalent
다음 rsync는 더 이상 삭제된 파일과 동등한 파일을 찾지 않아야 합니다(다른 제어되지 않은 일시적인 현상이 발생하는 경우 반복).
rsync -a --delete /srv/Data/some_smaller_dir /srv/DataNew/rsync_test
마지막으로 테스트 디렉터리를 삭제합니다.
rm -rf /srv/DataNew/rsync_test
답변2
어쨌든 그렇습니다. 보다 구체적으로 말하면, 새 어레이를 다른 곳에 마운트하고(동일한 위치에 두 가지를 마운트할 수 없음), 파일을 복사하고 둘 다 마운트 해제한 다음 해당 위치에 새 RAID를 마운트하도록 시스템을 설정해야 합니다(편집/ 등/fstab).