NTCOM
Tích hợp hệ thống CNTT - Viễn thông

Cấu hình Juniper EX3400: từ console đến High Availability (HA)

Tác giả

Nguyen Huu Cuong

Ngày đăng

Cấu hình Juniper EX3400 từ console đến High Availability với Virtual Chassis - NTCOM

Trên Juniper EX3400, High Availability (HA) thực chất là Virtual Chassis: ghép tối đa 10 switch EX3400 thành một thiết bị logic, một máy giữ vai trò primary, một máy backup, các máy còn lại là linecard. Chỉ ghép cáp cho "lên đèn" thì chưa phải HA. Muốn chuyển đổi không rớt mạng phải bật thêm GRES, NSR, NSB, chọn đúng chế độ split detection và chia LAG qua nhiều thành viên. Bài này đi từ console tới cấu hình HA hoàn chỉnh, rồi tập trung vào các lỗi HA kỹ sư NTCOM hay gặp ngoài công trình và cách xử lý.

Hiểu nhanh bằng hình

Virtual Chassis Juniper EX3400 giải thích bằng hình: nối các switch thành vòng bằng cổng QSFP+, một máy primary và một máy backup luôn đồng bộ, và cơ chế chống chia đôi khi đứt cáp VCP

Sửa lại vài hiểu lầm hay gặp về HA trên EX3400

Nhiều tài liệu trên mạng, kể cả bản trước của bài này, trộn lẫn cú pháp của các dòng khác vào EX3400. Trước khi cấu hình, cần chốt mấy điểm sau theo tài liệu Juniper:

  • EX3400 dùng Virtual Chassis, không phải Virtual Chassis Fabric. Hardware Guide ghi rõ tối đa 10 switch EX3400 trong một Virtual Chassis chỉ gồm EX3400; các model EX3400 khác nhau (24T, 48P...) ghép chung được.
  • Không có lệnh set virtual-chassis vcf-mode hay vc-mode enabled cho EX3400. Vai trò primary/backup được bầu theo mastership-priority, không cấu hình kiểu "role master".
  • Graceful Restart khác GRES. Graceful Restart là cơ chế của giao thức định tuyến (nằm ở routing-options và từng giao thức), nhờ hàng xóm giữ tuyến. GRES (graceful Routing Engine switchover) là chuyển Routing Engine giữa primary và backup trong Virtual Chassis. Bật NSR thì không dùng Graceful Restart song song.
  • Nâng cấp không gián đoạn là NSSU (request system software nonstop-upgrade), không phải ISSU. EX3400 chỉ có NSSU khi chạy Virtual Chassis; một máy đứng lẻ thì nâng cấp luôn phải khởi động lại.
  • Cổng VCP mặc định là 2 cổng QSFP+ 40GbE trên mặt trước, không phải cổng đồng ge-0/0/47.

Chuẩn bị: console, phiên bản Junos và đi cáp

Cổng console của EX3400 là RJ-45, thông số 9600 baud, 8 data bit, không parity, 1 stop bit, không flow control. Máy mới đăng nhập bằng root không mật khẩu; việc đầu tiên là đặt mật khẩu root và tắt chế độ ZTP nếu không dùng, nếu không máy sẽ liên tục in thông báo auto-image-upgrade.

plaintext
root@:RE:0% cli
root> configure
root# delete chassis auto-image-upgrade
root# set system root-authentication plain-text-password
root# set system host-name SW-CORE-VC
root# commit and-quit
root> show version
root> show chassis hardware

Ba việc phải kiểm trên từng máy trước khi ghép:

  1. Cùng phiên bản Junos. Máy lệch phiên bản sẽ không vào được Virtual Chassis. Nâng cấp từng máy lẻ trước, ghi lại số phiên bản bằng show version.
  2. Cổng VCP còn ở trạng thái VCP. Chạy show virtual-chassis vc-port. Nếu QSFP+ đã bị chuyển thành cổng mạng (et-0/1/0, et-0/1/1), đưa về VCP bằng request virtual-chassis vc-port set pic-slot 1 port 0.
  3. Đi cáp thành vòng (ring). Juniper khuyến nghị luôn đấu ring: máy cuối nối về máy đầu. Ring vừa chịu được đứt một sợi, vừa là điều kiện bắt buộc của NSSU.
