기존 데이터 마이그레이션
기존 파일 마이그레이션은 일반적으로 반복된 동기화 또는 외부 삽입 중 하나의 방식으로 작동합니다.
동기화를 통한 마이그레이션
이 방법은 활성 호스트 X를 통해 X를 활성 상태로 유지하는 동안 데이터를 새 호스트 Y로 마이그레이션하는 것입니다. 이 마이그레이션이 진행 중인 동안에도 클라이언트가 원래 호스트를 읽고 쓸 수 있습니다. 처음에 데이터가 마이그레이션되면 단일 작동 중지 기간 내에서 델타가 보낼 수 있을 만큼 작아질 때까지 증분 변경 사항이 반복적으로 전송됩니다. 이 시점에 원래 공유는 읽기 전용이 되고 최종 델타는 새 호스트로 전송되며 모든 클라이언트는 새 위치를 가리키도록 업데이트됩니다. 다른 통합 도구가 존재하기는 하지만 rsync 도구를 통해 이 과정을 수행하는 것이 가장 일반적입니다. 이 메커니즘에는 몇 가지 결점이 있습니다.
-
예상되는 작동 중지 시간이 짧아 쉽게 수치화할 수 없습니다. 사용자가 예약된 작동 중지 시간 바로 전에 많은 변경 사항을 커밋하면 작동 중지 기간이 늘어날 수 있습니다.
-
마이그레이션 중에는 새 서버가 유휴 상태입니다. 새 서버는 일반적으로 새로운 기능과 성능 개선을 제공하므로 마이그레이션이 장기화될 경우 리소스 낭비를 초래할 수 있습니다.
-
여러 파일 시스템 간 조정이 어려울 수 있습니다. 수십 또는 수백 개의 파일 시스템을 마이그레이션할 때 마이그레이션마다 걸리는 시간이 다르고, 모든 파일 시스템 조합에 따라 작동 중지 시간을 예약해야 합니다.
외부 삽입을 통한 마이그레이션
이 방법은 활성 호스트 X를 통해 데이터를 새 호스트 Y로 마이그레이션하는 새 ZFSSA M을 삽입하는 것입니다. 모든 클라이언트가 M을 가리키도록 한 번에 업데이트되며, 데이터는 백그라운드로 자동 마이그레이션됩니다. 이 방법은 더 유연한 마이그레이션 옵션을 제공하고(예: 작동 중지 시간 없이 나중에 새 서버로 마이그레이션할 수 있음) 이미 마이그레이션한 데이터에 대해 새 서버를 활용할 수 있지만 다음과 같은 심각한 결점도 있습니다.
-
마이그레이션 ZFSSA가 관련 비용(초기 투자, 지원 비용, 전원 및 냉각)과 추가 관리 오버헤드가 필요한 새로운 물리적 시스템을 나타냅니다.
-
마이그레이션 ZFSSA가 시스템 내의 새로운 오류 지점을 나타냅니다.
-
마이그레이션 ZFSSA가 이미 마이그레이션한 데이터에 삽입되므로 추가 대기 시간(주로 영구적임)이 발생합니다. 다른 작동 중지 기간을 예약하고 마이그레이션 ZFSSA를 폐기할 수도 있지만 이러한 ZFSSA는 일반적으로 제자리에 남겨 둡니다.