🚀 ĐO BĂNG THÔNG MẠNG GIỮA CÁC NODE ORACLE RAC BẰNG IPERF3
Trong Oracle RAC, Interconnect Network là một trong những thành phần hạ tầng quan trọng nhất.
Bạn có thể có server mạnh, Storage All-Flash, switch 10/25/40Gbps… nhưng nếu đường mạng Private Interconnect giữa các RAC Node có vấn đề thì Cache Fusion và hiệu năng toàn cụm có thể bị ảnh hưởng trực tiếp.
Vấn đề là:
Card mạng 10G + Switch 10G chưa chắc có nghĩa băng thông thực tế đạt 10Gbps.
Dưới đây là một cách rất đơn giản để kiểm chứng bằng iperf3.
📑 MỤC LỤC
1. Vấn đề cần kiểm tra
2. Tại sao Network quan trọng với Oracle RAC?
3. Kiểm tra cấu hình NIC trước khi test
4. Đo băng thông bằng iperf3
5. Đọc và đánh giá kết quả
6. Test nâng cao cho RAC
7. Xử lý khi mạng 10G nhưng chỉ chạy ~1G
8. Checklist kiểm tra RAC Interconnect
9. Kết luận
1. 🔥 VẤN ĐỀ
Giả sử chúng ta triển khai Oracle RAC 2 Node:
PRIVATE INTERCONNECT
RAC NODE 1 RAC NODE 2
192.168.0.2 192.168.0.1
│ │
│ 10 Gbps │
├────────── SWITCH ────────────────┤
│ │
NIC 10G NIC 10G
Theo thiết kế:
NIC Node 1 = 10Gbps
NIC Node 2 = 10Gbps
Switch = 10Gbps
--------------------------------
Kỳ vọng ≈ 10Gbps
Nhưng thiết kế 10G không đồng nghĩa thực tế chắc chắn đạt 10G.
Trong quá trình triển khai có thể gặp:
- Cáp/quang/transceiver không đúng chuẩn.
- NIC negotiation sai.
- Switch port cấu hình sai.
- Bonding/teaming không đúng.
- MTU giữa các thiết bị không đồng nhất.
- NIC hoặc switch port phát sinh error/drop.
- Driver/Firmware NIC có vấn đề.
- Traffic đi nhầm interface.
- Một thành phần trung gian chỉ hỗ trợ 1G.
- Routing/network configuration không đúng.
Kết quả có thể là:
Thiết kế: 10 Gbps
│
▼
Có vấn đề hạ tầng
│
▼
Thực tế: ~1 Gbps
Nếu chỉ kiểm tra cấu hình mà không benchmark thực tế, DBA có thể không phát hiện ra vấn đề.
2. 🧠 TẠI SAO NETWORK QUAN TRỌNG VỚI ORACLE RAC?
Oracle RAC sử dụng Private Interconnect để các instance trao đổi dữ liệu và thông tin điều phối.
Một trong những cơ chế quan trọng nhất là:
Application
│
▼
Oracle Instance 1
│
│ cần block đang nằm ở Instance 2
▼
Private Interconnect
│
▼
Oracle Instance 2
│
▼
Buffer Cache
Thay vì lúc nào cũng đọc block lại từ storage, RAC có thể chuyển block giữa các instance qua Cache Fusion.
Do đó:
Interconnect tốt
↓
Latency thấp
↓
Block transfer nhanh
↓
Cache Fusion tốt
↓
RAC hoạt động hiệu quả
Ngược lại, nếu Interconnect có vấn đề, có thể thấy các biểu hiện như:
gc cr request
gc current request
gc cr block busy
gc current block busy
gc buffer busy acquire
Tuy nhiên cần lưu ý: các gc wait cao không tự động có nghĩa network bị lỗi. Chúng còn phụ thuộc workload, contention, hot block, thiết kế ứng dụng… Vì vậy phải kết hợp AWR/ASH và các chỉ số OS/network để kết luận.
3. 🔎 TRƯỚC TIÊN KIỂM TRA NIC
Trước khi chạy iperf3, tôi thường kiểm tra link của cả hai node.
Ví dụ:
ethtool eth1
Tìm:
Speed: 10000Mb/s
Duplex: Full
Link detected: yes
Nếu là NIC 10G nhưng xuất hiện:
Speed: 1000Mb/s
thì đã có dấu hiệu cần kiểm tra ngay.
Kiểm tra MTU
ip link show eth1
Ví dụ:
mtu 9000
Nếu sử dụng Jumbo Frame thì phải bảo đảm end-to-end đều hỗ trợ cùng MTU.
Có thể kiểm tra bằng:
ping -M do -s 8972 192.168.0.1
Với IPv4 Ethernet thông thường, payload 8972 + 20-byte IP header + 8-byte ICMP header tương ứng MTU 9000.
4. 🚀 ĐO BĂNG THÔNG THỰC TẾ BẰNG IPERF3
Đây mới là bước quan trọng.
Bước 1 – Cài iperf3
Trên Oracle Linux/RHEL, tùy repository đang được enable:
dnf install iperf3
hoặc:
yum install iperf3
Kiểm tra:
iperf3 --version
Bước 2 – Node đích chạy Server
Ví dụ Node 2 có Private IP:
192.168.0.1
Chạy:
iperf3 -s
Mặc định iperf3 lắng nghe TCP port:
5201
Mô hình lúc này:
NODE 1 NODE 2
192.168.0.2 192.168.0.1
iperf3 Client ────────────────► iperf3 Server
TCP/5201
5. 🧪 NODE 1 CHẠY TEST
Trên Node 1:
iperf3 -c 192.168.0.1
Trong hình kết quả thu được khoảng:
0.00-10.00 sec 11.5 GBytes 9.90 Gbits/sec sender
0.00-10.04 sec 11.5 GBytes 9.86 Gbits/sec receiver
🎯 Kết luận
Đây là một kết quả rất tốt đối với đường 10GbE.
┌───────────────────────────────┐
│ NETWORK TEST RESULT │
├───────────────────────────────┤
│ Link thiết kế : 10 Gbps │
│ Sender : 9.90 Gbps │
│ Receiver : 9.86 Gbps │
│ │
│ ✅ ĐẠT YÊU CẦU │
└───────────────────────────────┘
TCP throughput thực tế gần sát line rate 10Gbps cho thấy đường truyền đang hoạt động tốt về throughput trong bài test này.
6. ⚠️ ĐỪNG CHỈ TEST MỘT CHIỀU
Đối với RAC, tôi khuyến nghị test hai chiều.
Node 1 → Node 2
iperf3 -c 192.168.0.1
Node 2 → Node 1
Đổi Node 1 thành server:
iperf3 -s
Node 2:
iperf3 -c 192.168.0.2
Hoặc với phiên bản iperf3 hỗ trợ reverse test:
iperf3 -c 192.168.0.1 -R
Kỳ vọng:
Node1 ───── ~10G ─────► Node2
Node1 ◄──── ~10G ────── Node2
✅
Hai chiều đều tốt
7. 🔬 TEST KỸ HƠN VỚI PARALLEL STREAM
Một TCP stream đôi khi chưa khai thác hết đường truyền, nhất là mạng nhanh hơn hoặc có độ trễ đáng kể.
Có thể chạy:
iperf3 -c 192.168.0.1 -P 4
hoặc:
iperf3 -c 192.168.0.1 -P 8
Trong đó:
-P 4
nghĩa là tạo 4 TCP stream song song.
Đây cũng là cách hữu ích để phân biệt trường hợp đường truyền thực sự bị giới hạn với trường hợp một TCP stream không tận dụng hết bandwidth.
8. 🚨 NẾU 10G MÀ CHỈ ĐO ĐƯỢC ~1G THÌ LÀM GÌ?
Ví dụ:
iperf3 result
Bitrate: 940 Mbits/sec
Trong khi thiết kế:
10 Gbps
thì cần điều tra.
Đầu tiên:
ethtool eth1
Kiểm tra:
Speed
Duplex
Link detected
Tiếp theo:
ip -s link show eth1
Tìm các chỉ số:
RX errors
TX errors
dropped
overruns
Kiểm tra chi tiết NIC:
ethtool -S eth1
Sau đó kiểm tra phía switch:
Switch Port
│
├── Speed
├── Duplex
├── CRC Error
├── Input Error
├── Output Error
├── Drop
└── MTU
Và kiểm tra toàn bộ đường đi:
Oracle RAC Node 1
│
NIC
│
Cable/SFP
│
Switch Port
│
Switch
│
Switch Port
│
Cable/SFP
│
NIC
│
Oracle RAC Node 2
Chỉ cần một mắt xích có vấn đề cũng có thể ảnh hưởng đến toàn bộ đường truyền.
9. 📋 CHECKLIST RAC INTERCONNECT
Khi nghiệm thu hoặc Health Check Oracle RAC, tôi khuyến nghị ít nhất kiểm tra:
|
Hạng mục |
Lệnh/Phương pháp |
Kỳ vọng |
|
Link speed |
ethtool <NIC> |
10G/25G… đúng thiết kế |
|
Duplex |
ethtool <NIC> |
Full |
|
MTU |
ip link |
Đồng nhất |
|
Jumbo Frame |
ping -M do |
Thành công nếu thiết kế MTU 9000 |
|
Throughput |
iperf3 |
Gần bandwidth thiết kế |
|
2 chiều |
iperf3, -R |
Đều tốt |
|
Parallel |
iperf3 -P 4 |
Không có bottleneck bất thường |
|
NIC Error |
ip -s link |
Không tăng bất thường |
|
NIC Statistics |
ethtool -S |
Không CRC/drop bất thường |
|
Switch |
kiểm tra port |
Không error/drop |
|
RAC interface |
oifcfg getif |
Private đúng interface/subnet |
Đặc biệt nên kiểm tra Oracle đang nhận diện đúng Private Interconnect:
oifcfg getif
Ví dụ:
eth0 10.0.0.0 global public
eth1 192.168.0.0 global cluster_interconnect
🎯 KẾT LUẬN
Đừng nghiệm thu Oracle RAC chỉ bằng câu:
“Switch 10G, card 10G nên chắc chắn mạng chạy 10G.”
Hãy đo thực tế.
Chỉ mất vài phút:
NODE 2
iperf3 -s
▲
│ Private Interconnect
│
NODE 1
iperf3 -c 192.168.0.1
Nếu nhận được:
9.90 Gbits/sec sender
9.86 Gbits/sec receiver
thì có thể kết luận bài test TCP throughput đang khai thác gần đầy đường 10GbE. ✅
Nhưng với Oracle RAC, bandwidth chỉ là một nửa câu chuyện. Yếu tố cực kỳ quan trọng còn lại là latency, packet loss, MTU, NIC/switch errors và độ ổn định của Interconnect, bởi Cache Fusion thường rất nhạy với độ trễ.
💡 Nguyên tắc của DBA:
Đừng tin cấu hình trên giấy — hãy đo trên hệ thống thật.
Trần Văn Bình – VietDBA
#Oracle #OracleRAC #OracleDBA #Linux #Iperf3 #Interconnect #CacheFusion #Performance #VietDBA
TƯ VẤN: Click Here hoặc Hotline/Zalo 090.29.12.888
=============================
Website không chứa bất kỳ quảng cáo nào, mọi đóng góp để duy trì phát triển cho website (donation) xin vui lòng gửi về STK 90.2142.8888 - Ngân hàng Vietcombank Thăng Long - TRAN VAN BINH
=============================
Nếu bạn không muốn bị AI thay thế và tiết kiệm 3-5 NĂM trên con đường trở thành DBA chuyên nghiệp hay làm chủ Database thì hãy đăng ký ngay KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE, được Coaching trực tiếp từ tôi với toàn bộ bí kíp thực chiến, thủ tục, quy trình của gần 20 năm kinh nghiệm (mà bạn sẽ KHÔNG THỂ tìm kiếm trên Internet/Google) từ đó giúp bạn dễ dàng quản trị mọi hệ thống Core tại Việt Nam và trên thế giới, đỗ OCP.
- CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
- Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
2 khóa học online qua video giúp bạn nhanh chóng có những kiến thức nền tảng về Linux, Oracle, học mọi nơi, chỉ cần có Internet/4G:
- Oracle cơ bản: https://bit.ly/admin_1200
- Linux: https://bit.ly/linux_1200
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile/Zalo: 0902912888
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: https://www.youtube.com/@binhguru
👨 Tiktok: https://www.tiktok.com/@binhguru
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhguru
👨 Podcast: https://www.podbean.com/pu/pbblog-eskre-5f82d6
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội
=============================
cơ sở dữ liệu, cơ sở dữ liệu quốc gia, database, AI, trí tuệ nhân tạo, artificial intelligence, machine learning, deep learning, LLM, ChatGPT, DeepSeek, Grok, oracle tutorial, học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,sql tutorial, khóa học pl/sql tutorial, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c/21c/23c/23ai, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail,oracle RAC, ASM, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, postgresql tutorial, mysql tutorial, mariadb tutorial, ms sql server tutorial, nosql, mongodb tutorial, oci, cloud, middleware tutorial, docker, k8s, micro service, hoc solaris tutorial, hoc linux tutorial, hoc aix tutorial, unix tutorial, securecrt, xshell, mobaxterm, putty