2 điểm bởi GN⁺ 2024-09-04 | 1 bình luận | Chia sẻ qua WhatsApp
  • Ngay cả sau khi máy chủ hội tụ về phần cứng phổ dụng tương tự PC, quản lý ngoài băng xử lý sự cố, khởi động và cài đặt từ xa vẫn là tính năng cốt lõi phân biệt máy khách với máy chủ
  • IPMI không phải tên sản phẩm mà là một đặc tả; các hệ thống quản lý theo nhà cung cấp như HP iLO và Dell DRAC có phần chồng lấp với IPMI nhưng mỗi bên có lịch sử và tính năng mở rộng riêng
  • IPMI chạy trên BMC và đồng thời cung cấp giao diện ngoài băng dựa trên mạng hoặc cổng nối tiếp cùng giao diện in-band thông qua driver của hệ điều hành
  • Triển khai thực tế cung cấp web UI, SSH, VNC, lệnh dựa trên UDP 623, console từ xa, virtual media, điều khiển cảm biến·nguồn·quạt·watchdog, nhưng đặc biệt dễ bị lộ diện bảo mật
  • Intel ME và Intel AMT là các công nghệ tương tự ở phía PC client, nhưng do các điều kiện của AMT và vPro, quan niệm cho rằng thiết bị tiêu dùng phổ thông có thể truy cập mạng sideband nhìn chung là không chính xác

Cho đến khi máy chủ trở thành “máy tính lớn”

  • Điện toán client-server bắt nguồn từ sự tiến hóa của điện toán chia sẻ thời gian, nơi nhiều terminal kết nối vào một máy tính
  • Terminal không cần có cùng kiến trúc với máy tính, và nhận thức này cũng tiếp tục kéo dài sang các hệ thống client-server ban đầu
  • Cuộc cách mạng PC vào giữa thập niên 1990 đã tạo ra một nền văn hóa đơn nhất WinTel ở phía client, nhưng cho đến những năm 2000, việc máy chủ dùng hệ điều hành và kiến trúc riêng vẫn rất phổ biến
    • Tổ hợp SPARC và Solaris được dùng rộng rãi trong máy chủ
    • Kiến trúc minicomputer của IBM cùng nhiều hệ điều hành của hãng cũng là những nền tảng máy chủ quan trọng
    • Java góp phần vào ứng dụng doanh nghiệp nhờ cho phép tái sử dụng mã giữa backend Solaris/SPARC và client Windows/x86
  • Theo thời gian, các kiến trúc chuyên cho máy chủ ngày càng bất lợi trong cuộc cạnh tranh chi phí/hiệu năng với kiến trúc PC
  • Phần mềm máy chủ cũng dịch chuyển từ trọng tâm mở rộng theo chiều dọc và thời gian hoạt động cao sang mở rộng theo chiều ngang cùng yêu cầu độ tin cậy nới lỏng hơn, làm giảm lợi thế của các máy tính cấp doanh nghiệp
  • Hiện nay, điểm khác biệt của máy chủ chủ yếu nằm ở SMP đa socket·NUMA, các bộ điều khiển lưu trữ và topology phức tạp, cùng các tính năng quản lý ngoài băng

Quản lý ngoài băng giải quyết điều gì

  • Quản lý ngoài băng là khả năng truy cập máy chủ thông qua một máy quản lý riêng ngay cả khi hệ điều hành hay các thành phần phổ dụng không hoạt động bình thường
  • SSH là ví dụ điển hình của quản lý in-band do phần mềm chạy trên hệ điều hành cung cấp
  • Quản lý ngoài băng do một stack phần cứng·phần mềm riêng đảm nhiệm và theo truyền thống không cần sự phối hợp của hệ điều hành hay CPU
  • Ngày nay, tính năng này thể hiện rõ nhất ở console từ xa của máy chủ
    • Nó hoạt động như IP KVM tích hợp, cho phép thao tác máy chủ như thể có màn hình và bàn phím cục bộ được kết nối
    • Tính năng “virtual media” cho phép tải lên tệp ISO để làm nó xuất hiện như một thiết bị vật lý, rất hữu ích khi cài đặt hệ điều hành
  • Những tính năng này không phải khái niệm mới, và có thể tìm thấy các chức năng tương tự xuyên suốt lịch sử điện toán doanh nghiệp
  • Các máy chủ tương đối hiện đại thường tích hợp nhiều tầng chức năng quản lý
    • Giao diện vận hành cục bộ như LCD hoặc LED hiển thị trạng thái phần cứng
    • Console nối tiếp để truy cập bootloader giai đoạn đầu và hệ thống quản lý mức thấp hoạt động liên tục
    • Hệ thống quản lý cấp cao hơn để quản trị từ xa khối lượng công việc của máy
  • Đến hôm nay, các chỉ báo lỗi ở mặt trước và tính năng quản lý qua cổng nối tiếp vẫn còn tồn tại, nhưng phạm vi linh kiện dự phòng có thể thay nóng đã giảm so với trước đây

