Tác giả: Viet Luu (Kỹ Sư VietITPro)
Chuyên mục: Thiết Bị Mạng & Network
Phòng Lab: VietITPro High-Tech Hardware & System Lab
1. Mở đầu & Kiến trúc phần cứng Juniper EX2300 / EX3400
Việc nâng cấp firmware (Junos OS) trên dòng switch Juniper EX2300 và EX3400 không đơn thuần là một thao tác quản trị phần mềm mạng (Network Administration) thông thường. Từ góc nhìn của một Ban Biên Tập VietITPro Phần Cứng Vi Mạch, đây là quá trình tương tác trực tiếp với tầng kiến trúc hệ thống nhúng (Embedded System Architecture), nơi nhân hệ điều hành điều khiển trực tiếp các vi mạch chuyển mạch (ASIC/Switch-on-Chip), bộ nhớ Flash NAND, hệ thống quản lý nguồn cấp điện (PMIC) và các giao diện vật lý PHY.
Dòng Juniper EX2300 và EX3400 là các dòng thiết bị Access Switch lớp Enterprise phổ biến. Tuy nhiên, cấu trúc phần cứng bên trong của chúng có những đặc thù riêng biệt đòi hỏi kỹ sư vận hành phải nắm vững để tránh các thảm họa như hỏng hóc phân vùng boot (Corrupted Boot Sector), lỗi phân bổ NAND Flash, hoặc treo tiến trình nạp microcode của ASIC.
Sơ đồ khối phần cứng cốt lõi (Hardware Block Diagram Analysis)
- Embedded CPU & Memory Subsystem: EX2300 sử dụng các dòng vi xử lý kiến trúc ARM/MIPS tích hợp băng thông cao, kết hợp với các chip nhớ DDR3 SDRAM dung lượng từ 1GB đến 2GB (tùy phiên bản EX2300-C hoặc EX2300-48P). EX3400 có cấu hình mạnh mẽ hơn một chút để xử lý các tính năng L3 nâng cao và Virtual Chassis.
- Nội dung lưu trữ (NAND Flash / eMMC): Junos OS không chạy trực tiếp trên đĩa cứng mà được nạp vào phân vùng Flash không bay hơi. Quá trình upgrade firmware thực chất là việc ghi đè một image hệ điều hành hoàn chỉnh (tệp
.tgz) vào phân vùng dự phòng (alternative partition) hoặc phân vùng chính, sau đó cập nhật bootloader (U-Boot / Pre-boot Execution Environment). - Switch ASIC: Trái tim của thiết bị là các chip chuyển mạch tích hợp chuyên dụng (ASIC của Broadcom hoặc các đối tác bán dẫn tương đương). Khi tiến hành upgrade Junos OS, firmware của ASIC (microcode/firmware phụ trợ) cũng được đồng bộ hóa thông qua các tiến trình daemon nền của Junos (ví dụ:
chassisd,mgd).
2. Thông số kỹ thuật đo đạc phần cứng & Chẩn đoán Lab
Tại phòng lab VietITPro, trước khi thực hiện các chiến dịch upgrade firmware hàng loạt cho hệ thống mạng khách hàng hoặc kiểm thử phần cứng phục hồi, chúng tôi luôn tiến hành đo kiểm thông số điện áp và trạng thái vật lý của bo mạch. Bảng dưới đây tổng hợp các thông số tiêu chuẩn đo được bằng thiết bị chuyên dụng (Fluke Multimeter, Rigol Oscilloscope) tại các điểm kiểm tra (Test Points - TP) trên bo mạch chủ (PCBA) của EX2300 và EX3400.
3. Quy trình chuẩn chuẩn bị trước khi Upgrade Firmware
Việc thiếu cẩn trọng trong bước chuẩn bị dẫn đến hơn 70% các ca "bricked switch" (switch thành cục gạch) tại các trung tâm dữ liệu. Kỹ sư VietITPro luôn tuân thủ nguyên tắc kiểm tra 4 lớp trước khi thực thi lệnh request system software add.
3.1. Kiểm tra không gian lưu trữ Flash (Storage Partition Check)
JunOS duy trì hai phân vùng hệ thống (alt và recovery hoặc primary và secondary). Trước khi copy gói firmware mới, cần kiểm tra dung lượng trống bằng lệnh CLI:
Yêu cầu kỹ thuật: Phân vùng /var/tmp hoặc thư mục lưu trữ phải còn trống tối thiểu 350MB - 500MB tùy thuộc vào dung lượng gói .tgz của dòng EX2300/EX3400 (thường dao động từ 280MB đến 450MB). Nếu dung lượng không đủ, hệ thống sẽ báo lỗi tràn bộ đệm ghi file (Disk Full Error), dẫn đến file image bị cắt cụt (truncated file).
3.2. Kiểm tra tính toàn vẹn gói tin (SHA-256 Checksum Verification)
Tuyệt đối không sử dụng tệp tin firmware tải về mà không đối chiếu mã băm (Hash). Sử dụng công cụ trên máy tính cá nhân để kiểm tra:
So sánh kết quả trả về với mã SHA-256 công bố chính thức trên cổng thông tin hỗ trợ kỹ thuật của Juniper Networks. Nếu mã băm sai lệch dù chỉ 1 bit, quá trình giải nén gói tin trên switch sẽ gây lỗi checksum ở tầng nhân Linux, làm hỏng bảng phân vùng U-Boot.
4. Hướng dẫn chi tiết quy trình Upgrade Firmware (Step-by-Step CLI Execution)
Dưới đây là quy trình thao tác thực tế trên dòng Juniper EX2300/EX3400 thông qua giao diện dòng lệnh (CLI).
Bước 1: Truy cập thiết bị qua cổng Console vật lý
Sử dụng cáp RJ45-to-USB Serial, thiết lập thông số phần mềm terminal (PuTTY, SecureCRT, TeraTerm):
- Baud rate: 9600 (hoặc 115200 tùy revision phần cứng cụ thể)
- Data bits: 8
- Parity: None
- Stop bits: 1
- Flow Control: None
Bước 2: Truyền tải gói tin Firmware vào thiết bị
Sử dụng giao thức SCP (Secure Copy) hoặc FTP thông qua cổng quản trị mạng (ME0 - Management Ethernet interface). Ví dụ truyền file từ máy chủ Local Server tới switch:
Lưu ý kỹ thuật: Không lưu file cài đặt vào thư mục /config vì phân vùng này có giới hạn dung lượng nghiêm ngặt và được dành riêng cho các tệp cấu hình (juniper.conf.gz). Thư mục tiêu chuẩn là /var/tmp/.
Bước 3: Thực thi lệnh nâng cấp hệ thống (Software Add & Validate)
Chạy lệnh nâng cấp với tham số validate để hệ thống tự động kiểm tra sự tương thích phần cứng, cấu trúc phần mềm hiện tại và dung lượng RAM:
(Nếu muốn ép buộc bỏ qua một số cảnh báo không xung đột cấu trúc, dùng tham số no-validate, tuy nhiên khuyến cáo luôn để hệ thống tự kiểm tra).
Trong quá trình này, các tiến trình sau diễn ra ở tầng hệ điều hành nhúng:
- Giải nén gói
.tgzvào thư mục tạm. - Kiểm tra chữ ký số (Digital Signature) của Juniper.
- Ghi đè image hệ điều hành mới vào phân vùng đĩa thay thế (alternative partition).
- Cập nhật các module FPGA/ASIC microcode tích hợp nếu có phiên bản mới.
Bước 4: Khởi động lại thiết bị (Reboot Sequence)
Sau khi quá trình cài đặt hoàn tất với thông báo A reboot is required to install the software, tiến hành khởi động lại switch:
Hệ thống sẽ tiến hành ngắt kết nối các tiến trình daemon, đồng bộ hóa trạng thái NVRAM và chuyển đổi cờ khởi động (boot flag) trên bootloader sang phân vùng mới chứa phiên bản Junos OS vừa nạp. Quá trình reboot mất khoảng từ 5 đến 10 phút.
5. Xử lý sự cố thực tế (Troubleshooting & Recovery)
Trong môi trường triển khai thực tế tại các dự án hạ tầng mạng lớn, đôi khi xảy ra các tình huống ngoại lệ. Dưới đây là các pan bệnh phần cứng/phần mềm phổ biến và cách khắc phục từ kinh nghiệm thực tế của phòng lab VietITPro.
Pan bệnh 1: Switch bị treo ở màn hình Bootloader (U-Boot Prompt / loader>)
- Nguyên nhân: Quá trình upgrade bị gián đoạn đột ngột (mất nguồn, rút cáp nguồn giữa chừng) khiến phân vùng boot chính bị hỏng (corrupted partition), hệ thống không tìm thấy file nhân
.imghoặckernel. - Hướng dẫn xử lý chuyên sâu:
- Kết nối cáp Console vào thiết bị. Khởi động lại switch và quan sát màn hình boot. Khi xuất hiện dòng chữ đếm ngược, nhấn phím bất kỳ để nhảy vào giao diện
loader>. - Sử dụng giao thức TFTP để nạp lại image thông qua cổng Management Ethernet (ME0). Thiết lập địa chỉ IP tạm thời cho switch và trỏ về máy chủ TFTP chứa file image:
- Sau khi hệ thống boot tạm thời từ mạng, tiến hành cài đặt lại image chính thức vào bộ nhớ Flash nội bộ bằng lệnh:
Pan bệnh 2: Lỗi tràn bộ nhớ đệm do file image lỗi hoặc dung lượng Flash cạn kiệt
- Triệu chứng: Lệnh
request system software addbáo lỗi:I/O error: No space left on devicehoặcValidation failed: insufficient flash memory. - Hướng dẫn xử lý:
- Dọn dẹp các tệp tin log cũ, core dump và các file image cũ trong hệ thống:
- Xóa thủ công các file
.tgzcũ lưu trữ trong thư mục/var/tmp/:
6. Câu Hỏi Thường Gặp (FAQ) Chuyên Sâu
Có thể nâng cấp trực tiếp từ phiên bản Junos OS rất cũ (ví dụ 15.x) lên phiên bản mới nhất (22.x) trên EX2300 hay không?
Trả lời: Không khuyến khích. Việc nhảy cóc phiên bản quá xa (Jump Version Upgrade) có thể làm xung đột cấu trúc cơ sở dữ liệu cấu hình (juniper.conf) và cấu trúc phân vùng Flash cũ. Kỹ sư VietITPro khuyến cáo nên nâng cấp theo lộ trình trung gian (stepping stone), ví dụ: 15.x -> 18.4R3 -> 21.4R3 -> 22.4R3, đồng thời kiểm tra kỹ tài liệu Release Notes của Juniper về các thay đổi cấu trúc cú pháp câu lệnh (Syntax Deprecation).
Quá trình upgrade firmware có làm mất cấu hình hiện tại (Running Configuration) của switch không?
Trả lời: Không. Cấu hình của thiết bị được lưu trữ tách biệt hoàn toàn trong thư mục /config/juniper.conf.gz. Quá trình upgrade chỉ thay thế phân vùng hệ điều hành nhúng (OS binary partition) và giữ nguyên vẹn tệp cấu hình. Tuy nhiên, nguyên tắc an toàn tuyệt đối là luôn luôn backup cấu hình trước khi thao tác:
Làm thế nào để xử lý khi switch EX3400 chạy Virtual Chassis bị lỗi đồng bộ firmware giữa các Member Switch?
Trả lời: Trong môi trường Virtual Chassis, tất cả các thành viên (Member Switch) phải chạy cùng một phiên bản Junos OS. Nếu thực hiện upgrade mà một member bị lỗi đồng bộ, sử dụng lệnh sau để kiểm tra trạng thái:
Tiếp tục sử dụng lệnh add software với cờ đồng bộ toàn bộ cụm:
Đảm bảo kết nối cáp VCP (Virtual Chassis Port) ở trạng thái UP và ổn định trước khi thực thi.
Đồng hồ vạn năng hoặc máy đo thiết bị có thể phát hiện lỗi phần cứng nào trên bo mạch EX2300 gây hỏng tiến trình upgrade?
Trả lời: Các linh kiện nguồn trên bo mạch chủ (đặc biệt là tụ điện lọc nguồn trên đường cấp nguồn cho IC Flash NAND) sau thời gian dài vận hành có thể bị suy giảm điện dung (capacitance degradation), gây nhiễu xung nhịp (voltage ripple). Khi tiến hành ghi dữ liệu dung lượng lớn (như giải nén gói tin firmware 400MB), sự sụt áp đột ngột tại chân VCC của Flash IC sẽ làm sai lệch dữ liệu ghi. Dùng Oscilloscope đo biên độ dao động nguồn tại chân linh kiện Flash là phương pháp chẩn đoán chuyên sâu nhất để phát hiện lỗi phần cứng này.
7. Tài Liệu Tham Khảo Kỹ Thuật (References)
- IEEE Standard for Local and Metropolitan Area Networks - IEEE Std 802.3 / 802.1Q Architecture.
- Juniper Networks Documentation Center - EX2300 and EX3400 Switch Hardware Guides, Junos OS Software Installation and Upgrade Guide.
- Broadcom Semiconductor - StrataScale Switch-on-Chip Architecture & Microcode Management Manual.
- Linux Kernel Organization - NAND Flash Memory Subsystem & U-Boot Bootloader Technical Reference.
- VietITPro High-Tech Lab Internal Whitepaper - Hardware Diagnostics & Embedded Firmware Recovery Protocols for Enterprise Network Equipment, Authored by Viet Luu.




![[AP9559] Rack PDU, Basic, 1U, 16A,208&230V, (10)C13 & (2)C19](https://pub-c12d4b41cfdc48ff9270a311bb015e0f.r2.dev/uploads/products/bo-luu-dien/ap9559-rack-pdu-basic-1u-16a208230v-10c13-2c19/ap9559-rack-pdu-basic-1u-16a208230v-10c13-2c19-2.jpg)