8.10. NFS에서 pNFS SCSI 레이아웃 활성화
데이터에 액세스하는 데 pNFS SCSI 레이아웃을 사용하도록 NFS 서버 및 클라이언트를 구성할 수 있습니다. pNFS SCSI는 파일에 대한 장기적인 단일 클라이언트 액세스와 관련된 사용 사례에 유용합니다.
사전 요구 사항
- 클라이언트와 서버 모두 동일한 블록 장치에 SCSI 명령을 보낼 수 있어야 합니다. 즉, 블록 장치는 공유 SCSI 버스에 있어야 합니다.
- 블록 장치에는 XFS 파일 시스템이 포함되어야 합니다.
- SCSI 장치는 SCSI-3 기본 명령 사양에 설명된 대로 SCSI 영구 예약을 지원해야 합니다.
8.10.1. pNFS SCSI 레이아웃
SCSI 레이아웃은 pNFS 블록 레이아웃 작업에 따라 빌드됩니다. 레이아웃은 SCSI 장치 간에 정의됩니다. SCSI 영구 예약을 지원할 수 있어야 하는 일련의 고정 크기 블록을 논리 단위(LU)로 포함합니다. LU 장치는 SCSI 장치 식별으로 식별됩니다.
pNFS SCSI는 파일에 대해 시간이 오래 걸리는 단일 클라이언트 액세스를 포함하는 사용 사례에서 효과적입니다. 예를 들어 메일 서버 또는 클러스터가 있는 가상 시스템이 있을 수 있습니다.
클라이언트와 서버 간 작업
NFS 클라이언트가 파일에서 읽거나 여기에 쓰는 경우 클라이언트는
LAYOUTGET
작업을 수행합니다. 서버는 SCSI 장치에 있는 파일의 위치로 응답합니다. 클라이언트는 GETDEVICEINFO
의 추가 작업을 수행하여 사용할 SCSI 장치를 결정해야 할 수 있습니다. 이러한 작업이 올바르게 작동하는 경우 클라이언트는 READ
및 WRITE
작업을 서버로 보내는 대신 I/O 요청을 SCSI 장치로 직접 실행할 수 있습니다.
클라이언트 간의 오류 또는 경합으로 인해 서버가 레이아웃을 불러오거나 클라이언트에 발행하지 못할 수 있습니다. 이러한 경우 클라이언트는 I/O 요청을 SCSI 장치로 직접 보내는 대신
READ
및 WRITE
작업을 서버에 실행하기 위해 대체됩니다.
작업을 모니터링하려면 8.10.6절. “pNFS SCSI 레이아웃 기능 모니터링” 을 참조하십시오.
장치 예약
pNFS SCSI는 예약을 할당하여 펜싱을 처리합니다. 서버가 클라이언트에 레이아웃을 발행하기 전에 등록된 클라이언트만 장치에 액세스할 수 있도록 SCSI 장치를 예약합니다. 클라이언트에서 해당 SCSI 장치에 대해 명령을 실행할 수 있지만 장치에 등록되지 않은 경우 해당 장치의 클라이언트에서 많은 작업이 실패합니다. 예를 들어, 클라이언트의 blkid 명령은 서버에서 클라이언트에 해당 장치의 레이아웃을 제공하지 않은 경우 XFS 파일 시스템의 UUID를 표시하지 않습니다.
서버에서 자체 영구 예약을 제거하지 않습니다. 이렇게 하면 클라이언트 및 서버를 다시 시작할 때마다 장치의 파일 시스템 내의 데이터를 보호합니다. SCSI 장치를 다시 사용하려면 NFS 서버에서 영구 예약을 수동으로 제거해야 할 수 있습니다.