2 điểm bởi GN⁺ 2024-03-09 | 1 bình luận | Chia sẻ qua WhatsApp
  • Home Lab là một không gian cá nhân nơi bạn có thể trải nghiệm thất bại và thực hiện các thử nghiệm một cách an toàn
  • Các chuyên gia công nghệ và quản trị viên hệ thống xây dựng home lab vì việc thử điều mới trên thiết bị production có thể dẫn đến kết quả không mong muốn
  • Home lab có thể được dùng cho nhiều mục đích khác nhau như sao lưu từ xa, giám sát mạng và cảnh báo, UAP AP có dây, v.v.

Home lab, vị trí rất quan trọng

  • Vị trí của home lab được quyết định bởi các biến số quan trọng, bao gồm nhiệt độ phòng và thông gió, không gian làm việc quanh thiết bị, độ dài và khả năng tiếp cận của cáp mạng, nguồn điện, và tiếng ồn phát sinh từ home lab
  • Cần cân nhắc ưu và nhược điểm của nhiều vị trí khác nhau như home office, phòng khách, tủ quần áo, tầng hầm, gác mái, gara, v.v.

Mạng vs. rack máy chủ vs. cabinet?

  • Bạn cần quyết định cách lưu trữ thiết bị, và rất dễ nhầm lẫn giữa network cabinet/rack với server cabinet/rack.
  • Thiết bị mạng thường nông hơn và tỏa ít nhiệt hơn máy chủ, vì vậy network cabinet và rack không sâu bằng server cabinet và rack.
  • Cabinet là không gian khép kín có cửa hoặc các mặt bên có thể tháo rời, còn rack là khung bán mở hoặc mở hoàn toàn.

Phần cứng home lab được khuyến nghị

  • Sau khi đo độ sâu tối đa của thiết bị và cân nhắc các lời khuyên ở trên, đã đến lúc mua phần cứng đầu tiên.
  • Bạn có thể bắt đầu xây dựng home lab bằng việc thay thế cable modem của ISP.

Có nên thay cable modem của ISP không

  • Việc thay thế cable modem của ISP có ý nghĩa về mặt tài chính, đồng thời có thể cải thiện hiệu năng, độ tin cậy và bảo mật.

Chọn rack cho home lab

  • Rack unit là đơn vị đo chiều cao của khung rack và thiết bị, thường dùng với rack 19 inch và 23 inch.

UPS cho home lab (bộ lưu điện)

  • UPS cần thiết cho home lab phải cung cấp đủ thời gian hoạt động để duy trì hệ thống trong một khoảng thời gian ngắn.

Kệ rack đa năng cho home lab

  • Hãy dùng kệ rack thông gió tốt để giữ thiết bị luôn mát và hỗ trợ quản lý cáp.

Bộ phân phối nguồn rack-mount cho home lab

  • Đây là phần cứng tiện lợi, được kết nối với UPS để giúp bật/tắt nguồn dễ dàng cho các thiết bị và dụng cụ khác.

Quạt làm mát rack-mount cho home lab

  • Thiết bị này giúp duy trì nhiệt độ tối ưu cho phần cứng, ngăn quá nhiệt, giữ hiệu năng ổn định và kéo dài tuổi thọ.

Router và switch cho home lab

  • Cisco, Ubiquiti, TP-Link cung cấp thiết bị có thể đáp ứng cả nhu cầu routing và switching.

Patch panel và cáp mạng cho home lab

  • Khi chọn patch panel và cáp mạng cần thiết cho home lab, điều quan trọng là giữ mọi thứ đơn giản.

Máy chủ cho home lab

  • Khuyến nghị về máy chủ sẽ khác nhau rất nhiều tùy theo nội dung bạn muốn host trong home lab, nên bài viết không đề xuất máy chủ cụ thể.

