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
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











AlpineLinux では、iptables ツールを使用してファイアウォール ルールを構成および管理できます。 AlpineLinux でファイアウォールを有効または無効にする基本的な手順は次のとおりです。 ファイアウォールのステータスを確認します。 sudoiptables -L 出力にルールが表示されている場合 (たとえば、いくつかの INPUT、OUTPUT、または FORWARD ルールがある)、ファイアウォールは有効になっています。出力が空の場合、ファイアウォールは現在無効になっています。ファイアウォールを有効にする: sudoiptables-PINPUTACCEPTsudoiptables-POUTPUTACCEPTsudoiptables-PFORWARDAC

nftables とは何ですか? iptables との違いは何ですか?ほぼすべての Linux 管理者は、Linux システム用のファイアウォールである iptables を使用したことがあります。しかし、nftables については馴染みがないかもしれません。nftables は、必要なアップグレードを提供し、iptables を置き換える可能性がある新しいファイアウォールです。 nftable を使用する理由nftables は、現在 iptables を保守している組織である Netfilter によって開発されました。 nftables は、iptables のパフォーマンスとスケーリングの問題を解決するために作成されました。新しい構文といくつかのアップグレードに加えて、nftables には iptab と同じ機能があります。

Linuxシステムでは、iptablesはネットワークパケットフィルタリングルールを設定・管理するツールであり、あらかじめ設定されたルールに従ってネットワークに出入りするパケットをフィルタリングすることで、ネットワークアクセス制御やパケット転送などを実現します。 , iptables はデフォルトでインストールされていますが、インストールされていない場合は手動でインストールする必要があります。この記事では、Debian に iptables をインストールし、関連ルールを設定する方法を紹介します。 iptables1 をインストールし、ターミナルを開き、root ユーザーとしてログインします。 2. 次のコマンドを実行して iptables をインストールします: ```shellsudoapt-getupdatesudoapt-ge

接続追跡は、多くの Web アプリケーションの基礎です。たとえば、Kubernetes Service、ServiceMesh サイドカー、ソフトウェア 4 層ロード バランサー LVS/IPVS、Docker ネットワーク、OVS、iptables ホスト ファイアウォールなどはすべて接続追跡機能に依存しています。

Linux システムの iptables と Firewalld はどちらも、ファイアウォール ルールを構成するためのツールです。機能と使用方法にいくつかの違いがあります: iptables: iptables は、Linux システムで最も古典的かつ伝統的なファイアウォール ツールです。Linux の初期バージョンでは、デフォルトで iptables が使用されます。ファイアウォール設定ツール。 iptables はカーネル空間の netfilter フレームワークに基づいており、カーネル内の iptables ルール テーブルを直接操作することでネットワーク データ パケットをフィルタリングおよび処理します。 iptables は、ルール チェーンとテーブルの概念を使用して、共通フィルターなどのファイアウォール ルールを編成および管理します。

以下は、Linux ファイアウォール構成の簡単なチュートリアルであり、一般的に使用される 2 つのファイアウォール ツール、iptables と firewalld について説明しています。 iptables は Linux で最も一般的に使用されるファイアウォール ツールの 1 つであり、firewalld は CentOS7 とその派生製品のデフォルトのファイアウォール管理ツールです。 iptables ファイアウォール設定: 現在のファイアウォール ルールを表示: iptables -L -n 現在のファイアウォール ルールをクリア: iptables -F 特定のポートでの受信接続を許可: iptables-AINPUT-p--dport-jACCEPT たとえば、TCP プロトコルのポート 80 を許可します。

1: はじめに ファイアウォールとは、端的に言えば、Linux 上でアクセス制御機能を実装するために使用され、ハードウェア ファイアウォールとソフトウェア ファイアウォールの 2 種類に分けられます。どのネットワークにいても、ファイアウォールが機能する場所はネットワークのエッジにある必要があります。私たちのタスクは、ファイアウォールの仕組みを定義することです。これは、ネットワークに出入りする IP とデータを検出できるようにするファイアウォールの戦略とルールです。現在、市場でより一般的なファイアウォールには、ネットワーク層ファイアウォールと呼ばれるレイヤー 3 およびレイヤー 4 ファイアウォールと、実際にはプロキシ層のゲートウェイであるレイヤー 7 ファイアウォールが含まれます。 TCP/IP の 7 層モデルの場合、3 番目の層がネットワーク層であることがわかっており、3 層ファイアウォールはこの層で送信元アドレスと宛先アドレスを検出します。しかし、7 層ファイアウォールの場合は、そうではありません。

Kubernetes では、kube-proxy がネットワーク プロキシであることは誰もが知っていますが、その主な役割は、クラスタ内のサービスにロード バランシングとサービス ディスカバリ機能を提供することです。 kube-proxy にはさまざまな動作モードがあり、その中で iptables モードと ipvs モードが 2 つの一般的なモードです。 iptables モードでは、kube-proxy は iptables ルールを通じて負荷分散とサービス検出を実装しますが、ipvs モードでは Linux カーネルの IPVS (IPVirtualServer) テクノロジーを使用して、より効率的な負荷分散を実現します。適切なモードの選択は、クラスターのニーズとパフォーマンス要件によって異なります。 iptables モードは小規模なセットに適しています