Juniper EX3400-24T mặt trước

Cáp VCP dùng DAC 40G như QFX-QSFP-DAC-1M (nằm trong mục "For 40G VCP Ports" của datasheet EX3400) cho máy cùng tủ, hoặc quang QFX-QSFP-40G-SR4 khi hai máy ở hai tủ. Không ghép Virtual Chassis bằng module SFP 1G.

Cấu hình Virtual Chassis kiểu preprovisioned

Có hai cách: nonprovisioned (máy tự bầu theo mastership-priority) và preprovisioned (khai trước số serial và vai trò từng máy). Ngoài công trình nên dùng preprovisioned: không máy lạ nào tự chen vào được và vai trò từng máy cố định theo hồ sơ hoàn công. Lấy serial bằng show chassis hardware trên từng máy.

plaintext
set virtual-chassis preprovisioned
set virtual-chassis member 0 serial-number NW0000000001 role routing-engine
set virtual-chassis member 1 serial-number NW0000000002 role routing-engine
set virtual-chassis member 2 serial-number NW0000000003 role line-card
set virtual-chassis no-split-detection
set virtual-chassis mac-persistence-timer 10

Số serial ở trên chỉ là ví dụ. Dòng no-split-detection chỉ dùng khi Virtual Chassis có đúng 2 thành viên (giải thích ở phần lỗi số 1); từ 3 máy trở lên phải bỏ dòng này.

Nếu chọn nonprovisioned, đặt cùng priority cho hai máy routing-engine. Juniper ghi rằng cùng giá trị priority cho primary và backup giúp chuyển đổi êm hơn, tránh việc máy cũ quay lại giành quyền primary gây chuyển đổi lần hai:

plaintext
set virtual-chassis member 0 mastership-priority 255
set virtual-chassis member 1 mastership-priority 255

Khi không cùng priority, thứ tự bầu primary là: priority cao nhất, rồi máy từng là primary lần trước, rồi máy ở trong Virtual Chassis lâu nhất, cuối cùng là MAC thấp nhất. Priority 0 thì máy không bao giờ làm primary hay backup.

Quản trị qua vme, không qua me0

Trong Virtual Chassis, IP quản trị đặt trên vme (virtual management Ethernet). Địa chỉ này luôn đi theo máy primary, nên sau khi chuyển đổi vẫn SSH vào cùng một IP. Cắm cáp quản trị out-of-band vào cổng quản trị của ít nhất hai máy.

plaintext
set interfaces vme unit 0 family inet address 10.10.0.10/24
set routing-options static route 0.0.0.0/0 next-hop 10.10.0.1

Bật đủ GRES, NSR, NSB: phần làm nên HA thật sự

Không có GRES, khi primary chết thì backup phải khởi động lại toàn bộ tiến trình, mọi cổng chập chờn, phiên OSPF rớt. Bốn dòng sau là bộ khung HA tối thiểu:

plaintext
set chassis redundancy graceful-switchover
set routing-options nonstop-routing
set protocols layer2-control nonstop-bridging
set system commit synchronize

Cơ chế

Bảo vệ gì

Khi thiếu thì sao

GRES

Trạng thái kernel, bảng chuyển tiếp, giao diện chép sẵn sang backup

Backup phải dựng lại từ đầu, gián đoạn dài

NSR

Phiên OSPF, BGP, BFD đồng bộ sang backup, hàng xóm không biết có chuyển đổi

Hàng xóm định tuyến rớt phiên, hội tụ lại

NSB

Giao thức lớp 2 (RSTP, MSTP, LACP...) đồng bộ sang backup

