NAS 프로토콜의 기본
NAS 프로토콜은 네트워크의 여러 클라이언트가 GCP의 Google Cloud NetApp Volumes 와 같은 스토리지 시스템의 동일한 데이터에 액세스할 수 있는 방법입니다. NFS와 SMB는 정의된 NAS 프로토콜이며 클라이언트/서버 기반으로 작동하는 반면 Google Cloud NetApp Volumes 서버 역할을 합니다. 클라이언트는 서버에 액세스, 읽기, 쓰기 요청을 보내고, 서버는 파일 잠금 메커니즘을 조정하고, 권한을 저장하고, ID 및 인증 요청을 처리하는 역할을 합니다.
예를 들어, NAS 클라이언트가 폴더에 새 파일을 만들려면 다음과 같은 일반적인 프로세스를 따릅니다.
-
클라이언트는 서버에 디렉토리에 대한 정보(권한, 소유자, 그룹, 파일 ID, 사용 가능한 공간 등)를 요청합니다. 서버는 요청한 클라이언트와 사용자가 상위 폴더에 대한 필요한 권한을 가지고 있는 경우 해당 정보를 응답합니다.
-
디렉토리에 대한 권한이 액세스를 허용하는 경우, 클라이언트는 서버에 생성하려는 파일 이름이 파일 시스템에 이미 있는지 묻습니다. 파일 이름이 이미 사용 중이면 생성이 실패합니다. 파일 이름이 존재하지 않으면 서버는 클라이언트에게 계속 진행할 수 있음을 알립니다.
-
클라이언트는 서버에 호출을 보내 디렉토리 핸들과 파일 이름으로 파일을 생성하고 액세스 및 수정 시간을 설정합니다. 서버는 다른 파일이 동일한 파일 ID로 생성되지 않도록 파일에 고유한 파일 ID를 발급합니다.
-
클라이언트는 WRITE 작업 전에 파일 속성을 확인하기 위해 호출을 보냅니다. 권한이 허락한다면 클라이언트는 새 파일을 작성합니다. 프로토콜/애플리케이션에서 잠금을 사용하는 경우, 클라이언트는 서버에 잠금을 요청하여 다른 클라이언트가 잠긴 파일에 액세스하는 것을 방지하고 데이터 손상을 방지합니다.