버전에 따라 변경되지 않은 파일을 저장하기 위해 하드 링크를 사용하는 QNAP NAS에 다중 버전 백업이 있습니다.
백업 대상은 eSATA를 통해 QNAP에 연결된 외부 EXT4 디스크입니다.
ls -i
ssh를 통해 QNAP 쉘을 사용하여 하드 링크된 파일의 inode를 나열하면 각 하드 링크된 파일에 대해 동일한 inode 번호를 얻습니다. 예를 들어 특정 파일 A의 경우 11961450(0xB6846A)입니다.
Windows 시스템에서 cygwin 쉘을 사용하여 동일한 작업을 수행하고 SMB를 통해 원격 파일 시스템에 액세스하면 각 하드 링크 파일이 ls -i
서로 다른 inode를 보고하고 inode 번호가 매우 큽니다. 동일한 파일에 대해 AI는 한 디렉터리에서 inode 번호 10167322761950234564(0x8D19962EE6C987C4)를 가져오고 다른 디렉터리에서는 inode 번호 6110607626948733827(0x54CD3D42E6126B83)을 가져옵니다.
그런데, 내부 QNAP 디스크에서 파일 inode를 확인할 때 SSH를 통해 확인하든 Cygwin을 통해 QNAP 셸에서 확인하든 항상 올바르게 보고됩니다.
문제는 cygwin을 사용할 때 이 불일치를 해결하고 올바른 inode 번호를 얻을 수 있는 방법이 있습니까?입니다. 그리고 누구의 책임입니까? SMB 서버(QNAP), SMB 클라이언트(Windows), Cygwin 등?