Image

뉴타닉스 같은 HCI를 쓰는 큰 목적 중 하나는 FILES 같은 NAS 구성에 있을 것이다. 스토리지들과 노드들을 클러스터링 하고 노드 장애시 가용성까지 보장하는 NAS 라면 NAS 로서는 더 할 나위가 없다.

뉴타닉스 FILES 같은 경우 FSVM 이라고 하는 FILE SERVER VM 을 통해 구성된다. FILES 를 설치하기 위해서는 먼저 LCM 을 통해 프리즘 엘레멘트에서는 FILE SERVER MODULE을 설치하고, 프리즘 센트럴에서는 FILE MANAGER 를 설치한 다음 설정에서 UPGRADE SOFTWARE에 FILES CORE를 업로드하여 설치한다.

기본적으로 FSVM이 있긴 하지만 모든 IO 통신은 CVM이 한다. 따라서 FILES를 설치한 다음 FILES 클러스터를 생성할 때 네트워크를 두 개 만들게 된다. 하나는 CLIENT 네트워크로 외부에서 연결하는 네트워크이고, STORAGE 네트워크는 CVM 이랑 통신하는 네트워크이다. CLIENT 네트워크로는 외부 CLIENT나 VM과의 통신을 위해 사용되고, STORAGE 네트워크는 CVM 과 통신하기 위해 사용되며 통상적으로 외부네트워크와 다른 대역대나 다른 VLAN ID가 권장 된다. FILES를 설치하기 위해서는 iSCI Data service IP 가 필요한데 그 이유는 FILES에서 SHARE를 생성하게 되면 Volume Group을 만들고, 그 Volume Group 과 통신하기 위해서는 iSCI Data service IP 를 설정해야해서 FILES 를 생성하기 전에 프리즘 설정에서 설정하겠끔 되어 있다.

FILES 클러스터를 생성한 후에 실제로 CLIENT에서 사용하려면 SHARE를 설정해야한다. SHARE는 크게 NFS와 SMB로 나뉜다. NFS는 UNMANAGED로 만들 시 인증 과정 없이 NFS로 마운트해서 쓸 수 있다. 이때 어떤 FSVM IP로 마운트 하던 담당하는 FSVM 에서 처리한다. 그 외에 NFS에서 인증을 통해 로그인할 수 있도록 하는 옵션으로는 Active Directory 와 LDAP 가 있다. SMB 같은 경우에는 ACTIVE Directory가 강제된다. 아무래도 SMB 특유의 취약함 때문인데 따라서 별도로 Active Directory를 위한 서버나 VM이 필요하다. AD에서 대해서 정확하게는 모르지만 DNS를 통해 인증하고 인증서로 서명해서 암호화하여 통신하는 것으로 보인다.

FILES 클러스터를 생성하게 되면 FSVM이 최소 3개 생성이 되는데 이는 ZOOKEEPER Quorum 때문이다. 이 Quorum 을 뉴타닉스에서는 RF 라고 부르며 RF2 와 RF3 가 있다. 실제로 SHARE 를 생성하여 어떤 파일을 WRITE 하면 어떤 FSVM IP로 네트워크 스토리지를 쓰던 그 SHARE를 담당하는 FSVM이 처리를 하게 된다. STANDARD SHARE 같은 경우 담당하는 FSVM에만 파일이 저장되며, DISTRIBUTE SHARE 같은 경우 SHARE 의 루트 디렉토리가 아닌 그 하위 디렉토리들을 여러 FSVM에 나누어 저장한다. DISTRIBUTE SHARE 라도 SHARE의 루트 디렉토리에 저장한 파일들은 담당 FSVM에 저장된다. FSVM 이 있는 노드의 CVM은 이것을 처리하게 되는데 보통은 해당 노드 CVM만 처리를 하게 되나, 처리량이 많을 경우엔 다른 CVM도 나누어서 처리를 한다. 그 처리를 할 때 미리 설정한 RF2, RF3 에 따라 ZOOKEEPER가 노드 스토리지 사용률에 맞게 나누어서 WRITE 한다.

클러스터의 묘미는 노드 장애와 같은 장애에서 가용성 보장에 있다고 생각한다. CVM이 장애나 유지모수모드에 들어가면 해당 CVM에 대한 세션 연결을 끊고, iSCSI 클라이언트가 다시 로그인 되도록 트리거 된다. 트리거가 되면 적절한 CVM으로 세션이 리다이렉트하여 새로운 담당 CVM에서 계속 사용할 수 있게 된다. 노드 장애가 발생하면 해당 노드의 CVM이 담당했던 FILES 볼륨그룹은 다른 FSVM이 담당하고 새로운 파일서버 클러스터 리더를 선출한다. 그러면서 다른 FSVM이 장애난 노드 FSVM의 데이터를 이어받기 까지 30초에서 180초 정도 걸리는데 CLIENT IO 지연은 있지만 연결은 유지된다. 장애가 복구되면 SMB, NFS 서비스를 중지시키고 데이터무결성을 확인하여 복구된 FSVM이 다시 이어받은 다음 새롭게 연결을 수립하는 방식으로 진행된다.