11gR2 RAC启用iptables导致节点宕机问题处理
在安装数据库时,绝大多数都是要求把selinux及iptables关闭,然后再进行安装的。但是在运营商的系统中,很多安全的因素,需要将现
通常,在安装数据库时,绝大多数都是要求把selinux及iptables关闭,然后再进行安装的。但是在运营商的系统中,很多安全的因素,需要将现网的数据库主机上的iptables开启的。
在开启iptables时就要注意了,比如一RAC中的hosts配置如下:
192.168.142.115 subsdb1
192.168.142.117 subsdb1-vip
10.0.0.115 subsdb1-priv
192.168.142.116 subsdb2
192.168.142.118 subsdb2-vip
10.0.0.116 subsdb2-priv
192.168.142.32 db-scan
那么理所当然的要将上面的IP都要放通的。但是在实际操作中,,已经放通了上面的IP,结果数据库一的个实例宕掉了。
看看数据库的alert日志:
Tue Aug 20 00:29:40 2013
IPC Send timeout detected. Sender: ospid 8284 [Oracle@subsdb2 (LMD0)]
Receiver: inst 1 binc 1740332689 ospid 15851
IPC Send timeout to 1.0 inc 10 for msg type 65521 from opid 12
Tue Aug 20 00:29:48 2013
IPC Send timeout detected. Sender: ospid 8276 [oracle@subsdb2 (PING)]
Receiver: inst 2 binc 1801834534 ospid 8276
Tue Aug 20 00:29:52 2013
Detected an inconsistent instance membership by instance 2
Errors in file /oracle/app/oracle/diag/rdbms/gdordb/GDORDB2/trace/GDORDB2_lmon_8282.trc (incident=784092):
ORA-29740: evicted by instance number 2, group incarnation 12
Incident details in: /oracle/app/oracle/diag/rdbms/gdordb/GDORDB2/incident/incdir_784092/GDORDB2_lmon_8282_i784092.trc
Use ADRCI or Support Workbench to package the incident.
See Note 411.1 at My Oracle Support for error and packaging details.
Errors in file /oracle/app/oracle/diag/rdbms/gdordb/GDORDB2/trace/GDORDB2_lmon_8282.trc:
ORA-29740: evicted by instance number 2, group incarnation 12
LMON (ospid: 8282): terminating the instance due to error 29740
Tue Aug 20 00:29:54 2013
ORA-1092 : opitsk aborting process
Tue Aug 20 00:29:54 2013
License high water mark = 29
Tue Aug 20 00:29:57 2013
System state dump requested by (instance=2, osid=8282 (LMON)), summary=[abnormal instance termination].
System State dumped to trace file /oracle/app/oracle/diag/rdbms/gdordb/GDORDB2/trace/GDORDB2_diag_8272.trc
Instance terminated by LMON, pid = 8282
USER (ospid: 31106): terminating the instance
Instance terminated by USER, pid = 31106
单纯从上面来看,初步可以断定是内部通信有问题,但是如何解决?
但再从数据库的alert和ASM实例的alert日志中都有这样的信息:
Private Interface 'bond2:1' configured from GPnP for use as a private interconnect.
[name='bond2:1', type=1, ip=169.254.148.209, mac=00-25-b5-00-00-67, net=169.254.0.0/16, mask=255.255.0.0, use=haip:cluster_interconnect/62]
Public Interface 'bond0' configured from GPnP for use as a public interface.
[name='bond0', type=1, ip=192.168.142.116, mac=00-25-b5-00-01-cb, net=192.168.142.0/24, mask=255.255.255.0, use=public/1]
Picked latch-free SCN scheme 3
从这个信息来看,RAC的内部通信还要用到net=169.254.0.0/16的IP,再从MOS Doc ID 1383737.1也有这样的说明,最后用ifconfig查到了RAC的两个节点中使用到的169网段的IP为:
169.254.122.59
169.254.148.209
在iptables中放通了这两个IP后,集群正常。
推荐阅读:
iptables—包过滤(网络层)防火墙
Linux防火墙iptables详细教程
iptables+L7+Squid实现完善的软件防火墙

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

AlpineLinux에서는 iptables 도구를 사용하여 방화벽 규칙을 구성하고 관리할 수 있습니다. AlpineLinux에서 방화벽을 활성화 또는 비활성화하는 기본 단계는 다음과 같습니다. 방화벽 상태를 확인하십시오: sudoiptables -L 출력에 규칙이 표시되면(예: 일부 INPUT, OUTPUT 또는 FORWARD 규칙이 있음) 방화벽이 활성화된 것입니다. 출력이 비어 있으면 방화벽이 현재 비활성화된 것입니다. 방화벽 활성화: sudoiptables-PINPUTACCEPTsudoiptables-POUTPUTACCEPTsudoiptables-PFORWARDAC

