NTFS 재분석 지점
NTFS reparse pointNTFS 재분석 지점은 NTFS 파일 시스템 개체의 한 유형입니다.Windows 2000 이상 버전에 있는 NTFS v3.0에서 사용할 수 있습니다.재분석 지점은 NTFS 파일 시스템을 확장하는 방법을 제공합니다.재분석 지점에는 재분석 태그와 태그로 식별되는 파일 시스템 필터 드라이버에 의해 해석되는 데이터가 포함됩니다.Microsoft 에는 NTFS 심볼릭 링크, 디렉토리 접속 지점, 볼륨 마운트 지점, Unix 도메인 소켓 등 몇 가지 기본 태그가 포함되어 있습니다.또한 재분석 지점은 Windows 2000의 Remote Storage Hierarchical Storage System에서 이동한 파일의 자리 표시자로 사용됩니다.하드[citation needed] 링크로서도 기능할 수 있습니다만, 같은 볼륨의 파일을 가리키는 것에 한정되지 않습니다.로컬 볼륨의 디렉토리를 가리킬 수 있습니다.기능은[which?] ReFS로 [1]상속됩니다.
오픈 소스 NTFS-3G 드라이버는 링크 타입의 재분석 포인트(심볼릭 링크 및 접속 포인트)에 대한 빌트인 지원을 구현합니다.플러그인 필터 시스템을 사용하여 추가 유형의 재분석 지점을 처리할 수 있으므로 청크 중복 제거 파일, 시스템 압축 파일 및 OneDrive 파일을 [2]읽을 수 있습니다.
구조.
재분석 포인트는 다음과 같은 일반적인 구조를 가지고 있습니다(C structure 형식).
구조 리파스_버퍼 { uint32_t 재분석 태그; uint32_t 재분석 데이터 길이; uint16_t 예약필; uint8_t 데이터 버퍼[]; // 플렉시블 어레이 멤버 }
재분석[3] 태그는 각 재분석 지점 유형에 따라 고유합니다.I/O 관리자가 처리를 [4]위임하는 재분석 지점 핸들러(일반적으로 파일 시스템 필터 드라이버)를 정의합니다.Microsoft 에서는, 몇개의 「퍼블릭」태그 [5]타입에 관한 문서를 제공하고 있습니다.
종류들
볼륨 마운트 포인트
볼륨 마운트 지점은 다른 파일 시스템의 루트가 디렉토리에 연결된 Unixmount 지점과 유사합니다.NTFS에서는 이를 통해 별도의 드라이브 문자 없이 추가 파일 시스템을 마운트할 수 있습니다(예:C:
또는D:
)를 참조해 주세요.
볼륨이 다른 볼륨의 기존 디렉터리 위에 마운트되면 이전에 해당 디렉터리에 나열된 내용이 표시되지 않고 마운트된 [citation needed]볼륨의 루트 디렉터리 내용으로 대체됩니다.마운트된 볼륨에는 자체 드라이브 문자가 별도로 할당되어 있을 수 있습니다.파일 시스템에서는 볼륨을 서로 마운트할 수 없습니다.볼륨 마운트 지점은 영속적(시스템 재부팅 후 자동으로 재마운트됨) 또는 영속적이지 않은(재기동 [citation needed]후 수동으로 재마운트해야 함)으로 설정할 수 있습니다.
마운트된 볼륨은 NTFS뿐만 아니라 다른 파일 시스템도 사용할 수 있으며, 원격 파일 시스템 정책에 따라 자체 보안 설정과 액세스 권한 재매핑이 있을 수 있습니다.
볼륨 마운트 지점의 대체 이름은 NT 네임스페이스 형식을 사용합니다.\??\DeviceName\
·접합은 일반적으로 사용한다.[6][7][4]\??\<drive>:\
실제 볼륨 마운트 지점이 사용되는 동안 기존 드라이버 문자가 있는 볼륨을 참조합니다.\??\Volume{<guid>}
참조할 수 있습니다.UNC 경로가 [8]접합에 적합하지 않습니다.
디렉토리 접속
디렉토리 접합은 동일한 메커니즘(및 재분석 태그:IO_REPARSE_TAG_MOUNT_POINT
볼륨 마운트 포인트입니다.유일한 차이점은 대체 이름이 일반적으로 드라이브 문자가 이미 있는 다른 볼륨의 하위 디렉터리를 가리킨다는 것입니다.이 함수는 NTFS의 대상이 항상 다른 디렉토리여야 한다는 점을 제외하면 Unix의 디렉토리에 대한 심볼릭 링크와 개념적으로 유사합니다(일반적인 Unix 파일시스템에서는 심볼릭 링크의 대상이 모든 종류의 [4]파일이 될 수 있습니다).
예를 들어 디렉토리C:\exampledir
에 대한 링크가 포함된 디렉토리 접속 속성을 사용하여D:\linkeddir
디렉토리가 자동으로 참조됩니다.D:\linkeddir
사용자 모드 [9]응용 프로그램에서 액세스할 때 사용합니다.
디렉토리 접속(명령어로 작성 가능)MKLINK /J junctionName targetDirectory
를 사용하여 삭제했습니다.RMDIR junctionName
콘솔 프롬프트에서)는 지속적이며 부모 볼륨이 마운트된 로컬시스템 또는 도메인의 동일한 보안 영역과 타깃디렉토리의 콘텐츠에 대한 동일한 보안 설정을 공유하기 때문에 서버측에서 해결됩니다.단, 접속 자체는 다른 보안 설정을 가질 수 있습니다.디렉토리 접합의 연결을 해제해도 대상 디렉토리의 파일은 삭제되지 않습니다.
Windows Vista 에는, 다음과 같은 이전 버전의 Windows 와의 호환성을 위해서, 몇개의 디렉토리 접속이 디폴트로 인스톨 되고 있습니다.Documents and Settings
시스템 드라이브의 루트 디렉토리로, 이 디렉토리는Users
물리 디렉토리가 같은 볼륨의 루트 디렉토리에 있습니다.단, 기본적으로는 숨겨져 있습니다.또한 Windows 탐색기는 로컬 빌트인 SYSTEM 사용자 또는 로컬 Administrators 그룹을 제외한 대부분의 응용 프로그램에서 열기를 거부하도록 보안 설정이 설정되어 있습니다(두 사용자 계정은 모두 시스템소프트웨어 인스톨러에 의해서 사용됩니다).이 추가 보안 제한은 아마도 가입된 디렉토리에서 명백한 중복 파일을 발견하여 실수로 삭제하는 것을 방지하기 위해 만들어졌을 것입니다.이것은 디렉토리 접합의 의미가 하드 링크와 동일하지 않기 때문입니다.참조 카운트는 대상 콘텐츠에 사용되지 않으며 참조 컨테이너 itse에도 사용되지 않기 때문입니다.만약.[citation needed]
디렉토리 결합은 소프트 링크(타깃 디렉토리가 삭제되어도 유지됨)이며, 심볼릭 링크의 제한된 형식(타깃 위치에 대한 추가 제한이 있음)으로 동작합니다.단, 최적화된 버전이기 때문에 새로운 버전보다 오버헤드가 적고 구현되는 재분석 포인트를 보다 빠르게 처리할 수 있습니다.NTFS 심볼릭 링크는 서버 측에서 해결할 수 있습니다(리모트 공유 디렉토리에 [citation needed]있는 경우).
심볼릭 링크
심볼릭 링크(또는 소프트 링크)는 Windows [10]Vista에서 도입되었습니다.심볼릭 링크는 클라이언트 측에서 해결됩니다.따라서 심볼릭 링크가 공유될 [citation needed]때 타깃은 서버가 아닌 클라이언트의 접근 제한에 따릅니다.
심볼릭 링크는 파일에 대해 작성할 수 있습니다.MKLINK symLink targetFilename
또는 디렉토리(로 작성)에 접속합니다.MKLINK /D symLinkD targetDirectory
(Unix 심볼릭링크와는 달리) 링크의 시맨틱은 작성된 링크와 함께 제공되어야 합니다.그러나 심볼릭 링크가 생성될 때 대상이 존재하거나 사용할 수 있을 필요는 없습니다.심볼릭 링크에 액세스하여 대상 가용성이 확인되면 NTFS는 대상 유형이 올바른지 여부(파일 또는 디렉터리)도 확인합니다. 기존 대상의 [citation needed]유형이 잘못된 경우 찾을 수 없는 오류를 반환합니다.
리모트 호스트의 공유 디렉토리나 공유 디렉토리내의 파일이나 서브 디렉토리를 참조할 수도 있습니다.타깃은 기동시에 곧바로 마운트 되는 것이 아니라, 필요에 따라서 일시적으로만,OpenFile()
또는CreateFile()
API. 이러한 정의는 생성된 NTFS 볼륨에서 영구적입니다(모든 유형의 심볼 링크는 파일인 것처럼 제거할 수 있습니다.DEL symLink
커맨드 라인 프롬프트 또는 [citation needed]배치에서).
심볼릭 링크 데이터는 둘 다 NT 네임스페이스 경로를 사용한다는 점에서 마운트 지점 데이터와 유사합니다.차이점은 심볼 링크는 UNC 경로를 허용하지만 볼륨 {guid} [8]마운트는 허용하지 않는다는 것입니다.
Distributed Link Tracking(DL)
분산 링크 추적을 사용하면 파일, 셸 바로 가기 또는 OLE 링크를 이름이 변경되거나 동일한 시스템, 도메인 또는 [11]워크그룹 내의 다른 볼륨으로 이동한 경우에도 응용 프로그램에서 추적할 수 있습니다.추적은 메타파일에 저장된 [12]Object Identifier(OID; 객체 식별자) 인덱스를 사용하는 시스템서비스로 구현됩니다.애플리케이션이 파일 또는 디렉토리에 추적을 요청하면 추적 서비스는 파일을 가리키는 OID 항목을 생성하고 파일 이름 변경, 복사 또는 NTFS v3 볼륨으로의 이동 작업도 개체 ID를 복사합니다.이를 통해 추적 서비스는 최종적으로 대상 파일을 찾을 수 있습니다.
데이터 중복 배제
파일은 다르지만 유사한 디렉토리가 여러 개 있는 경우, 이러한 파일 중 일부는 동일한 내용을 가질 수 있습니다.Windows Server 2000 에서 Windows Storage Server 2008 까지의 단일 인스턴스 스토리지를 사용하면 동일한 파일을 하나의 파일로 병합하여 병합된 파일에 대한 참조를 생성할 수 있습니다.SIS는 복사, 수정 및 파일 병합을 관리하는 파일 시스템 필터와 병합이 필요한 동일한 파일을 검색하는 사용자 공간 서비스(또는 그로벨러)로 구성됩니다.SIS는 주로 리모트 인스톨 서버용으로 설계되어 있습니다.이러한 서버에는 다수의 동일한 파일이 포함되어 있는 복수의 인스톨 이미지가 포함되어 있을 가능성이 있습니다.SIS에서는, 이러한 이미지를 통합할 수 있습니다만, 하드 링크 등과는 달리, 각 파일의 카피를 1개만 변경해도, 그 외의 파일은 변경되지 않습니다.이것은 Copy-on-Write(쓰기 시 복사)와 비슷합니다.이것은, 1개의 카피가 [13]수정될 때까지 메모리 복사가 실제로 행해지지 않는 기술입니다.
윈도우즈 서버 2012 이후, 동일한 데이터의 [2]범위 내에서 유사한 내용을 가진 파일을 중복 제거할 수 있는 새로운 청크 기반 데이터 중복 제거 메커니즘(태그 0x80000013)이 있습니다.이 메커니즘은 [14]SIS보다 강력합니다.Windows Server 2019 이후 이 기능은 ReFS에서 [15]완전히 지원됩니다.
계층형 스토리지 관리(HSM)
계층 저장소 관리는 일정 기간 동안 사용되지 않은 파일을 저렴한 저장 매체로 전송하는 방법입니다.다음 번에 파일에 액세스할 때 해당 파일의 재분석 지점이 필요하다고 판단하고 [citation needed]저장소에서 파일을 검색합니다.
네이티브 구조화 스토리지(NSS)
NSS는 ActiveX 문서 스토리지 테크놀로지이며,[citation needed] 그 후 Microsoft에 의해 폐지되었습니다.ActiveX 문서를 ActiveX가 내부적으로 사용하는 것과 동일한 멀티스트림 형식으로 저장할 수 있습니다.여러 스트림을 애플리케이션에 투과적으로 처리하기 위해 NSS 파일 시스템 필터가 로드되어 사용되었으며, 파일이 NTFS 형식이 아닌 디스크 볼륨으로 전송되면 여러 스트림이 단일 [16]스트림으로 전송됩니다.
UNIX 도메인 소켓(소켓)
Windows 10 빌드 17063(안정적인 릴리스 버전 1803을 위해)에서 Microsoft는 UNIX 도메인 소켓을 Windows에 도입했습니다.이러한 소켓은 afunix.sys 커널 드라이버와 파일 시스템의 새로운 재분석 포인트를 사용하여 실현됩니다.Unix 도메인 소켓은 BSD 및 Linux 시스템에서 일반적으로 사용되며 이러한 시스템에서 프로세스 간 통신의 표준으로 간주될 수 있습니다.따라서 Windows를 도입함으로써 코드 채택과 플랫폼 간 [17]이동성을 단순화할 수 있습니다.
시스템 압축
Windows 10은 읽기 전용 콤팩트 도입Windows Imaging Format(WIM)에서 가져온 NTFS 파일 시스템용 OS 압축 알고리즘은 Windows 시스템 파일을 압축하여 [18]디스크 공간 사용을 줄이도록 설계되었습니다.
내부적으로 압축된 파일은 태그 IO_REPASS_TAG_WOF(0x80000017)에 의해 재분석 포인트로 기록되며, 여기서 WoF는 Windows Overlay [19]Filter를 나타내며, 실제 데이터는 WofCompressed Data라는 이름의 대체 데이터 스트림에 저장됩니다.이것은 WOF 파일 시스템 [20][21][2]필터에 의해 처리됩니다.
CompactOS는 Windows 8.1에서 WIMBoot을 개량한 것으로 시스템 파일을 숨겨진 디스크 [22]파티션의 압축된 WIM 이미지에 저장할 수 있으며 WOF 필터 드라이버는 WIM 파일로부터 파일 내용을 압축 해제합니다.읽기 전용 WIM 이미지 대신 대체 데이터 스트림을 사용하여 콤팩트하게 할 수 있습니다.OS: 시스템 파일을 [23]업데이트 버전으로 다시 작성해야 할 때 재압축합니다.
원드라이브
OneDrive는 로컬 스토리지에 다운로드한 파일과 디렉토리를 태그 0x9000001a로 재분석 지점으로 태그합니다.실제 데이터는 [2]정상적으로 저장됩니다.
이미 알려진 리스크
일련의 Win32 부정 이용의 일부인 Stuxnet은 전체 운영 [citation needed]모드의 일부로 NTFS 연결점을 사용합니다.
「 」를 참조해 주세요.
레퍼런스
- ^ 「Microsoft Windows Vista Client Configuration Study Guide」Wiley Publishing, Inc. 2007 페이지 285
- ^ a b c d André, Jean-Pierre (March 1, 2019). "NTFS-3G: Junction Points, Symbolic Links and Reparse Points". jp-andre.pagesperso-orange.fr.
- ^ "Reparse Point Tags". Retrieved 12 December 2019.
- ^ a b c "NTFS Links, Directory Junctions, and Windows Shortcuts". www.flexhex.com.
- ^ "[MS-FSCC] Reparse Tags". Retrieved 12 December 2019.
- ^ "Naming Files, Paths, and Namespaces/NT Namespaces". Microsoft Windows Dev Center. Retrieved 12 December 2019.
- ^ "winapi - Does the "SubstituteName" string in the PathBuffer of a REPARSE_DATA_BUFFER structure always start with the prefix "\??\", and if so, why?". Stack Overflow. Retrieved 4 October 2019.
- ^ a b "libuv/src/win/fs.c: fs__readlink_handle". GitHub. Retrieved 12 December 2019.
- ^ Mark Russinovich. "Inside Win2K NTFS, Part 1". Microsoft Developer Network. Retrieved 2008-04-18.
- ^ "Symbolic Links (Windows)". MSDN.
- ^ "Distributed Link Tracking and Object Identifiers".
{{cite web}}
: CS1 maint :url-status (링크) - ^ "Distributed Link Tracking Client (System Services for the Windows Server 2003 Family and Windows XP Operating Systems)". Archived from the original on 2016-03-07. Retrieved 2017-08-26.
- ^ "Single Instance Storage in Windows 2000" (PDF). Microsoft Research and Balder Technology Group. January 2000.
{{cite journal}}
:Cite 저널 요구 사항journal=
(도움말) - ^ FileCAB-Team (10 April 2019). "Introduction to Data Deduplication in Windows Server 2012". Microsoft Tech Community.
- ^ "Data Deduplication interoperability". docs.microsoft.com.
- ^ 새빌, 존 (날짜 불명)네이티브 구조화 스토리지란?Windows IT Pro.취득원: CS1 maint: 아카이브된 카피 as title(링크)
- ^ "AF_UNIX comes to Windows". Windows Command Line Tools For Developers. Retrieved 2018-07-03.
- ^ "Compact OS, single-instancing, and image optimization". Microsoft. Retrieved 1 October 2019.
- ^ "What is WofCompressedData? Does WOF mean that Windows is a dog?". 18 June 2019.
- ^ "Re: [ntfs-3g-devel] Experimental support for Windows 10 "System Compressed" files". sourceforge.net. Retrieved 1 October 2019.
- ^ Biggers, Eric (29 April 2019). "ntfs-3g-system-compression: NTFS-3G plugin for reading "system compressed" files". GitHub. Retrieved 1 October 2019.
- ^ Windows 이미지 파일부트(WIMBoot)의 개요
- ^ 레이먼드 첸.WofCompressed Data란? WOF는 Windows가 개라는 의미입니까?Microsoft DevBlogs.
외부 링크
- Microsoft Knowledge Base 엔트리 262797: Wayback Machine에서의 "Windows 2000 기반 클러스터에서의 재분석 포인트 지원" (2012년 10월 21일 아카이브 완료)
- 윈도우즈 2000 기반 클러스터의 재분석 지점 지원
- Microsoft Docs의 재분석 포인트 공식 문서
- NTFS 링크, 디렉토리 접속 및 Windows 바로가기