Project Homelab: Tự thiết kế và xây dựng Server Rack từ A–Z

Project Homelab: Tự thiết kế và xây dựng Server Rack từ A–Z
Có những dự án bắt đầu từ một nhu cầu thực tế.
Có những dự án bắt đầu vì muốn học một công nghệ mới.
Còn dự án này bắt đầu từ một cái tủ rack mà tôi đã nhìn thấy từ rất lâu trước đây.
Một ý tưởng đã nằm đó từ rất lâu
Từ khi còn nhỏ, tôi từng được người thân dẫn theo đến nơi làm việc trong một trung tâm thương mại. Ở đó, tôi lần đầu nhìn thấy những tủ điện và tủ rack server với rất nhiều thiết bị, dây mạng, đèn tín hiệu và hệ thống được sắp xếp thành từng tầng rất gọn gàng.
Thời điểm đó tôi chưa thực sự biết bên trong những chiếc tủ ấy đang chạy những gì, server hoạt động ra sao hay tại sao lại cần nhiều thiết bị đến vậy.
Nhưng có một suy nghĩ khá đơn giản xuất hiện:
“Sau này mình cũng muốn có một cái như thế.”
Ý tưởng sở hữu một server riêng bắt đầu từ đó.
Sau này khi học và làm việc trong lĩnh vực kỹ thuật, tôi có cơ hội tiếp xúc nhiều hơn với embedded system, networking, Linux, Docker, server, NAS và các hệ thống phần cứng khác. Mong muốn xây dựng một hệ thống server riêng vẫn còn đó, nhưng trong một thời gian dài nó vẫn chỉ dừng lại ở mức:
“Khi nào có thời gian thì làm.”
Và như mọi người đều biết, câu này thường có nghĩa là... chưa biết khi nào làm.
Cho đến khi tôi nhìn thấy một chiếc rack được in 3D

Mọi thứ bắt đầu trở nên nghiêm túc hơn khi tôi tình cờ nhìn thấy bản thiết kế KWS Server Rack trên MakerWorld của Bambu Lab.
Thay vì một chiếc rack server kim loại lớn theo chuẩn 19 inch thường thấy trong doanh nghiệp hay data center, đây là một thiết kế rack nhỏ gọn có thể chế tạo bằng máy in 3D.
Ngay lúc đó tôi bắt đầu nghĩ:
Nếu rack có thể tự in được, vậy tại sao không tự thiết kế toàn bộ hệ thống?
Từ một ý tưởng ban đầu khá đơn giản là in một chiếc rack để đặt vài máy tính nhỏ, dự án bắt đầu mở rộng.
Tôi bắt đầu nghiên cứu:
Rack nên có kích thước bao nhiêu?
Nên dùng chuẩn 10 inch hay 19 inch?
Một rack bằng PETG có chịu được toàn bộ thiết bị không?
Network nên thiết kế như thế nào?
Có cần 2.5GbE hay 10GbE?
Router nên dùng thiết bị thương mại hay một mini PC chạy OPNsense?
VLAN nên được chia như thế nào?
NAS nên dùng bao nhiêu HDD?
RAIDZ1, RAIDZ2 hay backup riêng?
Làm thế nào để cấp nguồn cho toàn bộ rack?
Có cần PDU riêng?
Cooling và airflow nên bố trí như thế nào?
Nếu thiết bị không có rack mount thì... có thể tự thiết kế rack mount không?
Và từ đó, dự án nhỏ ban đầu bắt đầu biến thành một hệ thống Homelab hoàn chỉnh.