Tóm tắt và kết luận

  • Khi xây dựng home lab, bạn nên tìm ra đam mê của mình và tận hưởng việc học hỏi, thất bại và thành công cùng home lab.
  • Hãy chú ý đến mức tiêu thụ điện năng, lập kế hoạch có chừa chỗ để mở rộng, và bạn cũng có thể bắt đầu từ quy mô nhỏ.
  • Tránh đưa ra quyết định vội vàng về phần cứng, và nên nhận phản hồi từ các chuyên gia công nghệ và quản trị viên hệ thống khác trên các diễn đàn cộng đồng.

Ý kiến của GN⁺

  • Home lab mang đến cho các chuyên gia IT một môi trường an toàn để thử nghiệm và nâng cao kỹ năng của mình.
  • Việc xây dựng home lab có thể củng cố năng lực thực tế bằng cách tạo ra nhiều cơ hội thực hành khác nhau như quản lý mạng, host máy chủ và luyện tập bảo mật.
  • Khi xây dựng home lab, cần tính đến mức tiêu thụ điện và nhiệt lượng của thiết bị để thiết kế hệ thống làm mát hiệu quả.
  • Với kỹ sư phần mềm mới vào nghề quan tâm đến việc xây dựng home lab, nên bắt đầu từ cấu hình mạng đơn giản rồi dần mở rộng sang các hệ thống phức tạp hơn.
  • Những yếu tố cần cân nhắc khi xây dựng home lab gồm ngân sách, không gian, khả năng tương thích của thiết bị và khả năng mở rộng; cần xem xét kỹ các yếu tố này để lập kế hoạch.

