IT 관리자가 꿈꾸는 다운타임이 없는 서버.. Windows Server 2008 R2 장애 조치 클러스터(Failover Cluster)

WS08-R2_h_rgb

근래에 진행했던 Windows 7 또는 가상화 관련 세미나에서 몇번정도 데모를 통해서 보여드렸던 사항입니다. 오늘은 해당 내용을 포스팅을 통해서 정리할 시점이 되지 않았나 합니다.

항상 많은 IT 관리자분들께서 고민하시는 것이 서버의 다운타임을 줄이는 것입니다. 고가용성적인 측면인데요. 보통 네트워크에 대한 고가용성은 L4 스위치나, 네트워크 부하 분산(NLB), 그리고 DNS의 라운드로빈을 이용한 부분이 있습니다. 서비스에 대한 고가용성은 Windows Server Enterprise 에디션에서 제공되는 장애 조치 클러스터링(Failover Clustering)을 활용하실 수 있겠죠.

장애 조치 클러스터링은 2대이상의 노드(컴퓨터)와 노드에서 공유해서 사용할 수 있는 스토리지가 필수적으로 필요합니다. 스토리지에 구성한 LUN를 노드에서 연결한 후, 관련된 정보를 LUN내에 저장하고, 정상적인 서비스 노드(Active), 그리고 문제 발생시 이를 장애 조치 받을 수 있는 노드(Passive)로 운영이 되죠. Active 노드내 서비스가 문제가 발생하면, 해당 서비스는 대기중인 Passive 노드로 장애 조치되어서, 사용자에게 계속 서비스를 할 수 있습니다.

image

클러스터에서 장애 조치가 일어났을 때, Active 노드에서 사용중이었던 스토리지의 LUN에 대해 분리(Unmount), 그리고 소유권 이전(Change Ownership), 그리고 다시 탑재(Mount)가 일어나죠. 여기서 약간의 서비스 중단이 발생합니다. 클러스터에서 사용하는 저장소의 경우에는 동시에 2대이상의 노드가 LUN의 소유권을 가질 수 없기 때문에, 해당 소유권을 넘겨주는 시간만큼이 장애 시간으로 남게되죠.

image

Windows Server 2008 R2에서는 클러스터 공유 볼륨(CSV - Cluster Shared Volume)이라는 새로운 컨셉을 제공하여, 소유권을 넘겨줄 때, 발생하는 장애 시간을 없앨 수 있게 하였습니다. 현재 CSV는 Hyper-V R2에서 사용을 하고 있으며, 소유권에 대한 이전이 필요하지 않으므로, 실시간 이전(Live Migration), 즉 가상 머신의 중단없이 서비스를 다른 노드로 이전할 수 있게 되었죠. 일전에 이에 대해서는 3편에 걸쳐 자세히 포스팅한 적이 있으니 이를 참고하시기 바랍니다.

Hyper-V의 Live Migration… 고가용성을 위한 또하나의 발걸음…

image

CSV의 등장으로 인해, 몇가지 장점을 Windows Server 2008 R2에서 얻으실 수 있습니다. 지금까지 장애 조치의 가장 작은 단위는 LUN하나 단위였습니다. 이유는 앞서 언급한 소유권 때문입니다만, CSV는 다수의 노드가 동시에 접근이 가능하므로, 이제 LUN 하나 단위가 아닌, 리소스 하나 단위로 장애 조치가 가능합니다. 즉 하나의 LUN에 다수의 파일을 저장해놓고, 개별적으로 소유권을 가질 수 있다는 것이죠.

아래의 그림을 참고해보시면, 지금까지는 LUN을 만들어놓고, 이를 통해 장애 조치 클러스터를 구축하시면 LUN의 용량 관리가 용이하지 않습니다. 어떤 것은 남고, 어떤 것은 부족하고… (녹색 하나 단위가 LUN이라고 보시면 됩니다.)

image

그렇지만, CSV를 이용하시면, LUN은 결국 최소 1개로 운영이 가능하므로, 기존보다 훨씬 용량 관리가 용이해집니다.

image

CSV는 별도의 하드웨어나 구성이 필요하지 않습니다. 현재 사용하시는 클러스터링을 Windows Server 2008 R2로 업그레이드만 하시면 바로바로! 사용이 가능합니다.

image

이정도로 그치지 않습니다. Windows Server 2008 R2지만, 클러스터링 기술은 마이너가 아닌 거의 메이저 업그레이드의 수준입니다. Dynamic I/O라고 들어보셨는지요? Windows Server 2008 R2 클러스터내 노드들은 각각의 구성 요소에 접근하기 위해, 연결 가용성에 기반한 네트워크 계산을 하게 됩니다.

노드 1과 노드 2가 A라는 스토리지에 연결되어져 있고, 노드 1,2간에는 하트비트용 NIC, 그리고 서비스용 NIC이 있겠죠. 만약 노드 2와 스토리지 A사이의 연결에 문제가 발생하거나, 노드 1를 거쳐가는 것이 더 빠르다고 노드가 판단되면, 노드 2에서 바로 스토리지 A로 가는 것이 아니라, 1를 거쳐서 리라우팅되기도 합니다.

image

스토리지와의 연결에 문제가 생겨도~ 가능하다는 이야기죠. 이는 단순히 스토리지뿐만 아니라, 네트워크에 대해서도 리라우팅이 가능하며, 이러한 측면은 서비스를 제공하는 부분에선 단일 실패 지점(Single Point of Failure)를 없앨 수 있는 훌륭한 부분이 될 수 있습니다.

image

어떤 네트워크를 사용하여 CSV를 이용할 것이냐에 대해서는 네트워크 별로 우선 순위를 지정할 수 있습니다. 이는 PowerShell을 통해서 확인할 수 있습니다. 메트릭 값이 낮을 수록, 우선 순위는 높게됩니다.

image

Windows Server 2008 R2내 클러스터 공유 볼륨, Dynamic I/O, 그리고 이를 활용한 실시간 이전(Live Migration)까지 다운타임이 없는 서버를 향해 장애 조치 클러스터 기술을 계속 발전할 것이고, 이는 고스란히 조직내 가치로 되돌아가게 될 예정입니다.