Mối quan hệ giữa IPMI và BMC

  • IPMI không phải một sản phẩm cụ thể mà là đặc tả Intel IPMI
  • Các nhà cung cấp máy chủ lớn thường có triển khai IPMI riêng và dùng những tên như HP iLO hay Dell DRAC
    • Một số hệ thống như vậy thậm chí có trước IPMI, nên gọi chúng đơn giản là “IPMI” thì không thật chính xác
    • Các nhà sản xuất mới thường dùng nguyên xi gói chuẩn từ nhà cung cấp firmware và gọi đó là IPMI
  • Phần mềm IPMI thường chạy trên bộ xử lý gọi là BMC (Baseboard Management Controller)
  • Các thuật ngữ IPMI và BMC đôi khi được dùng thay cho nhau
  • LOM (Lights-Out Management) nhìn chung là thuật ngữ cũ hơn, nhưng vẫn tồn tại vì HP(E) tiếp tục dùng tên Integrated Lights-Out
  • Cần phân biệt BMC với SMC (System Management Controller), thành phần trên máy tính client đảm nhiệm những việc như điều khiển tốc độ quạt
    • Về mặt lịch sử, hai thành phần này có liên quan
    • Trên máy chủ, BMC xử lý phần lớn các chức năng như vậy
  • IPMI đặc tả hai phương thức truy cập
    • Giao diện ngoài băng thông qua mạng hoặc kết nối nối tiếp
    • Giao diện in-band mà hệ điều hành truy cập bằng driver
  • Nhờ truy cập in-band, các công cụ như ipmitool trên Linux có thể tương tác với IPMI từ hệ điều hành đang chạy
  • IPMI vừa là một hệ thống quản lý độc lập vừa cung cấp giao diện cục bộ cho hệ điều hành để thuận tiện, nên hiểu cấu trúc này sẽ giúp giảm nhầm lẫn về thuật ngữ