STP tính lại, LACP đàm phán lại, mất gói lớp 2

commit synchronize

Cấu hình luôn ghi lên cả hai Routing Engine

Backup giữ cấu hình cũ, khi lên primary chạy sai cấu hình

LAG chia qua 2 thành viên

Đường uplink còn sống khi mất trọn một máy

Mất một máy là mất uplink, HA vô nghĩa

Kiểm tra: show system switchover (chạy trên backup, phải thấy "Graceful switchover: On" và trạng thái Ready), show task replication (NSR đã đồng bộ các giao thức), show virtual-chassis status.

LAG uplink phải trải qua nhiều thành viên

Đây là chỗ hay bị bỏ qua nhất. Ghép Virtual Chassis xong nhưng cả hai sợi uplink lên lõi đều cắm vào member 0, thì mất member 0 là mất mạng. Mỗi LAG phải có ít nhất một cổng trên member 0 và một cổng trên member 1:

plaintext
set chassis aggregated-devices ethernet device-count 8
set interfaces xe-0/2/0 ether-options 802.3ad ae0
set interfaces xe-1/2/0 ether-options 802.3ad ae0
set interfaces ae0 aggregated-ether-options lacp active
set interfaces ae0 aggregated-ether-options lacp periodic fast
set interfaces ae0 unit 0 family ethernet-switching interface-mode trunk
set interfaces ae0 unit 0 family ethernet-switching vlan members all

Tương tự, máy chủ và camera quan trọng nên cắm hai đường vào hai thành viên khác nhau.

Nâng cấp Junos không gián đoạn bằng NSSU

Theo tài liệu Juniper, NSSU áp dụng cho EX3400 Virtual Chassis với các điều kiện: các thành viên đấu ring, cùng phiên bản Junos, đã bật GRES và NSR; Virtual Chassis 2 thành viên phải có no-split-detection để không tự chia đôi khi nâng cấp một máy. NSB là tuỳ chọn nhưng nên bật.

plaintext
request system snapshot
file copy ftp://10.10.0.5/junos-arm-32-xx.x.tgz /var/tmp/
request system software nonstop-upgrade /var/tmp/junos-arm-32-xx.x.tgz

Tên gói trên là ví dụ, lấy đúng tên tệp tải từ trang hỗ trợ Juniper. Nên theo dõi bằng console trên máy primary. Sau NSSU, máy backup cũ trở thành primary mới; đây là hành vi bình thường, không phải lỗi. Juniper cũng lưu ý NSSU chỉ nhảy tối đa 3 bản phát hành chính so với bản đang chạy.

Các lỗi HA thường gặp và cách xử lý

Triệu chứng

Nguyên nhân

Cách xử lý

VC 2 máy, tắt backup thì primary cũng ngừng chuyển tiếp

Split detection bật trên VC 2 thành viên

Thêm no-split-detection

Máy mới cắm vào hiện Inactive hoặc không có trong danh sách

Lệch phiên bản Junos, sai serial khi preprovisioned

Nâng cấp máy lẻ cùng bản, sửa serial

Cổng VCP báo Absent hoặc Down

QSFP+ đã thành cổng mạng, cáp hoặc module sai

Đặt lại VCP, thay cáp DAC hoặc QSFP+

Sau chuyển đổi, thiết bị ngoài mất kết nối vài phút

MAC hệ thống đổi theo primary mới

Giữ mac-persistence-timer, xoá ARP phía lõi

Chuyển đổi xong OSPF hoặc BGP vẫn rớt

Chưa bật NSR hoặc GRES chưa Ready

Bật NSR, kiểm show system switchover

Mất một máy là mất uplink

LAG chỉ nằm trên một thành viên

Trải LAG qua member 0 và member 1

SSH vào IP quản trị không được sau chuyển đổi

Đặt IP trên me0 của từng máy

Chuyển IP sang vme

