Oracle 설치/Oracle 11g RAC 구축

[Oracle 11g RAC 구축] 5. 두번째 가상머신 생성 및 User equivalence 수동설정

빵순이^^ 2011. 3. 4. 16:14

1. 가상머신 복제


실제 서버라면 또 다른서버를 지금까지 한 단계처럼 동일하게 설치하고 설정해야 하겠지만, VMware 가상머신은 쉽게 복사가 가능하므로 'Oracle11g_RAC1'가상머신을 'Oracle11g_RAC2'로 복사해서 사용합니다.

가상머신을 복사하기 위해 'Oracle11g_RAC1'을 shutdown 합니다.

# shutdown -h now

가상머신 파일이 존재하는 경로로 이동하여 'Oracle11g_RAC1' 디렉토리를 'Oracle11g_RAC2'로 복사해 줍니다.

필자의 예) E:\Virtual Machines\Oracle11g_RAC1 --> E:\Virtual Machines\Oracle11g_RAC2 로 복사

디렉토리 복사 후 "E:\Virtual Machines\Oracle11g_RAC2\Oracle11g_RAC1.vmx" 파일을 텍스트 에디터로 열어 displayname 항목을 'Oracle11g_RAC2'로 수정하고 저장합니다.

displayName = "Oracle11g_RAC2"

복사한 가상머신을 Inveltory에 추가해줍니다.

- VMware Server Web Access에서 Virtual Machine > Add Virtual Machine to Inventory 를 클릭합니다.

- 위와 같은 창이 뜨면 Inventory에서 'Oracle11g_RAC2'를 선택하고 Contents에서는 'Oracle11g_RAC1.vmx'를 선택한 후 OK를 클릭합니다.

- 이제 정상적으로 'Oracle11g_RAC2'가 추가된 것이 확인됩니다.


'Oracle11g_RAC2' 가상머신 추가가 완료 되었으면 'Play' 버튼을 클릭하여 가상머신을 구동시킵니다.

- 초기에 위와같은 화면이 출력되면 'I_copied it'을 체크한 후 OK 버튼을 클릭합니다.

'I_copied it'을 선택하면 네트워크 장치의 MAC 주소가 원본인 'Oracle11g_RAC1'와 달라지도록 변경되게 됩니다. 만약 'I_moved it'나 'Cancel'을 선택하게 되면 MAC 주소가 변경되지 않기 때문에 'ORACLE11g_RAC1'과 'ORACLE11g_RAC2'의 MAC 주소 충돌이 일어나 동시에 네트워크 접속을 할 수 없게 됩니다.



2. 두번째 노드 네트워크 설정 변경


'Oracle11g_RAC2'를 구동한 후 네트워크 설정을 변경해 줍니다.

- xwindow 에서 system > Administration > Network 를 클릭합니다.

- eth0.bak, eth1.bak은 MAC 주소가 변경되면서 기존의 네트워크 설정이 백업된 것인데 필요 없으므로 선택한 후 Delete를 클릭하여 삭제합니다.

- 삭제 후 eth0를 더블 클릭하면 위와 같이 네트워크 설정화면이 출력되는데 IP Address를 '192.168.x.101'을 '192.168.x.102'로 수정한 후 상단의 Hardware Device 탭으로 이동합니다.

- 'Probe'를 클릭하여 MAC주소를 갱신한 후 OK를 클릭합니다.

- Network Configuration에서 이번엔 eth1를 더블클릭하여 위의 화면이 출력되면 IP Address를 '192.168.0.101'에서 '192.168.0.102'로 수정한 후 Hradware Device 탭을 클릭합니다.

- 'Probe'를 클릭하여 MAC주소를 갱신한 후 OK를 클릭합니다.

- Network Configuration 화면으로 돌아오면 DNS 탭을 클릭하여 Hostname을 'rac2.pangsun.co.kr'로 수정합니다.

- File > Save를 클릭하여 설정을 저장하고 eth0와 eth1를 선택하여 Activate를 클릭한 후 창을 닫아 종료 합니다.


네트워크 설정이 변경되었으나 적용이 되려면 네트워크 재구동이 필요합니다. 다음의 명령으로 네트워크를 재구동하고 외부로 연결되는지 테스트를 해봅니다.

[root@rac2 ~]# /etc/init.d/network restart
Shutting down interface eth0:                              [  OK  ]
Shutting down interface eth1:                              [  OK  ]
Shutting down loopback interface:                          [  OK  ]
Bringing up loopback interface:                            [  OK  ]
Bringing up interface eth0:                                [  OK  ]
Bringing up interface eth1:                                [  OK  ]
[root@rac2 ~]# ping -c 3 yahoo.co.kr
PING yahoo.co.kr (68.180.206.184) 56(84) bytes of data.
64 bytes from w2.rc.vip.sp1.yahoo.com (68.180.206.184): icmp_seq=1 ttl=52 time=213 ms
64 bytes from w2.rc.vip.sp1.yahoo.com (68.180.206.184): icmp_seq=2 ttl=52 time=213 ms
64 bytes from w2.rc.vip.sp1.yahoo.com (68.180.206.184): icmp_seq=3 ttl=52 time=216 ms

--- yahoo.co.kr ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2099ms
rtt min/avg/max/mdev = 213.069/214.189/216.020/1.358 ms

 

3. 두번째 노드 oracle user profile 수정


oracle 유저로 접속한 후 .bash_profile을 열어 ORACLE_SID 과 ORACLE_HOSTNAME을 다음과 같이 수정합니다.

