공통 로그 파일 시스템
Common Log File SystemCLFS(Common Log File System)는 범용 로깅 서브시스템으로 커널 모드 및 사용자 모드애플리케이션 모두에 액세스하여 고성능 트랜잭션로그를 구축할 수 있습니다.Windows Server 2003 R2 에 도입되어 이후의 Windows operating system에 포함되어 있습니다.CLFS는 데이터 로깅뿐만 아니라 이벤트 로깅에도 사용할 수 있습니다.CLFS는 트랜잭션을 커밋하기 전에 트랜잭션 상태 변경을 저장하기 위해 TxF 및 TxR에 의해 사용됩니다.CLFS에서 작성된 바이너리 로그 파일은 어떤 통합 Windows 도구에서도 볼 수 없습니다.
개요
CLFS의 역할은 다른 트랜잭션 로깅 시스템과 마찬가지로 특정 작업에 필요한 일련의 단계를 기록하여 나중에 정확하게 재생하여 트랜잭션을 세컨더리 스토리지에 커밋하거나 필요에 따라 취소할 수 있도록 하는 것입니다.CLFS는 먼저 레코드를 인메모리 버퍼에 기록한 후 영속성을 유지하기 위해 세컨더리 스토리지(CLFS 용어로는 안정된 미디어)의 로그 파일에 기록합니다.안정적인 미디어에 데이터를 플러시하는 시기는 내장된 정책에 의해 제어되지만 CLFS 클라이언트애플리케이션은 이를 덮어쓰고 강제로 플러시할 수 있습니다.CLFS를 사용하면 정의된 정책에 따라 로그 포맷을 커스터마이즈하고 로그를 확장 및 잘라낼 수 있을 뿐만 아니라 여러 클라이언트 애플리케이션에서 동시에 사용할 수 있습니다.CLFS는 파일 [1]시스템상의 임의의 장소에 로그 파일을 보존할 수 있습니다.
CLFS는 물리적 스토리지 시스템별 드라이버를 CLFS API에 연결하는 장치 드라이버 인터페이스(DDI)를 정의합니다.CLFS 드라이버는 ARIES 복구 알고리즘을 구현합니다.다른 알고리즘은 커스텀드라이버를 사용하여 [1]지원할 수 있습니다.
CLFS는 전용 로그와 다중 로그를 모두 지원합니다.전용 로그에는 로그 레코드의 단일 스트림이 포함되어 있는 반면 다중 로그에는 여러 스트림이 포함되어 있으며 각 스트림은 서로 다른 응용 프로그램에 사용됩니다.다중화된 로그에 여러 스트림이 있더라도 로그는 순차적으로 스트림에 단일 배치로 플러시됩니다.CLFS는 로그 레코드의 세트 공간을 사전에(로그가 실제로 생성되기 전에) 할당할 수 있으므로 스토리지 공간 [1]부족으로 인해 작업이 실패하지 않도록 할 수 있습니다.
CLFS 스트림의 로그 레코드는 시스템메모리의 버퍼에 있는 Log I/O블록에 최초로 배치됩니다.블록은 정기적으로 안정된 스토리지 디바이스로 플러시됩니다.스토리지 디바이스에서 로그에는 연속적으로 할당된 컨테이너 집합이 포함되어 있으며, 각 컨테이너에는 여러 개의 로그 I/O 블록이 포함됩니다.새 로그 레코드가 현재 세트에 추가됩니다.각 레코드는 증가되는 32비트 시퀀스 번호인 Log Sequence Number(LSN; 로그 시퀀스 번호)에 의해 식별됩니다.LSN 및 기타 메타데이터는 레코드 헤더에 저장됩니다.LSN은 컨테이너의 식별자, 레코드에 대한 오프셋 및 레코드의 식별자를 인코딩합니다. 이 정보는 로그 레코드에 나중에 액세스하는 데 사용됩니다.그러나 컨테이너 식별자는 논리적 식별자이므로 물리적 컨테이너에 매핑해야 합니다.매핑은 CLFS [2]자체에 의해 이루어집니다.
레퍼런스
- ^ a b c "Introduction to the Common Log File System". MSDN. Retrieved 2018-01-08.
- ^ "CLFS Stable Storage". MSDN. Retrieved 2018-01-08.