Update:
- 23/09/2024: update phần phần cứng.
- 13/09/2024: update phần vỏ case thứ nhất.
- 06/09/2024: bắt đầu.
Chào các bác,
Ý tưởng làm 1 con home server để sử dụng đa mục đích của em nảy sinh từ khá là lâu rồi. Qua thời gian khoảng 2 năm vọc vạch thì hôm nay em cũng xin mạn phép mở 1 topic để ghi chép lại quá trình em build 1 con home server phục vụ cho các nhu cầu khá đặc biệt, viết hướng dẫn cho các bác muốn làm 1 con máy như em
Trước tiên nói sơ về background của em:
- 5+ yoe Product dev ngành Điện - Điện tử.
- 10+ yoe buôn bán linh kiện máy tính.
- Biết code (Python, C++...), Linux system, product design, hardware system dev...
- Thích DIY, thích dạo voz/shopee/taobao...
Nhu cầu khi build home server:
- NAS: chuyển file local tốc độ 300-1000Mbps và truy cập được từ xa qua VPN.
- Media server: ảnh, nhạc, phim (transcode trên client), cũng truy cập được từ xa qua VPN.
- 1 cái web/blog cá nhân.
- 1 số app/service self-hosted: Rocket Chat, Si-Yuan, Mail-in-a-box, Home Assistant (không camera), Storj node, VPN (chủ yếu cho NAS và media server), remote...
- Vài cái Python script tự động hóa trình duyệt và các GPIO/COM port.
- Tiết kiệm năng lượng. Nếu tốn điện quá thì e đi mua sub cho nhanh.
- Kính thước nhỏ gọn nhẹ.
- Sau này sẽ nghiên cứu thêm CRM self-hosted, camera tự động nhận diện khuôn mặt, automation hệ thống điện dân dụng công nghiệp, bot Telegram/Android... nhưng chắc còn lâu lắm
Các giải pháp đã thực hiện:
- Ban đầu lựa chọn Z210 MT vì nó cũng rẻ, không gian trống nhiều để thêm bớt nhiều thứ thử nghiệm.
- Cài TrueNAS Scale và setup thành 1 local NAS.
- Hiện tại nó vẫn là NAS chính của gia đình, hoạt động ổn định và hoàn hảo cho riêng nhu cầu NAS
- Tuy nhiên, khi bắt đầu vọc các thứ thì lòi ra rất nhiều vấn đề khác nhau:
- Setup VM thì bị đen màn
- Cài Cloudflare và Tailscale thì tắc ở bước deploying mấy ngày mới chạy
- Lâu lâu thì báo không kết nối được với server update app
- Và 1 mớ lỗi vặt khác...
- Sửa mệt quá nên không vọc nữa
- Chưa kể ZFS cũng đòi lượng RAM khá to để làm cache
- Và công suất idle cũng ngốn kha khá: 11 ổ 2.5 inch ngốn 55W
Sau đấy em tìm hiểu thêm 1 số giải pháp khác, nhưng kiểu gì cũng có nhiều nhược điểm:
- Xpenology/OpenMediaVault và các NAS OS tương đương: không phù hợp để làm đa nhiệm, nhất là khoản dùng Python script để automation nhiều thứ. Em cũng nghĩ đến giải pháp tạo VM nhưng 1 cái VM cũng ngốn tài nguyên kha khá.
- Proxmox: yêu cầu RAM to để chạy ZFS file system. Và cũng như các NAS OS thì cũng phải tạo VM để chạy Python script điều khiển trình duyệt.
- ESXi: y như Proxmox nhưng thêm cái nữa là yêu cầu phần cứng phù hợp khiến cho việc tìm kiếm linh kiện vừa rẻ vừa ngon khá khó khăn
Về giải pháp phần cứng, giải pháp :
- Máy Xeon Tàu: đòi hỏi phải có VGA rời mới khởi động được, công suất idle quá cao, không có HDD đã là 70W. Lợi thế là CPU mạnh, RAM cực kỳ nhiều và rẻ
- Hàng consumer: công suất idle có thể được kéo xuống thấp vì có nhiều C-state, nhưng vì chạy nhiều Python script nên có thể tổng công suất vẫn không tiết kiệm được bao nhiêu, giá cũng không mềm lắm. Lợi thế là linh kiện có sẵn, nhiều, dễ kiếm, dễ thay thế
- Server đồng bộ: hàng chuyên dụng rất phù hợp, nhưng công suất idle vẫn cao như đám Xeon Tàu, khó tìm được máy chạy êm (trước em có 1 con EPYC chạy 1 quạt 2U mà nó hú nhức đầu quá nên giải tán rồi), linh kiện hiếm có khó tìm. Lợi thế là ít hỏng vặt, bền bỉ theo thời gian
- Các bộ NAS build sẵn: giá quá cao và cũng không có sản phẩm nào thực sự khít với nhu cầu. Lợi thế duy nhất là luôn luôn có sẵn, dịch vụ sau bán hàng là có
Giải pháp hiện tại mà em đang build:
- Ubuntu 20.04 + CasaOS: CasaOS để cài app và quản lý từ giao diện web, Ubuntu dùng để chạy các app/service mà CasaOS không có và chạy các Python script. Nói chung cái gì mà NAS OS không làm được thì em kéo xuống Ubuntu
- RAID: mdadm + các script hỗ trợ backup, snapshot, replication cloud/NAS box, S.M.A.R.T test. Chỉ thiếu mỗi chức năng Scrub của ZFS mà thôi
- Phần cứng, ngoại trừ main ra thì còn lại toàn là đồ mua từ lâu, bán không được giá nên đâm ra ghét méo bán nữa mà tận dụng luôn:
- 1x main J3160, TDP 6W đạt 1200 điểm cpubenchmark mua Taobao hết 350k cả ship tận cửa: 2x Sata3, 1x PCIe 16x (1x), 2x COM, max 8GB DDR3L SODIMM, 1x LAN 1Gbps.
- 1x RAM laptop 4GB DDR3L.
- 1x card HBA IT mode Dell H200, 8x PCIe to 8x Sata3, nhưng mà khe PCIe 16x trên main chỉ có 1 lane PCIe thôi, sẽ test performance sau.
- 1x pico PSU kèm adapter 120W.
- 8x 2.5" HDD 500GB chạy RAID6 cho data pool, tổng khoảng 2,8TB.
- 1x SSD 128GB cho OS.
- 1x quạt case 12cm loại 4 dây, công suất max 1W. Một số quạt công nghiệp công suất to tốn 3-5W điện, quá lãng phí.
- 1x router ZTE 8820s, chạy OpenWRT, cài reverse proxy và adblock.
- 1x case custom 22x22x20cm, tự design bằng Sketchup. Tốn hết 800g nhựa in 3D ~120k, 70 giờ in 3D ~30k tiền điện, 70k tiền cắt mica, và nhiều giờ công ngồi design và chỉnh sửa.
- Tổng giá trị phần cứng khoảng 2tr80 đã bao gồm cả 8 ổ HDD và router.
- Test sơ công suất hoạt động:
- Main: 7,5W.
- Main + card HBA: 12W.
- Main + card HBA + 8x HDD: 19,5W.
- Main + card HBA + 8x HDD + 1x 12cm fan: 20,5W (peak 30-40W, vẫn mới chỉ đạt 1/3 công suất danh định của nguồn pico PSU)
- Giải pháp này giúp em tiết kiệm 35W ~65% so với khi chạy Z210 hiện tại, tính ra mỗi năm tiết kiệm hơn 300 số điện ~1tr VND, mà có thể làm thêm được 1 số thứ
Một số hình ảnh nhá hàng
- Khung HDD kèm quạt gắn trong Z210. Không có lưới lọc bụi nên chạy vài tháng là đít HDD bám cả tấn bụi
View attachment 2669614
- Khung HDD bản mới. Lấy kinh nghiệm kỹ sư Điện tử ra để làm cái backplane: tự thiết kế PCB, tự gia công, tự đặt linh kiện về tự hàn. Lắp trong máy EPYC, đã test và tốc độ SSD Sata3 vẫn không suy giảm so với khi cắm cáp trực tiếp vào main.
View attachment 2669617
- Test công suất cho giải pháp đang làm hiện tại
View attachment 2669608
(còn tiếp)