이 글은...

이 글 꾸러미는 11g R2 버전의 ORACLE Real Application Cluster 제품을 VM Ware상에 설치하는 방법에 대한 내용입니다. RAC 아키텍처라거나, RAC 그 자체에 대한 설명을 하려는 목적은 아니며, 설치 과정을 설명함에 목적을 두고있습니다.

VM Ware는 VM Ware Workstation 7.1.0 build-26 261024, 
Host OS는 Windows 7 Enterprise, 64bit 6.1.7601, Service Pack 1, 
Guest OS는 Oracle Enterprise Linux x86 64bit R5 U7,
ORACLE은 11g R2 - 11.2.0.3

버전의 제품을 사용하였습니다. 

내용은 일단 초심자를 대상으로 하고있습니다. 이 초심자라 함이 IT 라거나 ORACLE에 대한 초심자를 의미하는 것은 아닙니다. ORACLE은 어느정도 알고 있는 상태에서 RAC라는 기능에 대해서 이제 막 공부를 시작하고 있다거나, 혹은 RAC에 대해 잘 알고 있고 이미 운영 중이기까지 한데, 업무 롤이 오라클 설치 작업과는 멀기에, 그냥 따라하기식으로 한번 설치만 해놓고 다른 테스트를 진행할 예정인 분들에게 더 어울릴만한 내용이라 생각합니다. 즉, 지나치게 기초적인 부분에 대해서까지 설명을 하지는 않을 것이며, RAC 기능들에 대해서도 상세한 설명을 하지는 않을 것입니다. 다만 과정 중에 잘 몰라도 되는 부분이나, 실패를 유발하게끔 하는 부분은 쉽게 쉽게 넘어갈 것입니다. 지금 이 설치 문서는 정말 따라하기 수준으로 만들고자 합니다. 그리고 좀더 상세한 설명이 포함된 고 단계의 설명글을 차후에 다시 작성하도록 하겠습니다. 그래도 내가 지금 뭘 하고있는지도 모르고 타자만 똑같이 따라치게되는 아픔을 겪지 않게끔, 이 설정을 왜 하고 있는것인지에 대한 설명은 할 것입니다. 정말 말그대로 초심자를 대상으로 하는 설치부분에 목적을 둔 글이 될 것입니다. 혹시 잘 되지 않거나 궁금한 부분이 있으시면 블로그에 댓글이나 방명록 남겨주세요. 혹은 트위터로 연락을 주십시오.

구성 개요

이 글을 읽고 계신 분이라면 어느정도 RAC에 대한 관심이 있으신 분이실 것이라 생각합니다. 그렇다면 아마 아래 그림과 같은 형태의 RAC 구성도를 보신적이 있으실 것입니다.




여기서 NODE1, NODE2는 DBMS가 설치될 개별의 시스템을 의미하며, 그 둘은 인터커넥트라는 네트워크를 사용하여 각자의 캐쉬 메모리를 마치 하나인 것처럼 합쳐서(Cache Fusion) 사용하게 됩니다. 그리고 양쪽 NODE에서 모두 접근 가능한 공유 스토리지(Shared Storage)라는 형태의 스토리지가 필요하며, 이 곳에 오라클 데이터파일등이 저장됩니다. 이제여기서 네트워크 연결에 해당하는 선분들을 떼어놓고 보면 아래와 같은 그림이 될 것입니다.



