...
FSR 은 파일수준의 복제를 구현합니다. 파일을 복제하는 환경은 볼륨의 데이터가 파일 시스템에 의해 형식화 된 파일과 경로를 통해 관리 됨을 전제합니다. 따라서 FSR 은 파일시스템 계층 상부에 커널 필터 모듈을 삽입하여 볼륨으로 유입되는 모든 쓰기 I/O 에 대해 조사하고 해당 I/O 가 복제할 대상인지 식별합니다. 여기서 커널 필터 드라이버내의 복제 대상을 식별하기 위한 파일 경로 필터링 로직을 경로필터(path filter)라고 합니다. 경로필터는 FSR로 유입된 쓰기 I/O 의 목적지 경로가 복제 대상인지를 판단하고 버퍼링을 하거나 또는 I/O 를 하부 계층으로 bypass 합니다. 쓰기 I/O 가 복제 대상으로 식별되면 드라이버는 공유된 메모리 영역을 통해 I/O 데이터를 FSR Syncer 엔진 측으로 전달합니다. 이후 데이터를 타깃으로 송신하여 전달하는 것은 Syncer 엔진이 담당합니다. 즉 FSR은 커널 필터 드라이버 모듈과 Syncer 엔진 두 모듈을 상호 연동하여 복제를 구현합니다모듈에서 쓰기 I/O를 캡처하고 Syncer 엔진에서 데이터를 전송하여 복제를 구현하고 있습니다. 여기서는 커널 필터 드라이버의 경로필터와 공유버퍼에 대해 설명합니다.
경로 필터
경로필터는 리소스에 지정된 복제대상 경로들을 관리하고 검색하는 용도의 구성요소로서 경로필터의 검색 성능이 목록화하고 빠르게 검색할 수 있도록 하는 구성요소 입니다. 로컬 I/O는 경로필터의 성능에 따라 지연성능이 좌우되기 때문에 로컬 I/O 의 지연성능에 큰 영향을 끼칩니다. 경로필터의 내부 구조가 이진트리를 기본으로 하지만 기본적으로 관리해야할 성능에 가장 민감한 요소 입니다. 경로필터의 내부 구조는 이진트리를 기본으로 하여 최적화 하고 있지만 기본적으로 목록화 해야할 대상 경로가 많아질 수록 경로필터에 대한 검색비용이 증가하는 것은 불가피 합니다.
공유 버퍼
...