1. 두번째 가상머신 생성 및 설정
첫번째 가상 머신을 셧다운 한 상태에서 rac1의 가상 머신 설치 파일을 모두 복사하여 rac2 폴더를 생성한 후 붙여 넣는다.
필자의 예) D:\ORACLE\RAC\vmware\rac1 --> D:\ORACLE\RAC\vmware\rac2
vmware에서 Ctol + O 를 실행하여 두번째 가상머신을 연다.
예) D:\ORACLE\RAC\vmware\rac2\rac1.vmx
새로 연 가상머신 rac1 탭에서 마우스 오른쪽 버튼을 클릭하고 Setting을 선택한다.
Virtual machine Settings 창이 뜨면 Option 탭을 클릭하여 Virtual machine name을 rac2로 변경한다.
이제 Start this virtual machine을 클릭하여 rac2를 시작한다.
구동 후 아래와 같은 팝업창이 뜨면 I copied it 을 선택한 후 OK를 클릭한다.
부팅 시 아래와 같이 하드웨어 변경으로 인한 Kudzu 화면이 뜨면 Keep Configuration을 클릭하여 다음으로 진행한다.
root 유저로 로그인 후 터미널에서 system-config-network를 실행하여 네트워크 설정을 변경한다.
위와 같이 Network Configuration 창이 뜨면 eth0를 더블클릭하여 IP addresses를 192.168.2.22 (혹은 자신의 환경에 맞게 설정) 변경한다. 그리고 Hardware Device 탭으로 이동하여 Probe 를 클릭하여 Mac 주소를 갱신해 준다.
이번에는 eth1를 더블클릭하여 IP addresses를 10.10.10.32로 수정해 준다. 그리고 Hardware Device 탭으로 이동하여 Probe를 클릭해 준다.
IP 변경이 끝난 후 DNS 탭으로 이동하여 Hostname을 rac2.pangsun.com (혹은 자신의 환경에 맞게 설정)로 수정한다.
그리고 공유기를 사용하면서 지금까지 자신의 네트워크 환경에 맞게 설정하였다면 아래 Primary DNS 탭에 DNS 서버 IP 주소 168.126.63.1을 기입해 줄 경우 외부 네트워크와 연결이 가능하다. 이후 rac1을 구동하여 동일하게 DNS 정보를 기입해 주면 rac1도 외부와 통신가 가능하다.
하지만 외부와 네트워크가 연결되지 않더라도 각 노드끼리 내부적으로 네트워크가 정상적으로 연결된다면 RAC 구성 및 실습이 가능하니 외부 네트워크가 연결이 되지 않는다고 실망하지 말자.
모든 네트워크 설정이 끝난 후 각 이더넷 디바이스를 선택한 후 Activate를 클릭하여 활성화해 준다.
/etc/hosts 파일을 열어 제일 위에 아래의 라인을 추가해 준다.
127.0.0.1 localhost
/export/home/oracle/.profile을 열어 ORACLE_SID 값을 devdb2로 수정한다.
2. SSH를 이용한 user equivalence 설정
Cluster Ready Services(CRS) 및 RAC 설치 과정에서, Oracle Universal Installer(OUI)는 oracle 사용자로 (패스워드를 별도로 입력하지 않고) 모든 RAC 노드에 소프트웨어를 복사할 수 있어야 한다. Oracle 10g에서는 rsh 대신 ssh를 이용하여 이 작업을 수행할 수 있다.
SSH 접속은 아이디와 암호를 입력하여 로그인하는 방법과 인증서를 이용해서 로그인하는 방법이 있다. 암호를 물어보지 않도록 하기 위해 ssh-keygen을 이용하여 인증서를 만들어 암호를 물어보지 않고도 데이터를 전송 할 수 있도록 한다.
rac1을 구동 후 rac1과 rac2 양쪽 노드에 아래의 명령어를 입력하여 공개키와 개인키를 생성한다.
rac1-> mkdir ~/.ssh
rac1-> chmod 700 ~/.ssh
rac1-> ssh-keygen -t rsa
rac1-> ssh-keygen -t dsa
rac1에서 아래의 명령어를 입력하여 각 노드의 공개키를 상대 노드로 전송하여 패스워드 없이 접속이 가능하도록 설정한다.
rac1-> cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
rac1-> cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
rac1-> ssh rac2 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
rac1-> scp ~/.ssh/authorized_keys rac2:~/.ssh/authorized_keys
각 노드에서 아래 명령어를 입력하여 패스워드 없이 날짜가 보여지는지 확인한다. 처음 접속할때는 yes를 입력해 주어야 한다. 하지만 두번째 부터는 바로 상대노드의 날짜가 보여질 것이다.
rac1-> ssh rac1 date
rac1-> ssh rac2 date
rac1-> ssh rac1-priv date
rac1-> ssh rac2-priv date
rac1-> ssh rac1.mycorpdomain.com date
rac1-> ssh rac2.mycorpdomain.com date
rac1-> ssh rac1-priv.mycorpdomain.com date
rac1-> ssh rac2-priv.mycorpdomain.com date
3. Oracle Automatic Storage Management (ASM) 설정
Oracle ASM은 오라클 데이터베이스와 긴밀하게 통합되어 있으며 오라클의 데이터베이스 관리 툴과 연동한다 .Oracle ASM은 데이터베이스 스토리지 관리 업무를 단순화하고 로우 디스크 I/O 성능을 개선하는 효과를 제공한다.
root 사용자로 로그인 하여 아래와 같이 양쪽 노드에 ASMLib을 설정해 준다.
[root@rac1 ~] /etc/init.d/oracleasm configure
rac2까지 ASMLib 생성을 완료 한 후 rac1 노드에서 ASM 디스크를 생성한다.
[root@rac1 ~] /etc/init.d/oracleasm createdisk VOL1 /dev/sdc1
[root@rac1 ~] /etc/init.d/oracleasm createdisk VOL2 /dev/sdd1
[root@rac1 ~] /etc/init.d/oracleasm createdisk VOL3 /dev/sde1
[root@rac1 ~] /etc/init.d/oracleasm scandisks
[root@rac1 ~] /etc/init.d/oracleasm listdisks
4. Oracle Cluster File System(OCFS2) 설정
OCFS2는 오라클이 개발한 범용 클러스터 파일 시스템으로 Enterprise Linux 커널과 통합되어 있다. OCFS2는 전체 노드가 클러스터 파일 시스템에 동시 접근하는 것을 가능하게 하며, 로우 디바이스 관리의 필요성을 제거한다.
Linux 설치과정에서 패키지를 필자와 동일하게 선택하였다면 OCFS2 관련 패키지 들이 설치 되었을 것이다.
rac1-> rpm -qa | grep ocfs
ocfs2-tools-1.2.2-2
ocfs2console-1.2.2-2
ocfs2-2.6.9-42.0.0.0.1.ELsmp-1.2.3-2
root 유저로 터미널에서 ocfs2console을 실행 시킨다.
[root@rac1 ~] ocfs2console
- Cluster > Configure Nodes를 선택한다. “The cluster stack has been started” 창이 뜨면 Close를 클릭한다.
- Node Configuration 이 뜨면 Add를 클릭하여 위의 정보(혹은 자신의 환경에 맞는 IP주소)를 입력한다.
- 다시 Add를 클릭하여 위의 정보(혹은 자신의 환경에 맞는 IP주소)대로 rac2 노드를 추가한다.
- rac1과 rac2 노드 추가가 완료되면 Apply 를 클릭한다.
- 위와 같이 Active 상태가 되면 Close를 클릭하여 종료한다.
OCFS2 설정파일 생성이 완료되면 설정파일의 내용을 확인해 보자.
위 4번 과정을 rac2에서 재실행하거나, rac1의 OCFS2 콘솔에서 Cluster > Propagate Configuration을 선택하여 설정 파일을 rac2로 복사한다. 필자는 rac2에서도 위와 동일하기 실행하였다.
5. CO2CB 드라이버 설정
O2CB는 노드와 클러스터 파일 시스템 간의 커뮤니케이션을 관리하는 일련의 클러스터링 서비스로 구성된다. 각 서비스에 대한 설명이 아래와 같다.
- NM(Node Manager) : cluster.conf에 설정된 모든 노드의 상태를 추적
- HB(Heartbeat 서비스) : 노드가 클러스터에 가입/탈퇴하는 경우 업/다운 통보를 전달
- TCP : 노드 간의 커뮤니케이션을 처리
- DLM(Distributed Lock Manager) : 락, 락의 소유자 및 상태 정보를 추적
- CONFIGFS : 사용자 공간(/config)에 마운트되는 구성 파일 시스템
- DLMFS : 커널 스페이스 DLM을 위한 사용자 공간 인터페이스
양쪽 노드에 아래 커맨드를 실행하여 부팅시에도 O2CB 실행되도록 한다.
[root@rac1 ~]# /etc/init.d/o2cb unload
[root@rac1 ~]# /etc/init.d/o2cb configure
6. 파일 시스템 포멧 및 마운트
양쪽 노드에서 아래 커맨드를 입력하여 온라인 상태인지를 확인한다.
[root@rac1 ~]# /etc/init.d/o2cb status
파일 시스템 포멧은 두 노드 중 하나에서만 수행하면 되므로 rac1에서 ocfs2console을 실행하여 포멧한다.
[root@rac1 ~]# ocfs2console
- Tasks > Format 을 클릭한다.
- 위와 같이 입력하고 OK를 클릭한다.
- /dev/sdb1 을 포멧하겠냐는 팝업창이 뜨면 Yes를 클릭하자.
- 포멧이 완료되어 /dev/sdb1 이 추가된 것이 확인되면 ocfs2console을 종료한다.
포멧이 완료 되었으므로 파일시스템을 마운트 하기 위해 아래의 커맨드를 입력하여 디스크를 마운트 한다.
[root@rac1 ~]# mount -t ocfs2 -o datavolume,nointr /dev/sdb1 /ocfs
마운트 후 df -h 명령어로 확인해 보면 /ocfs가 마운트 되었음을 확인 할 수 있다.
[root@rac1 ~]# df -h
정상적으로 마운트 되었다면 부팅시에 자동으로 마운트 되도록 /etc/fstab에 아래 라인을 추가해 준다.
/dev/sdb1 /ocfs ocfs2 _netdev,datavolume,nointr 0 0
rac1 노드에서 아래의 명령어를 입력하여 공유된 /ocfs 파티션에 clusterware를 위한 디렉토리 생성 및 권한을 설정한다.
[root@rac1 ~]# mkdir /ocfs/clusterware
[root@rac1 ~]# chown -R oracle:dba /ocfs
이제 OCFS2 셋업 과정이 완료 되었다. 양쪽 노드에서 /ocfs/clusterware 디렉토리가 보여지는지 확인하고 파일 읽기 및 쓰기가 가능한지 테스트 해보자.
'Oracle 설치 > Oracle 10g RAC 구축' 카테고리의 다른 글
[Oracle 10g RAC 구축] 6. Oracle Database 10g R2 설치 (0) | 2010.07.02 |
---|---|
[Oracle 10g RAC 구축] 5. Oracle Clusterware 설치 (0) | 2010.07.02 |
[Oracle 10g RAC 구축] 3. 로우 디바이스 매핑 및 각종 환경설정 (0) | 2010.07.02 |
[Oracle 10g RAC 구축] 2. Linux 설치 및 vmware-tool 설치 (0) | 2010.07.01 |
[Oracle 10g RAC 구축] 1. 가상 머신 설정 (0) | 2010.07.01 |