이 중에 NODE 1, NODE 2는 말하자면 컴퓨터 2대에 해당되는 부분입니다. 그리고 공유 스토리지란 것은 컴퓨터 2대(혹은 그 이상)에 동시에 연결되어서 사용되는 스토리지가 되겠습니다. 여기에서 공유 스토리지란 것을 마련하는 것이 RAC 설치 테스트 과정의 첫번째 관문이 될 것이라고 생각합니다. 
인터넷에서 흔히 볼 수 있는 VMWARE-RAC 설치 문서를 보면, 공유 스토리지의 구현을 위하여 VM Ware Server 버전에서 제공되는 공유 스토리지 기능을 사용하거나 (vmx파일 수정하는 방법), NFS 프로토콜을 통하여 공유스토리지를 구성하고 있습니다. 여기서 vmx파일을 수정하는 방법을 사용하려면 VM Ware Server 버전을 사용해야하는데 사용하기 불편할 것입니다. 물론 서버버전이 무료 버전이기는 하지만, Workstation 버전 또한 인터넷에서 쉽게 구할 수 있고, 개인 사용자가 집에서 테스트 용도로 쓰는 것까지 단속하지는 않습니다. (마치 MS WINDOWS가 그러는 것 처럼...회사에 깔아놓진 마세요 ^^;) 그래서 Workstation 버전을 구해서 사용하시는 것을 추천합니다. 그리고 NFS로 공유 스토리지를 구현하게 되면, 디바이스 단위의 공유 스토리지가 아닌 디렉토리 단위의 공유 스토리지로 설정되므로 특수한 방법을 통하지 않고서는 ASM 설정이 불가능하게됩니다.

따라서 저는 이 공유스토리지 부분을 iSCSI 프로토콜을 통한 SAN으로 구현할 것입니다. 즉, 스토리지용도의 컴퓨터가 한대 더 있고, 이 컴퓨터와 다른 컴퓨터사이에 iSCSI라는 방식을 통해 연결되어 디스크를 공유하게 될 것입니다. (이러한 부분들에 대해서는 당장에 몰라도 될것이라 생각합니다만 iSCSI나 SAN과 같은 용어들에 대해서는 한번 인터넷 검색을 해보시길 바랍니다.)






스토리지의 제공을 목적으로 사용되는 하나의 시스템이 추가 되는 것이고, Node 1, Node 2는 네트워크를 통해 이 스토리지 시스템에 연결되어, 스토리지 시스템에서 제공해주는 스토리지를 공유 스토리지로써 이용하게 될 것입니다.

이렇게 되면 총 3대의 서버가 필요하다는 이야기가 되며, 우리는 이를 구현하기 위해 VM Ware 상에 3개의 Virtual Machine(이하, VM)을 생성해주어야 합니다. 그리고 그 중의 2개의 VM은 각각 RAC를 구성하는 Node 1번, Node 2번으로 사용되게 될 것이며 Interconnect라는 네트워크를 통해 묶이게 되고, 다른 하나의 VM은 Storage Machine으로 사용되며, 이 3대의 VM이 iSCSI 프로토콜을 통한 SAN으로 연결될 것입니다. 

 


네트워크 연결 상태만 다시 정리해서 보면,




↑첫 번째로 위의 그림에서 빨강색으로 표시된 부분이 Interconnect에 해당하는 부분입니다. Node 1과 Node 2의 사이에서만 연결되면 되며, 이를 통해 제공되는 기능이 Cache Fusion입니다. 캐시 퓨전 기능을 간단히만 설명하자면 앞서 말씀드렸던 것 처럼 캐시 메모리를 마치 하나인 것 처럼 사용하겠다는 것입니다. 예를 들면, 한쪽 노드에서 어떤 DB블록이 필요하게되어 메모리로 읽어 들였는데, 다른 노드에서도 그 블록을 필요로하게 될 때에, 캐시 퓨전이란 기능이 없었던 OPS(Oracle Parallel Server)와 같은 과거 제품에서는, 먼저 메모리로 읽어들였던 노드에서 DB블록을 디스크로 내려쓰고, 새로 요청한 노드에서는 다시 디스크로부터 해당 DB블록을 불러와야 했습니다. 허나 똑같은 작업이 RAC에서 일어난다면, 한번 읽어들인 메모리상의 DB블록을 디스크로 내려쓰지 않고, Interconnect 기능을 통해 요청 노드쪽으로 네트워크를 통해 곧바로 전송해주게 됩니다. 인터커넥트를 통하여 디스크 IO 발생 없이 메모리에서 메모리로 직접 DB 블록을 전송해주게 되어 훨씬 빠르게 동작하며, OPS 시절의 DISK PING과 같은 현상도 발생하지 않게됩니다. 이렇게 마치 캐시 메모리가 하나인 것 처럼 사용할 수 있게 되는 것입니다. 인터커넥트에 사용되는 네트워크 인터페이스는, 말하자면 메모리에서 메모리로 블록을 복사하는데 사용되는 길 같은 것이므로 메모리 속도 만큼이나 빠르면 최상이며, 실제로 그렇게 빠른 네트워크 방식은 없으므로 빠르면 빠를수록 성능에 좋다고 보시면 됩니다.



 


