1. ifconfig로 NAT로 잡힌 eth0과 eth1의 IP를 확인해서 종이에 적어둔다.
2. netstat -nr로 Gateway주소를 확인 후 종이에 적어둔다.
3. neat명령어로 네트워크 설정창을 열어 eth0과 eth1의 IP를 수동으로 바꿔 1번작업에서 적어둔 IP를 수동 IP에 넣는다.
▼4. DNS에서 호스트명과 기본 DNS를 아래 사진과 같이 넣는다.
5. 설정이 끝나면 네트워크를 재시작해서 적용이 되게 한다.
# /etc/init.d/network restart
6. 핑이 가는지 확인한다.
▼7. 아래 사진과 같이 불필요한 서비스 데몬을 종료시킨다.
▼8. /etc/hosts파일에 아래 사진의 내용처럼 IP를 추가한다. 중요한것은 아래사진의 빨간 네모 자리의 rac1이름을 꼭 지워줘야 한다.
9. sysctl.conf파일에 아래 사진의 내용을 추가한다.
# 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
▼10. limits.conf파일에 아래 사진의 내용을 추가한다.
# vi /etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc16384
oracle soft nofile 1024
oracle hard nofile65536
11. login파일에 내용을 추가한다.
# vi /etc/pam.d/login
session required pam_limits.so
12. modprobe.conf파일에 내용을 추가한다.
# vi /etc/modprobe.conf
options hangcheck-timer hangcheck_tick=30 hangcheck_margin=180
13. 시스템 상태를 확인한다. <= 커널기반의 타이머를 사용하여 시스템 태스크 스케쥴러에 발생하는 딜레이를 정기적으로
# modprobe -v hangcheck-timer 점검하는 방식을 사용
14. rc.local파일에 내용을 추가한다.
# vi /etc/rc.local
/sbin/modprobe hangcheck-timer
rdate -s 203.248.240.140
15. 아래 사진의 rpm이 설치되었는지 확인한다.
16. id가 5000인 dba그룹의 oracle 사용자를 만든다.
# groupadd -g 5000 dba
# useradd -g dba oracle
# passwd oracle (비번은 본인이 알아서)
17. .bash_profile파일에 내용을 추가한다.
# vi .bash_profile
PATH=$PATH:$HOME/bin:/home/oracle/product/10g/crs/bin
▼18. 오라클 계정으로 .bash_profile파일에 아래 사진의 내용을 추가한다.
# su - oracle
# vi .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 ORACLE_SID=rac1
export LANG=ko_KR.eucKR
export ORACLE_TERM=xterm
export NLS_LANG=AMERICAN_AMERICA.KO16KSC5601
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
19. root계정으로 돌아와 추가해줬던 하드의 파티션을 나눠준다.
빨강 화살표는 그냥 엔터치면 된다.
$ exit
# fdisk /dev/sdb
위 사진에서 8e는 LVM을 위한 설정이다.
20. 나머지 2개의 하드도 위와 같은 방식으로 파티션을 나눠준다.
21. 추가한 하드의 물리적 볼륨을 생성하고 확인한다.
# pvcreate /dev/sdb /dev/sdc /dev/sdd
22. 볼륨그룹을 생성하고 확인한다.
# vgcreate rac /dev/sdb /dev/sdc /dev/sdd
23. 볼륨그룹을 oracle에서 사용될 파일로 나눠 생성하고 확인한다.
lvcreate --name ocr1 --size 300 rac && lvcreate --name ocr2 --size 300 rac && lvcreate --name vote1 --size 300 rac && lvcreate --name vote2 --size 300 rac && lvcreate --name vote3 --size 300 rac && lvcreate --name system --size 600 rac && lvcreate --name sysaux --size 300 rac && lvcreate --name undotbs1 --size 200 rac && lvcreate --name undotbs2 --size 200 rac && lvcreate --name users --size 10 rac && lvcreate --name temp --size 100 rac && lvcreate --name control01 --size 100 rac && lvcreate --name control02 --size 100 rac && lvcreate --name control03 --size 100 rac && lvcreate --name redo01_a --size 50 rac && lvcreate --name redo01_b --size 50 rac && lvcreate --name redo02_a --size 50 rac && lvcreate --name redo02_b --size 50 rac && lvcreate --name redo03_a --size 50 rac && lvcreate --name redo03_b --size 50 rac && lvcreate --name redo04_a --size 50 rac && lvcreate --name redo04_b --size 50 rac && lvcreate --name spfile --size 50 rac (복사하세요)
# lvcreate --name ocr1 --size 300 rac
# lvcreate --name ocr2 --size 300 rac
# lvcreate --name vote1 --size 300 rac
# lvcreate --name vote2 --size 300 rac
# lvcreate --name vote3 --size 300 rac
# lvcreate --name system --size 600 rac
# lvcreate --name sysaux --size 300 rac
# lvcreate --name undotbs1 --size 200 rac
# lvcreate --name undotbs2 --size 200 rac
# lvcreate --name users --size 10 rac
# lvcreate --name temp --size 100 rac
# lvcreate --name control01 --size 100 rac
# lvcreate --name control02 --size 100 rac
# lvcreate --name control03 --size 100 rac
# lvcreate --name redo01_a --size 50 rac
# lvcreate --name redo01_b --size 50 rac
# lvcreate --name redo02_a --size 50 rac
# lvcreate --name redo02_b --size 50 rac
# lvcreate --name redo03_a --size 50 rac
# lvcreate --name redo03_b --size 50 rac
# lvcreate --name redo04_a --size 50 rac
# lvcreate --name redo04_b --size 50 rac
# lvcreate --name spfile --size 50 rac
# lvscan
24. rawdevices파일에 아래 사진의 내용을 추가한다.
<= rawdevice는 OS가 하드디스크 관리를 안하고 어플리케이션이 관리를 한다.
# vi /etc/sysconfig/rawdevices 여기서 어플리케이션은 asm프로그램을 말한다. 여기서 추가내용은 내가 어떤
하드디스크를 rawdevices로 쓰겠다고 rawdevices 정보를 적어준것이다.
이 파일을 커널이 보고 적혀있는 디스크가 rawdevices임을 알고 신경을 안쓴다.
/dev/raw/raw1 /dev/rac/ocr1
/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
25. rawdevices를 재시작하여 추가한 내용을 적용시킨다.
# /etc/init.d/rawdevices restart
26. rawdevices의 권한을 바꿔준다. 113번줄을 수정하고 114번줄에 추가한다. <= asm을 오라클 사용자가 사용하기 때문에 권한을
# vi /etc/udev/permissions.d/50-udev.permissions oracle로 바꿔준다.
112번줄 ram*:root:disk:0660
113번줄 #raw/*:root:disk:0660
114번줄
raw/*:oracle:dba:0660
27. rawdevices를 다시 재시작한다.
# /etc/init.d/rawdevices restart
28. oracle, dba가 맞는지 퍼미션을 확인한다.
29. node1세팅이 완료되었다. 리눅스 종료 후 node2를 세팅한다.
▼30. rac2 폴더를 생성 후 rac1.vmdk와 rac1.vmx파일을 rac2에 복사한다.
▼31. VMware에 복사한 가상머신을 추가하고 Edit virtual machine settings를 눌러 가상머신 이름을 rac2로 바꾸고 부팅한다.
▼32. 만약 추가한 하드의 저장을 rac1과 같은 폴더에 했다면 하드를 눌렀을때 아래 사진과 같은 창이 뜬다. 이럴경우 추가했던 하드 3개를
아래 remove로 모두 지운다. 그리고 아래의 사진과 같은 방식으로 다시 추가한다.
▲Add를 누른다.
▲Hard Disk를 선택 후 Next를 누른다.
▲Use an existing virtual disk를 선택하고 Next를 누른다.
▲Independent를 체크하고 Browse를 누른다
▲rac1에 있는 disk1폴더를 선택해서 추가한다. 나머지 하드도 똑같은 방식으로 추가한다.
▼33. 부팅을 하면 아래 사진의 창이 뜨는데 I copied it을 눌러야 한다.
파란색 화면에 회색 창이 뜨면 아무키나 눌러준다. 안눌러주면 그냥 지나가 버린다.
▲네트웍 카드 장치 삭제를 2번 해준다.
▲동적 IP주소 자동설정 사용에 체크하고 확인한다.
▼34. 부팅이 되면 root계정으로 로그인하고 터미널창에서 neat를 쳐서 수동IP로 설정해준다.
node2(rac2)의 IP는 node1의 hosts파일에 적어놓았던 IP를 넣어준다. node1 IP에 1씩 더해준것.
▼35. DNS에서 호스트명과 기본 DNS를 아래 사진과 같이 넣는다.
36. oracle 계정으로 바꿔서 .bash_profile의 ORACLE_SID=2로 수정한다.
# su - oracle
$ vi .bash_profile
export ORACLE_SID = rac2
37. 재부팅을 하고 node1도 부팅을 시킨다.
$ exit
# reboot
38.
oracle계정으로 로그인하고 _equivalence 설정을 한다. <= 이 작업은 rac1과 rac2가 서로 접속을 하는데 암호를 안묻도록 설정을
하는것이다. 암호가 들어있는 파일을 각 노드에서 서로의 암호를
가지고 있어서 암호를 안물어도 암호 파일을 보고 맞다는것을 안다.
node1, node2모두 실행한다.
▲빨강 화살표 부분은 그냥 엔터를 치고 넘어가면 된다.
39. node1에서만 아래 작업을 실행한다.
$ 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
40. 암호를 묻지 않는지 node1, node2 모두 점검한다. 처음 한번만 암호를 묻는다.
$ ssh rac1 date
$ ssh rac1-priv date
$ ssh rac2 date
$ ssh rac2-priv date
▼41. node1의 oracle 계정에 pkg 디렉토리를 만들어 설치에 필요한 clusterware, database, 패치파일을 WinSCP프로그램으로 옮긴다.
node2에는 pkg 디렉토리에10201_clusterware_linux32.zip파일만 옮긴다.
42. pkg디렉토리로 이동하여 압축을 풀어준다. node2의 clusterware압축도 풀어준다.
$ cd pkg
$ unzip 10201_clusterware_linux32.zip
$ unzip 10201_database_linux32.zip
$ unzip p6810189_10204_Linux-x86.zip
43. 압축 풀어준 clusterware의 rpm 디렉토리로 이동하여 rpm을 설치한다. node1, node2 모두 설치한다.
$ su -
# cd /home/oracle/pkg/clusterware/rpm
# export CVUQDISK_GRP=dba
# rpm -Uvh cvuqdisk-1.0.1-1.rpm
44. oracle 계정으로 돌아와 clusterware의 cluvfy 디렉토리로 이동하여 아래의 내용을 실행한다. node1만 한다.
# exit
$ cd /home/oracle/pkg/clusterware/cluvfy
$ ./runcluvfy.sh stage -pre crsinst -n rac1,rac2 -verbose <= vip, oinstall, rpm 관련 에러 무시
$ ./runcluvfy.sh stage -post hwos -n rac1,rac2 -verbose <= vip 관련 에러 무시
이렇게 하면 설치전 작업을 끝마칠 수 있다. 이어서 바로 clusterware설치를 하면 된다.