1 bình luận

 
GN⁺ 2024-03-09
Ý kiến trên Hacker News
  • Bài viết hay, nhưng quy mô và phạm vi của nó có thể hơi gây ngợp. Một home lab có thể chỉ đơn giản là một chiếc NUC đặt trên bàn. Một chiếc NUC với 64GB RAM có thể gánh được rất nhiều thứ và vận hành 24/7 khá hiệu quả, dù có thể phát ra tiếng ồn khi tải CPU kéo dài. Từ đó có thể mở rộng sang Dell SFF OptiPlex hoặc Precision Tower mua trên eBay. Những mẫu Dell SFF này nhỏ gọn, làm desktop/server khá ổn, quạt êm, và có thể gắn card 10G Mellanox 3. Dùng OptiPlex hoặc mẫu cao hơn với CPU thế hệ 12 trở lên sẽ tránh được các ràng buộc về điện năng và không gian. Đồ cũ với i5-12500 hiện đã rất rẻ. Nếu cần, cũng có thể nâng lên i9-14900 (non-K) trên LGA1700.
  • Rất khen việc dùng Proxmox cho home server. Đã vận hành máy chủ Linux tại nhà suốt 25 năm, và việc luôn phải tự tay quản lý một hệ Ubuntu đơn lẻ thực sự rất khổ. Proxmox giúp quản lý nhiều container và VM trên một thiết bị phần cứng duy nhất cực kỳ dễ dàng. Chỉ riêng việc ảo hóa một hệ Ubuntu đơn lẻ thôi cũng đã mang lại lợi ích như sao lưu, tính sẵn sàng cao, v.v. Giờ còn bắt đầu tách các dịch vụ vào container riêng, rất gọn gàng.
  • Từng đặt home lab trong ghế sofa IKEA FRIHETEN suốt vài năm. Ưu điểm gồm: dễ tiếp cận, hoàn toàn khuất khỏi tầm nhìn ngoại trừ dây nguồn cùng cáp LAN và WAN, dễ đi dây, dễ bố trí bên trong/định tuyến cáp, giảm ồn miễn phí, ấm vào mùa đông, bạn đời không bận tâm đến đèn nhấp nháy, và cũng không nhận ra đã mua thêm UPS với khay ổ đĩa. Nhược điểm là thao tác bên trong bất tiện, có thể rung khi ngồi hoặc khi mở đóng, có nhiệt (dù không tệ hơn tủ đồ), có nguy cơ vô tình làm đổ đồ uống vào đó (nhưng trong đa số trường hợp thiết kế khiến chất lỏng chảy xuống dưới phần cứng), và có nguy cơ làm tuột cáp khi di chuyển đồ nội thất.
  • Khi dựng home lab thì nên dùng distro nix. Khi hệ thống đã chạy ổn thì cứ để nó như vậy, và với nix thì toàn bộ trạng thái hệ thống đều được ghi lại trong git. Không cần nhớ 6 tháng trước mình đã sửa lỗi thế nào, cũng không cần cấu hình lại hệ thống bằng tay sau khi nâng cấp bản phân phối Ubuntu. Mọi thay đổi như gói đã cài, thiết lập đã cấu hình, v.v. đều nằm trong log git nên cũng dùng như tài liệu được.
  • Đã dành nhiều thời gian để thiết lập một home lab khá đồ sộ, nó hoạt động tốt và rất thích nó. Khôi phục sau thảm họa là vấn đề thực sự. Có thể mất vô tận thời gian để nhân bản mọi thứ, và không chắc có thể nhớ hết cấu hình router, cấu hình switch, NAS, cùng nhiều container Docker rải rác trên các VLAN khác nhau. Ban đầu có vẽ sơ đồ mạng nhưng theo thời gian không giữ được cập nhật. Muốn hỏi có công cụ nào tốt để vẽ sơ đồ hạ tầng, tài liệu hóa và giữ cho nó luôn mới không. Sao lưu và nâng cấp cũng là vấn đề dai dẳng. Thiết lập xong container rồi 6 tháng sau quay lại thì hoàn toàn không nhớ mình đã làm gì. Có hàng chục container rải trên nhiều máy khác nhau (NUC, NAS, desktop, server, v.v.), và với từng dịch vụ container thì phải biết bind mount ở đâu, chạy bằng user nào, cần những quyền gì. Giữ tất cả trong đầu là rất khó, thực tế là bất khả thi. Muốn có thể sao lưu, khôi phục và nâng cấp từ một giao diện tập trung. Rất nhớ khả năng nhân bản/chụp snapshot VM. Vẫn còn chạy vài VM trên máy Proxmox, nhưng toàn bộ home lab thì không có thứ tương tự. Về lý thuyết, muốn chuyển sang một giải pháp mà dù nhà có cháy cũng có thể khôi phục hoàn toàn toàn bộ thiết lập, hoặc ít nhất là đi theo hướng đó. Phải có thứ gì đơn giản hơn việc dùng Kubernetes toàn phần để quản lý thiết lập ở nhà. Muốn biết người khác đang dùng gì.
  • Cộng đồng home lab thật tuyệt. Ai cũng có những mục tiêu khác nhau... điện năng thấp, bộ xử lý thú vị, quyền sở hữu dữ liệu, HA, UPS/UPS cho cả nhà, v.v., và ngôi nhà là giao điểm chung duy nhất của những mối quan tâm chồng lấp đó. Điều còn hấp dẫn hơn là kiểu người bị thu hút vào lĩnh vực này, từ chuyên gia cho đến người ngoài ngành. Có thể đắm chìm vào home lab và cảm nhận lại phép màu của buổi đầu Internet.
  • Gần đây đã mua một chiếc Mac Pro 2013 cũ (thùng rác) với 12 nhân/24 luồng và 128GB ECC RAM để nâng cấp thành máy "luôn bật" - tổng chi phí $500. Cài Ubuntu 22.04 và chạy được ngay (23.10 có vài vấn đề). Đáng tiếc là rất khó hoặc không thể tắt/vô hiệu hóa hoàn toàn hai GPU AMD Radeon bên trong. Dùng vgaswitcheroo để dừng một GPU và đưa GPU còn lại vào trạng thái D3hot, nhờ đó mức tiêu thụ điện lúc nhàn rỗi còn khoảng 99W. Intel NUC thì gần như không tiêu thụ gì khi idle (UPS báo công suất đầu ra 0W dù có 4 ổ NVMe nối qua vỏ Thunderbolt). Không muốn vận hành một cục phát nhiệt 100W suốt 24x7 khi vắng nhà nên vẫn phải tiếp tục dùng NUC.
  • Một góc nhìn khác về home lab: đặt trên kệ trong văn phòng ở tầng hầm. Thông gió ổn, WiFi ổn nhưng không quá xuất sắc. Phần cứng là PC cũ lấy được từ buổi trao đổi đồ với hàng xóm. Gắn thêm RAM lấy từ một PC cũ khác rồi mua ổ cứng và card WiFi. Phần mềm là Debian stable và podman/podman-compose. Mọi dịch vụ hữu ích chỉ là một thư mục có file compose. Dùng podman-compose để chuyển thành các unit systemd. Nếu những thứ trong bài là điều bạn quan tâm thì rất tuyệt, cứ mạnh dạn làm! Nhưng tuyệt đối không bắt buộc, và cũng không cần làm ngay lập tức. Trên chiếc PC cũ gần như miễn phí này đang chạy nhiều dịch vụ mà gia đình dùng mỗi ngày, vẫn chưa dùng hết một nửa 16GB RAM và mức sử dụng CPU chưa bao giờ vượt 5%.
  • Nếu thiết bị home lab nằm trong không gian sống không mang tính kỹ thuật, thì phải nghĩ đến tiếng ồn, đèn/màn hình hiển thị và mức độ kín đáo. Là người sống trong căn hộ, trước đây đã để nó trong tủ khá lâu. Sau khi chuyển ra phòng khách, các giải pháp gồm: dùng tủ IKEA CORRAS để đồng bộ với nội thất khác. Từng có cột rackmount nhưng chúng lồi ra nên đã tháo bỏ. Để giảm tiếng ồn, dùng thiết bị không quạt hoặc chỉ cần vài quạt Noctua để làm mát. Thậm chí đã thay quạt trong PSU 1U bằng Noctua (việc này cần một chút hàn và không ít chửi thề). Máy chủ Atom có thể chạy không quạt trong môi trường không phải datacenter, ngoại trừ PSU. Hiện máy chủ duy nhất không yên tĩnh là máy chủ GPU 3090, được cấu hình để chỉ quay khi có nhu cầu. Trong trường hợp này, có thể chạy lệnh Wake-on-LAN từ laptop, nhưng cũng có thể dùng IPMI, PDU hoặc ổ cắm điện IoT, hoặc tìm cách dừng 3090 và quạt bằng phần mềm, hoặc tự động hóa bằng Kubernetes. Về ánh sáng, dùng băng nhãn trắng của máy in nhãn để che các LED chỉ thị quá sáng. Với những đèn không cần thiết thì dùng băng nhãn đen. Về console, thích kiểu kéo trượt rack console ra dùng, đặc biệt là loại có bàn phím TrackPoint cổ điển của IBM. Nếu muốn có màn hình giám sát trong phòng khách thì ít nhất cũng nên để bàn phím trong ngăn kéo trượt ra. Ngoài ra cũng nên thanh lý thiết bị không cần thiết. Nếu không, sẽ cần hơn gấp đôi không gian rack cần thiết và nó cũng ít có khả năng trông giống thiết bị âm thanh trong phòng khách hơn. Nếu ở căn hộ và chưa muốn xử lý router ngay bây giờ (chỉ lo server thôi), hãy cân nhắc router OpenWRT vỏ nhựa. Nó có thể thay thế vài unit rack như router, switch, patch panel, v.v., và có thể không cần WiFi AP ngoài cùng hệ thống đi dây riêng.
  • Từ năm ngoái đã cấu hình và duy trì một thiết lập home lab, và đó thực sự là một trải nghiệm đáng kinh ngạc. Đã học được rất nhiều về container, máy ảo và mạng. Một số ứng dụng tự host như paperless-ngx và immich thậm chí còn vượt trội hơn các giải pháp cloud độc quyền về mặt tính năng. Thêm dịch vụ VPN như tailscale thì giờ có thể truy cập home lab từ bất cứ đâu trên thế giới. Điều duy nhất còn thiếu là dựng một máy công suất thấp như NUC hoặc mini PC để chuyển bớt các dịch vụ cần chạy 24/7 sang đó và tiết kiệm tiền điện. Nếu đủ năng lượng để làm bảo trì và nâng cấp định kỳ vào cuối tuần thì hoàn toàn khuyến nghị dựng home lab 100%.