Lỗi 1: Virtual Chassis 2 máy "chết cả cụm" khi chỉ hỏng một máy

Đây là lỗi nặng nhất và hay gặp nhất. Khi split detection bật, mỗi phần sau khi tách phải tự xét có được tiếp tục hoạt động hay không: phần chứa cả primary và backup ổn định, phần chứa primary và lớn hơn một nửa số máy, hoặc phần chứa backup và ít nhất một nửa số máy. Với 2 máy, nếu backup hỏng, phần còn lại chỉ có primary và đúng bằng một nửa, không thoả điều kiện nào, nên primary tự chuyển sang Inactive. Cả hệ thống ngừng chuyển tiếp dù một máy vẫn sống.

Juniper khuyến nghị: giữ split detection cho Virtual Chassis từ 3 máy trở lên, và tắt bằng no-split-detection cho Virtual Chassis đúng 2 máy. Khi mở rộng từ 2 lên 3 máy, phải xoá dòng này đi.

plaintext
show virtual-chassis status
set virtual-chassis no-split-detection
commit synchronize

Lỗi 2: máy mới không vào được Virtual Chassis

Chạy show virtual-chassis status trên primary. Máy hiện trạng thái Inactive hoặc không xuất hiện thường do một trong ba lý do: lệch phiên bản Junos, khai sai serial trong cấu hình preprovisioned, hoặc máy mới còn cấu hình cũ có member ID trùng. Cách làm chuẩn khi thêm máy:

  1. Trên máy mới, nâng cấp đúng bản Junos của cụm, xoá cấu hình cũ bằng request system zeroize (lệnh này xoá sạch cấu hình, chỉ chạy trên máy mới).
  2. Trên primary, thêm dòng member N serial-number ... role line-card, commit synchronize.
  3. Cắm cáp VCP, chờ máy mới tự khởi động lại và nhận member ID.
  4. Nếu ID không như mong muốn, đổi bằng request virtual-chassis renumber member-id 3 new-member-id 2.

Lỗi 3: cổng VCP không lên

plaintext
show virtual-chassis vc-port all-members
show virtual-chassis vc-port statistics
request virtual-chassis vc-port set pic-slot 1 port 0
request virtual-chassis vc-port set pic-slot 1 port 1

Trạng thái Absent nghĩa là cổng chưa được nhận là VCP (thường do ai đó đã chạy vc-port delete để dùng QSFP+ làm uplink). Down nghĩa là đã là VCP nhưng không có liên kết: kiểm module, cáp, độ dài cáp. Nếu buộc phải dùng QSFP+ làm uplink, có thể chuyển cổng SFP+ (pic-slot 2) làm VCP, nhưng băng thông giữa các máy giảm từ 40G xuống 10G mỗi đường, cần tính lại lưu lượng đông tây.

Lỗi 4: chuyển đổi xong, thiết bị ngoài mất kết nối vài phút

Virtual Chassis dùng MAC hệ thống của máy primary. Khi primary bị gỡ khỏi cụm, máy primary mới tiếp tục dùng MAC cũ trong khoảng mac-persistence-timer, mặc định 10 phút, tối đa 60 phút, rồi mới chuyển sang MAC của chính nó. Thời điểm đổi MAC có thể làm thiết bị phía lõi, tường lửa, camera giữ bảng ARP cũ. Cách xử lý: giữ timer đủ dài để kịp thay máy hỏng, và đưa vào quy trình thay máy bước xoá ARP ở thiết bị lõi sau khi MAC đổi. Không đặt mac-persistence-timer disable nếu chưa hiểu tác động.

Lỗi 5: đã bật GRES nhưng OSPF vẫn rớt khi chuyển đổi

GRES chỉ giữ bảng chuyển tiếp; phiên định tuyến cần NSR. Kiểm show task replication: giao thức nào chưa "Complete" thì chưa được bảo vệ. Lưu ý thêm: OSPF, BFD, VRRP trên EX3400 thuộc giấy phép Advanced, máy phải có S-EX-A-C2-P; thiếu giấy phép thì hệ thống báo cảnh báo vi phạm giấy phép khi commit.

