베어메탈 솔루션에 RAC를 설치하기 위한 권장사항
이 페이지에는 베어메탈 솔루션에 Oracle RAC를 설치하기 전에 검토할 권장사항이 포함되어 있습니다.
1. 18c Oracle GI 클러스터 이름 길이 버그
Oracle GI 18C에는 베어메탈 솔루션에 영향을 미치는 클러스터 이름 길이 버그가 있습니다.
권장 조치:
클러스터 이름은 15자 미만이어야 합니다. 그렇지 않으면 root.sh
스크립트가 첫 번째 단계에서 host name is too long
오류와 함께 실패합니다.
기본 클러스터 이름이 15자보다 길므로 스크립트를 실행하기 전에 변경해야 합니다.
2. SSH
OPEN ssh
문제로 인해 SSH 인증에 실패할 수 있습니다.
OpenSSH_6.7: ERROR [INS-06003] Failed to setup passwordless SSH connectivity
During Grid Infrastructure Install (Doc ID 2111092.1)
권장 조치:
Edit the `/etc/ssh/sshd_config` file to contain the following line:
KexAlgorithms curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1,diffie-hellman-group1-sha1
변경사항이 적용되도록 sshd 서비스를 다시 시작합니다.
/etc/init.d/sshd restart
3. VNC 서버
VNC와 같은 임의의 서버는 기본 OS 방화벽 구성에 의해 차단됩니다. 대신 SSH를 통해 Xwindows 또는 VNC를 터널링하세요.
ssh -L 5901:localhost:5901 bms-host
vncviewer localhost:1
4. 루트 파일 시스템
루트 /
파일 시스템에 충분한 공간이 있는지 확인하세요.
호스트에서 루트 파일 시스템을 만들려면 20GB 이상이 필요합니다.
5. DNS
Cloud DNS를 사용하지 않는 경우 베어메탈 솔루션에 호스트 IP 주소를 확인하는 자체 네임서버를 설치합니다. Oracle Grid Infrastructure는 nslookup
명령어를 사용하여 DNS 이름을 가져옵니다. nslookup
은 /etc/hosts
를 사용하지 않습니다.
# install these files:
yum makecache
yum install dnsmasq
## Edit /etc/dnsmasq.conf and add these lines:
port=53
domain-needed
bogus-priv
strict-order
expand-hosts
domain=localdomain
address=/.localdomain/127.0.0.1
address=//127.0.0.1
listen-address=127.0.0.1
resolv-file=/etc/dnsmasq-resolv.conf
# Save the file.
# The files /etc/dnsmasq-resolv.conf and /etc/resolv.conf should contain only
# the following one line. Edit them if this is not the case.
nameserver 127.0.0.1
# Start the dnsmasq service:
systemctl restart dnsmasq
systemctl status dnsmasq
# verify the host names are resolved:
nslookup <host name 1>
Server: 127.0.0.1
Address: 127.0.0.1#53
Name: <host name 1>
Address: 192.168.1.10
nslookup <host name 2>
Server: 127.0.0.1
Address: 127.0.0.1#53
Name: <host name 2>
Address: 192.168.1.11
6. NTP 설치
네트워크 시간 프로토콜(NTP)을 설치하고 모든 RAC 노드가 시간을 jumpshot
또는 내부 NTP 서버와 동기화하도록 합니다.
# install and start the NTP service
yum install ntp
systemctl start ntpd
# Add the following line to the /etc/ntp.conf file. In this case we are syncing
# with our bastion which is 10.x.x.x in this case. This can be your internal NTP
server. 192.x.x.x is your host.
restrict 192.x.x.x mask 255.255.255.0 nomodify notrap
server 10.x.x.x prefer
ntpdate -qu {your host name}
7. root.sh
root.sh
을 실행할 때는 한 번에 하나의 노드를 실행하세요.
8. Localhost
localhost
이 127.0.0.1
에 대응하는지 확인합니다. 호스트가 /etc/hosts
파일에 localhost를 넣지 않습니다.
9. Ulimit
루트 및 Oracle 사용자의 ulimit에 한도가 충분한지 확인합니다.
10. 키 갱신 작업에서 SCP 파일 복사에 시간이 오래 걸림
이는 베어메탈 솔루션 ssh 데몬 구성 문제로 인한 것입니다.
권장 조치:
# Modify your ssh config on the host server side.
vi /etc/ssh/sshd_config
# Add this line or modify it if you already set.
ClientAliveInterval 420
# Restart SSH
service sshd restart
11. OracleASM
Oracle ASMLIB를 사용하는 경우 Oracle 자동 스토리지 관리에서 먼저 단일 경로 ASM 기기를 선택하지 않도록 ORACLEASM_SCANORDER 환경 변수를 설정해야 합니다.
권장 조치: 아래와 같이 scanorder를 설정하세요.
ORACLEASM_SCANORDER="multipath sd"
12. CRS root.sh 또는 OCSSD가 No Network HB
오류와 함께 실패
Oracle Cluster Ready 서비스(CRS)를 사용하면, 노드가 169.254.169.254
IP 주소를 핑할 수 있는 경우 root.sh
스크립트가 실패할 수 있습니다.
169.254.169.254
는 Google Cloud에 인스턴스를 등록하는 Google Cloud 메타데이터 서비스입니다. 이 IP 주소를 차단하면 Google Cloud VM이 부팅될 수 없습니다. 하지만 베어메탈 솔루션 RAC 서버는 HAIP
통신 경로를 방해할 수 있으므로 HAIP
통신 문제가 발생합니다.
이 경우 IP 주소를 차단하거나 HAIP
를 사용 중지해야 할 수 있습니다. 다음 예는 경로 문을 사용하여 IP를 차단하는 방법을 보여줍니다. Linux 경로 문이 영구적이지 않으므로 네트워크 또는 rc 스크립트에 추가해야 합니다.
권장 조치: root.sh
를 다시 실행하기 전에 모든 노드에서 다음을 실행하세요.
/sbin/route add -host 169.254.169.254 reject
# To make a permanent change, add the route statement to rc script.
chmod +x /etc/rc.d/rc.local
# Edit /etc/rc.d/rc.local and add this line:
/sbin/route add -host 169.254.169.254 reject
# Enable rc-local service
systemctl status rc-local.service
systemctl enable rc-local.service
systemctl start rc-local.service
13. Linux 커널 버그
머신에 Redhat, OVM, SUSIE LINUX용 LUN이 많이 연결되어 있으면 재부팅이 중단됩니다.
권장 조치: 기본 워치독 제한 시간 값을 늘립니다.
# Under /etc/systemd create a folder named: system.conf.d
# In this folder, create a *.conf file, example:
/etc/systemd/system.conf.d/kernel-reboot-workaround.conf
# The file needs to contain the following information:
[Manager]
RuntimeWatchdogSec=5min
ShutdownWatchdogSec=5min
또는
다음 대안을 사용하세요.
# Edit the /etc/default/grub file.
# remove quote from settings, then add the following after this parameter
# GRUB_CMDLINE_LINUX :
acpi_no_watchdog DefaultTimeoutStartSec=900s DefaultTimeoutStopSec=900s
2-3. Rebuild the grub
grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg
14. Max_sector_kb 문제
CRS 설치 로그 및 /var/log/messages
에서 exceed Max_sector_size
오류와 함께 Oracle Grid Infrastructure(GI) 설치가 실패할 수 있습니다.
권장 조치:
# Add max_sectors_kb 1024 under the multipath entry for all the devices (WWIDs)
# that need the setting modified (under multipaths). All of them should look
# similar to the following: multipath
{ wwid xxxxxyyyyyzzzz1111222
alias asm-data1
max_sectors_kb 1024 }
# Delete the map (multipath -f ). This needs to be done for all devices that
# need the setting modified Ex: multipath -f casm-dat001
# Reload the map: multipath -r
# In order to make this setting persistent across reboots, `initramfs` needs to
# be regenerated (the following command will regenerate all kernel versions):
KERNELS=$(rpm -q kernel --qf '%{version}-%{release}.%{arch}\n')
for kernel_version in $KERNELS
do
dracut -v -f -a multipath /boot/initramfs-$kernel_version.img
done
15. 12C Grid 인프라 문제.
12C Grid 인프라가 Rejecting connection from node 2 as
MultiNode RAC isn't supported or certified in this configuration
과 함께 실패할 수 있습니다.
원인:
IP 169.254.169.254
가 클라우드 VM의 로컬 메타데이터 서비스로 전달되고 있으므로 베어메탈 솔루션 호스트가 클라우드 VM인 것처럼 보입니다. 이러한 구성은 클라우드 VM의 비공개 서비스 계정 키도 유출합니다.
권장 조치:
NAT 구성이 보안에 미치는 영향을 고려하고 외부 네트워크 액세스를 최대한 제한하세요.
클라우드 VM에서 메타데이터 서비스에 대한 액세스를 차단하세요.
firewall-cmd --direct --add-rule ipv4 filter FORWARD 0 -d 169.254.169.254 -j REJECT --reject-with icmp-host-unreachable
firewall-cmd --permanent --direct --add-rule ipv4 filter FORWARD 0 -d 169.254.169.254 -j REJECT --reject-with icmp-host-unreachable
BMS 호스트에서 메타데이터 서비스에 대한 액세스를 차단하세요.
firewall-cmd --direct --add-rule ipv4 filter OUTPUT 0 -d 169.254.169.254 -j REJECT --reject-with icmp-host-unreachable
firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 0 -d 169.254.169.254 -j REJECT --reject-with icmp-host-unreachable