[번역] Native File Services for vSAN 7

출처 : https://cormachogan.com/2020/03/11/native-file-services-for-vsan-7/

2020년 3월 10일에 vSphere 7.0, vSAN 7.0, VMware Cloud Foundation 4.0 및 Tanzu 포트폴리오에 대한 VMware의 많은 발표가 있었다. 이러한 발표의 대부분은 어떤 애플리케이션, 어떤 클라우드, 어떤 기기라는 VMware 회사의 전반적인 비전과 매우 깊은 관련이 있다. 이러한 애플리케이션은 전통적으로 가상화된 애플리케이션이었다. 이제 우리는 주로 컨테이너를 기반으로 하고 주로 쿠버네트에서 실행되는 최신의 현대적인 어플리케이션에 관심을 돌리고 있다. 우리의 목표는 기존의 가상화된 애플리케이션과 현대적인 컨테이너형 애플리케이션을 모두 구축, 실행, 관리, 연결 및 보호할 수 있는 플랫폼을 구축하는 것이다.

powered-by-vSAN.png

그래서 우리는 vSAN File Service로 간다. vSAN 7에 완벽하게 통합된 vSAN File Service 이제 vSAN 데이터스토어의 블록 볼륨과 함께 파일 공유를 생성할 수 있는 기능을 가지고 있다. 이러한 파일 공유는 NFS v3 및 NFS v4.1 프로토콜을 통해 액세스할 수 있다. vSAN에서 기대할 수 있듯이 설정 및 사용은 매우 간단하다. 또한 vSAN Virtual Object Viewer 및 Health와 완벽하게 통합되어 있으며, 파일 서버 에이전트 및 실제 파일 공유에 대한 자체 검사 세트도 갖추고 있다. 이제 vSAN File Service의 실전에 대해 살펴봅시다.

고지 사항: "분명히 말해서, 이 게시물은 vSAN Native File Services 제품의 GA 이전 버전을 기반으로 한다. 지금과 제품이 보편적으로 보급될 때 어떤 변화가 있을지는 별로 없다는 가정이지만, 그 전에 특징과 UI가 여전히 바뀔 수 있다는 것을 독자들이 알아두었으면 한다."

단순한 배포 매커니즘

먼저 vSAN 파일 서비스를 배포하는 방법에 대해 살펴보자. 정말로 매우 직관적이며, 이전의 vSAN 서비스와 거의 같은 방식으로 활성화되어 있다. 아래 그림과 같이 3노드 vSAN 7 클러스터로 시작하겠다.

1-hosts.png

그런 다음 vSphere Client에서 vSAN File Service가 표시되는 vSAN Service 섹션으로 이동한다. 현재 Disabled이고, Enabled로 한다.

2-Enable-FS.png

그러면 vSAN File Service 마법사가 실행된다. Introduction에는 VM과 컨테이너가 모두 사용하고 있는 File Shares를 보여주고 있어 흥미롭다. 말했듯이, 우리는 가상화된 애플리케이션과 현대적인 애플리케이션 모두를 위한 플랫폼을 구축하고 있다. 이 게시물에서는 가상 머신에 집중하지만 향후 게시물에서 vSAN 파일 서비스를 사용하는 컨테이너를 살펴보기로 한다.

3-FS-intro.png

vSAN에서 File Service를 구현하는 방법은 vSphere ESX Agent Manager에서 관리하는 File Service Agent 집합을 구현하는 것이다. 이것들은 Photon OS와 Docker를 실행하는 매우 가볍고, 의견이 맞는 가상 어플라이언스들이다. NFS 서버 역할을 하며 File Service에 대한 액세스를 제공한다. File Service가 일반적으로 사용 가능해지면 인터넷에서 에이전트 이미지를 직접 다운로드할 수 있을 것이다(My VMware로 추정). 또는 인터넷에 액세스할 수 없는 사이트의 경우 파일 서비스 에이전트 OVF를 오프라인으로 다운로드한다.

이제 소개 화면에서 강조할 흥미로운 항목은 NFS File Share와 vSAN 사이에 있는 분산 파일 시스템(Distributed File System)이다. 이 분산 파일 시스템 구성 요소는 모든 File Service Agent 간에 구성 상태(파일 공유 이름, 파일 공유 리디렉션 등)를 공유하는 방법이다. vSAN 클러스터의 ESXi 호스트 중 하나에서 File Service Agent 중 하나가 실패할 경우, 이렇게 하면 vSAN 클러스터의 다른 호스트에서 에이전트를 재시작하고 해당 파일 공유 등의 모든 메타데이터에 계속 액세스할 수 있다.

