RAID 시스템을 더 큰 HDDS 그룹으로 마이그레이션하는 방법은 무엇입니까?

RAID 시스템을 더 큰 HDDS 그룹으로 마이그레이션하는 방법은 무엇입니까?

내가 찾은 모든 게시물은 새 시스템으로 마이그레이션하거나 전체 운영 체제를 한 하드 드라이브에서 다른 하드 드라이브로 마이그레이션하는 것에 관한 것이었습니다. 내가 도대체 ​​무슨 일을 하고 있는지는 모르겠지만, 나는 분명 리눅스 전문가다.

현재 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).

관련 정보