오라클 10g Raw Device 방식으로 RAC 설치 #4/8 (리눅스 환경설정)
1. Node #1 리눅스 환경설정
가. 노드 1 네트워크 설정
터미널을 띄우고 네트워크 카드별 IP주소, 서브넷, 게이트웨이를 확인한다.(필자와 IP주소는 서로 다를 수 있음)
# ifconfig
네트워크 카드별 IP 확인
# netstat -nr
게이트웨이 확인
참고 :
각자의 컴퓨터 환경에 따라 IP 주소는 달라지므로 위 그림과 동일한 IP주소로 세팅하지 않도록 한다.
Pirvate IP에는 게이트웨이 주소를 입력하지 않는다.
# vi /etc/hosts
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
192.168.126.132 rac1
192.168.126.133 rac2
192.168.121.129 rac1-priv
192.168.121.130 rac2-priv
192.168.126.32 rac1-vip
192.168.126.33 rac2-vip
자신의 환경에 맞게 IP주소를 세팅한다.
참고 :
rac2의 IP주소는 rac1의 주소에 +1 하였다(rac1 같은 네트워크에 존재하기만 하면 상관없음)
각 노드별 Virtual IP(rac1-vip, rac2-vip)는 어떠한 네트워크 대역여도 상관없으며,
여기에서는 public 네트워크와 같은 네트워크의 임의 IP(192.168.126.32 ~ 33)로 설정하였다.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.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 hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
위 내용을 추가
# vi /etc/pam.d/login
# vi /etc/modprobe.conf
# modprobe -v hangcheck-timer
# vi /etc/rc.local
참고 : timer와 관련된 항목은 각 노드간 시간동기화를 위해서이다.
각 노드별 시간이 서로 다르면 데이터의 무결성이 깨지게 된다.
# groupadd -g 5000 dba
# useradd -g dba oracle
# passwd oracle
오라클 계정 생성
# vi ~/.bash_profile
# vi /home/oracle/.bash_profile
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
나머지 디스크(sdc ~ sdd)의 파티션도 위와 동일한 순서로 반복한다.
# pvdisplay
# vgcreate rac /dev/sdb /dev/sdc /dev/sdd
# vgdisplay
# lvcreate –name ocr1 –size 300m rac
# lvcreate –name ocr2 –size 300m rac
# lvcreate –name vote1 –size 300m rac
# lvcreate –name vote2 –size 300m rac
# lvcreate –name vote3 –size 300m rac
# lvcreate –name system –size 600m rac
# lvcreate –name sysaux –size 300m rac
# lvcreate –name undotbs1 –size 200m rac
# lvcreate –name undotbs2 –size 200m rac
# lvcreate –name users –size 100m rac
# lvcreate –name temp –size 100m rac
# lvcreate –name control01 –size 100m rac
# lvcreate –name control02 –size 100m rac
# lvcreate –name control03 –size 100m rac
# lvcreate –name redo01_a –size 50m rac
# lvcreate –name redo01_b –size 50m rac
# lvcreate –name redo02_a –size 50m rac
# lvcreate –name redo02_b –size 50m rac
# lvcreate –name redo03_a –size 50m rac
# lvcreate –name redo03_b –size 50m rac
# lvcreate –name redo04_a –size 50m rac
# lvcreate –name redo04_b –size 50m rac
# lvcreate –name spfile –size 50m rac
# lvscan
물리적 볼륨 생성 -> 볼륨그룹 생성 -> 논리적 볼륨 분할
# vi /etc/sysconfig/rawdevices
/dev/raw/raw2 /dev/rac/ocr2
/dev/raw/raw3 /dev/rac/vote1
/dev/raw/raw4 /dev/rac/vote2
/dev/raw/raw5 /dev/rac/vote3
/dev/raw/raw6 /dev/rac/system
/dev/raw/raw7 /dev/rac/sysaux
/dev/raw/raw8 /dev/rac/undotbs1
/dev/raw/raw9 /dev/rac/undotbs2
/dev/raw/raw10 /dev/rac/users
/dev/raw/raw11 /dev/rac/temp
/dev/raw/raw12 /dev/rac/control01
/dev/raw/raw13 /dev/rac/control02
/dev/raw/raw14 /dev/rac/control03
/dev/raw/raw15 /dev/rac/redo01_a
/dev/raw/raw16 /dev/rac/redo01_b
/dev/raw/raw17 /dev/rac/redo02_a
/dev/raw/raw18 /dev/rac/redo02_b
/dev/raw/raw19 /dev/rac/redo03_a
/dev/raw/raw20 /dev/rac/redo03_b
/dev/raw/raw21 /dev/rac/redo04_a
/dev/raw/raw22 /dev/rac/redo04_b
/dev/raw/raw23 /dev/rac/spfile
디스크 매핑
# /etc/init.d/rawdevices restart
참고 : raw device 분할표
Diskname Logical Volume MB Diskname2 Logical Volume3 MB2 /dev/raw/raw1 /dev/rac/ocr1 300 /dev/raw/raw12 /dev/rac/control01 100 /dev/raw/raw2 /dev/rac/ocr2 300 /dev/raw/raw13 /dev/rac/control02 100 /dev/raw/raw3 /dev/rac/vote1 300 /dev/raw/raw14 /dev/rac/control03 100 /dev/raw/raw4 /dev/rac/vote2 300 /dev/raw/raw15 /dev/rac/redo01_a 50 /dev/raw/raw5 /dev/rac/vote3 300 /dev/raw/raw16 /dev/rac/redo01_b 50 /dev/raw/raw6 /dev/rac/system 600 /dev/raw/raw17 /dev/rac/redo02_a 50 /dev/raw/raw7 /dev/rac/sysaux 300 /dev/raw/raw18 /dev/rac/redo02_b 50 /dev/raw/raw8 /dev/rac/undotbs1 200 /dev/raw/raw19 /dev/rac/redo03_a 50 /dev/raw/raw9 /dev/rac/undotbs2 200 /dev/raw/raw20 /dev/rac/redo03_b 50 /dev/raw/raw10 /dev/rac/users 100 /dev/raw/raw21 /dev/rac/redo04_a 50 /dev/raw/raw11 /dev/rac/temp 100 /dev/raw/raw22 /dev/rac/redo04_b 50 /dev/raw/raw23 /dev/rac/spfile 50
# vi /etc/udev/permissions.d/50-udev.permissions
raw/*:oracle:dba:0660
113번째 줄을 위와 같이 수정
# /etc/init.d/rawdevices restart
# ls -al /dev/raw
소유권이 oracle 로 변경 됐는지 확인
노드 1 시스템을 shutdown 시킨다.
2. Node #2 리눅스 환경설정
가. 노드 1 가상머신 -> 노드 2로 복사하기
참고 : 노드 2의 네트워크 카드의 재구성 화면은 빠르게 사라지므로 빠른 손놀림이 필요하다.
만일 화면이 지나갔다면 시스템을 재부팅하여 다시 시도하도록 한다.
나. 노드 2 네트워크 설정
노드 1에서의 방법과 동일한 과정으로 설정한다.
IP 정보는 /etc/hosts 에 설정한 것과 동일하게 설정한다.
# ping rac2
# ping rac2-priv
# ping 168.126.63.1
모든 곳으로 Ping이 나가는지 확인
나가지 않을 곳이 있을 경우 네트워크 설정을 다시 확인한다.
# vi /home/oracle/.bash_profile
위 처럼 수정한다
# 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
$ ssh rac2 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
$ scp ~/.ssh/authorized_keys rac2:~/.ssh/authorized_keys
개인키가 저장된 파일(authorized_keys)을 노드2에 복사한다.
모든 노드에서 각각 실행
(암호를 묻는 과정이 나오지 않으면 올바르게 설정된 것임)
$ ssh rac1 date
$ ssh rac1-priv date
$ ssh rac2 date
$ ssh rac2-priv date
참고 : 최초 실행 시 공개키를 받는 과정에서 yes 입력
최신 댓글