ORACLE_SID=RAC2; export ORACLE_SID
ORACLE_HOSTNAME=rac2.pangsun.co.kr; export ORACLE_HOSTNAME

'Oracle11g_RAC1'도 구동하여 두 노드간 Public 및 Private 네트워크가 정상적으로 연결되고 있는지 확인합니다. 

# ping -c 3 rac1
# ping -c 3 rac1-priv
# ping -c 3 rac2
# ping -c 3 rac2-priv

Virtual 네트워크는 Grid 설치시에 구성되므로 아직 연결되지 않습니다.



4. SSH를 이용한 User equivalence 수동설정(선택)


Cluster Ready Services(CRS) 및 RAC 설치 과정에서, Oracle Universal Installer(OUI)는 oracle 사용자로 (패스워드를 별도로 입력하지 않고) 모든 RAC 노드에 소프트웨어를 복사할 수 있어야 합니다.

SSH 접속은 아이디와 암호를 입력하여 로그인하는 방법과 인증서를 이용해서 로그인하는 방법이 있습니다. ssh-keygen을 이용하여 인증서를 만들어 암호를 물어보지 않고도 양쪽노드간 데이터를 전송 할 수 있도록 합니다.

Oracle10g RAC 구성 까지 수동으로 User equivalence 설정을 해주어야지만 clusterware가 설치 가능했습니다. 하지만 Oracle11g RAC 구성시에는 grid 설치 단계에 ssh User equivalence 구성이 포함되어 있어 oracle User의 OS 패스워드 만 입력해주면 자동으로 구성이 됩니다.  Oracle이 버전업이 됨에 따라 성능과 기능 뿐만이 아니라 설치단계도 더 쉽고 자동화되고 있기 때문입니다.

그러므로 이 단계를 제외하고 진행하여도 됩니다. 하지만 이 단계를 제외할 경우 grid Infrastructure 설치 이전에 설치에 적합한 환경이 구성되어 있는지를 검증하는 'Cluster Verification Utility' 수행 시에 User equivalence check 단계에서 에러가 발생하면서 완벽하게 수행되지 못하고 중단됩니다. 이럴경우 검증이 완전하게 수행되지 못하고 중간에서 멈추기 때문에 User equivalece를 제외한 다른 검증을 정확하게 할 수 없게 됩니다. 또한 필자의 경우 몇번의 Oracle11g RAC 구성과정에서 자동으로 User equivalence가 구성되지 않아 grid 설치가 진행되지 않은 경우도 있었습니다. 그렇기 때문에 수동으로 User equivalence를 구성하고 진행하기를 권장합니다.


Oracle11g_RAC1과 Oracle11g_RAC2 양쪽 노드에 아래의 명령어를 입력하여 개인키와 공개키 생성합니다.

[node1]
$ ssh-keygen
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

[node2]
$ ssh-keygen
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

각 노드에서 상대 노드로 공개키를 전송하여 패스워드 없이 접속이 가능하도록 설정합니다.

[node1]
$ ssh rac2 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

[node2]
$ ssh rac1 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

양쪽 노드에서 다음의 명령어 입력하여 패스워드 입력없이 상대노드의 날짜가 보여지는지 확인합니다. 최초 접속시에는 yes를 입력해 주어야 하지만 두번째 접속시 부터는 바로 상대노드의 날짜가 보여질 것입니다.

$ ssh rac1 date
$ ssh rac2 date
$ ssh rac1-priv date
$ ssh rac2-priv date

5.  FTP 구동 및 설치파일 업로드

RAC 구성에 필요한 Oracle11gR2 grid 및 database 설치 파일을 업로드 하기 위해 FTP를 활성화하여 FTP를 이용한 파일업로드가 가능하게 합니다.

Oracle11g_RAC1의 FTP 설정파일을 열어 아래와 같이 수정해 줍니다.

[root@rac1 ~]# vi /etc/xinetd.d/gssftp

# default: off
# description: The kerberized FTP server accepts FTP connections \
#              that can be authenticated with Kerberos 5.
service ftp
{
        flags           = REUSE
        socket_type     = stream
        wait            = no
        user            = root
        server          = /usr/kerberos/sbin/ftpd
        server_args     = -l
        log_on_failure  += USERID
        disable         = no
}

설정 완료 후 xinet 데몬을 재구동 하여 FTP를 활성화 해줍니다.

[root@rac1 ~]# /etc/init.d/xinetd restart
Stopping xinetd:                                           [  OK  ]
Starting xinetd:                                           [  OK  ]

그리고 FTP 포트인 21번 포트가 정상적으로 떠 있는지 확인해 봅니다.

# netstat -lnp |grep :21
tcp        0      0 0.0.0.0:21                  0.0.0.0:*                   LISTEN      6692/xinetd       

이제 FTP 구동이 완료 되었습니다. host OS 및 동일 네트워크의 PC에서 Oracle11g grid 및 database 설치파일을 알FTP와 같은 FTP 클라이언트 툴을 이용하여 'Oracle11g_RAC1'에 업로드 합니다.

RAC 구성시 grid 및 database의 설치는 하나의 노드에서만 진행하며 설치 시 나머지 모든 노드에 ssh를 통해 파일이 전송되며 동시에 설치가 진행됩니다. 그렇기 때문에 설치파일은 모든 노드에 업로드 할 필요가 없이 설치를 진행할 하나의 노드에만 업로드 하면됩니다.

아래 이미지에는 경로가 '/home/oracle/media'로 설정되어 있지만 가장 공간이 넉넉한 /ORACLE 파티션 하위에 media 디렉토리를 생성하여 '/ORACLE/media'에 설치파일들을 업로드 해 줍니다.