- Computers Are Bad đang trong quá trình chuyển đám mây doanh nghiệp sang New Mexico và đang mua các máy chủ mới
- Các máy chủ Big Iron hiện đang sử dụng là thiết bị cũ khoảng 10 năm tuổi
- Trong ngành công nghiệp hiện đại lấy đám mây làm trung tâm, việc so sánh cấu hình giữa Dell PowerEdge và HP ProLiant đã trở nên hiếm gặp
- Thị trường máy chủ ngoài hyperscale ngày càng được hợp nhất theo các thông số và thiết kế tham chiếu của Intel
Máy chủ là gì?
- Có một câu hỏi lâu đời: máy chủ có chỉ đơn giản là một chiếc máy tính lớn và mạnh hơn, hay là một thứ gì đó đặc biệt?
- Lịch sử của máy chủ bao gồm rất nhiều lịch sử công nghiệp, và câu trả lời có thể khác nhau tùy bối cảnh
- Có thể khái quát lịch sử máy chủ như sau:
- Điện toán client-server chủ yếu bắt đầu như mộ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 tới một máy tính duy nhất
- Không ai kỳ vọng terminal sẽ có kiến trúc tương tự máy tính, và điều này cũng tiếp tục đúng trong các hệ thống client-server
- Cho đến những năm 2000, việc máy chủ dùng hệ điều hành và kiến trúc khác biệt là chuyện bình thường
- Do cuộc cách mạng PC, đến giữa thập niên 1990, phần lớn điện toán phía client đã trở thành một hệ sinh thái đơn văn hóa WinTel
Sự thay đổi trong kiến trúc máy chủ
- Tổ hợp SPARC và Solaris từng rất phổ biến trong máy chủ, IBM với kiến trúc minicomputer và nhiều hệ điều hành khác nhau cũng vậy
- Một trong những đóng góp thương mại lớn của Java là nó cho phép tái sử dụng mã trong các môi trường điện toán doanh nghiệp “hiện đại” như Unix/RISC hoặc Windows/x86, trong khi vẫn viết ứng dụng doanh nghiệp cho backend Solaris/SPARC
- Mô hình điện toán client-server với “thick client” đã tạo ra mối liên hệ giữa nền tảng máy chủ và “điện toán doanh nghiệp”
- Các kiến trúc từng bị giới hạn trong máy chủ dần trở thành thị trường ngách và khó cạnh tranh với kiến trúc PC về cả chi phí lẫn hiệu năng
- Kiến trúc phổ biến của phần mềm máy chủ đã chuyển từ “mở rộng theo chiều dọc và hệ thống uptime cao” sang “mở rộng theo chiều ngang và yêu cầu độ ổn định nới lỏng hơn”, khiến lợi thế của máy tính cấp doanh nghiệp giảm đi đáng kể
- Ngày nay, trong hầu hết trường hợp, máy chủ chỉ đơn giản là một chiếc máy tính lớn
- Máy chủ có khả năng cao hơn nhiều là SMP hoặc NUMA với nhiều socket bộ xử lý
- Thời kỳ của SAS và hardware RAID đang dần qua đi, nhưng máy chủ vẫn tiếp tục cung cấp các bộ điều khiển lưu trữ và topology phức tạp hơn client
- Máy chủ gần như luôn cung cấp quản trị out-of-band (OOB)
Quản trị out-of-band
- Quản trị out-of-band (OOB) là một tính năng gần như không thấy ở máy client
- Nó cho phép truy cập máy chủ từ xa thông qua một máy tính quản lý nhỏ riêng biệt
- Quản trị OOB không cần hệ điều hành hay các thành phần thông thường
- Hầu hết máy chủ cung cấp remote console để có thể tương tác như thể đang kết nối với màn hình và bàn phím cục bộ
- Các sản phẩm quản trị OOB cung cấp tính năng “virtual media”, cho phép tải tệp ISO lên và làm cho nó được nhận diện như một thiết bị vật lý
Quản trị out-of-band (quản trị ngoài băng, Out-of-Band Management)
- Out-of-band (đôi khi còn được gọi là quản trị không giám sát trực tiếp) dùng để chỉ một tính năng gần như chưa từng nghe thấy trên máy client
- Thông qua một máy tính quản lý nhỏ riêng biệt, có thể truy cập từ xa ngay cả khi máy chủ đã tắt
- Hai thuật ngữ “out-of-band” và “in-band” bắt nguồn từ ý nghĩa thường dùng trong mạng và truyền thông, nhưng trên thực tế ý nghĩa của chúng đã thay đổi theo thời gian
- Có lẽ nên hiểu rằng quản trị out-of-band nghĩa là không cần hệ điều hành và các thành phần đa dụng
- Một ví dụ rất tiêu chuẩn của quản trị in-band là SSH, vốn là dịch vụ do phần mềm của máy tính cung cấp
- Ngược lại, quản trị out-of-band được cung cấp bởi phần cứng chuyên dụng và một ngăn xếp phần mềm riêng, không cần hệ điều hành hay theo truyền thống là sự hợp tác của CPU
- Ví dụ điển hình nhất của quản trị out-of-band ngày nay là remote console mà hầu hết máy chủ đều cung cấp
- Về cơ bản đây là một IP KVM tích hợp, cho phép tương tác với máy như thể có màn hình và bàn phím cắm cục bộ
- Nhiều sản phẩm quản trị OOB còn cung cấp “virtual media”, cho phép tải một tệp ISO lên giao diện quản trị rồi khiến nó xuất hiện trước máy tính như thể là thiết bị thật
- Điều này rất hữu ích khi cài đặt hệ điều hành
Lịch sử của quản trị OOB
- Quản trị OOB là một góc nhỏ thú vị trong lịch sử máy tính
- Thực ra đây không phải ý tưởng mới đến mức không thể tìm thấy những chức năng tương tự trong toàn bộ lịch sử điện toán doanh nghiệp
- Theo thời gian, quản trị OOB trở nên đơn giản hơn và cũng nhàm chán hơn
- Từ cuối thập niên 1980 đến đầu thập niên 1990, máy chủ thường có các đặc điểm sau
- Một dạng giao diện vận hành cục bộ cung cấp thông tin mức thấp về trạng thái phần cứng, như màn hình ma trận LCD hoặc cụm đèn LED
- Serial console có quyền truy cập vào bootloader giai đoạn đầu và các hệ thống quản trị mức thấp thường trực
- Các hệ thống quản trị cấp cao hơn để quản lý từ xa khối lượng công việc của máy, với vị trí khác nhau trong stack tùy theo kiến trúc
- Hiện tại của quản trị OOB
- Hầu hết máy chủ có thể cho biết trên mặt trước nếu một thành phần dự phòng như quạt hoặc nguồn điện bị lỗi
- Tuy nhiên, số lượng thành phần vừa dự phòng vừa có thể thay nóng đã giảm từ mức “mọi thứ kể cả CPU” của thập niên 1990 xuống đôi khi chỉ còn quạt
- Quản trị qua cổng serial vẫn khá phổ biến vì nó vẫn là một cách được ưa chuộng để cài đặt và bảo trì hệ điều hành trên các máy headless
- Nhưng trong đa số trường hợp, quản trị OOB đã được hợp nhất quanh Intel IPMI, gần giống cách kiến trúc bộ xử lý cũng được hợp nhất
Những điểm gây rối của IPMI
- IPMI là một đặc tả, không phải một bản triển khai
- Hầu hết các nhà cung cấp lớn đều có bản triển khai IPMI riêng với các tính năng vượt ra ngoài đặc tả lõi IPMI, được gọi bằng những chữ viết tắt kỳ lạ như HP iLO, Dell DRAC, v.v.
- Các bản triển khai theo nhà cung cấp này có từ trước IPMI, nên nói “chỉ đơn giản là IPMI” không hoàn toàn chính xác
- Mặt khác, các nhà sản xuất mới tham gia thị trường thường có xu hướng gọi thẳng là IPMI, và trong trường hợp đó có thể chỉ là sản phẩm chuẩn từ nhà cung cấp firmware
- Phần mềm IPMI thường chạy trên một bộ xử lý gọi là baseboard management controller (BMC), và đôi khi IPMI và BMC được dùng như từ đồng nghĩa
- Lights-out management (LOM) phần lớn là một thuật ngữ đã lỗi thời, nhưng vẫn còn được dùng vì HP(E) ưa chuộng nó và gọi bản triển khai IPMI của mình là Integrated Lights-Out
- Không nên nhầm BMC với system management controller (SMC), một thành phần cũng tồn tại trong máy tính client
- SMC là một trong vài thuật ngữ dùng để chỉ phần xử lý các tác vụ như điều khiển tốc độ quạt
- BMC và SMC có lịch sử liên quan với nhau, và trên thực tế ở hầu hết máy chủ, BMC xử lý luôn các chức năng này
- IPMI quy định hai loại giao diện
- Giao diện out-of-band có thể dùng qua mạng hoặc kết nối serial
- Giao diện in-band có thể dùng từ hệ điều hành qua driver (giao tiếp giữa CPU và BMC thông qua bus LPC, một tàn dư nhỏ kỳ lạ của ISA vẫn còn tồn tại trong hầu hết máy tính hiện đại)
- Kết quả là có thể tương tác với IPMI từ các công cụ chạy trong hệ điều hành như
ipmitool trên Linux
- Nếu không hiểu rằng IPMI là một hệ thống hoàn toàn độc lập nhưng có giao diện cục bộ cho hệ điều hành đang chạy nhằm tạo sự tiện lợi, bạn có thể khá dễ bị rối về chính xác điều gì đang diễn ra
Chức năng của IPMI
- IPMI phần lớn đã trở thành web app
- Giao diện web quá tiện lợi nên khó mà từ chối
- Nhiều sản phẩm IPMI có phần mềm client chuyên dụng, nhưng đang chuyển mọi tính năng sang ứng dụng web nhúng
- Chất lượng giao diện web rất khác nhau, nhưng đa số không thực sự tốt
- Cách tiếp cận giao diện web IPMI
- Phần lớn máy chủ được bán ra thị trường có một cổng Ethernet chuyên dụng gắn nhãn như “IPMI”, “management”, v.v.
- Cách tốt nhất để dùng IPMI là đặt giao diện mạng quản trị trên một mạng vật lý chuyên biệt
- Điều này phục vụ cho bảo mật và độ ổn định (nếu mạng chính gặp vấn đề về hiệu năng hoặc độ tin cậy, bạn vẫn cần truy cập được IPMI)
- Tuy nhiên, một mạng vật lý chuyên biệt tốn thời gian, không gian và chi phí
- “Mạng quản trị” rất có thể chỉ là một VLAN trên thiết bị mạng thông thường
- Tương tự như thứ AT&T gọi là common carrier switching arrangement (CCSA)
- Nó hoạt động như một mạng riêng độc lập, nhưng phần cứng thực tế được chia sẻ với mọi thứ khác và sự cô lập được thực hiện bằng phần mềm
- Sideband networking của IPMI
- Với sideband management, BMC giao tiếp trực tiếp qua cùng một NIC mà hệ điều hành đang dùng
- Cách triển khai hơi kỳ quặc
- NIC giả vờ như là hai giao diện khác nhau, trộn lưu lượng IPMI 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
- Theo cách này, đối với thiết bị mạng khác, trông như đang có hai giao diện mạng riêng biệt hoạt động như bình thường
- Rõ ràng có những cân nhắc bảo mật khi giảm mức độ tách biệt giữa IPMI và lưu lượng ứng dụng
- Vấn đề bảo mật của IPMI
- Nhiều bản triển khai IPMI hóa ra là cơn ác mộng về bảo mật
- Người không đáng tin cậy tuyệt đối không nên có quyền truy cập
- Chức năng mạng của IPMI
- Chi tiết về chức năng mạng khác nhau giữa các bản triển khai IPMI, nhưng trên UDP 623 có một giao diện chuẩn dùng cho khám phá và các lệnh cơ bản
- Thường cũng có SSH và giao diện web, còn VNC thì rất phổ biến cho remote console
Các chức năng cơ bản của IPMI
- Có một số chức năng cơ bản rất hay mà bạn có thể thực hiện qua mạng hoặc bằng client IPMI in-band
- Một tính năng hữu ích nếu bạn hay quên và không lưu hồ sơ tốt là liệt kê các mô-đun phần cứng cấu thành hệ thống ở mức FRU hoặc mã linh kiện của nhà cung cấp
- Bạn cũng có thể tương tác với 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, v.v.
- IPMI cung cấp một watchdog timer tiêu chuẩn, có thể kết hợp với phần mềm chạy trong hệ điều hành để reset máy chủ nếu ứng dụng rơi vào trạng thái bất thường
- Cần đặt timeout đủ dài để hệ thống kịp khởi động và kết nối vào để vô hiệu hóa watchdog timer
Mối quan hệ giữa IPMI và máy tính client thông thường
- IPMI rất phổ biến trong máy chủ doanh nghiệp nhưng lại khá hiếm ở nơi khác
- Điều này gây khó chịu cho những người không có không gian hoặc mức chịu tiếng ồn phù hợp với các “hộp pizza” 1U
- Nếu bạn định gắn bó với các máy tính nhỏ gọn hoặc công suất thấp, có lẽ bạn sẽ phải sống mà không có IPMI
Intel ME và AMD ST
- Đây là các bộ điều khiển quản trị OOB hiện diện trên thực tế trong gần như mọi bộ xử lý Intel và AMD
- Intel ME (Management Engine) là thành phần kích hoạt của Intel Active Management Technology (Intel AMT)
- AMT là nỗ lực nhằm phổ cập quản trị OOB cho máy client và cung cấp gần như chính các tính năng mà IPMI có
- Nó thành công kém hơn nhiều, phần lớn có lẽ vì giá cả
- Intel đã giới hạn gần như mọi tính năng AMT để dùng cùng các nền tảng quản trị doanh nghiệp rất đắt đỏ
- Có các AMT client mã nguồn mở, nhưng vấn đề tiếp theo bạn gặp phải là tìm được một chiếc máy thực sự có thể dùng AMT
Chức năng sideband management và vấn đề bảo mật của Intel AMT
- Intel AMT có chức năng sideband management, và vì thế việc thành phần Intel ME chạy AMT cũng có chức năng sideband management đã là chủ đề gây lo ngại đáng kể trong cộng đồng bảo mật
- Yếu tố giảm nhẹ: sideband management chỉ khả dụng khi bộ xử lý, chipset bo mạch chủ và NIC đều hỗ trợ AMT
- Các tùy chọn cho 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 Intel NIC không phổ biến trên thiết bị tiêu dùng cũng đã khiến truy cập sideband gần như bất khả thi
- vPro cũng bị giới hạn ở các bộ xử lý và chipset tương đối cao cấp
- Tin xấu là AMT sẽ khó dùng trong home lab, dù chắc chắn vẫn có một số người dùng nó
- Điểm tốt là “sự thật” thường đượ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 nhìn chung là không đúng, và không chỉ vì giấy phép phần mềm của Intel
Vì sao Intel ME tồn tại
- Nếu bỏ AMT ra thì vẫn còn một câu hỏi kỳ lạ về chính Intel ME, vốn thực sự không có chức năng quản trị OOB
- Vì sao gần như mọi bộ xử lý đều có Intel ME?
- Đây chỉ là suy đoán, nhưng có vẻ Intel ME tồn tại chủ yếu như một cách thuận tiện để lưu trữ và quản lý các thành phần thực thi tin cậy dùng cho những thứ như secure boot và DRM
- Tất cả các chức năng đó đều chạy trên cùng bộ xử lý với ME và chia sẻ một phần ngăn xếp công nghệ chung
- Vì vậy, phần “Management” trong Intel ME phần lớn chỉ còn là dấu vết lịch sử, và nó là một phần của hạ tầng điện toán bảo mật
Đây không phải lời bào chữa cho Intel ME
- Điều này không nhằm bào chữa cho Intel ME, thứ hoàn toàn không thể được bên thứ ba kiểm toán và từng chứa các lỗ hổng bảo mật nghiêm trọng trong quá khứ
- Vì tất cả chúng ta đều dùng kiến trúc bộ xử lý của một trong hai nhà cung cấp, Intel không có nhiều động lực để làm tốt hơn
- Trước khi trả lời rằng ARM mới là con đường đúng, hãy nhớ rằng các SoC ARM hiện đại dùng trong thiết bị tiêu dùng cũng có gần như cùng loại chức năng
Ghi chú: định nghĩa của headless
- Định nghĩa của “headless” khá rắc rối và không nên quá ám ảnh về nó
- Mọi người thường nói “headless” nghĩa là không cắm màn hình và bàn phím
- Tuy nhiên, rack console dạng trượt và IP KVM từ lâu đã rất phổ biến, nên cần nhớ rằng ngoài môi trường hyperscale thì các hệ thống headless thực sự hiếm hơn bạn tưởng
- Điều này một phần vì việc dùng serial console cực kỳ đau khổ, nên người vận hành máy tính thông thường sẽ làm rất nhiều thứ để tránh phải xử lý nó
Ý kiến của GN⁺
- Bài viết này mang lại góc nhìn thú vị về định nghĩa và lịch sử của máy chủ. Trái với nhận thức phổ biến rằng máy chủ chỉ là một chiếc máy tính lớn, bài viết cho thấy máy chủ đã giữ một vai trò đặc biệt trong suốt một lịch sử dài.
- Khi nhìn lại lịch sử máy chủ, có thể thấy khái niệm máy chủ đã thay đổi như thế nào cùng với sự phát triển của công nghệ. Đặc biệt, thật thú vị khi ranh giới giữa máy chủ và client đang ngày càng mờ đi sau cuộc cách mạng PC.
- Quản trị out-of-band là một chức năng riêng có của máy chủ, cho phép quản lý máy chủ ngay cả khi không có sự hỗ trợ của hệ điều hành hay CPU. Đây có thể là một tính năng rất hữu ích đối với quản trị viên máy chủ.
- Gần đây, công nghệ quản trị OOB đang được chuẩn hóa xoay quanh Intel IPMI. Điều này giúp việc quản lý máy chủ thuận tiện hơn, nhưng đồng thời cũng tiềm ẩn nguy cơ phụ thuộc vào một nhà cung cấp.
- Các giải pháp khác cung cấp chức năng quản trị OOB tương tự gồm có HP iLO, Dell iDRAC, v.v. Nếu muốn tránh bị khóa chặt vào một nhà cung cấp cụ thể, đây cũng là những lựa chọn đáng cân nhắc.
1 bình luận
Ý kiến trên Hacker News
Intel đang tụt lại phía sau AMD về hiệu năng CPU và GPU
NIC của Intel nhìn chung rất tốt và cũng được ưa chuộng trên các thiết bị tiêu dùng
Khi mua máy chủ, Supermicro là một lựa chọn tốt
Đặc tả IPMI đang được thay thế bằng Redfish
Phần cứng của Supermicro vẫn tốt, nhưng nghiên cứu gần đây của Hindenburg đã chỉ ra một số vấn đề
IPMI phổ biến trên máy chủ doanh nghiệp nhưng hiếm gặp trong môi trường gia đình
Không nên kết nối cổng IPMI vào LAN chính
Nếu muốn thêm khả năng truy cập từ xa cho máy không có IPMI, có thể dùng NanoKVM RISC-V giá $30
Chia sẻ kinh nghiệm cài đặt máy chủ Intel vào cuối thập niên 90
Các giải pháp như IPMI là tốt, nhưng vẫn ưu tiên giao diện serial tiêu chuẩn
IPMI thiếu hỗ trợ phần cứng về lâu dài
Intel ME và AMD PSP đóng vai trò quan trọng trong việc khởi tạo CPU
Dell đang cố gắng thay thế IPMI bằng Redfish
Với homelab, IPMI có vấn đề là tiêu thụ khoảng 5W điện năng chờ
Khóa mặc định của IPMI là một vấn đề quan trọng