36 điểm bởi tsboard 2025-01-10 | 24 bình luận | Chia sẻ qua WhatsApp

Động lực bắt đầu vận hành home server

  • Thiết lập ban đầu: Lúc đầu, tôi mua một mini PC trang bị CPU Intel N100 trên AliExpress, tận dụng router ASUS, cấu hình port forwarding và DDNS để vận hành home server.
  • Vấn đề trong quá trình vận hành: Do thỉnh thoảng xảy ra sự cố truy cập ngoài dự kiến, trang TSBOARD đã được chuyển sang web hosting để vận hành ổn định hơn.
  • Tình trạng hiện tại: TSBOARD đã được chuyển sang nhà cung cấp hosting, nhưng cộng đồng ảnh do tôi vận hành vẫn đang chạy trên home server dựng bằng mini PC.

Lý do chọn mini PC

  • Hiệu năng và giá thành: Mini PC có CPU tiết kiệm điện và form factor nhỏ gọn nên rất đáng tiền. Tôi từng dùng Beelink MINI S12 PRO, sau đó nâng cấp lên mẫu Genmachine nền tảng RYZEN cấu hình cao hơn.
  • Phù hợp cho mục đích home server: Nhỏ gọn, tiêu thụ ít điện, phù hợp để chạy 24/7; tôi cài Ubuntu Server và đang tận dụng tốt cho cả mục đích phát triển lẫn vận hành dịch vụ.

Cách cấu hình home server

  • Mua domain (ở Namecheap hoặc nơi khác), sau đó nối domain DDNS bằng CNAME.
  • Trên router, dùng port forwarding để chuyển cổng 80 và 443 tới mini PC.
  • Gợi ý về DDNS: Dùng dịch vụ DDNS của hãng sản xuất router sẽ tiện hơn, nhưng có thể phát sinh sự cố truy cập. Tôi đang dùng router ASUS nên dùng ASUS DDNS, tuy vậy đôi lúc vẫn có lỗi.

Khó khăn khi vận hành home server

  • Vấn đề nguồn điện và phần cứng: Mất điện hoặc router gặp trục trặc có thể khiến dịch vụ bị gián đoạn, và khi khôi phục thì có nguy cơ hỏng dữ liệu. (Hãy sao lưu thường xuyên!)
  • Troubleshooting: Các tình huống như lỗi truy cập DDNS hay sự cố mạng khiến bạn thường xuyên phải xử lý những lỗi ngoài dự kiến.

Ưu điểm của việc vận hành home server

  • Chi phí thấp: Với mini PC, bạn có thể đạt được hiệu năng cao với chi phí tương đối thấp. Đặc biệt có lợi khi cần dùng storage dung lượng lớn.
  • Tự do cấu hình: Người dùng có thể tự do chọn bản phân phối Linux hoặc thư viện theo ý muốn.
  • Nhiều cách tận dụng: Cài code-server để có thể làm việc coding từ bên ngoài, đồng thời cũng có thể dùng như server phát triển cá nhân.