Mục tiêu của Project Homelab
Mục tiêu của dự án không chỉ đơn giản là có một chiếc server để sử dụng.
Tôi muốn tự mình đi qua gần như toàn bộ quá trình xây dựng một Homelab:
Lập kế hoạch → thiết kế → lựa chọn thiết bị → thiết kế cơ khí → in 3D → lắp ráp → cấu hình mạng → triển khai dịch vụ → kiểm thử → tối ưu.
Hệ thống dự kiến sẽ bao gồm nhiều thành phần khác nhau như:
Router/Firewall chạy OPNsense
Managed Switch MikroTik
Hệ thống mạng 1GbE / 2.5GbE / 10GbE
VLAN
VPN
IDS/IPS
Mini PC cluster
Raspberry Pi cluster
Proxmox
Docker
NAS chạy TrueNAS
RAIDZ
Camera storage
Home Assistant
Monitoring
Backup
Hệ thống PDU và bảo vệ điện
Hệ thống cooling riêng cho rack
Các rack mount và enclosure tự thiết kế bằng CAD và in 3D
Một phần thú vị của dự án là khá nhiều thiết bị vốn không được thiết kế để lắp rack.
Vì vậy, thay vì chỉ mua thiết bị rồi đặt chúng lên một cái kệ, tôi muốn tự thiết kế các enclosure, bracket, tray và rack mount bằng Fusion 360 để toàn bộ hệ thống có thể lắp thành một rack thống nhất.
Và tại sao tôi lại viết series này?
Lý do chính thức:
Tôi muốn ghi lại toàn bộ quá trình thiết kế và xây dựng hệ thống để những người có cùng sở thích về Homelab, networking, server và 3D printing có thể tham khảo.
May mắn là công ty cũng hỗ trợ cho tôi sử dụng máy in 3D Bambu Lab và vật liệu in trong quá trình thực hiện dự án.

Nhưng đây cũng là một lý do khá tốt để tôi ghi lại dự án một cách có hệ thống, thay vì sau vài tháng nhìn lại một đống file Fusion 360 với những cái tên như:
rack_final.step
rack_final_v2.step
rack_final_v2_fixed.step
rack_final_v2_fixed_REAL_FINAL.step
...và hoàn toàn không nhớ tại sao mình lại thiết kế nó như vậy.
Nội dung của series
Bài viết này sẽ đóng vai trò là mục lục chính của toàn bộ Project Homelab.
Trong quá trình thực hiện, tôi sẽ tiếp tục cập nhật các phần mới và liên kết chúng tại đây.

Phần 1 — Planning & System Design
Từ ý tưởng đến kiến trúc Homelab
Xác định mục tiêu sử dụng, các dịch vụ cần triển khai và quy mô hệ thống. Từ đó xây dựng kiến trúc tổng thể cho server, NAS, network và khả năng mở rộng trong tương lai.
Phần 2 — Thiết kế Server Rack
Từ KWS Server Rack đến hệ thống 10-inch Rack tùy chỉnh
Thiết kế rack 10 inch 24U, bố trí thiết bị và xây dựng mô hình assembly trên Fusion 360. Đồng thời thiết kế các rack mount, tray và chi tiết in 3D cho những thiết bị không hỗ trợ rack tiêu chuẩn.
Phần 3 — Network Architecture
OPNsense, MikroTik, VLAN và mạng 10GbE
Thiết kế kiến trúc mạng sử dụng OPNsense và MikroTik, phân chia VLAN và kết nối các server trong hệ thống. Backbone 10GbE và các kết nối 2.5GbE sẽ được sử dụng để đáp ứng nhu cầu truyền dữ liệu nội bộ.
Và còn nữa...
Các phần tiếp theo sẽ đi sâu vào hệ thống nguồn và bảo vệ điện, cooling, NAS & storage, Proxmox, Raspberry Pi, thiết kế phần cứng in 3D, quá trình lắp ráp và kiểm thử toàn bộ Homelab.
Series sẽ tiếp tục được cập nhật trong quá trình dự án được triển khai.
Một dự án để học bằng cách tự xây dựng
Homelab đối với tôi không chỉ là một nhóm server chạy trong nhà.
Nó là một môi trường để thử nghiệm.
Một nơi có thể thoải mái cấu hình sai VLAN, làm mất kết nối toàn bộ network, reset router, cài lại hệ điều hành, rebuild server hoặc thiết kế một chi tiết rack ba lần chỉ vì lần đầu sai 2 mm.
Quan trọng hơn, đây là cơ hội để kết hợp nhiều lĩnh vực mà tôi quan tâm:
Electronics + Networking + Server + Mechanical Design + 3D Printing + Software.
Từ một lần nhìn thấy chiếc server rack trong trung tâm thương mại nhiều năm trước, đến một bản thiết kế KWS Server Rack trên MakerWorld, cuối cùng ý tưởng đó cũng bắt đầu trở thành một dự án thật.
Đây là Project Homelab.
Và đây mới chỉ là bắt đầu.
Bình luận
Chưa có bình luận nào. Nếu bài này sai ở đâu, nói giúp.