파일 시스템 변경은 어떻게 이루어지나요?

파일 시스템 변경은 어떻게 이루어지나요?

면책조항: 이것을 어디에 두어야 할지 잘 모르겠습니다. 하지만 컨텍스트가 대부분 Unix이므로 오늘은 여기로 두겠습니다.

최근 Mac OS High Sierra 출시와 APFS 도입과 관련하여 파일 시스템 하나에서 다른 파일 시스템으로 변경되는 과정이 궁금합니다. 가장 복잡한 것은 이전 시스템에서 새 시스템으로 심볼릭 링크와 하드 링크를 변환하는 것입니다. 왜냐하면 여전히 올바른 파일(유효한 노드)을 가리켜야 하기 때문입니다. 이와 같은 작업을 수행하려면 수십억 개의 노드가 있을 수 있는 원래 파일 시스템에서 inode 그래프를 생성하고 이를 새 파일 시스템으로 다시 생성해야 하며, 다른 위치 지정 알고리즘, 관련 메타데이터 및 기타 항목을 도입할 수도 있습니다.

내 가정이 얼마나 현실적인지 확인하고 싶습니다. 그렇지 않은 경우 누군가 프로세스를 설명할 수 있습니까?

업데이트: 특정 OS/파일 시스템에 대해 묻는 것이 아닙니다. 파일 시스템을 변경하는 과정과 내부적으로 어떤 일이 벌어지고 있는지 알고 싶습니다.

답변1

심볼릭 링크는 inode를 가리키지 않습니다. 하드 링크는 동일한 inode만 가리키면 됩니다. inode 번호가 변경되면 문제가 없습니다.

경우에 따라 파일 시스템을 변환할 수 있습니다(예: etx4를 btrfs로 변환하는 도구가 있음). 그러나 일반적으로 데이터를 백업하고 새 파일 시스템으로 볼륨을 포맷한 다음 백업을 복원합니다. 하드 링크를 올바르게 처리하는 백업이 필요합니다.

관련 정보