파일 저장소 디스크 요구사항
스토리지 인프라의 신뢰도는 데이터 무결성을 유지보수하는 WebSphere® Application Server의 기능에 영향을 미칩니다.
제공하도록 구성할 수 있는 신뢰도 레벨에 대한 정보는 스토리지 인프라 문서를 참조하십시오. 스토리지 인프라에 포함될 수 있는 컴포넌트의 예에는 하드 디스크 드라이브, RAID 제어기, 파일 시스템 및 네트워크 파일 시스템 프로토콜이 있습니다.
- 입출력(I/O) 신뢰성
- 로그 및 저장소 파일은 모든 쓰기가 동기화되었음을 표시하도록 JVM에서 플래그를 설정하거나 특정 API 호출 이후에 디스크에 이전 모든 쓰기를 강제로 수행해야 하는 같은 방식으로 Java API를 사용하여 작성됩니다. 이렇게 하려면 실패가 발생해도 비동기 쓰기로 데이터가 작성되거나 강제 실행을 유실하기 전에 손상되거나 잘못된 순서로 작성되지 않도록 해야 합니다.
- 계층 수는 이러한 쓰기 요청 인식과 관련됩니다. 운영 체제, 파일 시스템 및 하드 디스크 벤더만 사용 가능한 다양한 구성에서 요구되는 신뢰성 레벨을 제공하는지 여부를 표시할 수 있습니다. 또한 이는 데이터베이스와 같은 기타 로깅 시스템에서 조건을 만족합니다.
- 특히 스토리지 디바이스가 메시징 엔진이 실행 중인 로컬 시스템에 없고 파일이 NFS와 같은 네트워크 파일 시스템에 상주하는 경우 NFS는 이 요구사항을 만족하도록 구성되어야 합니다. 쓰기 캐싱이 수행되지 않도록 테스트는 없습니다.
- 파일 위치
- 메시징 엔진이 클러스터 버스 멤버에 있는 경우 다른 서버에서 실행할 수 있습니다. 이렇게 하려면 파일 저장소 파일이 공유 스토리지에 있어야 합니다. 관리 콘솔에 구성된 대로, 파일 저장소 파일에 대한 경로는 메시징 엔진을 실행할 수 있는 각 시스템에서 동일한 파일에 대한 경로여야 합니다. 이는 NFS 또는 다른 고급 스토리지 메커니즘을 사용하여 얻을 수 있습니다.
- 지정된 경로의 파일이 동일한 파일이 아니면 메시징 엔진이 한 서버에서 다른 서버로 장애 복구될 때 이는 효율적으로 이름이 동일한 다른 메시징 엔진에 해당합니다. 메시징 엔진의 새 인스턴스에서 지속적 데이터를 사용할 수 없습니다.
- 파일 잠금
- 로그 파일은 java.nio.channels.FileLock.tryLock()을 사용하여 잠깁니다. 운영 체제 및 파일 시스템에서는 항상 이 잠금을 허용해야 하며, 메시징 엔진이 실행 중인 Java 프로세스가 예상치 못하게 종료되거나 명시적으로 요청된 경우 잠금이 해제됩니다.
- 특히 다른 시스템에서 해당 파일에 액세스하는 경우에도 잠금이 보유된 경우 다른 프로세스에서 파일을 잠글 수 없습니다. 또한 메시징 엔진을 실행하는 Java 프로세스가 예상치 못하게 종료되면 다른 시스템이 파일에 액세스할 수 있도록 잠금을 해제해야 합니다.
- 이 요구사항은 메시징 엔진이 클러스터 버스 멤버에 있고 다른 여러 서버에서 실행할 수 있는 경우를 활용합니다. 메시징 엔진의 첫 번째 인스턴스에 실패했으므로 HAManager가 시작할 메시징 엔진을 지시하면 다른 프로세스가 종료될 때 로그 파일을 잠글 수 있어야 합니다. 마찬가지로 다른 프로세스가 종료되지 않으면(소위 반구 시나리오) 메시징 엔진의 새 인스턴스가 잠금을 확보할 수 없어야 하므로, 메시징 엔진이 시작되지 않습니다.
- 파일 잠금 테스트 도구를 사용하여 파일 시스템이 기본 잠금 요구사항을 제공하도록 할 수 있습니다. IBM 지원 센터 문서에는 파일 시스템 잠금 프로토콜 테스트 도구에 대한 세부사항이 포함되어 있습니다.