nftables는 iptables와 어떻게 다릅니까? 거의 모든 Linux 관리자는 Linux 시스템용 방화벽인 iptables를 사용해 왔습니다. 하지만 여러분은 몇 가지 필요한 업그레이드를 제공하고 iptables를 대체할 수 있는 새로운 방화벽인 nftables에 익숙하지 않을 수도 있습니다. nftable을 사용하는 이유는 무엇입니까? nftables는 현재 iptables를 관리하는 조직인 Netfilter에 의해 개발되었습니다. nftables는 iptables의 일부 성능 및 확장 문제를 해결하기 위해 만들어졌습니다. 새로운 구문과 일부 업그레이드 외에도 nftables는 iptab과 동일한 기능을 갖습니다.

Linux 시스템에서 iptables는 네트워크 패킷 필터링 규칙을 구성하고 관리하는 데 사용되는 도구입니다. 이를 통해 사용자는 미리 설정된 규칙에 따라 네트워크에 들어오고 나가는 패킷을 필터링할 수 있으며 이를 통해 네트워크 액세스 제어, 패킷 전달 등을 실현할 수 있습니다. 기능, Debian 시스템 , iptables는 기본적으로 설치되어 있지만, 설치되어 있지 않은 경우에는 수동으로 설치해야 합니다. 이 글에서는 Debian에서 iptables를 설치하고 관련 규칙을 구성하는 방법을 소개합니다. iptables1을 설치하고 터미널을 열고 루트 사용자로 로그인합니다. 2. 다음 명령을 실행하여 iptables를 설치하십시오: ```shellsudoapt-getupdatesudoapt-ge

연결 추적은 많은 웹 애플리케이션의 기초입니다. 예를 들어 Kubernetes Service, ServiceMesh 사이드카, 소프트웨어 4계층 로드 밸런서 LVS/IPVS, Docker 네트워크, OVS, iptables 호스트 방화벽 등은 모두 연결 추적 기능에 의존합니다.

Linux 시스템의 iptables와 Firewalld는 모두 방화벽 규칙을 구성하는 도구입니다. 기능과 사용 방법에 약간의 차이가 있습니다. iptables: iptables는 Linux 시스템의 가장 고전적이고 전통적인 방화벽 도구로 기본적으로 iptables를 사용합니다. 방화벽 구성 도구. Iptables는 커널 공간의 netfilter 프레임워크를 기반으로 하며 커널에서 iptables 규칙 테이블을 직접 운영하여 네트워크 데이터 패킷을 필터링하고 처리합니다. iptables는 규칙 체인과 테이블의 개념을 사용하여 공통 필터와 같은 방화벽 규칙을 구성하고 관리합니다.

다음은 일반적으로 사용되는 두 가지 방화벽 도구인 iptables 및 Firewalld를 다루는 간략한 Linux 방화벽 구성 튜토리얼입니다. iptables는 Linux에서 가장 일반적으로 사용되는 방화벽 도구 중 하나이며, Firewalld는 CentOS7 및 그 파생 제품의 기본 방화벽 관리 도구입니다. iptables 방화벽 구성: 현재 방화벽 규칙 보기: iptables -L -n 현재 방화벽 규칙 지우기: iptables -F 특정 포트에서 인바운드 연결 허용: iptables-AINPUT-p --dport-jACCEPT 예를 들어 TCP 프로토콜의 포트 80을 허용합니다.

1: 머리말 방화벽은 Linux에서 액세스 제어 기능을 구현하는 데 사용되며 하드웨어 방화벽과 소프트웨어 방화벽의 두 가지 유형으로 나뉩니다. 어떤 네트워크에 있든 방화벽이 작동하는 장소는 네트워크 가장자리에 있어야 합니다. 우리의 임무는 방화벽이 작동하는 방식을 정의하는 것입니다. 이는 방화벽의 정책과 규칙으로, 네트워크에 들어오고 나가는 IP와 데이터를 감지할 수 있습니다. 현재 시중에 나와 있는 보다 일반적인 방화벽에는 네트워크 계층 방화벽이라고 하는 계층 3 및 계층 4 방화벽과 실제로 프록시 계층의 게이트웨이인 계층 7 방화벽이 포함됩니다. TCP/IP의 7계층 모델의 경우 세 번째 계층이 네트워크 계층이고 3계층 방화벽이 이 계층에서 소스 주소와 대상 주소를 감지한다는 것을 알고 있습니다. 하지만 7계층 방화벽의 경우에는 그렇지 않습니다.

Kubernetes에서 kube-proxy가 네트워크 프록시라는 것은 누구나 알고 있습니다. 주요 역할은 클러스터의 서비스에 대한 로드 밸런싱 및 서비스 검색 기능을 제공하는 것입니다. kube-proxy에는 다양한 작동 모드가 있으며 그 중 iptables 모드와 ipvs 모드는 두 가지 공통 모드입니다. iptables 모드에서 kube-proxy는 iptables 규칙을 통해 로드 밸런싱과 서비스 검색을 구현하는 반면, ipvs 모드는 Linux 커널의 IPVS(IPVirtualServer) 기술을 사용하여 보다 효율적인 로드 밸런싱을 달성합니다. 적절한 모드를 선택하는 것은 클러스터의 요구 사항과 성능 요구 사항에 따라 다릅니다. iptables 모드는 소규모 세트에 적합합니다.
