마이크로소프트 클라우드(Cloud)에서는 하드웨어를 어떻게 운영, 관리할까요? - 스토리지편
일반 IT 인프라던, 가상화 환경이던, 클라우드를 사용하던 항상 빠지지 않고 IT 엔지니어가 고민을 해야 하는 부분이 있습니다. 바로 하드웨어에 대한 부분입니다. 물리적인 서버에 대한 관리와 더불어, 어떨 땐 더 큰 고민 거리로 다가오는 부분이 네트워크나 스토리지에 대한 부분이죠. 네트워크나 스토리지는 각 하드웨어 벤더별로 모니터링을 위한 도구를 제공하고, 이를 IT 엔지니어가 사용해서 관리하는 형태를 많이 취합니다. 이 경우, 별도의 관리 도구 창을 또하나 띄워놓고 관리를 해야 하는 부분이 되는 것이죠.
클라우드 환경으로 인프라가 진화하는 모습을 보고 있으면, 단순히 서버 가상화 환경(클라우드의 중요한 엔진이긴 하죠)에 대한 모니터링과 더불어 또 하나의 작업 사항으로 설정하고, 고객이나 내부에서 제공해야 하는 부분도 역시나 네트워크나 스토리지인 것으로 생각합니다.
System Center Virtual Machine Manager(SCVMM) 2012의 경우에는 클라우드 인프라를 다양한 관점에서 바라보고 있고, 이를 총칭하여 패브릭(Fabric)이라고 부릅니다. 여기에 하나의 요소로 가상화 서버가 자리잡고 있고, 추가적인 서버로 업데이트 서버, 라이브러리 서버, 빈 서버(Bare Metal)에 가상화 환경을 구축하기 위한 PXE 서버, 그리고 물리적인 하드웨어(Bare Metal - 빈 서버죠, 네트워크 장비(일반 스위치 & 로드 밸런서, 스토리지 장비)까지 바라봅니다. 장비 자체에 대한 물리적인 장애나 운영 모니터링은 System Center Operation Manager에서 관리 팩(MP)를 통해 관리하죠.
오늘 소개해드릴 부분은 바로 하드웨어에 대한 부분입니다. 특히 클라우드 인프라에서 서버와 함께 빠지지 않고, 같이 다녀야하는 스토리지에 대한 부분이죠.
스토리지 하드웨어 벤더마다 제공하는 기술의 형태는 제각각 다양한 형태로 존재합니다. A라는 스토리지 회사, B라는 스토리지 회사 장비를 두었을 경우, 이를 중앙에서 일괄 관리할 수 있는 마땅한 방안이 없는 것도 사실입니다. 별도의 스토리지 관리 서버(Microsoft로 따짐 Windows Storage Server가 여기에 해당)를 두고, 이 관리 서버가 스토리지를 제각각 연결하고 있고, 이를 가상 스토리지 형태(VDS)로 제공하면 통합 관리가 가능하긴 하죠. SCVMM 2008 R2의 경우에는 VDS를 통해서 스토리지를 할당하였습니다.
이러한 스토리지 및 관리 네트워킹 형태에 대한 표준 방식을 제안하고 있는 단체인 SNIA(Storage Networking Industry Association)에서 SMI-S라는 관리 제공자를 제안하고, 여러 스토리지 벤더가 이 방안을 채택하고 있어, SMI-S 제공자를 통해 통합적으로 스토리지를 관리하거나, 사용할 수 있는 방안이 모색되고 있습니다.
SCVMM 2012의 경우, 이 SMI-S 제공자와의 연결을 통해 연결된 하위 스토리지를 클라우드 관점에서 바라보고, LUN 생성이나 할당, 그리고 LUN의 디스크 그룹에 대한 분류(Classification)등을 제공하여, IT 엔지니어나 클라우드 사용자가 서비스 관점의 스토리지가 필요한 경우에 이를 머신 혹은 서비스와 함께 제공받을 수 있게 합니다.
해당 기능에 대한 클라우드와의 연계 시나리오를 고민하는 입장에서 해당 기능을 제공하는 스토리지를 수배하는 것이 참 어려운 일이었습니다. 다행히 Dell Korea의 도움을 받아, SMI-S를 현재 지원하는 PowerVault MD3000i를 수배하였고, SMI-S 제공자 구축과 함께, SCVMM과의 연결을 진행하였습니다. PowerVault의 경우 SMI-S 1.4 스펙까지를 만족하는 스토리지입니다. 추가적인 지원 벤더의 목록은 SNIA 홈페이지의 해당 페이지를 확인하시면 됩니다.
SCVMM과 스토리지 연결을 위해서는 앞서 언급한 SMI-S 제공자에 대한 설치가 필요합니다. SMi-S 지원하고 있는 벤더에서는 SMI-S 제공자 모듈에 대해 Windows용, Linux용으로 나눠제공하고 있습니다. Pegasus라는 이름을 가진 SMI-S 제공자는 Linux의 CIM(Common Information Model) 형태(Windows의 WMI와 유사)로 스토리지 정보를 제공하고, 관련 명령을 받게 됩니다. SMI-S 제공자는 포트 번호를 기본적으론 5989를 사용하고, 필요시 변경도 가능합니다. 이를 SCVMM 스토리지내 공급자에 추가합니다.
이렇게 추가된 스토리지는 내부에 미리 만들어 둔, 디스크 그룹(SCVMM내에서도 생성 가능) 정보를 불러오게 되고, 이를 SCVMM에서 용도에 대한 표기로 사용하는 분류와 맵핑하는 작업이 필요합니다.
SCVMM에서 배열(Array)라고 부르는 단어는 스토리지에서 저장소를 제공하는 대표 이름을 의미합니다. 현재 이 스토리지 안에는 디스크 그룹이 4개, 가상 디스크가 11개가 생성되어 있습니다. 이를 SCVMM에서 가용성 레벨별로 분류(Classification)해놓았습니다. 이를 SCVMM에서는 디스크 그룹이라 하지 않고, 풀(Pool)이라고 합니다. 이 포스팅내 스크린샷의 경우, 디스크 그룹 생성시 RAID 구성을 틀리게 했기에 분류 형태를 가용성별 형태를 취했고, 클라우드 환경에서도 저장소의 가용성 레벨에 따라 서비스 비용이 틀려질 것이기 때문에, 데모 형태로는 적절하다고 생각했습니다.
스토리지에 대한 SMI-S 제공자 등록 및 풀, 분류 작업이 끝나게 되면, 해당 풀과 LUN을 할당하는 작업이 필요합니다. 상단의 용량 할당 버튼을 이용하여, 최소 가상화 서버 단위, 최대 가상화 서버 호스트 그룹 단위 및 클라우드 단위로 할당할 수 있습니다.
할당이 마치게 되면, 현재의 LUN 상태, 그리고 해당 LUN이 서버와 맵핑되어져 있는 경우, 할당됨의 표시등이 나타납니다.
상단의 메뉴에서 보심, 예상하셨겠지만, 논리 단위(LUN) 만들기라는 메뉴가 보입니다. 이를 통해 추가적인 LUN을 스토리지 관리 도구가 아닌 SCVMM에서 직접 생성할 수 있으며, 이를 서버 속성내 저장소 패널에서 마치 DAS(Direct Attach Storage)처럼 추가할 수 있고, 파티셔닝, 포맷등을 진행할 수 있죠.
이렇게 할당된 스토리지의 경우, 가상화 서버의 기본 스토리지 위치 설정값에 따라, 가상 머신 생성, 혹은 클라우드 서비스 배포등에 바로 활용될 수 있습니다.
이런 형태로 활용되고 있는 부분이 앞서 언급한 할당됨 칼럼입니다. 위의 스크린샷에선 꽤 많이 할당되어져 있죠? 앞서 언급한 제공자(Provider), 배열(Array), 풀(Pool)의 계층적 구조는 다음과 같습니다.
당연한 이야기지만, 스토리지 별로 특화된 기능, 예를 들어 스냅숏(Snapshot), 그리고 연결된 LUN 기능을 지원할 경우, 이 역시 별도의 관리 도구까지 갈 필요가 없습니다.
SCVMM에서 스토리지와 연계된 기능을 사용하기 위해서는 스토리지를 사용하는 서버에 MPIO(MultiPath I/O, 다중 경로 IO) 기능이 설치되어야 합니다. (별도로 구성할 필요는 없습니다만, 당연히 현업 환경에선 MPIO를 구성하셔야겠죠?)
또한 스토리지와 관련된 일을 많이 해보신 분들이라면 아시겠지만, Windows Server의 원격 디스크(Shared Disk)에 대한 기본 정책은 공유 디스크에 대해서만 오프라인입니다. 이 의미는 리부팅을 했을 경우에 해당 디스크가 바로 온라인이 되지 않고 Offline된다는 것이죠. 이를 해결하시기 위해서는 DiskPart 명령어(SAN POLICY=OnlineAll)를 통해 Online 정책을 입력하셔야 합니다.
네트워크편도 한 포스팅에 넣어볼까 했습니다만, 스토리지 이야기가 길어지다보니, 꽤 내용이 스크린샷이나 내용이 많아졌네요. 다음편에는 네트워크쪽, 다시 말해, 네트워크 IP, VLAN, 네트워크 스위치, 로드 밸런서 등을 클라우드 인프라, 그리고 관리 프레임워크와 어떻게 연계하는지 살펴보겠습니다.