한 디렉터리에서 다른 디렉터리로 파일을 이동하면 OneFS(FreeBSD) 파일 시스템에서 정확히 어떤 일이 발생합니까?

한 디렉터리에서 다른 디렉터리로 파일을 이동하면 OneFS(FreeBSD) 파일 시스템에서 정확히 어떤 일이 발생합니까?

OneFS(Isilon, FreeBSD 기반)의 명령줄에서 명령을 실행 하면 mv내부적으로나 디스크에서는 정확히 어떤 일이 발생합니까?

데이터가 디스크의 섹터에서 다른 섹터로 물리적으로 이동했습니까? 아니면 파일 시스템에서 이러한 파일의 연결이 방금 변경되었습니까? 물리적 디스크의 데이터가 원래 위치에 유지됩니까? 여기서 inode는 어떻게 관련됩니까?

50TB가 넘는 데이터가 들어 있는 거대한 디렉토리가 있고 네트워크에서 공유되기 때문에 이렇게 묻는 것입니다. mv이 디렉토리를 동일한 파일 시스템의 다른 디렉토리 아래에 넣어야 합니다 . 공유를 중단했다 mv가 다시 공유하고 싶습니다 . 이것이 생각만큼 간단한 것인지 잘 모르겠습니다.

어떤 의견이라도 있나요?

답변1

아니요, 전체 파일의 복사본이 없습니다. 각 파일은 구조(대부분의 UNIX 파일 시스템에서는 inode라고 함)로 설명됩니다. 구조에는 이름을 제외한 파일에 대한 정보(길이, 날짜, 블록을 찾을 수 있는 위치, 권한...)가 포함됩니다.

파일 이름은 파일 이름과 inode 사이를 매핑하는 디렉터리에 있습니다. 파일을 이동하면 디렉터리의 매핑이 억제되고 다른 디렉터리에 추가 파일이 생성됩니다.

일부 파일 시스템에서는 약간의 차이가 있을 수 있습니다(FAT 파일 시스템에서는 파일 정보가 디렉토리에 있지만 시스템은 모든 정보(몇 바이트)를 한 디렉토리에서 다른 디렉토리로 전송합니다). 하지만 당신은 전체적인 계획을 가지고 있습니다.

일반적인 UNIX 파일 시스템에서는 파일 구조가 디렉터리와 분리되어 있으므로 단일 파일에 여러 이름을 사용할 수 있습니다(결국 다른 디렉터리에서)( 명령 사용 ln).

관련 정보