오라클 10g ASM방식으로 RAC 설치 #4/9 (리눅스 환경설정)

1. Node #1 리눅스 환경설정

  가. VMware Tools 설치(선택사항)

     root 계정으로 접속한 후 Install VMware Tools를 선택한다
( CD-ROM이 마운트 됨)

사용자 삽입 이미지

   터미널을 띄우고 아래 그림처럼 입력한다.

사용자 삽입 이미지

    설치가 끝났으면 시스템을 재부팅한다.


  나. 노드 1 네트워크 설정

     터미널을 띄우고 네트워크 카드별  IP주소, 서브넷,  게이트웨이를 확인한다.(필자와 IP주소는 서로 다를 수 있음)

# ifconfig
   네트워크 카드별 IP 확인

# netstat -nr
   게이트웨이 확인

# neat
  네트워크 설정(아래 그림 참고)

사용자 삽입 이미지
사용자 삽입 이미지

사용자 삽입 이미지
사용자 삽입 이미지

참고 :
각자의 컴퓨터 환경에 따라 IP 주소는 달라지므로 위 그림과 동일한 IP주소로 세팅하지 않도록 한다.
Pirvate IP에는 게이트웨이 주소를 입력하지 않는다.

# /etc/init.d/network restart
 네트워크 재시작
 ( 또는 네트워크 카드를 선택 후 위 그림의 메뉴 중 활성화 단추를 눌러도 된다.)

# vi /etc/hosts

# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1               localhost.localdomain   localhost

192.168.126.131         rac1
192.168.126.132         rac2

192.168.121.129         rac1-priv
192.168.121.130         rac2-priv

192.168.126.31          rac1-vip
192.168.126.32          rac2-vip

자신의 환경에 맞게  IP주소를 세팅한다.

참고 :
rac2의 IP주소는 rac1의 주소에 +1 하였다(rac1 같은 네트워크에 존재하기만 하면 상관없음)
각 노드별 Virtual IP(rac1-vip, rac2-vip)는 어떠한 네트워크 대역여도 상관없으며,
여기에서는 public 네트워크와 같은 네트워크의 임의 IP(192.168.126.31 ~ 32)로 설정하였다.

rac1, rac2 : Public IP로 DBA가 각 노드를 관리하기 위해 접속하는 IP
rac1-priv, rac2-priv : Private IP로 각 노드간 통신을 위한 IP
rac1-vip, rac2-vip : Virtual IP로 운영 IP

# ping rac1
# ping rac1-priv
# ping 168.126.63.1

모든 곳으로 Ping이 나가는지 확인
나가지 않을 곳이 있을 경우 네트워크 설정을 다시 확인한다.

  다. 불필요한 서비스 종료

# chkconfig –level 123456 xinetd off
# chkconfig –level 123456 sendmail off
# chkconfig –level 123456 cups off
# chkconfig –level 123456 cups-config-daemon off
# chkconfig –level 123456 smartd off
# chkconfig –level 123456 isdn off
# chkconfig –level 123456 pcmcia off
# chkconfig –level 123456 iptables off

  라. 각종 환경 설정

# vi /etc/sysctl.conf

kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 262144

위 내용을 추가

# vi /etc/security/limits.conf

oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536

위 내용을 추가

# vi /etc/pam.d/login

session    required     pam_limits.so

# vi /etc/modprobe.conf

options hangcheck-timer hangcheck_tick=30 hangcheck_margin=180

# modprobe -v hangcheck-timer

# vi /etc/rc.local

/sbin/modprobe hangcheck-timer rdate -s time.bora.net

참고 : timer와 관련된 항목은 각 노드간 시간동기화를 위해서이다.
각 노드별 시간이 서로 다르면 데이터의 무결성이 깨지게 된다.

# groupadd -g 5000 dba
# useradd -g dba oracle
# passwd oracle
오라클 계정 생성

# vi ~/.bash_profile

PATH=$PATH:$HOME/bin:/home/oracle/product/10g/crs/bin

# vi /home/oracle/.bash_profile

