클러스터 파일 시스템은 한 노드의 커널과 디스크에 물리적으로 연결되어 있는 노드에서 실행되는 볼륨 관리자 및 기초 파일 시스템 사이의 프록시입니다.
클러스터 파일 시스템은 하나 이상의 노드에 실제로 연결되어 있는 글로벌 장치(디스크, 테이프, CD-ROM)에 종속됩니다. 글로벌 장치는 노드가 기억 장치 에 실제 연결되었는지 여부에 관계없이 동일한 파일 이름(예: /dev/global/)을 통해 클러스터의 노드로부터 액세스할 수 있습니다. 글로벌 장치를 일반 장치와 동일하게 사용할 수 있습니다. 즉, newfs와(또는) mkfs를 이용하여 파일 시스템을 작성할 수 있습니다.
mount -g 명령을 사용하여 글로벌 장치의 파일 시스템을 전역으로 마운트할 수도 있고 mount 명령을 사용하여 로컬로 마운트할 수도 있습니다.
클러스터의 모든 노드에서 프로그램이 동일한 파일 이름(예: /global/foo)을 사용하여 클러스터 파일 시스템의 파일에 액세스할 수 있습니다.
클러스터 파일 시스템은 모든 클라이언트 시스템에 마운트됩니다. 클라이언트 시스템의 서브세트에서 클러스터 파일 시스템을 마운트할 수 없습니다.
클러스터 파일 시스템은 별도로 구분되는 파일 시스템 형식이 아닙니다. 즉, 클라이언트는 하부 파일 시스템(예: UFS)을 봅니다.
SunPlex 시스템에서 모든 멀티호스트 디스크는 디스크 장치 그룹으로서 구성됩니다. 이 그룹은 Solstice DiskSuite 디스크 세트, VxVM 디스크 그룹 또는 소프트웨어 기반 볼륨 관리자의 제어 하에 있지 않은 개인 디스크가 될 수 있습니다.
클러스터 파일 시스템의 가용성을 높이려면 하부 디스크 기억 장치를 둘 이상의 노드에 연결해야 합니다. 따라서 클러스터 파일 시스템에 만든 로컬 파일 시스템(노드의 로컬 디스크에 저장된 파일 시스템)은 가용성이 높지 않습니다.
일반적인 파일 시스템과 같이 두 가지 방법으로 클러스터 파일 시스템을 마운트할 수 있습니다.
수동-다음과 같이 mount 명령과 -g 또는 -o global 마운트 옵션을 사용하여 명령줄에서 클러스터 파일 시스템을 마운트합니다.
# mount -g /dev/global/dsk/d0s0 /global/oracle/data |
자동-부팅할 때 클러스터 파일 시스템을 마운트하도록 global 마운트 옵션을 사용하여 /etc/vfstab 파일에 항목을 만듭니다. 그런 다음 모든 노드에서 /global 디렉토리에 마운트 지점을 작성할 수 있습니다. /global 디렉토리는 권장 위치이며 반드시 지정해야 하는 것은 아닙니다. 다음은 /etc/vfstab 파일에서 클러스터 파일 시스템에 대한 예문입니다.
/dev/md/oracle/dsk/d1 /dev/md/oracle/rdsk/d1 /global/oracle/data ufs 2 yes global,logging |
Sun Cluster 소프트웨어가 클러스터 파일 시스템에 대한 이름지정 정책을 제시하지는 않지만, /global/ disk-device-group과 같은 동일한 디렉토리 아래의 모든 클러스터 파일 시스템에 대한 마운트 지점을 작성하여 관리를 용이라게 할 수는 있습니다. 자세한 정보는 Sun Cluster 3.0 U1 설치 안내서 및 Sun Cluster 3.0 U1 시스템 관리 안내서의 내용을 참조하십시오.
클러스터 파일 시스템에는 다음과 같은 기능이 있습니다.
파일 액세스 위치가 투명합니다. 프로세스는 위치에 관계없이 시스템에 있는 파일을 열 수 있으므로 모든 노드의 프로세스들은 동일한 경로 이름을 사용하여 파일을 찾을 수 있습니다.
동기 프로토콜을 사용하여 파일이 동시에 여러 노드로부터 액세스될 경우에도 UNIX 파일 액세스 시멘틱을 보존합니다.
효율적으로 파일 데이터를 이동하기 위하여 무복사 벌크 I/O 이동과 함께 확장 캐싱이 사용됩니다.
클러스터 파일 시스템은 fcntl(2) 인터페이스를 사용하여 가용성이 높은 권고 파일 잠금 기능을 제공합니다. 여러 클러스터 노드에서 실행되는 응용프로그램은 클러스터 파일 시스템의 파일에 대하여 권고 파일 잠금 기능을 사용하여 데이터 액세스를 동기화할 수 있습니다. 클러스터에서 제거되는 노드와 잠금을 유지하는 동안 장애가 발생하는 응용프로그램에서는 즉시 파일 잠금이 복구됩니다.
장애가 발생할 경우에도 데이터에 대한 액세스는 계속할 수 있습니다. 응용프로그램은 디스크에 대한 경로가 계속 작동하면 실패하지 않습니다. 이러한 보증은 원시 디스크 액세스와 모든 파일 시스템 조작에 대해 유지됩니다.
클러스터 파일 시스템은 하부 파일 시스템 및 볼륨 관리 소프트웨어와 독립적으로 작동합니다. 클러스터 파일 시스템은 지원되는 디스크의 파일 시스템을 모두 글로벌로 만듭니다.
syncdir 마운트 옵션은 UFS를 하부 파일 시스템으로 사용하는 클러스터 파일 시스템에 사용할 수 있습니다. 그러나 syncdir을 지정하지 않을 경우 중요한 성능 향상이 있습니다. syncdir을 지정한 경우, 쓰기의 POSIX 호환은 보증됩니다. 그렇게 하지 않으면, NFS 파일 시스템에서와 같은 동작을 수반하게 됩니다. 예를 들어, syncdir이 없으면, 파일을 닫을 때까지 공간 부족 상태를 발견하지 못하는 경우가 있습니다. syncdir (및 POSIX 동작)이 있으면, 쓰기 조작 동안 공간 부족 상태가 발견되었을 것입니다. syncdir을 지정하지 않아서 생기는 문제점이 간혹 있지만, 이를 지정하지 않으면 성능 향상 이점을 얻을 수 있으므로 지정하지 않는 것을 권장합니다.
글로벌 장치와 클러스터 파일 시스템에 대한 FAQ는 "파일 시스템 FAQ"를 참조하십시오.