Lỗi 6: diễn tập chuyển đổi nhưng không ai đo

Sau khi bàn giao, nên diễn tập có ghi số đo: ping liên tục từ máy trạm qua switch, rồi chuyển đổi bằng tay.

plaintext
request chassis routing-engine master switch
show virtual-chassis status
show log messages | match "mastership|vccpd|chassisd" | last 50

Ghi lại số gói mất và thời gian các phiên định tuyến ổn định, đưa vào biên bản nghiệm thu. Đây là bằng chứng HA chạy thật, không chỉ "đèn xanh".

Tình huống minh hoạ: switch lõi trạm biến áp

Giả sử một trạm biến áp 110kV dùng 2 EX3400-24T ghép Virtual Chassis làm lõi mạng trạm, LAG lên tường lửa trải hai thành viên. Cấu hình ban đầu thiếu no-split-detection. Khi thay bộ nguồn máy backup, kỹ thuật viên tắt máy và cả mạng trạm sẽ ngừng chuyển tiếp, đúng kịch bản lỗi 1. Sau khi bổ sung no-split-detection, bật NSR, NSB và diễn tập lại, tắt từng máy chỉ còn mất vài gói ping (số liệu minh hoạ, phụ thuộc cấu hình thực tế). Bài học: luôn diễn tập tắt máy backup chứ không chỉ chuyển primary bằng lệnh.

Trong hồ sơ mời thầu: ghi yêu cầu HA thế nào cho đúng

HSMT hay ghi chung chung "hỗ trợ stacking" hoặc "hỗ trợ HA". Với EX3400, cách điền đáp ứng nên bám đúng chữ của tài liệu hãng:

  • Stacking: "Đáp ứng. Virtual Chassis tối đa 10 thành viên, cổng VCP mặc định 2 x QSFP+ 40GbE", kèm trang Hardware Guide.
  • Nâng cấp không gián đoạn: chỉ ghi đáp ứng khi chào từ 2 máy trở lên chạy Virtual Chassis (NSSU). Một máy đứng lẻ không đáp ứng tiêu chí này.
  • Định tuyến động có HA: phải chào giấy phép S-EX-A-C2-P cho OSPF, VRRP, BFD; BGP cần giấy phép cao hơn.
  • Cáp stacking: nhớ đưa QFX-QSFP-DAC-1M hoặc module QSFP+ vào bảng khối lượng, máy không kèm cáp.
  • Nguồn dự phòng: mỗi máy xuất xưởng 1 bộ nguồn; HA đúng nghĩa cần thêm bộ nguồn thứ hai cho từng máy.

Xem thêm: Juniper EX3400-24T, Juniper EX3400-48T, bài Cấu hình SNMP trên Juniper Junos để giám sát trạng thái Virtual Chassis. Giá: liên hệ báo giá.

Nhận hỗ trợ hồ sơ thầu trong 24 giờ

Gửi cho NTCOM thông tin gói thầu kèm Phạm vi cung cấp (PVCC), datasheet, bảng thông số hoặc bảng điền đáp ứng. NTCOM tra mã sản phẩm, hãng sản xuất và điền đáp ứng kỹ thuật, phản hồi trong vòng 24 giờ. Báo giá ngay sau khi có đầy đủ hồ sơ, tên dự án, tên EU.

Nguồn tham khảo

Tài liệu mang tính tham khảo kỹ thuật; cú pháp lệnh có thể khác theo phiên bản Junos, cần đối chiếu tài liệu hãng và thử trên môi trường lab trước khi áp dụng cho hệ thống đang chạy.

Bài viết hữu ích?Bình luận0

Bình luận(0)

Chưa có bình luận. Hãy là người đầu tiên chia sẻ ý kiến!

Để lại bình luận

Zalo