↑두번째로 보실 네트워크가 SAN입니다. 일반적으로 SAN은 Fibre Channel(FC)을 통해서 연결될 것이지만, 여기서는 FC를 사용할 수 없으므로 iSCSI(IP-SAN)라는 방식을 사용할 것입니다.

SAN 이외에 공유스토리지로 사용될 수 있는 것으로 DAS, NAS가 있습니다. 간단히 구분하자면, DAS는 Direct Attatched Storage의 약자로 서버에 직접 물리적으로 부착하는 스토리지를 의미합니다. 말하자면 외장 하드처럼 시스템에 케이블을 꼽아서 사용하는 스토리지를 말합니다. NAS는 Network Attatched Storage의 약자로 네트워크를 통해 연결된다는 점에서는 SAN과 같지만, NAS 시스템에서는 파일시스템이 사용됩니다. SAN을 사용하면, 스토리지 시스템에 부착되어 있는 디스크들을 마치 내 로컬 시스템에 직접 부착되어 있는 디스크처럼 사용할 수 있지만, NAS를 사용하면 NAS에서 관리되는 파일시스템에 접속하게 되는 형태입니다. 위에서 언급했던 vmx 파일 수정 방법은 DAS, NFS 프로토콜 사용은 NAS에 해당합니다. 이것은 정말 간단한 사용상에서의 차이점일뿐 자세한 내용은 꼭 인터넷 검색해보시길 바랍니다. 



 

 


↑마지막으로 외부와 통신하기 위한 네트워크가 필요할 것입니다. 여기서 외부라 함은 WWW이 될 수도 있을 것이며, DB 입장에서는 어플리케이션 서버와의 연결을 뜻할 수도 있을 것이고, 사내에서 텔넷으로 접속하여 서버 설정을 하기위한 목적이 될 수도 있을 것입니다. 좌우간 이 3대만 가지고서는 아무런 작업도 불가능하므로 이들이 외부와 통신이 되게 해주어야 할 것입니다. 마지막 이 그림은 외부와의 연결을 뜻하는 그림입니다.



다음장부터 본격적으로 설치에 들어갈 것입니다. VM Ware는 이미 설치되어 있는 상태에서 시작되니 미리 가상화 프로그램을 설치해두시기 바랍니다. 지금 이 방법대로 진행한다면 특별히 가상화 프로그램을 무엇을 쓰는지 가리지 않습니다. Linux에서 Xen을 사용하시든, MAC OSX에서 VMware Fusion을 사용하든, 혹은 실제로 컴퓨터 3대 놓고 사용하시든 똑같이 동작할 것입니다. 다만 VM 생성하고 설정하는 부분을 VM Ware Workstation 버전에 맞추어 설명할 것이므로 정말 따라하기 수준의 초보자시라면 VM Ware Workstation으로 설치해주세요.

그리고 위에서 나온 용어들 중에 모르는 부분이 있으면 꼭 인터넷 찾아보시고 넘어가도록 합시다.

레이블 (0)

  • 레이블 없음
댓글 쓰기...

첨부 파일  (0)

첨부 파일 추가하기
공유된 파일이 아직 없습니다.