1. 준비 작업
A) 설치 파일 압축 해제
gi_env mkdir -p $GI_HOME unzip <zip 파일이 있는 경로>/LINUX.X64_193000_GI_HOME.zip -d $GI_HOME
[racdb1:/home/oracle]> gi_env [+ASM1:/home/oracle]> mkdir -p $GI_HOME [+ASM1:/home/oracle]> unzip /media/sf_oracle/LINUX.X64_193000_GI_HOME.zip -d $GI_HOME
1번 노드에 oracle 유저로 접속한 후 $GI_HOME 디렉토리를 생성하고, 해당 경로에 Grid Infrastructure(이하 GI) 설치 파일의 압축을 해제합니다.
(1번 또는 대표 노드 한 곳에만 설치 파일의 압축을 해제한 후 그 곳에서 설치를 수행합니다.)
B) cvuqdisk 패키지 설치
### cvuqdisk 패키지 설치 (1번 노드) cd $GI_HOME/cv/rpm rpm -ivh cvuqdisk-*.rpm ### 2번 노드로 rpm 파일 전송 후 접속 scp cvuqdisk-*.rpm rac2:/tmp ssh root@rac2 ### cvuqdisk 패키지 설치 (2번 노드) cd /tmp rpm -ivh cvuqdisk-*.rpm exit
[root@rac1 ~]# cd $GI_HOME/cv/rpm [root@rac1 rpm]# rpm -ivh cvuqdisk-1.0.10-1.rpm 준비 중... ################################# [100%] Using default group oinstall to install package Updating / installing... 1:cvuqdisk-1.0.10-1 ################################# [100%] [root@rac1 rpm]# scp cvuqdisk-*.rpm rac2:/tmp The authenticity of host 'rac2 (10.0.1.102)' can't be established. ECDSA key fingerprint is SHA256:E+cLh+3M4Z5XxyTF6sedGZ7PrkEnxDnzpma/uFmpZ/E. ECDSA key fingerprint is MD5:cd:31:7d:2f:f9:c2:e3:3a:f7:f5:a2:ee:71:c3:89:92. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'rac2,10.0.1.102' (ECDSA) to the list of known hosts. root@rac2's password: cvuqdisk-1.0.10-1.rpm 100% 11KB 10.2MB/s 00:00 [root@rac1 rpm]# ssh root@rac2 root@rac2's password: Last login: Fri Aug 23 17:42:44 2019 from 10.0.1.31 [root@rac2 ~]# cd /tmp [root@rac2 tmp]# rpm -ivh cvuqdisk-1.0.10-1.rpm 준비 중... ################################# [100%] Using default group oinstall to install package Updating / installing... 1:cvuqdisk-1.0.10-1 ################################# [100%] [root@rac2 tmp]# exit logout Connection to rac2 closed.
root 계정으로 접속하여 cvuqdisk 패키지를 모든 노드에 설치합니다.
이 단계에서 설치하지 않으면 수동(runcluvfy.sh)으로 필요 조건을 조사하거나 GI 설치 과정 중에 자동으로 필요 조건을 확인하는 과정에서 cvuqdisk 패키지 설치에 대한 안내 메시지가 나옵니다.
C) 공유 디스크 상태 검증
OHOME=$ORACLE_HOME
[+ASM1:/home/oracle]> cat $GI_HOME/bin/kfod #!/bin/sh # # $Header: opsm/utl/kfod.sbs # # kfod # # Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved. # # NAME # kfod - KFOD utility # # DESCRIPTION # This is a script which is a wrapper on top of kfod.bin # This script is only shipped to the DATABASE home # # MODIFIED (MM/DD/YY) # samjo 05/21/14 - Creation OHOME=$ORACLE_HOME ORACLE_HOME=${OHOME} export ORACLE_HOME exec $OHOME/bin/kfod.bin "$@"
kfod를 사용하기 위해 스크립트 내에 OHOME 경로를 먼저 수정해야 합니다.
kfod disks=all status=true name=true asm_diskstring=ORCL:*
[racdb1:/home/oracle]> gi_env [+ASM1:/home/oracle]> kfod disks=all status=true name=true asm_diskstring=ORCL:* -------------------------------------------------------------------------------- Disk Size Header Path DiskName User Group ================================================================================ 1: 1023 MB PROVISIONED ORCL:CRS1 2: 1023 MB PROVISIONED ORCL:CRS2 3: 1023 MB PROVISIONED ORCL:CRS3 4: 30719 MB PROVISIONED ORCL:DATA 5: 20479 MB PROVISIONED ORCL:FRA
공유 디스크가 마운트된 상위 경로를 asm_diskstring의 변수로 입력하여 상태를 파악합니다. PROVISIONED, CANDIDATE 또는 FORMER 상태인 경우에 ASM 디스크로 사용할 수 있습니다.
D) 비밀번호 없는 SSH 접속 설정
gi_env cd $GI_HOME/oui/prov/resources/scripts ./sshUserSetup.sh -user oracle -hosts "rac1 rac2" -noPromptPassphrase -advanced
[racdb1:/home/oracle]> gi_env [+ASM1:/home/oracle]> cd $GI_HOME/oui/prov/resources/scripts [+ASM1:/u01/app/19c/grid/oui/prov/resources/scripts]> ./sshUserSetup.sh -user oracle -hosts "rac1 rac2" -noPromptPassphrase -advanced The output of this script is also logged into /tmp/sshUserSetup_2019-08-23-18-05-12.log Hosts are rac1 rac2 user is oracle Platform:- Linux Checking if the remote hosts are reachable PING rac1 (10.0.1.101) 56(84) bytes of data. 64 bytes from rac1 (10.0.1.101): icmp_seq=1 ttl=64 time=0.019 ms 64 bytes from rac1 (10.0.1.101): icmp_seq=2 ttl=64 time=0.073 ms 64 bytes from rac1 (10.0.1.101): icmp_seq=3 ttl=64 time=0.083 ms 64 bytes from rac1 (10.0.1.101): icmp_seq=4 ttl=64 time=0.059 ms 64 bytes from rac1 (10.0.1.101): icmp_seq=5 ttl=64 time=0.068 ms --- rac1 ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4126ms rtt min/avg/max/mdev = 0.019/0.060/0.083/0.023 ms PING rac2 (10.0.1.102) 56(84) bytes of data. 64 bytes from rac2 (10.0.1.102): icmp_seq=1 ttl=64 time=0.743 ms 64 bytes from rac2 (10.0.1.102): icmp_seq=2 ttl=64 time=1.02 ms 64 bytes from rac2 (10.0.1.102): icmp_seq=3 ttl=64 time=1.12 ms 64 bytes from rac2 (10.0.1.102): icmp_seq=4 ttl=64 time=0.858 ms 64 bytes from rac2 (10.0.1.102): icmp_seq=5 ttl=64 time=1.12 ms --- rac2 ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4008ms rtt min/avg/max/mdev = 0.743/0.974/1.125/0.151 ms Remote host reachability check succeeded. The following hosts are reachable: rac1 rac2. The following hosts are not reachable: . All hosts are reachable. Proceeding further... firsthost rac1 numhosts 2 The script will setup SSH connectivity from the host rac1 to all the remote hosts. After the script is executed, the user can use SSH to run commands on the remote hosts or copy files between this host rac1 and the remote hosts without being prompted for passwords or confirmations. NOTE 1: As part of the setup procedure, this script will use ssh and scp to copy files between the local host and the remote hosts. Since the script does not store passwords, you may be prompted for the passwords during the execution of the script whenever ssh or scp is invoked. NOTE 2: AS PER SSH REQUIREMENTS, THIS SCRIPT WILL SECURE THE USER HOME DIRECTORY AND THE .ssh DIRECTORY BY REVOKING GROUP AND WORLD WRITE PRIVILEGES TO THESE directories. Do you want to continue and let the script make the above mentioned changes (yes/no)? yes The user chose yes User chose to skip passphrase related questions. Creating .ssh directory on local host, if not present already Creating authorized_keys file on local host Changing permissions on authorized_keys to 644 on local host Creating known_hosts file on local host Changing permissions on known_hosts to 644 on local host Creating config file on local host If a config file exists already at /home/oracle/.ssh/config, it would be backed up to /home/oracle/.ssh/config.backup. Removing old private/public keys on local host Running SSH keygen on local host with empty passphrase Generating public/private rsa key pair. Your identification has been saved in /home/oracle/.ssh/id_rsa. Your public key has been saved in /home/oracle/.ssh/id_rsa.pub. The key fingerprint is: SHA256:taz+rax4LKXKK9byU8KDkL4v78KqPuZwCK9o4XlyRMA oracle@rac1 The key's randomart image is: +---[RSA 1024]----+ |. | | E | | .. . | |o . o . | |o..o S o | |.=..+ . .. | |= B. + +. | |o#++o ooo. . | |%+@B=+.ooo+.. | +----[SHA256]-----+ Creating .ssh directory and setting permissions on remote host rac1 THE SCRIPT WOULD ALSO BE REVOKING WRITE PERMISSIONS FOR group AND others ON THE HOME DIRECTORY FOR oracle. THIS IS AN SSH REQUIREMENT. The script would create ~oracle/.ssh/config file on remote host rac1. If a config file exists already at ~oracle/.ssh/config, it would be backed up to ~oracle/.ssh/config.backup. The user may be prompted for a password here since the script would be running SSH on host rac1. Warning: Permanently added 'rac1,10.0.1.101' (ECDSA) to the list of known hosts. oracle@rac1's password: Done with creating .ssh directory and setting permissions on remote host rac1. Creating .ssh directory and setting permissions on remote host rac2 THE SCRIPT WOULD ALSO BE REVOKING WRITE PERMISSIONS FOR group AND others ON THE HOME DIRECTORY FOR oracle. THIS IS AN SSH REQUIREMENT. The script would create ~oracle/.ssh/config file on remote host rac2. If a config file exists already at ~oracle/.ssh/config, it would be backed up to ~oracle/.ssh/config.backup. The user may be prompted for a password here since the script would be running SSH on host rac2. Warning: Permanently added 'rac2,10.0.1.102' (ECDSA) to the list of known hosts. oracle@rac2's password: Done with creating .ssh directory and setting permissions on remote host rac2. Copying local host public key to the remote host rac1 The user may be prompted for a password or passphrase here since the script would be using SCP for host rac1. oracle@rac1's password: Done copying local host public key to the remote host rac1 Copying local host public key to the remote host rac2 The user may be prompted for a password or passphrase here since the script would be using SCP for host rac2. oracle@rac2's password: Done copying local host public key to the remote host rac2 Creating keys on remote host rac1 if they do not exist already. This is required to setup SSH on host rac1. Creating keys on remote host rac2 if they do not exist already. This is required to setup SSH on host rac2. Generating public/private rsa key pair. Your identification has been saved in .ssh/id_rsa. Your public key has been saved in .ssh/id_rsa.pub. The key fingerprint is: SHA256:IBU4bQRgfVkHJMdXzDb7WZJPxxlmsPJnHVj2sxc6o2c oracle@rac2 The key's randomart image is: +---[RSA 1024]----+ | oo.==*=..+...o | | . +.=o... = =+.| | .+. . o =o*+| | . . + +.@| | S * X+| | . B o| | . E | | o | | | +----[SHA256]-----+ Updating authorized_keys file on remote host rac1 Updating known_hosts file on remote host rac1 Updating authorized_keys file on remote host rac2 Updating known_hosts file on remote host rac2 cat: /home/oracle/.ssh/known_hosts.tmp: 그런 파일이나 디렉터리가 없습니다 cat: /home/oracle/.ssh/authorized_keys.tmp: 그런 파일이나 디렉터리가 없습니다 SSH setup is complete. ------------------------------------------------------------------------ Verifying SSH setup =================== The script will now run the date command on the remote nodes using ssh to verify if ssh is setup correctly. IF THE SETUP IS CORRECTLY SETUP, THERE SHOULD BE NO OUTPUT OTHER THAN THE DATE AND SSH SHOULD NOT ASK FOR PASSWORDS. If you see any output other than date or are prompted for the password, ssh is not setup correctly and you will need to resolve the issue and set up ssh again. The possible causes for failure could be: 1. The server settings in /etc/ssh/sshd_config file do not allow ssh for user oracle. 2. The server may have disabled public key based authentication. 3. The client public key on the server may be outdated. 4. ~oracle or ~oracle/.ssh on the remote host may not be owned by oracle. 5. User may not have passed -shared option for shared remote users or may be passing the -shared option for non-shared remote users. 6. If there is output in addition to the date, but no password is asked, it may be a security alert shown as part of company policy. Append the additional text to the <OMS HOME>/sysman/prov/resources/ignoreMessages.txt file. ------------------------------------------------------------------------ --rac1:-- Running /usr/bin/ssh -x -l oracle rac1 date to verify SSH connectivity has been setup from local host to rac1. IF YOU SEE ANY OTHER OUTPUT BESIDES THE OUTPUT OF THE DATE COMMAND OR IF YOU ARE PROMPTED FOR A PASSWORD HERE, IT MEANS SSH SETUP HAS NOT BEEN SUCCESSFUL. Please note that being prompted for a passphrase may be OK but being prompted for a password is ERROR. 2019. 08. 23. (금) 18:05:38 KST ------------------------------------------------------------------------ --rac2:-- Running /usr/bin/ssh -x -l oracle rac2 date to verify SSH connectivity has been setup from local host to rac2. IF YOU SEE ANY OTHER OUTPUT BESIDES THE OUTPUT OF THE DATE COMMAND OR IF YOU ARE PROMPTED FOR A PASSWORD HERE, IT MEANS SSH SETUP HAS NOT BEEN SUCCESSFUL. Please note that being prompted for a passphrase may be OK but being prompted for a password is ERROR. 2019. 08. 23. (금) 18:05:39 KST ------------------------------------------------------------------------ ------------------------------------------------------------------------ Verifying SSH connectivity has been setup from rac1 to rac1 IF YOU SEE ANY OTHER OUTPUT BESIDES THE OUTPUT OF THE DATE COMMAND OR IF YOU ARE PROMPTED FOR A PASSWORD HERE, IT MEANS SSH SETUP HAS NOT BEEN SUCCESSFUL. 2019. 08. 23. (금) 18:05:39 KST ------------------------------------------------------------------------ ------------------------------------------------------------------------ Verifying SSH connectivity has been setup from rac1 to rac2 IF YOU SEE ANY OTHER OUTPUT BESIDES THE OUTPUT OF THE DATE COMMAND OR IF YOU ARE PROMPTED FOR A PASSWORD HERE, IT MEANS SSH SETUP HAS NOT BEEN SUCCESSFUL. 2019. 08. 23. (금) 18:05:40 KST ------------------------------------------------------------------------ -Verification from complete- SSH verification complete.
oracle 유저에 대한 비밀번호 없는 SSH 접속 설정을 수행합니다.
GI 설치 과정 중에 이 단계를 수행할 수도 있지만, 사전 클러스터 환경 검증을 수행하기 위해서 미리 진행하도록 합니다.
E) 클러스터 구성 환경 사전 검증
cd $GI_HOME ./runcluvfy.sh stage -pre crsinst -n rac1,rac2 -osdba dba -orainv oinstall -fixup -method root -networks enp0s3/enp0s8 -verbose
[+ASM1:/home/oracle]> cd $GI_HOME [+ASM1:/u01/app/19c/grid]> ./runcluvfy.sh stage -pre crsinst -n rac1,rac2 -osdba dba -orainv oinstall -fixup -method root -networks enp0s3/enp0s8 -verbose "ROOT" 비밀번호 입력: << root 암호 입력 후 엔터 >> 물리적 메모리 확인 중... 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac2 9.7494GB (1.0223028E7KB) 8GB (8388608.0KB) 성공 rac1 9.7494GB (1.0223036E7KB) 8GB (8388608.0KB) 성공 물리적 메모리 확인 중...성공 사용 가능한 물리적 메모리 확인 중... 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac2 9.5611GB (1.0025508E7KB) 50MB (51200.0KB) 성공 rac1 8.7542GB (9179396.0KB) 50MB (51200.0KB) 성공 사용 가능한 물리적 메모리 확인 중...성공 교체 크기 확인 중... 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac2 10GB (1.0485756E7KB) 9.7494GB (1.0223028E7KB) 성공 rac1 10GB (1.0485756E7KB) 9.7494GB (1.0223036E7KB) 성공 교체 크기 확인 중...성공 사용 가능한 공간: rac2:/usr,rac2:/var,rac2:/etc,rac2:/sbin,rac2:/tmp 확인 중... 경로 노드 이름 마운트 위치 사용 가능 필수 상태 ---------------- ------------ ------------ ------------ ------------ ------------ /usr rac2 / 89.4219GB 25MB 성공 /var rac2 / 89.4219GB 5MB 성공 /etc rac2 / 89.4219GB 25MB 성공 /sbin rac2 / 89.4219GB 10MB 성공 /tmp rac2 / 89.4219GB 1GB 성공 사용 가능한 공간: rac2:/usr,rac2:/var,rac2:/etc,rac2:/sbin,rac2:/tmp 확인 중...성공 사용 가능한 공간: rac1:/usr,rac1:/var,rac1:/etc,rac1:/sbin,rac1:/tmp 확인 중... 경로 노드 이름 마운트 위치 사용 가능 필수 상태 ---------------- ------------ ------------ ------------ ------------ ------------ /usr rac1 / 83.1835GB 25MB 성공 /var rac1 / 83.1835GB 5MB 성공 /etc rac1 / 83.1835GB 25MB 성공 /sbin rac1 / 83.1835GB 10MB 성공 /tmp rac1 / 83.1835GB 1GB 성공 사용 가능한 공간: rac1:/usr,rac1:/var,rac1:/etc,rac1:/sbin,rac1:/tmp 확인 중...성공 사용자 존재 여부: oracle 확인 중... 노드 이름 상태 설명 ------------ ------------------------ ------------------------ rac2 성공 존재함(54321) rac1 성공 존재함(54321) UID가 동일한 사용자입니다.: 54321 확인 중...성공 사용자 존재 여부: oracle 확인 중...성공 그룹 존재 여부: asmadmin 확인 중... 노드 이름 상태 설명 ------------ ------------------------ ------------------------ rac2 성공 존재함 rac1 성공 존재함 그룹 존재 여부: asmadmin 확인 중...성공 그룹 존재 여부: dba 확인 중... 노드 이름 상태 설명 ------------ ------------------------ ------------------------ rac2 성공 존재함 rac1 성공 존재함 그룹 존재 여부: dba 확인 중...성공 그룹 존재 여부: oinstall 확인 중... 노드 이름 상태 설명 ------------ ------------------------ ------------------------ rac2 성공 존재함 rac1 성공 존재함 그룹 존재 여부: oinstall 확인 중...성공 그룹 멤버쉽: asmadmin 확인 중... 노드 이름 사용자가 존재함 그룹이 존재함 그룹의 사용자 상태 ---------------- ------------ ------------ ------------ ---------------- rac2 예 예 예 성공 rac1 예 예 예 성공 그룹 멤버쉽: asmadmin 확인 중...성공 그룹 멤버쉽: oinstall(기본) 확인 중... 노드 이름 사용자가 존재함 그룹이 존재함 그룹의 사용자 기본 상태 ---------------- ------------ ------------ ------------ ------------ ------------ rac2 예 예 예 예 성공 rac1 예 예 예 예 성공 그룹 멤버쉽: oinstall(기본) 확인 중...성공 그룹 멤버쉽: dba 확인 중... 노드 이름 사용자가 존재함 그룹이 존재함 그룹의 사용자 상태 ---------------- ------------ ------------ ------------ ---------------- rac2 예 예 예 성공 rac1 예 예 예 성공 그룹 멤버쉽: dba 확인 중...성공 실행 레벨 확인 중... 노드 이름 실행 레벨 필수 상태 ------------ ------------------------ ------------------------ ---------- rac2 3 3,5 성공 rac1 5 3,5 성공 실행 레벨 확인 중...성공 완전 제한: 최대 열린 파일 기술자 확인 중... 노드 이름 유형 사용 가능 필수 상태 ---------------- ------------ ------------ ------------ ---------------- rac2 완전 65536 65536 성공 rac1 완전 65536 65536 성공 완전 제한: 최대 열린 파일 기술자 확인 중...성공 부분 제한: 최대 열린 파일 기술자 확인 중... 노드 이름 유형 사용 가능 필수 상태 ---------------- ------------ ------------ ------------ ---------------- rac2 부분 1024 1024 성공 rac1 부분 1024 1024 성공 부분 제한: 최대 열린 파일 기술자 확인 중...성공 완전 제한: 최대 사용자 프로세스 확인 중... 노드 이름 유형 사용 가능 필수 상태 ---------------- ------------ ------------ ------------ ---------------- rac2 완전 16384 16384 성공 rac1 완전 16384 16384 성공 완전 제한: 최대 사용자 프로세스 확인 중...성공 부분 제한: 최대 사용자 프로세스 확인 중... 노드 이름 유형 사용 가능 필수 상태 ---------------- ------------ ------------ ------------ ---------------- rac2 부분 16384 2047 성공 rac1 부분 16384 2047 성공 부분 제한: 최대 사용자 프로세스 확인 중...성공 부분 제한: 최대 스택 크기 확인 중... 노드 이름 유형 사용 가능 필수 상태 ---------------- ------------ ------------ ------------ ---------------- rac2 부분 10240 10240 성공 rac1 부분 10240 10240 성공 부분 제한: 최대 스택 크기 확인 중...성공 구조 확인 중... 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac2 x86_64 x86_64 성공 rac1 x86_64 x86_64 성공 구조 확인 중...성공 OS 커널 버전 확인 중... 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac2 4.14.35-1818.3.3.el7uek.x86_64 4.1.12 성공 rac1 4.14.35-1818.3.3.el7uek.x86_64 4.1.12 성공 OS 커널 버전 확인 중...성공 OS 커널 매개변수: semmsl 확인 중... 노드 이름 현재 구성됨 필수 상태 설명 ---------------- ------------ ------------ ------------ ------------ ------------ rac1 250 250 250 성공 rac2 250 250 250 성공 OS 커널 매개변수: semmsl 확인 중...성공 OS 커널 매개변수: semmns 확인 중... 노드 이름 현재 구성됨 필수 상태 설명 ---------------- ------------ ------------ ------------ ------------ ------------ rac1 32000 32000 32000 성공 rac2 32000 32000 32000 성공 OS 커널 매개변수: semmns 확인 중...성공 OS 커널 매개변수: semopm 확인 중... 노드 이름 현재 구성됨 필수 상태 설명 ---------------- ------------ ------------ ------------ ------------ ------------ rac1 100 100 100 성공 rac2 100 100 100 성공 OS 커널 매개변수: semopm 확인 중...성공 OS 커널 매개변수: semmni 확인 중... 노드 이름 현재 구성됨 필수 상태 설명 ---------------- ------------ ------------ ------------ ------------ ------------ rac1 128 128 128 성공 rac2 128 128 128 성공 OS 커널 매개변수: semmni 확인 중...성공 OS 커널 매개변수: shmmax 확인 중... 노드 이름 현재 구성됨 필수 상태 설명 ---------------- ------------ ------------ ------------ ------------ ------------ rac1 4398046511104 4398046511104 5234194432 성공 rac2 4398046511104 4398046511104 5234190336 성공 OS 커널 매개변수: shmmax 확인 중...성공 OS 커널 매개변수: shmmni 확인 중... 노드 이름 현재 구성됨 필수 상태 설명 ---------------- ------------ ------------ ------------ ------------ ------------ rac1 4096 4096 4096 성공 rac2 4096 4096 4096 성공 OS 커널 매개변수: shmmni 확인 중...성공 OS 커널 매개변수: shmall 확인 중... 노드 이름 현재 구성됨 필수 상태 설명 ---------------- ------------ ------------ ------------ ------------ ------------ rac1 1073741824 1073741824 1073741824 성공 rac2 1073741824 1073741824 1073741824 성공 OS 커널 매개변수: shmall 확인 중...성공 OS 커널 매개변수: file-max 확인 중... 노드 이름 현재 구성됨 필수 상태 설명 ---------------- ------------ ------------ ------------ ------------ ------------ rac1 6815744 6815744 6815744 성공 rac2 6815744 6815744 6815744 성공 OS 커널 매개변수: file-max 확인 중...성공 OS 커널 매개변수: ip_local_port_range 확인 중... 노드 이름 현재 구성됨 필수 상태 설명 ---------------- ------------ ------------ ------------ ------------ ------------ rac1 between 9000 & 65500 between 9000 & 65500 between 9000 & 65535 성공 rac2 between 9000 & 65500 between 9000 & 65500 between 9000 & 65535 성공 OS 커널 매개변수: ip_local_port_range 확인 중...성공 OS 커널 매개변수: rmem_default 확인 중... 노드 이름 현재 구성됨 필수 상태 설명 ---------------- ------------ ------------ ------------ ------------ ------------ rac1 262144 262144 262144 성공 rac2 262144 262144 262144 성공 OS 커널 매개변수: rmem_default 확인 중...성공 OS 커널 매개변수: rmem_max 확인 중... 노드 이름 현재 구성됨 필수 상태 설명 ---------------- ------------ ------------ ------------ ------------ ------------ rac1 4194304 4194304 4194304 성공 rac2 4194304 4194304 4194304 성공 OS 커널 매개변수: rmem_max 확인 중...성공 OS 커널 매개변수: wmem_default 확인 중... 노드 이름 현재 구성됨 필수 상태 설명 ---------------- ------------ ------------ ------------ ------------ ------------ rac1 262144 262144 262144 성공 rac2 262144 262144 262144 성공 OS 커널 매개변수: wmem_default 확인 중...성공 OS 커널 매개변수: wmem_max 확인 중... 노드 이름 현재 구성됨 필수 상태 설명 ---------------- ------------ ------------ ------------ ------------ ------------ rac1 1048576 1048576 1048576 성공 rac2 1048576 1048576 1048576 성공 OS 커널 매개변수: wmem_max 확인 중...성공 OS 커널 매개변수: aio-max-nr 확인 중... 노드 이름 현재 구성됨 필수 상태 설명 ---------------- ------------ ------------ ------------ ------------ ------------ rac1 1048576 1048576 1048576 성공 rac2 1048576 1048576 1048576 성공 OS 커널 매개변수: aio-max-nr 확인 중...성공 OS 커널 매개변수: panic_on_oops 확인 중... 노드 이름 현재 구성됨 필수 상태 설명 ---------------- ------------ ------------ ------------ ------------ ------------ rac1 1 1 1 성공 rac2 1 1 1 성공 OS 커널 매개변수: panic_on_oops 확인 중...성공 패키지: kmod-20-21 (x86_64) 확인 중... 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac2 kmod(x86_64)-20-23.0.1.el7 kmod(x86_64)-20-21 성공 rac1 kmod(x86_64)-20-23.0.1.el7 kmod(x86_64)-20-21 성공 패키지: kmod-20-21 (x86_64) 확인 중...성공 패키지: kmod-libs-20-21 (x86_64) 확인 중... 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac2 kmod-libs(x86_64)-20-23.0.1.el7 kmod-libs(x86_64)-20-21 성공 rac1 kmod-libs(x86_64)-20-23.0.1.el7 kmod-libs(x86_64)-20-21 성공 패키지: kmod-libs-20-21 (x86_64) 확인 중...성공 패키지: binutils-2.23.52.0.1 확인 중... 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac2 binutils-2.27-34.base.0.1.el7 binutils-2.23.52.0.1 성공 rac1 binutils-2.27-34.base.0.1.el7 binutils-2.23.52.0.1 성공 패키지: binutils-2.23.52.0.1 확인 중...성공 패키지: compat-libcap1-1.10 확인 중... 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac2 compat-libcap1-1.10-7.el7 compat-libcap1-1.10 성공 rac1 compat-libcap1-1.10-7.el7 compat-libcap1-1.10 성공 패키지: compat-libcap1-1.10 확인 중...성공 패키지: libgcc-4.8.2 (x86_64) 확인 중... 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac2 libgcc(x86_64)-4.8.5-36.0.1.el7 libgcc(x86_64)-4.8.2 성공 rac1 libgcc(x86_64)-4.8.5-36.0.1.el7 libgcc(x86_64)-4.8.2 성공 패키지: libgcc-4.8.2 (x86_64) 확인 중...성공 패키지: libstdc++-4.8.2 (x86_64) 확인 중... 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac2 libstdc++(x86_64)-4.8.5-36.0.1.el7 libstdc++(x86_64)-4.8.2 성공 rac1 libstdc++(x86_64)-4.8.5-36.0.1.el7 libstdc++(x86_64)-4.8.2 성공 패키지: libstdc++-4.8.2 (x86_64) 확인 중...성공 패키지: libstdc++-devel-4.8.2 (x86_64) 확인 중... 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac2 libstdc++-devel(x86_64)-4.8.5-36.0.1.el7 libstdc++-devel(x86_64)-4.8.2 성공 rac1 libstdc++-devel(x86_64)-4.8.5-36.0.1.el7 libstdc++-devel(x86_64)-4.8.2 성공 패키지: libstdc++-devel-4.8.2 (x86_64) 확인 중...성공 패키지: sysstat-10.1.5 확인 중... 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac2 sysstat-10.1.5-17.el7 sysstat-10.1.5 성공 rac1 sysstat-10.1.5-17.el7 sysstat-10.1.5 성공 패키지: sysstat-10.1.5 확인 중...성공 패키지: ksh 확인 중... 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac2 ksh ksh 성공 rac1 ksh ksh 성공 패키지: ksh 확인 중...성공 패키지: make-3.82 확인 중... 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac2 make-3.82-23.el7 make-3.82 성공 rac1 make-3.82-23.el7 make-3.82 성공 패키지: make-3.82 확인 중...성공 패키지: glibc-2.17 (x86_64) 확인 중... 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac2 glibc(x86_64)-2.17-260.0.9.el7 glibc(x86_64)-2.17 성공 rac1 glibc(x86_64)-2.17-260.0.9.el7 glibc(x86_64)-2.17 성공 패키지: glibc-2.17 (x86_64) 확인 중...성공 패키지: glibc-devel-2.17 (x86_64) 확인 중... 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac2 glibc-devel(x86_64)-2.17-260.0.9.el7 glibc-devel(x86_64)-2.17 성공 rac1 glibc-devel(x86_64)-2.17-260.0.9.el7 glibc-devel(x86_64)-2.17 성공 패키지: glibc-devel-2.17 (x86_64) 확인 중...성공 패키지: libaio-0.3.109 (x86_64) 확인 중... 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac2 libaio(x86_64)-0.3.109-13.el7 libaio(x86_64)-0.3.109 성공 rac1 libaio(x86_64)-0.3.109-13.el7 libaio(x86_64)-0.3.109 성공 패키지: libaio-0.3.109 (x86_64) 확인 중...성공 패키지: libaio-devel-0.3.109 (x86_64) 확인 중... 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac2 libaio-devel(x86_64)-0.3.109-13.el7 libaio-devel(x86_64)-0.3.109 성공 rac1 libaio-devel(x86_64)-0.3.109-13.el7 libaio-devel(x86_64)-0.3.109 성공 패키지: libaio-devel-0.3.109 (x86_64) 확인 중...성공 패키지: nfs-utils-1.2.3-15 확인 중... 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac2 nfs-utils-1.3.0-0.61.0.1.el7 nfs-utils-1.2.3-15 성공 rac1 nfs-utils-1.3.0-0.61.0.1.el7 nfs-utils-1.2.3-15 성공 패키지: nfs-utils-1.2.3-15 확인 중...성공 패키지: smartmontools-6.2-4 확인 중... 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac2 smartmontools-6.5-1.el7 smartmontools-6.2-4 성공 rac1 smartmontools-6.5-1.el7 smartmontools-6.2-4 성공 패키지: smartmontools-6.2-4 확인 중...성공 패키지: net-tools-2.0-0.17 확인 중... 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac2 net-tools-2.0-0.24.20131004git.el7 net-tools-2.0-0.17 성공 rac1 net-tools-2.0-0.24.20131004git.el7 net-tools-2.0-0.17 성공 패키지: net-tools-2.0-0.17 확인 중...성공 "Oracle Notification Service (ONS)" 구성요소에 대한 포트 가용성 확인 중... 노드 이름 포트 번호 프로토콜 사용 가능 상태 ---------------- ------------ ------------ ------------ ---------------- rac2 6200 TCP 예 성공 rac1 6200 TCP 예 성공 rac2 6100 TCP 예 성공 rac1 6100 TCP 예 성공 "Oracle Notification Service (ONS)" 구성요소에 대한 포트 가용성 확인 중...성공 "Oracle Cluster Synchronization Services (CSSD)" 구성요소에 대한 포트 가용성 확인 중... 노드 이름 포트 번호 프로토콜 사용 가능 상태 ---------------- ------------ ------------ ------------ ---------------- rac2 42424 TCP 예 성공 rac1 42424 TCP 예 성공 "Oracle Cluster Synchronization Services (CSSD)" 구성요소에 대한 포트 가용성 확인 중...성공 UID가 동일한 사용자입니다.: 0 확인 중...성공 현재 그룹 ID 확인 중...성공 루트 사용자 일관성 확인 중... 노드 이름 상태 ------------------------------------ ------------------------ rac2 성공 rac1 성공 루트 사용자 일관성 확인 중...성공 패키지: cvuqdisk-1.0.10-1 확인 중... 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac2 cvuqdisk-1.0.10-1 cvuqdisk-1.0.10-1 성공 rac1 cvuqdisk-1.0.10-1 cvuqdisk-1.0.10-1 성공 패키지: cvuqdisk-1.0.10-1 확인 중...성공 호스트 이름 확인 중...성공 노드 접속 확인 중... 호스트 파일 확인 중... 노드 이름 상태 ------------------------------------ ------------------------ rac1 성공 rac2 성공 호스트 파일 확인 중...성공 "rac1" 노드에 대한 인터페이스 정보 이름 IP 주소 서브넷 게이트웨이 Def. 게이트웨이 HW 주소 MTU ------ --------------- --------------- --------------- --------------- ----------------- ------ enp0s3 10.0.1.101 10.0.1.0 0.0.0.0 10.0.1.1 08:00:27:97:55:A2 1500 enp0s8 10.0.5.101 10.0.5.0 0.0.0.0 10.0.1.1 08:00:27:8B:C0:0F 1500 "rac2" 노드에 대한 인터페이스 정보 이름 IP 주소 서브넷 게이트웨이 Def. 게이트웨이 HW 주소 MTU ------ --------------- --------------- --------------- --------------- ----------------- ------ enp0s3 10.0.1.102 10.0.1.0 0.0.0.0 10.0.1.1 08:00:27:CB:8C:8A 1500 enp0s8 10.0.5.102 10.0.5.0 0.0.0.0 10.0.1.1 08:00:27:F9:EC:85 1500 검사: "10.0.5.0" 서브넷의 MTU 일관성. 노드 이름 IP 주소 서브넷 MTU ---------------- ------------ ------------ ------------ ---------------- rac1 enp0s8 10.0.5.101 10.0.5.0 1500 rac2 enp0s8 10.0.5.102 10.0.5.0 1500 검사: "10.0.1.0" 서브넷의 MTU 일관성. 노드 이름 IP 주소 서브넷 MTU ---------------- ------------ ------------ ------------ ---------------- rac1 enp0s3 10.0.1.101 10.0.1.0 1500 rac2 enp0s3 10.0.1.102 10.0.1.0 1500 소스 대상 접속됨? ------------------------------ ------------------------------ ---------------- rac1[enp0s8:10.0.5.101] rac2[enp0s8:10.0.5.102] 예 소스 대상 접속됨? ------------------------------ ------------------------------ ---------------- rac1[enp0s3:10.0.1.101] rac2[enp0s3:10.0.1.102] 예 최대(MTU) 크기 패킷이 서브넷을 통과하는지 검사 확인 중...성공 "10.0.5.0" 서브넷에 대한 서브넷 마스크 일관성 확인 중...성공 "10.0.1.0" 서브넷에 대한 서브넷 마스크 일관성 확인 중...성공 노드 접속 확인 중...성공 멀티캐스트 또는 브로드캐스트 검사 확인 중... 멀티캐스트 그룹 "224.0.0.251"과(와) 멀티캐스트 통신을 위해 "10.0.5.0" 서브넷을 검사하는 중 멀티캐스트 또는 브로드캐스트 검사 확인 중...성공 ASMLib 설치 및 구성을 확인합니다. 확인 중... '/etc/init.d/oracleasm' 확인 중...성공 '/dev/oracleasm' 확인 중...성공 '/etc/sysconfig/oracleasm' 확인 중...성공 노드 이름 상태 ------------------------------------ ------------------------ rac1 성공 rac2 성공 ASMLib 설치 및 구성을 확인합니다. 확인 중...성공 NTP(네트워크 시간 프로토콜) 확인 중...성공 동일한 코어 파일 이름 패턴 확인 중...성공 사용자 마스크 확인 중... 노드 이름 사용 가능 필수 설명 ------------ ------------------------ ------------------------ ---------- rac2 0022 0022 성공 rac1 0022 0022 성공 사용자 마스크 확인 중...성공 사용자가 그룹에 없습니다. "root": oracle 확인 중... 노드 이름 상태 설명 ------------ ------------------------ ------------------------ rac2 성공 존재하지 않음 rac1 성공 존재하지 않음 사용자가 그룹에 없습니다. "root": oracle 확인 중...성공 시간대 일관성 확인 중...성공 노드 사이의 시간 오프셋 확인 중...성공 resolv.conf 무결성 확인 중... 노드 이름 상태 ------------------------------------ ------------------------ rac1 성공 rac2 성공 "/etc/resolv.conf"에 지정된 각 이름 서버에서 "rac1" 이름에 대한 응답을 확인하는 중 노드 이름 소스 설명 상태 ------------ ------------------------ ------------------------ ---------- rac1 127.0.0.1 IPv4 성공 "/etc/resolv.conf"에 지정된 각 이름 서버에서 "rac2" 이름에 대한 응답을 확인하는 중 노드 이름 소스 설명 상태 ------------ ------------------------ ------------------------ ---------- rac2 127.0.0.1 IPv4 성공 resolv.conf 무결성 확인 중...성공 DNS/NIS 이름 서비스 확인 중...성공 도메인 소켓 확인 중...성공 /boot 마운트 확인 중...성공 "avahi-daemon" 데몬이 구성되어 실행 중이 아닙니다. 확인 중... 노드 이름 구성됨 상태 ------------ ------------------------ ------------------------ rac2 아니오 성공 rac1 아니오 성공 노드 이름 실행 중? 상태 ------------ ------------------------ ------------------------ rac2 아니오 성공 rac1 아니오 성공 "avahi-daemon" 데몬이 구성되어 실행 중이 아닙니다. 확인 중...성공 "proxyt" 데몬이 구성되어 실행 중이 아닙니다. 확인 중... 노드 이름 구성됨 상태 ------------ ------------------------ ------------------------ rac2 아니오 성공 rac1 아니오 성공 노드 이름 실행 중? 상태 ------------ ------------------------ ------------------------ rac2 아니오 성공 rac1 아니오 성공 "proxyt" 데몬이 구성되어 실행 중이 아닙니다. 확인 중...성공 루프백 네트워크 인터페이스 주소 확인 중...성공 사용자 동일성 확인 중...성공 RPM Package Manager 데이터베이스 확인 중...성공 /dev/shm이 임시 파일 시스템으로 마운트됨 확인 중...성공 /var 경로에 대한 파일 시스템 마운트 옵션 확인 중...성공 DefaultTasksMax 매개변수 확인 중...성공 zeroconf 검사 확인 중...성공 ASM 필터 드라이버 구성 확인 중...성공 Systemd 로그인 관리자 IPC 매개변수 확인 중...성공 클러스터 서비스 설정에 대한 사전 확인을 성공했습니다. 수행된 CVU 작업: stage -pre crsinst 날짜: 2019. 8. 23 오후 6:06:38 CVU 홈: /u01/app/19c/grid/ 사용자: oracle
설치를 진행하기에 앞서 모든 노드의 클러스터 구성 환경을 사전 검증하는 스크립트를 fixup 모드로 실행합니다.
수정이 가능한 항목이 있을 경우, 자동으로 환경 설정을 수정하는 runfixup.sh 스크립트가 생성되며, 해당 스크립트는 root 유저로 실행이 필요한 노드에서 실행하면 됩니다.
설치에 앞서 수정할 부분이나 문제가 될 부분이 있는지 사전에 확인하고, 반드시 이를 해결하고 진행하도록 합니다.
2. Grid Infrastructure 설치
A) OUI 실행
gi_env cd $GI_HOME ./gridSetup.sh # ./gridSetup.sh -applyRU <RU 압축 해제 경로>
GI 설치 파일의 압축을 해제한 GI_HOME 디렉토리로 이동하여 gridSetup.sh을 실행합니다.
applyRU 옵션을 사용하면 Release Update 패치를 설치와 함께 적용할 수 있습니다.
B) 구성 옵션 선택
새로운 RAC 클러스터를 구성하기 위해 '새 클러스터에 대한 Oracle Grid Infrastructure 구성'을 선택한 후 <다음> 버튼을 클릭합니다.
C) 클러스터 구성 선택
새로운 클러스터를 구성할 것이므로 'Oracle 독립형 클러스터 구성'을 선택하고 <다음> 버튼을 클릭합니다.
D) Grid 플러그 앤 플레이 정보
클러스터 이름, SCAN 이름과 SCAN 포트 번호를 입력한 후에 <다음> 버튼을 클릭합니다.
SCAN 이름은 /etc/hosts에 정의한 이름, 그리고 nslookup에서 테스트한 이름과 동일하게 도메인을 포함하여 입력합니다.
E) 클러스터 노드 정보
기본적으로 구성 스크립트를 실행한 노드의 정보가 클러스터 노드 목록에 표시됩니다.
다른 노드를 추가하기 위해 <추가> 버튼을 클릭합니다
하나의 노드만 추가할 것이므로 '단일 노드 추가'를 선택한 상태에서 추가하려는 노드의 공용 호스트 이름과 가상 호스트 이름을 입력하고 <확인> 버튼을 클릭합니다.
정상적으로 설정이 되었다면 다음과 같은 안내 메시지가 출력됩니다.
클러스터 노드 간의 비밀번호 없는 SSH 환경 구성을 위해 <SSH 접속> 버튼을 클릭합니다.
사전 검증 스크립트 수행을 위해 oracle 유저에 대한 비밀번호 없는 SSH 환경 구성이 되어 있다면, oracle 유저의 OS 비밀번호를 입력하고 <테스트> 버튼을 클릭합니다.
만약 구성이 되어 있지 않다면, oracle 유저의 OS 비밀번호를 입력하고 <설정> 버튼을 클릭하면 노드간의 비빌번호 없는 SSH 접속 설정이 완료됩니다
설정이 완료되었으면 <다음> 버튼을 클릭합니다.
F) 네트워크 인터페이스 용도 지정
노드간의 네트워크 인터페이스를 확인하는 단계입니다.
공용 인터페이스는 Public IP와 VIP로 외부와 통신하는데 사용되며 ASM 및 전용 인터페이스는 ASM과 RAC 노드간의 통신에만 사용됩니다.
노드간의 인터페이스 이름과 서브넷은 공용, 전용 구분하여 동일하게 설정이 되어야 합니다.
정상적으로 인식이 되면 <다음> 버튼을 클릭합니다.
만약 같은 공용이나 전용 인터페이스 간의 이름이 다를 경우, 인터페이스 이름이 *로 표시되며 패치나 설치 과정에서 경고나 오류 메시지가 출력됩니다.
따라서 같은 용도의 인터페이스 이름이 일치하도록 네트워크 인터페이스를 구성해야 합니다.
일반적으로 리눅스 7부터는 인터페이스 이름이 자동으로 부여됩니다
G) 저장 영역 옵션 정보
OCR과 Voting disk를 ASM에 구성할 것이므로 '저장 영역에 Oracle Flex ASM 사용'을 선택하고 <다음> 버튼을 클릭합니다.
H) Grid Infrastructure 관리 저장소 옵션 생성
12.1.0.2 이후부터 18c까지 강제적으로 구성되었던 Grid Infrastructure 관리 저장소 또는 Grid Infrastructure Management Repository(이하 GIMR)가 19c부터는 선택적으로 구성할 수 있게 되었습니다.
기본값인 '아니오'를 선택한 후에 <다음> 버튼을 클릭합니다.
I) ASM 디스크 그룹 생성
OCR과 Voting을 저장하기 위한 디스크 그룹을 생성합니다.
ASMLib로 등록된 디스크 목록을 검색하기 위해 <검색 경로 변경> 버튼을 클릭합니다.
디스크 검색 경로에 "/dev/oracleasm/disks/*"를 입력하고 <확인> 버튼을 클릭합니다.
디스크 그룹 이름을 "CRS"로 변경하고, 중복성은 기본값인 '일반'을 유지합니다.
용량이 크지 않은 정보가 저장되는 공간이므로 1GB 디스크 3개를 '일반'으로 구성하면 충분합니다.
운영 시스템에서 '높음' 이상으로 구성할 경우에는 1GB 이상의 디스크 5개 이상을 사용하면 됩니다.
테스트 목적으로 RAC를 구축하거나 수동으로 관리할 계획이라면 '외부' 중복성으로 구성할 수도 있습니다.
검색된 디스크 선택 목록에서 저장할 디스크(CRS1, CRS2, CRS3)를 선택한 후 <다음> 버튼을 클릭합니다.
J) ASM 비밀번호 지정
SYSASM 권한 사용자의 비밀번호를 설정하는 단계입니다.
실습을 위해 하나의 패스워드로 SYS와 ASMSNMP 계정의 비밀번호를 사용할 것이므로 '이러한 계정에 동일한 비밀번호 사용'을 선택하고 비밀번호를 입력합니다.
암호 복잡도 규칙에 맞는 비밀번호를 입력한 후 <다음> 버튼을 클릭합니다.
K) 실패 분리 지원
'IPMI를 사용 안함'을 선택하고 <다음> 버튼을 클릭합니다.
L) 관리 옵션 지정
별도의 EM 시스템에 등록하지 않는다면, 'EM(Enterprise Manager) Cloud Control에 등록'이 해제된 상태(기본)에서 <다음> 버튼을 클릭합니다.
M) 권한 부여된 운영 체제 그룹
ASM 권한 관련 OS 인증에 사용할 OS 그룹을 선택하는 단계입니다.
정상적으로 지정되었는지 확인하고 <다음> 버튼을 클릭합니다.
간혹 운영 환경에서는 dba로 통합하여 사용하기도 하지만, 클러스터 구성 검증 수행시 생성된 자동 수정 스크립트(runfixup.sh)에서 asmadmin과 asmdba 그룹을 생성합니다.
N) 설치 위치 지정
Oracle Base 경로를 확인하는 단계입니다.
정상적으로 지정이 되었으면 <다음> 버튼을 클릭합니다.
O) 인벤토리 생성
오라클 인벤토리 디렉토리 경로와 인벤토리 그룹을 확인하고 <다음> 버튼을 클릭합니다.
인벤토리에는 오라클 소프트웨어의 설치 정보가 저장됩니다.
가능한 oinstall 그룹을 사용하여 인벤토리를 구성할 것을 권장합니다.
P) 루트 스크립트 실행 구성
클러스터 구성 과정 중에 root 권한으로 스크립트를 실행하는 과정이 있습니다.
'자동으로 구성 스크립트 실행'을 체크하고 '"루트" 사용자 인증서 사용'을 선택한 후 root 계정의 비밀번호를 입력하고 <다음> 버튼을 클릭합니다.
자동으로 구성 스크립트를 실행하기 위해서는 모든 노드의 root 계정 비밀번호가 동일해야 합니다.
만약 노드간에 root 계정의 암호가 다르거나, 수동으로 설치를 진행하고자 할 경우에는 아무 것도 선택하지 않고 다음 단계로 진행하면 수동으로 스크립트 실행을 할 수 있습니다.
Q) 필요 조건 검사 수행
설치에 앞서 서버에 대한 필요 조건 검사가 실행됩니다.
이 단계에서 누락되거나 잘못된 설정을 반드시 수정하고 설치를 진행해야 합니다.
특이사항이 없을 경우에는 자동으로 다음 단계로 넘어갑니다.
R) 요약
본격적인 설치에 앞서 구성될 환경에 대한 요약 정보를 검토합니다.
수정할 사항이 있으면 해당 항목 옆에 '편집'을 클릭하여 변경하면 됩니다.
정확하게 모든 사항이 선택되었으면 <설치> 버튼을 클릭합니다.
S) 제품 설치
로컬 노드와 원격 노드에 GI 설치가 진행됩니다.
로컬 노드에는 GI_HOME 디렉토리에 설치 파일의 압축이 이미 풀려 있으므로, 파일 복제 과정은 생략됩니다.
원격 노드에는 Private 망의 SSH 연결을 통해 설치 파일이 전송되며 GI_HOME 디렉토리에 파일 복제가 진행됩니다
클러스터 구성 스크립트를 자동으로 실행할 것인지 뭍는 창이 뜨면 <예>를 클릭합니다.
설치 과정 중에 입력한 root 사용자의 비밀번호를 이용하여 자동으로 스크립트가 실행됩니다
1번 노드 구성이 완료된 후 2번 노드 구성이 진행됩니다.
자동으로 클러스터 구성이 진행됩니다.
<세부 정보> 버튼을 클릭하면 설치 과정을 확인할 수 있습니다.
인벤토리 정보를 갱신합니다.
Oracle Net Configuration Assistant 수행을 통해 네트워크 구성이 진행됩니다.
Automatic Storage Management Configuration Assistant 가 ASM 구성을 진행합니다.
모든 설치 및 구성이 완료되면 클러스터 검증 유틸리티가 수행됩니다.
특이 사항이 없으면 설치가 완료됩니다.
T) 완료
GI 설치와 구성이 완료되면 <닫기> 버튼을 클릭하여 설치 프로그램을 종료합니다.
U) 결과 확인
crsctl stat res -t
[root@rac1 ~]# crsctl stat res -t -------------------------------------------------------------------------------- Name Target State Server State details -------------------------------------------------------------------------------- Local Resources -------------------------------------------------------------------------------- ora.LISTENER.lsnr ONLINE ONLINE rac1 STABLE ONLINE ONLINE rac2 STABLE ora.chad ONLINE ONLINE rac1 STABLE ONLINE ONLINE rac2 STABLE ora.net1.network ONLINE ONLINE rac1 STABLE ONLINE ONLINE rac2 STABLE ora.ons ONLINE ONLINE rac1 STABLE ONLINE ONLINE rac2 STABLE -------------------------------------------------------------------------------- Cluster Resources -------------------------------------------------------------------------------- ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup) 1 ONLINE ONLINE rac1 STABLE 2 ONLINE ONLINE rac2 STABLE 3 OFFLINE OFFLINE STABLE ora.CRS.dg(ora.asmgroup) 1 ONLINE ONLINE rac1 STABLE 2 ONLINE ONLINE rac2 STABLE 3 OFFLINE OFFLINE STABLE ora.LISTENER_SCAN1.lsnr 1 ONLINE ONLINE rac2 STABLE ora.LISTENER_SCAN2.lsnr 1 ONLINE ONLINE rac1 STABLE ora.LISTENER_SCAN3.lsnr 1 ONLINE ONLINE rac1 STABLE ora.asm(ora.asmgroup) 1 ONLINE ONLINE rac1 Started,STABLE 2 ONLINE ONLINE rac2 Started,STABLE 3 OFFLINE OFFLINE STABLE ora.asmnet1.asmnetwork(ora.asmgroup) 1 ONLINE ONLINE rac1 STABLE 2 ONLINE ONLINE rac2 STABLE 3 OFFLINE OFFLINE STABLE ora.cvu 1 ONLINE ONLINE rac1 STABLE ora.qosmserver 1 ONLINE ONLINE rac1 STABLE ora.rac1.vip 1 ONLINE ONLINE rac1 STABLE ora.rac2.vip 1 ONLINE ONLINE rac2 STABLE ora.scan1.vip 1 ONLINE ONLINE rac2 STABLE ora.scan2.vip 1 ONLINE ONLINE rac1 STABLE ora.scan3.vip 1 ONLINE ONLINE rac1 STABLE --------------------------------------------------------------------------------
crsctl stat res -t 명령을 통해 정상적으로 클러스터가 구성되었는지 확인할 수 있습니다.
{}