Cách IPMI được dùng trên thực tế và các ràng buộc bảo mật

  • Các sản phẩm IPMI ngày càng cung cấp chức năng xoay quanh ứng dụng web
  • Nhiều sản phẩm vẫn có phần mềm client chuyên dụng, nhưng xu hướng là các tính năng chuyển sang ứng dụng web tích hợp
  • Chất lượng giao diện web khác biệt rất lớn tùy triển khai và nhìn chung là không tốt
  • Hầu hết máy chủ đều có giao diện Ethernet chuyên dụng được gắn nhãn IPMI hoặc management
  • Cách triển khai tốt nhất cho giao diện quản lý IPMI là đặt nó trên một mạng vật lý chuyên dụng vì lý do bảo mật và độ tin cậy
    • Ngay cả khi mạng chính gặp vấn đề về hiệu năng hoặc ổn định, vẫn phải truy cập được vào IPMI
    • Mạng vật lý chuyên dụng tốn thời gian, không gian và chi phí
  • Một thỏa hiệp phổ biến là xây dựng mạng quản lý dưới dạng VLAN trên thiết bị mạng thông thường
    • Nó hoạt động như một mạng riêng độc lập nhưng thiết bị thực tế vẫn được chia sẻ
    • Việc cô lập được thực hiện bằng phần mềm
  • Để tránh đi thêm cáp, IPMI cũng hỗ trợ sideband networking
    • BMC giao tiếp trực tiếp với cùng NIC mà hệ điều hành sử dụng
    • NIC làm cho nó trông như hai giao diện khác nhau; lưu lượng IPMI được trộn vào cùng luồng gói với lưu lượng của host nhưng dùng địa chỉ MAC khác
    • Sự tách biệt giữa lưu lượng IPMI và lưu lượng ứng dụng trở nên yếu hơn, nên cần cân nhắc bảo mật
  • Nhiều triển khai IPMI từng bộc lộ các vấn đề bảo mật nghiêm trọng và không nên để người dùng không đáng tin cậy có thể truy cập
  • Chức năng mạng khác nhau theo từng triển khai, nhưng điểm chung là giao diện chuẩn dựa trên UDP 623 được dùng cho khám phá và các lệnh cơ bản
  • SSH và giao diện web rất phổ biến, còn VNC cũng thường được dùng cho console từ xa
  • Các chức năng cơ bản có thể thực hiện bằng IPMI gồm
    • Xem danh sách mô-đun phần cứng ở mức FRU hoặc mã linh kiện theo nhà cung cấp
    • Điều khiển các chức năng phần cứng cơ bản như cảm biến, trạng thái nguồn, quạt
    • Sử dụng watchdog timer tiêu chuẩn
  • Watchdog timer có thể kết hợp với phần mềm trên hệ điều hành để buộc máy chủ reset khi ứng dụng rơi vào trạng thái lỗi bất thường
  • Thời gian hết hạn của watchdog nên được đặt đủ dài để cho phép hệ thống khởi động và có thời gian vô hiệu hóa nó sau khi đăng nhập

Intel ME, AMD ST, AMT và ngoại lệ ở PC client

  • IPMI phổ biến trong máy chủ doanh nghiệp nhưng hiếm gặp trên máy tính client thông thường hoặc máy tính nhỏ·tiết kiệm điện
  • Intel ME và AMD ST là những ngoại lệ gần giống bộ điều khiển quản lý OOB hiện diện trong gần như mọi bộ xử lý Intel·AMD
  • Intel ME là thành phần cho phép Intel AMT (Active Management Technology)
  • AMT là nỗ lực phổ biến hóa quản lý ngoài băng cho máy client và cung cấp phần lớn tính năng tương tự IPMI
  • AMT không đạt thành công lớn, chủ yếu vì Intel giới hạn phần lớn tính năng AMT để dùng cùng các nền tảng quản lý doanh nghiệp đắt tiền
  • Có các client AMT mã nguồn mở, nhưng vẫn còn vấn đề là tìm được máy thực sự có thể dùng AMT
  • Quản lý sideband của AMT làm dấy lên lo ngại trong cộng đồng bảo mật, nhưng trên thực tế chỉ khả thi khi đồng thời đáp ứng tất cả điều kiện sau
    • Bộ xử lý phải hỗ trợ AMT
    • Chipset bo mạch chủ phải hỗ trợ AMT
    • NIC phải hỗ trợ AMT
    • Cả ba thiết bị đều bị giới hạn ở các sản phẩm Intel mang nhãn vPro
  • Chỉ riêng việc NIC Intel không phổ biến trên thiết bị tiêu dùng cũng khiến truy cập sideband trở nên hiếm
  • vPro bị giới hạn ở các bộ xử lý và chipset tương đối cao cấp
  • “Sự thật” được lan truyền rộng rãi rằng Intel ME trên thiết bị tiêu dùng có thể bị truy cập qua sideband networking thường là không đúng, và lý do không chỉ nằm ở giấy phép phần mềm của Intel
  • Bản thân Intel ME gần như không có chức năng quản lý ngoài băng nếu không có AMT, nhưng dường như được dùng như một nền tảng thuận tiện để lưu trữ và quản lý các thành phần thực thi đáng tin cậy như Secure Boot và DRM
  • Intel ME không thể được bên thứ ba kiểm toán và từng chứa những lỗ hổng bảo mật nghiêm trọng trong quá khứ
  • Các SoC ARM tiêu dùng hiện đại cũng có năng lực tương tự, nên đây không phải vấn đề chỉ riêng của một nhà cung cấp x86 nào