4-FS-Agent.png

다음 단계는 Security mode와 DNS와 같은 도메인 주변의 정보를 제공하는 것이다. 이 예에서는 파일 서비스 도메인을 "vsan-fs"라고 불렀다. 현재 vSAN 7 릴리즈에서는 NFS 인증 방법으로 AUTH_SYS만 지원된다. 즉, 에이전트는 로컬 사용자에 대해 사용하는 것과 동일한 유닉스 같은 권한을 사용하여 NFS 파일 공유의 사용자에 대해 파일 시스템 권한을 적용한다는 것이다.

5-FS-Domain.png

이제 Networking 섹션에서 File Service Agent가 배포된 VM 네트워크와 파일 공유에 액세스하는 방법을 선택하십시오. 서브넷 마스크와 게이트웨이 같은 일반적인 것도 이 시점에서 추가된다.

6-FS-NW.png

그리고 마지막 단계는 File Service Agent에 IP Pool을 제공하는 것이다. 좋은 점은 에이전트에 사용할 수 있는 IP 범위가 있는 경우 IP 주소를 자동으로 채울 수 있다는 것이다. File Service Agent의 DNS 이름을 수동으로 입력하는 대신 조회하는 옵션도 있다. 그런 다음 기본 IP 주소를 선택할 수 있으며 이 주소가 모든 NFS v4.1 공유에 액세스하는 데 사용될 주소다. 백엔드에서 NFSv4 참조를 사용하여 공유에 대한 연결을 다른 File Service Agent로 리디렉션할 수 있다. NFSv4 참조는 한 File Service Agent가 디렉토리를 통과할 때 클라이언트 연결/요청 사항을 다른 File Service Agent로 리디렉션할 수 있는 NFSv4 특정 메커니즘이다(Native vSAN 파일 서비스에서 /vsanfs/로 하드 코드화됨). 우리는 이 행동이 곧 행동으로 보일 것이다.

7-FS-IP-Pool.png

선택한 항목을 검토하고 마침을 클릭하여 배포를 시작한다.

8-FS-Review.png

이렇게 하면 vSphere 환경에서 여러 작업이 시작되며, 그림은 작업 내역 캡처:

9-FS-Tasks.png

그러나 태스크가 완료되면 vSAN 노드당 새 vSAN 파일 서비스 노드/에이전트를 생성한다(내 3 노드 vSAN 클러스터에 대한 에이전트 3개).

10-FS-Nodes.png

vSAN 서비스의 vSAN File Service를 살펴보면 vSAN File Service가 다양한 추가 정보와 함께 활성화되어 있으며, 대부분의 경우 설정 프로세스에서 제공한 것이다.

11-FS-Service-Details.png

여기서 지적해야 할 또 다른 기능은 'Check Upgrade' 옵션이다. File Service Agent의 새 릴리스를 사용할 수 있게 되면 이 기능을 사용하여 모든 파일 공유의 완전한 가용성을 유지하면서 에이전트를 롤링 업그레이드한다. 초기 배포에서 살펴본 것처럼 vCenter에 인터넷 연결이 있으면 새 버전을 자동으로 축소할 수 있으며, vCenter에 인터넷 연결이 없는 경우 새 OVF를 오프라인으로 다운로드하여 수동으로 업로드할 수 있다.

이제 vSAN 파일 서비스를 사용 가능으로 설정했으므로 첫 번째 파일 공유를 생성해 봅자.

단순 파일 공유 생성 메커니즘

이제 Configure > vSAN에 File Service Shares라는 새로운 메뉴 항목이 나타난다. 기본 IP뿐만 아니라 지원되는 프로토콜(NFS v3 및 4.1)과 설정에서 생성한 도메인(vsan-fs)도 볼 수 있다. 설정 중에 파일 서비스 에이전트 중 하나가 주 서버로 지정되었으며, 이 주소가 모든 NFS v4.1 공유를 마운트하는 데 사용되는 IP 주소다. 연결은 NFS 참조를 사용하여 공유를 표시하는 에이전트의 실제 IP 주소로 내부적으로 리디렉션된다. 첫 번째 공유를 만들려면 ADD를 클릭한다.

12-FS-Shares.png