Tôi khuyên bạn nên thử vận hành home server bằng mini PC

  • Home server lúc đầu có thể trông khá phức tạp, nhưng để bắt đầu thì không quá khó; thông qua troubleshooting, bạn còn có thể tích lũy những kiến thức hữu ích mà biết đâu sau này sẽ cần đến.
  • Đây là lựa chọn lý tưởng để bắt đầu nhỏ. Nếu sau này bạn bắt đầu bận tâm tới các vấn đề như bảo mật hoặc có nhu cầu phải giảm thiểu chắc chắn hơn các sự cố truy cập, khi đó chuyển sang một nơi ổn định hơn cũng chưa muộn.
  • Trường hợp được KLeagueProgrammer chia sẻ tại GeekNights đã giúp ích cho tôi rất nhiều. (https://vi.news.hada.io/topic?id=18274)

24 bình luận

 
moderato 2025-01-16

Tôi muốn hiệu năng tốt hơn một chút nên
đã mua một chiếc Mac mini M1 cũ để dùng làm home server,
và thực sự rất hài lòng.

Nhờ những chia sẻ kinh nghiệm mọi người để lại ở đây mà tôi cũng có thêm vài thứ muốn áp dụng thử, cảm ơn nhé.

 
channprj 2025-01-14

Tôi đang dùng công cụ và script DDNS để cập nhật DNS qua Cloudflare API khi phát hiện IP thay đổi, và cách này cũng khá ổn. Các giải pháp như Ngrok, Cloudflare Tunnel... phải đi qua máy chủ trung gian nên bị giới hạn về tốc độ phản hồi và băng thông, còn trong trường hợp này thì ổn vì cấu trúc không đi qua máy chủ trung gian. Tuy nhiên, nhược điểm là phải nối phía trước router vào switch để nhận Public IP.

 
rlaehdus2003 2025-01-13

Tôi cũng gần đây bắt đầu quan tâm đến home server, và bài này có vẻ đã giúp tôi tham khảo được rất nhiều. Cảm ơn bạn.

Không biết nếu trong vài tháng không có sự cố nào và server vẫn đang vận hành ổn định không vấn đề gì, thì bạn có định kỳ làm các việc như IPL (khởi động lại server) không??
Tôi đoán những việc như cập nhật OS cũng sẽ cần thiết, nên cũng tò mò không biết bạn có đặt chu kỳ riêng để thực hiện không.

Thật ra chắc cứ lên lịch rồi làm là được thôi nhỉ haha

 
tsboard 2025-01-13

Xin chào! Thực ra trong trường hợp của mình, dịch vụ không nổi tiếng lắm và cũng không có nhiều lưu lượng, nên mình có thể cập nhật và khởi động lại gần như bất cứ lúc nào (...), nhưng thường thì mình vẫn làm những việc đơn giản như cập nhật vào khoảng rạng sáng.

Gần đây khi nâng từ Ubuntu 22.04 lên 24.04, có lẽ mình đã thực hiện vào cuối tuần...!

Vì dịch vụ vẫn chưa được nhiều người biết đến và chủ yếu dùng cho mục đích phát triển, nên hiện tại mới như vậy, nhưng nếu sau này người dùng tăng lên hoặc việc chạy 24h trở nên quan trọng thì có lẽ sẽ khó mà tiếp tục vận hành kiểu này, và lúc đó chắc mình sẽ phải rời khỏi home server... mà không biết sẽ là khi nào nữa hahaha

 
ifmkl 2025-01-13

Tôi từng chạy Raspberry Pi ở nhà, còn bây giờ thì đã dùng khá ổn armVM free tier do Oracle cung cấp suốt mấy năm nay.. chỉ mong là nó đừng bị bỏ thôi ....

 
tsboard 2025-01-13

Tôi chỉ nghe nói VM của Oracle rất hời nên thấy tò mò ghê. Nhân dịp này chắc tôi cũng thử dùng cho biết xem sao. haha

 
ikkoz 2025-01-12

Tôi đang dùng coolify để chạy CI/CD liên kết với GitHub và self-hosting. Với DDNS thì tôi dùng container Cloudflare, mỗi khi đăng ký tên miền mới lại phải thêm thủ công rồi reload là được thêm vào..
Nếu vẫn thấy bất an thì bạn cũng có thể cân nhắc dùng dnsever do một đơn vị trong nước cung cấp. Tôi đã dùng hơn 10 năm mà chưa gặp vấn đề gì.

 
tsboard 2025-01-13

Wow, mọi người đúng là đang sử dụng theo rất nhiều cách đa dạng thật đấy!! Nhờ những thông tin mọi người chia sẻ trong phần bình luận mà mình học được rất nhiều. Cảm ơn mọi người đã cho biết!!

 
ytuniverse 2025-01-12

Vấn đề số lượng IP public luôn là một bài toán, nhưng với giả định không dùng cho mục đích thương mại,

  1. Kết nối instance compute của nhà cung cấp cloud và node on-premise bằng mesh VPN của Tailscale, rồi tận dụng dịch vụ DNS của CSP.
  2. Cloudflare Tunnel. Vì hoạt động theo dạng agent nên không bị ảnh hưởng bởi việc IP thay đổi.

Theo kinh nghiệm của tôi, với cách 1 thì sẽ có một số phần cần cấu hình trên instance compute cloud tùy theo ứng dụng hoặc cấu trúc hạ tầng, và cũng sẽ tốn thêm một ít chi phí.

 
ytuniverse 2025-01-12
  • vì tailscale vpn thực hiện đóng gói thêm một lần bằng UDP, nên có lẽ nó không quá phù hợp để dùng cho mục đích kiểm thử lưu lượng lớn
 
hoonix 2025-01-14

Xin để lại tài liệu tham khảo liên quan đến băng thông. Cá nhân tôi khi thử nghiệm thấy máy hoàn toàn gánh được mức full load 1Gbps, và theo blog kỹ thuật của họ thì có vẻ chạy ổn đến khoảng 5Gbps. (https://tailscale.com/blog/more-throughput) Nếu là mạng gigabit trong gia đình thông thường thì sẽ không có nút thắt cổ chai về băng thông.

 
wedding 2025-01-12

Tôi cũng đang nghịch đủ thứ trên Proxmox bằng mini PC n100.

 
tsboard 2025-01-13

Rất vui được gặp bạn haha, giờ thì đã nâng từ n100 lên cấu hình cao hơn một chút, nhưng hiệu năng trên giá thành và hiệu quả điện năng của n100 vẫn khiến mình nhớ mãi!!

 
beenzinozino 2025-01-12

Tôi đang dùng Synology kết nối với UPS như một máy chủ tại nhà và sử dụng rất ổn~

 
tsboard 2025-01-13

Thật bất ngờ khi bạn còn dùng kèm cả UPS nữa, ghê thật. Vậy thì chắc cả khi mất điện cũng không thành vấn đề nhỉ!

 
hoonix 2025-01-11

Mình không dùng DDNS riêng, mà dùng Tailscale để giải quyết rất hiệu quả đồng thời các vấn đề về tường lửa, thiết lập Mesh VPN và endpoint. Mình truy cập cả trong nước lẫn từ nước ngoài, đã vài năm rồi mà không gặp vấn đề gì. Nếu dùng cho mục đích phát triển và cá nhân thì rất đáng khuyến nghị. Nếu cần public deploy cho số lượng người dùng không xác định để phục vụ dịch vụ thì lưu ý là có giới hạn băng thông.

 
tsboard 2025-01-13

Nhờ những gợi ý của mọi người, tôi nhận ra còn rất nhiều điều mới cần phải học! Cảm ơn mọi người đã chia sẻ chi tiết!

 
meilleur 2025-01-11

Khi dùng Route53 của AWS, bạn có thể chỉnh sửa bản ghi DNS bằng script để sử dụng mà không cần dịch vụ DDNS riêng.
Tôi đã dùng ddns.py ở liên kết thứ hai.

https://7span.com/blog/dynamic-dns-with-aws-route-53?form=MG0AV3
https://github.com/nishant-p-7span/Dynamic-DNS/…--------------------------------

 
scari 2025-01-13

Tôi cũng đang dùng như thế này! Vui được gặp bạn :)

 
tsboard 2025-01-11

Ôi, thông tin hay quá...! Cảm ơn bạn!

 
tensun 2025-01-11

Router ASUS có vẻ có vấn đề với DDNS. Trước đây tôi từng dùng nhưng Wi‑Fi cũng không ổn định nên cuối cùng đã đổi sang loại khác.

 
tsboard 2025-01-11

Đúng vậy, trước đây tôi không biết rõ vấn đề về DDNS, nhưng khi thực sự vận hành home server thì mới thấy vấn đề nghiêm trọng thật. Nhân dịp này chắc tôi cũng phải đổi thôi.

 
bbulbum 2025-01-11

Gần đây tôi đã dựng một home server bằng chiếc laptop không còn dùng tới, và đã dùng Cloudflare Tunnel thay vì ddns. Tôi vẫn chưa kiểm tra xem nó có xử lý đủ lưu lượng hay không, nhưng nếu bạn quan tâm thì tôi khuyên nên thử :)

 
tsboard 2025-01-11

Vốn dĩ thỉnh thoảng tôi cũng đã bị ASUS DDNS làm cho căng thẳng, nên cái này tôi cũng sẽ thử thách xem sao. Cảm ơn bạn đã chia sẻ!!