1 bình luận

 
GN⁺ 2024-09-04
Các ý kiến trên Hacker News
  • Có một số điểm hơi khác so với thông tin mới nhất. Intel đã tụt lại sau AMD trên cả CPU/GPU, và chỉ nổi bật ở vài ngoại lệ phù hợp cho mục đích tiết kiệm điện, không quạt như dòng N100
    Vì vậy CPU Intel thường được mua chủ yếu bởi các tổ chức cần nâng cấp môi trường hiện có bằng CPU cùng nhà sản xuất; chẳng hạn như khi dùng EVC của vSphere để làm cho bộ xử lý mới hoạt động như một mẫu cũ hơn của cùng nhà sản xuất, nhằm hỗ trợ hot migration giữa các kiến trúc CPU và giảm thiểu gián đoạn khi thay phần cứng
    Ngoài ra, gần như mọi người đều có xu hướng chuyển sang CPU AMD, vốn tốt hơn và rẻ hơn so với hiệu năng xử lý. NIC Intel nhìn chung ổn và cũng ngày càng xuất hiện nhiều hơn trong thiết bị tiêu dùng. Tuy nhiên X710 là một ngoại lệ: dù nằm trong danh sách tương thích “enterprise” như VMware, nó từng gây ra lỗi mạng âm thầm hoặc crash do vấn đề driver trong hơn một năm
    Với các tổ chức mua máy chủ, Supermicro nhìn chung có thể là một lựa chọn tốt. Rẻ hơn, linh hoạt hơn về form factor, chassis, linh kiện, số khe cắm, và nhìn chung đáng tin cậy; nhưng hỗ trợ kém ổn định hơn so với hỗ trợ trên lý thuyết của Dell/HPE, nên phù hợp nhất trong các cấu hình có dự phòng
    Ngoài ra, đặc tả IPMI đang dần được thay thế bằng Redfish, vốn hoàn chỉnh hơn, an toàn hơn, được chuẩn hóa hơn và cung cấp API bình thường hơn. Nếu là máy chủ phổ biến trong vài năm trở lại đây thì nhiều khả năng nó có cả Redfish bên cạnh IPMI
    Gần đây hãng nghiên cứu bán khống Hindenburg đã công bố một báo cáo phơi bày những điểm đáng ngờ của Supermicro, nhưng bản thân phần cứng vẫn thuộc hạng hàng đầu và các nhà cung cấp đám mây lớn cũng sử dụng: https://hindenburgresearch.com/smci/

    • Tôi đã dùng thử cả bo mạch Supermicro lẫn ASRock Rack cho workstation, và bo Supermicro cho cảm giác như bo được làm năm 2005 chứ không phải sản phẩm năm 2024
      Không hỗ trợ ACPI sleep, hỗ trợ quạt 4-pin/3-pin kém nên quạt 3-pin luôn chạy 100% tốc độ, giao diện web IPMI y nguyên từ thập niên 2010, bố trí NVMe khiến không thể dùng heatsink, và có rất nhiều jumper mập mờ không có nhãn trên bo
      Trong khi đó bo ASRock Rack cùng phân khúc tốt hơn đến mức không thể so sánh
    • Vấn đề của Supermicro không phải là báo cáo bán khống, mà là rò rỉ khóa Secure Boot. Root of trust đã bị phá vỡ, khiến một lượng lớn phần cứng không thể được làm cho an toàn
      https://arstechnica.com/security/2024/07/secure-boot-is-comp...
    • CPU Intel gần đây nhìn trên thông số thì có vẻ không tệ, nhưng thực tế lại có vấn đề bị cháy
      Khi tiến trình sản xuất càng thu nhỏ, vấn đề tuổi thọ tất yếu sẽ lớn hơn, nên chuyện này cũng không quá bất ngờ. Những vấn đề như lỗi dịch chuyển có thể dễ dàng tạo ra trouble lớn hơn. Người ta nói nguyên nhân là microcode yêu cầu bo mạch chủ cấp điện áp quá mức, và điều đó cũng đúng, nhưng cũng đúng là chip đang trở nên nhạy cảm hơn với thay đổi môi trường
      Trước đây tôi thích hiệu năng và khả năng tương thích Linux của NIC Intel, và cũng thích SSD Intel. Tuy nhiên cần phải đọc ra rằng hiệu năng ở vùng P95~P99 chỉ nhỉnh hơn một chút so với sản phẩm cạnh tranh giá rẻ, và khoảnh khắc thấy máy tính chậm đến khó chịu chính là vùng P95~P99 đó. Một trong những lý do tôi vừa thích vừa ghét Anandtech là vì họ thường bỏ lỡ những điểm cốt lõi như vậy
    • Tôi ước PSU của Supermicro có thể truy cập qua PMBus mà không cần tiện ích IPMI độc quyền, nhưng không được. Hơn nữa nó chỉ dành cho x86, nên trên ppc64el không có cách nào để giao tiếp
      Nếu là mã nguồn mở thì đã có thể build đơn giản
      https://www.supermicro.com/en/solutions/management-software/...
    • Tôi đang tự động hóa việc giữ chứng chỉ IPMI SSL luôn cập nhật bằng Redfish, nhưng quá trình nạp chứng chỉ mới lại đòi hỏi những “phép thuật” hơi khác nhau tùy theo từng triển khai Redfish của mỗi vendor
      Chỉ riêng việc upload và thay chứng chỉ, như tên chứng chỉ, encoding, v.v., tôi đã có cả một bộ module Python để xử lý những khác biệt kỳ quặc của từng vendor. Đáng ra chỉ cần vài request PUT chuẩn chạy được ở mọi nơi là xong, và tài liệu Redfish API cũng khiến người ta tin như vậy, nhưng thực tế thì không
      Vì thế rất khó đồng ý rằng nó đã được chuẩn hóa hoặc dùng được, và nó khó chịu chẳng kém thời còn phải thao tác trực tiếp trên giao diện web
  • Một lựa chọn cho nhận định rằng nếu cứ khăng khăng dùng máy tính nhỏ gọn hoặc tiết kiệm điện thì phải sống mà không có IPMI, là dùng bo Supermicro MicroATX nền Atom có IPMI, đặt trong chassis 1U chiều sâu ngắn và làm mát yên tĩnh bằng quạt Noctua nhỏ
    Tôi đang dùng một mẫu cũ ở nhà; nó yên tĩnh và nhỏ gọn, hấp dẫn hơn nhiều so với các mẫu Dell R2x0 mà tôi từng thấy. Có các tính năng máy chủ như IPMI và ECC RAM nên tốt hơn mini PC, và ổn định hơn RasPi lỏng lẻo
    Cá nhân tôi sẽ không cắm cổng IPMI vào LAN chính, nhưng khi được tách riêng thì nó khá hữu ích và cũng thú vị để nghịch

    • ASRock Rack có các bo dùng chip AM4/AM5 tiêu chuẩn với chipset như X470, X570, X670, đồng thời cung cấp nhiều tính năng máy chủ như IPMI và ECC. Ở phía AMD, ECC có vẻ đã khá phổ biến
      Tôi gắn 5950X trên bo của mình, nhưng trước đó cũng đã dùng 5600G ổn trong một thời gian. Vì là mATX/ATX nên lắp vừa case thường và bộ nguồn thường, không cần rack
    • IPMI và các giao diện quản lý khác được tách ra bằng VLAN quản lý riêng, và chỉ cho truy cập qua VPN chuyên dụng
    • Tôi có vài bo Atom như vậy. Đó là ý nghĩ đầu tiên nảy ra ngay khi đọc bài, và bài viết phải mất khá lâu mới nói rằng IPMI đồng nghĩa với thiết bị lớn
  • Nếu muốn thêm khả năng truy cập từ xa cho thiết bị không có IPMI, có thể thử dùng thứ như NanoKVM RISC-V giá 30 USD
    Nó cung cấp capture và mã hóa HDMI, Ethernet/Wi‑Fi, điều khiển nguồn ATX, và chạy bản phân phối Linux thông thường
    https://www.aliexpress.com/item/1005007369816019.html
    https://github.com/sipeed/NanoKVM

    • Hiện tôi đang gắn bộ kit đầy đủ vào một mini PC đồ chơi để dùng thử. Đây là một thiết bị RISC‑V nhỏ chỉ tiêu thụ vài watt, hiện chưa có Wi‑Fi, nhưng có thể capture đầu ra HDMI lên Web UI và được mô phỏng thành bốn thiết bị trên PC
      Nó hoạt động như bàn phím USB, chuột USB, ổ flash USB để lưu ISO khởi động dùng cho cài đặt/khôi phục, và một USB NIC khá tốt
      USB NIC này có thể dùng để chỉ mở cổng SSH quản trị từ PC, nên cảm giác như PC có một giao diện IPMI chuyên dụng riêng. Phần mềm mới nhất cũng có hỗ trợ WireGuard và Tailscale, nên có thể kết nối trực tiếp qua VPN
      Vẫn còn vài vấn đề nhỏ, nhưng các nhà phát triển đang sửa rất nhanh
    • Để dùng breakout điều khiển nguồn ATX, cần bản đầy đủ giá 60 USD. Breakout này gắn vào một đầu nối USB‑C vật lý kỳ lạ mang các tín hiệu ATX
      Tự làm cũng có thể được, nhưng đầu nối USB‑C thật sự rất khó hàn
    • Tôi thắc mắc vì sao AliExpress không bán thiết bị này cho khách hàng ở Mỹ
    • Về phía phần mềm thì vì không phải mã nguồn mở, nên không có gì tốt hơn các lựa chọn thay thế
      Lại là một KVM không đáng tin nữa
  • Vào cuối thập niên 1990, tôi từng lắp đặt vài máy chủ do Intel sản xuất. Intel xuất xưởng nền tảng tham chiếu dưới dạng máy tính “barebone”, còn RAM và lưu trữ do bên tích hợp hệ thống lắp vào; việc quản lý lights-out được thực hiện bằng LANDesk Server Manager Pro và “Emergency Management Card” (EMC)
    Đó là các thiết bị thời Pentium Pro đến Pentium II đời đầu như AP450GX, BB440FX, RC440FX
    Nghĩ đến việc mã tham chiếu của nền tảng x86 không bao giờ chết, tôi thường tự hỏi bao nhiêu phần trong cấu trúc IPMI hiện nay được kế thừa từ phần cứng và phần mềm này. Mật khẩu mặc định của Intel LANDesk Emergency Management Card là “calvin”, và nếu từng dùng iDRAC đời đầu của Dell thì hẳn đây là mật khẩu quen thuộc. Tôi nghĩ đó không phải ngẫu nhiên
    Nhân tiện, một nhân viên Intel từng nói với tôi rằng tên mã của EMC là “Hobbes”, nhưng tôi không tìm được tài liệu nào ghi lại
    Các phiên bản EMC thỉnh thoảng xuất hiện trên eBay, có cả bản ISA lẫn PCI. Nó là một PC x86 nằm trên một card, và một số hoặc tất cả có UPS tích hợp. Nó có khe PCMCIA để gắn quản lý out-of-band, bộ nguồn ngoài, và kết nối với bo mạch chủ máy chủ qua giao diện bus host của card cùng một đầu nối riêng
    Tôi đã tải firmware của vài phiên bản EMC xuống xem thử, và một số trông giống như máy DOS nhúng. Đây vẫn là một dự án nghịch cho ngày nào đó, nên tôi chưa reverse engineer mã hay thử chạy trên qemu, nhưng rất muốn làm
    Các bên thứ ba bán nền tảng tham chiếu Intel như Unisys, Fujitsu, ALR/Gateway, NCR cũng cung cấp card này. Nếu thấy card này trong danh sách bán hàng thì đó là một dấu hiệu tốt cho thấy đây là nền tảng tham chiếu Intel, và các tham chiếu “LDSM” cũng là manh mối
    Nếu có ai biết về dòng dõi này thì sẽ rất thú vị
    https://www.intel.com/pressroom/archive/releases/1998/ld1030...
    https://web.archive.org/web/20240903131630/https://www.ebay....

  • Intel ME và AMD PSP đóng vai trò lớn trong việc đưa CPU vào trạng thái giống như một PC x86 để firmware host thật sự có thể chạy
    Độ phức tạp khởi tạo đã trở nên quá cao, nên thay vì viết toàn bộ logic bằng assembly bị hạn chế một cách kỳ lạ như mã khởi động BIOS ban đầu truyền thống, xử lý bằng phần mềm trên một lõi nhúng riêng, dễ chịu và có thể lập trình bằng C, hợp lý hơn nhiều
    Trên một số HPE ProLiant, có vẻ một phần của quá trình khởi tạo cấp thấp này thực sự do iLO thực hiện. Ở giai đoạn khởi động đó, iLO cũng trực tiếp điều khiển framebuffer; trên G10, sau khi thoáng hiện thông báo kiểu “chuyển console cho host”, màn hình được khởi tạo lại và phần hướng dẫn phím chức năng xuất hiện
    Dell có lẽ cũng làm điều tương tự, nhưng ở giai đoạn đầu chỉ thấy “Please wait” cùng một biểu tượng tải lớn, chứ không thấy trạng thái tiến trình

  • IPMI và các giải pháp khác đều tốt, nhưng thứ tôi luôn muốn là một giao diện serial tiêu chuẩn tới UEFI shell luôn chạy. Truy cập vào cổng serial đó bằng cách nào là việc tôi tự lo

    • Các UEFI boot service mà shell phụ thuộc sẽ không còn dùng được sau khi bootloader hoặc hệ điều hành gọi ExitBootServices()
      Mã theo đúng nghĩa đen bị gỡ khỏi RAM và vùng đó được trả lại cho hệ điều hành, nên việc triển khai không dễ
    • Điều tôi nhớ ở Sun SPARC và các hệ Unix khác là chúng cho phép truy cập từ xa đúng nghĩa ở mức rất thấp
      Console từ xa của BIOS/UEFI luôn phiền phức và kết quả lúc được lúc không. Để khớp được nhập/xuất, thường phải chỉnh GRUB hoặc cấu hình kernel
    • Phần cứng máy chủ thường cho phép truy cập UEFI qua serial. Dù vậy, tôi vẫn nghĩ có lẽ vẫn cần điều khiển nguồn từ xa
  • IPMI hữu ích, nhưng nó cho thấy rõ một thực tế rằng không thể tin các công ty thương mại sẽ hỗ trợ phần cứng đúng cách trong dài hạn
    Hệ điều hành chạy trên IPMI nhìn chung tương đối an toàn khi hệ thống còn mới, nhưng khi socket CPU mới xuất hiện, nhà sản xuất ngày càng mất hứng thú với việc cập nhật các hệ thống cũ. Điều này vẫn đúng ngay cả khi cùng một phần cứng IPMI có mặt trên cả bo mạch cũ lẫn mới
    Nếu có thể cài hệ điều hành riêng lên phần cứng IPMI thì nó sẽ hữu ích hơn nhiều. Khi đó, có thể kết nối trực tiếp với Internet mà vẫn an toàn. Hiện nay cần giao tiếp sideband như VPN, chuyển tiếp cổng SSH, hoặc phân đoạn mạng riêng, nên để hỗ trợ IPMI lại phát sinh thêm rất nhiều phần cứng và cấu hình
    Với các triển khai quy mô lớn, chi phí bổ sung được phân bổ khá tốt, nhưng với triển khai nhỏ thì đó là gánh nặng đáng kể. Nếu chỉ colocate một máy đơn lẻ thì gần như không đáng
    Vì không thể phơi IPMI trực tiếp ra Internet một cách an toàn, rốt cuộc phải gắn một dạng Pi nào đó vào từng máy. Khi làm vậy, dùng cổng serial cũng dễ tương đương, thậm chí còn dễ hơn. Cuối cùng là quay lại kiểu điều khiển qua cổng serial chuẩn đã có từ thời VAX, Sun, Alpha; càng nghĩ càng thấy hợp lý hơn nhiều so với một giao diện mạng không an toàn

  • Với triển khai nhỏ hơn, chẳng hạn quy mô khoảng 10.000 core, tôi sẽ tự xây dựng thông qua một nhà tích hợp
    Với bo mạch chủ Gigabyte/ASRock Rack, dòng Epyc 9003, RAM 384GB và cấu hình nguồn đôi thông thường, chi phí khoảng 7.000 USD mỗi node và hiệu suất điện năng cũng có thể khá tốt
    IPMI tích hợp cũng khá ổn, tương thích tốt với ipmitool, và thường cũng có một số chức năng liên quan đến Redfish

  • Tôi rất thích IPMI, nhưng điểm không ưng khi dùng cho homelab là công suất nhàn rỗi tăng thêm khoảng 5W
    Kết hợp bo mạch Gigabyte MC12-LE0 với Ryzen Pro 5650 trông như lựa chọn hiển nhiên cho home server vì chỉ khoảng 50 USD, nhưng mức tiêu thụ điện cao hơn thì tôi không hoàn toàn hài lòng
    Các máy cũ như Dell T20/T30 có Intel AMT, chức năng yếu hơn nhiều và cũng có lỗi bảo mật, nhưng khi dùng cùng MeshCommander thì ít nhất vẫn có cách quản trị từ xa. Đáng tiếc là MeshCommander đã ngừng phát triển và các bản phát hành biến mất rải rác, nhưng may là tôi đã lưu MSI và gói Node trên server
    Tôi định thử PiKVM V2 với Raspberry 4 và một card capture USB-HDMI đơn giản giá 8 USD: https://docs.pikvm.org/v2/
    Trừ việc thiếu một số tính năng, nó có vẻ hứa hẹn vì có thể dùng tổng quát hơn, kể cả với các thiết bị hoàn toàn không hỗ trợ quản trị từ xa

    • Mức tiêu thụ điện bổ sung phụ thuộc rất nhiều vào chất lượng bộ nguồn. Làm một bộ nguồn hiệu quả ở cả tải cao lẫn trạng thái nhàn rỗi là khá khó
      Tôi nghi ngờ việc BMC, đôi khi là BMC tích hợp trong NIC, có thực sự ngốn ngần ấy điện hay không. Hơn nữa nếu dùng PiKVM với Raspberry 4 thì sẽ vượt 5W
    • Giờ firmware đã được công khai, tôi đang tìm hiểu NanoKVM
      https://github.com/sipeed/NanoKVM
    • Các bản phát hành MeshCommander vẫn có thể tải từ https://www.meshcommander.com/ và cũng có thể cài qua NPM
      Tôi chưa thử, nhưng có vẻ https://meshcentral.com/ là dự án kế nhiệm được nhắm tới
    • MeshCommander 0.96 đã có thể tải lại trên website. Tôi đọc được rằng nguyên nhân là nhà phát triển đang thích nghi với công việc mới
  • Câu hỏi lớn với IPMI là khóa mặc định là gì
    Nếu ở đâu đó trong chuỗi cung ứng có người cài thêm khóa IPMI, hoặc tồn tại khóa mặc định, người đó có thể quản trị máy tính từ xa
    https://www.rapid7.com/blog/post/2013/07/02/a-penetration-te...

    • Như phần trích dẫn bổ sung trong liên kết đó, quy trình xác thực IPMI 2.0 yêu cầu server gửi cho client hash salted SHA1 hoặc MD5 của mật khẩu người dùng được yêu cầu trước khi client xác thực
      IPMI cũng giới hạn độ dài mật khẩu tối đa là 20 ký tự. Trong thực tế, cần hiểu rằng hash chỉ có thể được kỳ vọng là bí mật trước những pentester đã biết danh tính, làm việc trong thời hạn hợp đồng giới hạn, chứ không phải trước kẻ tấn công thật sự có thời gian vô hạn
      Tôi rất phê phán điểm này. Nó đã nằm trong đặc tả 20 năm rồi. Ưu điểm của phần mềm chẳng phải là dễ thay đổi hơn phần cứng sao. Nói “phải đặt nó vào VLAN” thì dễ, nhưng khi đi đánh giá thực tế, IPMI gần như luôn được nối vào mạng nghiệp vụ
      Nếu đưa thứ ngu ngốc vào cấu hình mặc định, cấu hình ngu ngốc sẽ lan ra toàn thế giới, bao gồm cả khoảnh khắc mọi công ty không có quản trị viên bảo mật hiểu biết “mua server”
    • Nó luôn phải nằm trên mạng tách biệt vật lý, và nên tránh BMC dùng chung NIC với hệ thống