이 마법사에서 우리는 공유의 이름을 제공한다. 또한 공유에 대한 vSAN 스토리지 정책을 선택한다. 이 정책에는 성능과 가용성을 위해 블록 스토리지 정책과 연결된 모든 기능이 포함될 수 있으며, 우리는 또한 경고 한계값과 하드 쿼터를 설정할 수 있는 선택권을 가지고 있다. 하드 쿼터는 아직 공유에 여유 공간이 남아 있을지라도 쿼터에 도달하면 추가 데이터를 공유에 배치할 수 없다는 것을 의미한다. 마지막으로 파일 공유에 레이블을 추가할 수도 있다. 라벨은 쿠버네티스의 세계에 많이 이용되고 있기 때문에 특정 어플리케이션에 사용되는 것으로 공유를 표시하는 것이 유용할 수 있다. 다른 게시물에서 쿠버네티스가 어떻게 이러한 파일 공유를 소비할 수 있는지에 대해 논의할 것이다.

13-Share1_.png

유일한 다른 단계는 파일 공유에 액세스할 수 있는 네트워크를 지정하는 것이다. 어떤 네트워크에서도 공유에 접근할 수 있게 하거나 특정 네트워크가 파일 공유에 액세스할 수 있는 권한과 같은 권한을 지정할 수 있다. Read Only 또는 Read Write. Root squash 확인란은 파일 공유를 마운트하고 사용하는 루트 사용자의 사용 권한을 '스쿼시'하는 NFS에서 많이 사용되는 보안 기술이다.

14-Share2.png

파일 공유를 검토하고 FINISH를 클릭하여 생성한다.

15-Share3.png

파일 공유가 생성되면 아래와 같이 File Service Shares에 나타난다.

16-Share4.png

다시, 매우 직관적으로 UI에서 몇 번의 클릭만으로 파일 공유가 생성된다. 물론 모든 공유는 vSAN 데이터스토어에 배포되며 SPBM(Storage Policy Based Management)을 통해 가용성과 성능으로 구성된다.

또한 파일 공유의 소프트 또는 하드 할당량을 변경하거나 레이블을 추가하거나 네트워크 액세스를 변경해야 하는 경우 파일 공유를 선택하고 Edit를 클릭한 다음 즉시 변경한다. 다시 한 번 아주 간단하다.

vSAN Object View와 Health Integration

vSAN에서 파일 공유가 인스턴스화되므로 파일 공유 보기에서 파일 공유의 이름을 클릭하기만 하면 아래와 같이 Virtual Objects 보기에서 파일 공유 세부 정보를 볼 수 있다.

17-FS-Virtual-Objects.png

아래의 "View placement Details" 링크를 클릭하여 기본 vSAN 개체의 레이아웃을 확인하여 파일 공유 개체의 구성 요소를 배치하는 데 사용되는 호스트와 물리적 스토리지 디바이스를 확인하십시오. 그리고 물론, 히스 서비스는 vSAN File Service에 특정한 다수의 추가 건강 검사를 포함하도록 확장되었다.

18-FS-Health.png

이제 File Share가 구축되었으므로 외부 Linux(Ubuntu 18.04) VM에서 사용해보자.

파일 공유 사용(NFS v3 및 NFS v4.1)

vSAN File Shares는 NFS v4.1 또는 NFS v3으로 마운트할 수 있다. 여기서 짚고 넘어가야 할 주요 사항은 NFSv4.1 기본 IP 메커니즘을 NFSv4 참조와 함께 사용하는 방법이다. 표준 showmount 명령을 사용할 경우 NFSv4 참조에 필요한 루트 공유 폴더가 표시되지 않는다(하드코딩은 /vsanfs/):

# showmount -e 10.27.51.194
Export list for 10.27.51.194:


# showmount -e 10.27.51.195
Export list for 10.27.51.195:
/first-share 10.27.51.0/24


# showmount -e 10.27.51.196
Export list for 10.27.51.196:

파일 공유 /first-share는 IP 주소 195로 두 번째 File Service Agent에 있다. 기본 IP 및 NFSv4 참조 메커니즘을 통해 이 파일 공유를 NFS v4.1로 마운트하려면 showmount  출력에 표시되지 않더라도 마운트 경로에 루트 공유(/vsanfs)를 포함해야 한다. 그런 다음 클라이언트 요청을 참조하여 파일 공유를 적절한 File Service Agent에 마운트한다.

다음은 NFS v4.1을 사용하여 파일 공유를 마운트하는 명령이다. 지정된 프로토콜이 없는 경우 NFS v4.1이 기본 마운트 버전이다. 이 경우 클라이언트는 서버와 마운트 프로토콜을 협상하고 가장 일치하는 프로토콜로 마운트한다. vSAN 7 Native File Services의 경우 NFS v4.1:

# mount 10.27.51.194:/vsanfs/first-share /newhome/

or

# mount -t nfs -o vers=4.1 10.27.51.194:/vsanfs/first-share /newhome/


# mount | grep newhome
10.27.51.194:/first-share on /newhome type nfs4 (rw,relatime,vers=4.1\
,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2\
,sec=sys,clientaddr=10.27.51.18,local_lock=none,addr=10.27.51.194)

NFSv3을 사용하여 공유를 마운트하려면 마운트 경로에 루트 공유(/vsanfs)가 사용되지 않는다. 이 경우 showmount 명령을 통해 확인할 수 있는 '소유' 파일 공유 에이전트에서 직접 마운트한다. 이 프로토콜에는 참조/리디렉션 메커니즘이 없다. 다음은 NFS v3을 통해 파일 공유 에이전트 중 하나(196, 파일 공유를 소유한 에이전트)에서 직접 마운트하는 예.

# mount -t nfs -o vers=3 10.27.51.196:/second-share /newhome/

# mount | grep newhome
10.27.51.196:/second-share on /newhome type nfs (rw,relatime,vers=3\
,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2\
,sec=sys,mountaddr=10.27.51.196,mountvers=3,mountport=20048,mountproto=udp,\
local_lock=none,addr=10.27.51.196)

그리고 정확한 구문을 기억하지 못하더라도 걱정하지 마십시오. vSphere UI에서 파일 공유를 선택한다. 이제 도구 모음에 'Copy URL'와 같은 몇 가지 추가 항목이 표시된다는 점에 유의한다.

copy-url1.png

그런 다음 COPY URL을 클릭하고 NFSv3 또는 NFSv4를 사용하여 공유를 마운트할지 결정하십시오.

copy-url2.png

먼저 NFSv4를 선택한다. 이제 참조 /vsanfs/root 디렉토리를 사용하여 이 파일 공유를 마운트하는 데 사용해야 하는 연결 문자열이 표시된다:

copy-url3.png

또는 NFSv3으로 마운트하기로 결정한 경우 다음 연결 문자열을 사용하십시오.

copy-url4.png

이번에는 참조 디렉토리가 포함되지 않으므로 '소유(owning)' 에이전트에서 직접 공유를 마운트해야 한다.

할당량 경보 및 이벤트


파일 공유 생성에서 보았듯이, 우리는 공유 경고 임계값을 설정할 수 있는 능력을 가지고 있다. 이 임계값을 초과하면 UI에서 '쿼터 초과 사용' 필드가 주황색으로 바뀌는 것을 볼 수 있다.

22-Usage-over-quota.png

공유 하드 쿼터도 있다. 일단 당신이 도달하면 당신은 공유에 더 이상 데이터를 쓸 수 없을 것이다. 아래 나온 것처럼 디스크 할당량이 오류를 초과하여 실패할 것이다.

21-Disk-quota-exceeded.png

하드 할당량이 초과되면 vSphere UI에 다음과 같은 경보도 표시된다.

20-FS-full-alarm-2.png

마치면서

우리는 vSAN을 위한 네이티브 파일 서비스 솔루션을 매우 오랫동안 연구해왔다. 마침내 그것이 출시되는 것을 보는 것은 멋진 일이다. 나는 엔지니어링 팀이 (1) vSAN을 정의하는 단순성 접근법을 유지하고 (2) 상태 점검 및 가상 개체 보기와 같은 다른 주요 vSAN 기능과의 통합을 훌륭하게 수행했다고 생각한다.

우리는 또한 가상 머신이 파일 공유를 얼마나 쉽게 사용할 수 있는지, 그리고 이것이 기존의 가상화된 애플리케이션에 얼마나 유용할 수 있는지 알아보았다. 하지만 컨테이너는 어떤가? 그들이 이러한 파일 공유를 그만큼 쉽게 사용할 수 있을까? 이 공간을 살펴보십시오. 그러면 기존 가상화 애플리케이션과 최신의 컨테이너형 애플리케이션이 모두 이 서비스를 사용할 수 있도록 vSAN 파일 서비스를 사용하도록 CSI 드라이버 및 CNS(Cloud Native Storage) 구현을 확장하는 방법에 대해 알려드리겠습니다. - any app, and cloud, any device.

vSAN 7 기능에 대한 자세한 내용은 여기에서 전체 vSAN 7 공지 사항을 참조하십시오. vSAN 7이 필수적인 VMware Cloud Foundation 4에 대해 자세히 알아보려면 여기에서 전체 VCF 4 발표를 확인하십시오.