export EDITOR=vi
export LD_ASSUME_KERNEL=2.4.19
export ORACLE_BASE=/home/oracle
export ORA_CRS_HOME=$ORACLE_BASE/product/10g/crs
export ORACLE_HOME=$ORACLE_BASE/product/10g/db
export ORA_ASM_HOME=$ORACLE_BASE/product/10g/asm
export ORACLE_SID=rac1
export LANG=ko_KR.UTF-8
export ORACLE_TERM=xterm
export NLS_LANG=AMERICAN_AMERICA.KO16MSWIN949
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib
export PATH=$PATH:$ORACLE_HOME/bin:/$ORA_CRS_HOME/bin
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

위 내용을 추가

  마. 디스크 설정

# fdisk /dev/sdb

n -> p -> 1 -> 엔터 -> 엔터 -> w

나머지 디스크(sdc ~ sdi)의 파티션도 위와 동일한 순서로 반복한다.

# vi /etc/sysconfig/rawdevices

/dev/raw/raw1   /dev/sdb1
/dev/raw/raw2   /dev/sdc1
/dev/raw/raw3   /dev/sdd1
/dev/raw/raw4   /dev/sde1
/dev/raw/raw5   /dev/sdf1
/dev/raw/raw6   /dev/sdg1
/dev/raw/raw7   /dev/sdh1
/dev/raw/raw8   /dev/sdi1

위 내용을 추가

# /etc/init.d/rawdevices restart

# vi /etc/udev/permissions.d/50-udev.permissions

#raw/*:root:disk:0660
raw/*:oracle:dba:0660

113번째 줄을 위와 같이 수정

# /etc/init.d/rawdevices restart

# ls -al /dev/raw
소유권이 oracle 로 변경 됐는지 확인

노드 1 시스템을 shutdown 시킨다.


2. Node #2 리눅스 환경설정

  가. 노드 1 가상머신 -> 노드 2로 복사하기

    아래 그림처럼  rac1의 파일 중 2개를 rac2 디렉토리로 복사해 온다

사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
   
    가상머신 이름을 rac2 로 변경한 뒤 시스템을 부팅한다.
사용자 삽입 이미지

사용자 삽입 이미지
사용자 삽입 이미지

사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지
사용자 삽입 이미지

참고 : 노드 2의 네트워크 카드의 재구성 화면은 빠르게 사라지므로 빠른 손놀림이 필요하다.
          만일 화면이 지나갔다면 시스템을 재부팅하여 다시 시도하도록 한다.

  나. 노드 2 네트워크 설정

    노드 1에서의 방법과 동일한 과정으로 설정한다.
   IP 정보는 /etc/hosts 에 설정한 것과 동일하게 설정한다.

사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지

# ping rac2
# ping rac2-priv
# ping 168.126.63.1
모든 곳으로 Ping이 나가는지 확인
나가지 않을 곳이 있을 경우 네트워크 설정을 다시 확인한다.

# vi /home/oracle/.bash_profile

export ORACLE_SID=rac2

위 처럼 수정한다

# shutdown -r now

노드 2 시스템을 재시작한다.

노드 1 시스템을 부팅시킨다

3. equivalence 설정

가. SSH 공개키/개인키 생성

오라클 계정으로 접속 한다

모든 노드에서 각각 실행(노드 1, 노드 2 모두 power on 상태)

$ ssh-keygen -t rsa

입력값 없이 엔터 -> 엔터 -> 엔터

$ ssh-keygen -t dsa

입력값 없이 엔터 -> 엔터 -> 엔터

노드 1에서만 실행

$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

$ ssh rac2 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

yes -> 노드 2 시스템 패스워드 입력

$ ssh rac2 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

노드 2 시스템 패스워드 입력

$ scp ~/.ssh/authorized_keys rac2:~/.ssh/authorized_keys

노드 2 시스템 패스워드 입력

개인키가 저장된 파일(authorized_keys)을 노드2에 복사한다.

모든 노드에서 각각 실행
(암호를 묻는 과정이 나오지 않으면 올바르게 설정된 것임)

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

참고 : 최초 실행 시 공개키를 받는 과정에서 yes 입력

You may also like...

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다