- vừa được xem lúc

Xây dựng homelab cá nhân #2: Bản thiết kế đầu tiên cho môi trường

0 0 1

Người đăng: Axolotl

Theo Viblo Asia

Xin chào mọi người.

Ở blog trước, chúng ta đã có một hướng đi cụ thể cho dự án chúng ta. Với bài việt này, ta sẽ cùng nhau nghiên cứu thực tế và vẽ lên một kế hoạch sơ bộ cho server homelab trên bằng việc trả lời một vài câu hỏi lớn dưới đây.

I, Sử dụng server nào?

Hiện nay, ngoài thị trường đang có 3 loại server mà ta có thể nhắm tới:

  • Máy tính nhúng: Đây là những chiếc máy tính all-in-one thường sử dụng kiên trúc arm nên rất tiết kiệm điện và có cấu hình vừa phải với đa phần là các cổng kết nối kĩ thuật chứ không phải các cổng kết nối phục vụ cho server. Có thể kể đến các thiết bị như orange pi, raspberry pi, ... Tuy những thiết bị này hoàn toàn có thể cài OS linux và dùng như một server nhỏ nhưng chúng cũng có những bất lợi đáng kể. Cấu hình server 1 và 2 của tôi cũng đã từng sử dụng những thiết bị này. Chính vì vậy chúng ta sẽ không sử dụng chúng làm máy chính và có thể vẫn tận dụng chúng để đấu nối các cảm biến chuyên biệt và khiến chúng hoạt động dưới dạng những node chức năng giúp cải thiện điều kiện server. Ví dụ như việc có thể dùng 1 chiếc raspberry pi 4 kết nối với một vài cảm biến nhiệt độ, độ ẩm, chất lượng không khí rồi dùng những thông tin trên đê điều khiển các máy chức năng tương ứng như điều hòa, máy hút ẩm, máy lọc không khí một cách hiệu quả.

  • Máy tính workstation: Đây là những chiếc máy tính phổ thông được tối ưu lại linh kiện cho phù hợp với nhu cầu công việc cường độ cao. Những chiếc máy này thường có cấu hình chỉ kém hơn một chút so với một server chuyên nghiệp đồng thời các yêu cầu về môi trường không cao như việc sử dụng 1 server chuyên nghiệp (Không cần một phòng sạch, nhiệt độ ổn định trong khoảng thấp và không quá ồn). Tuy nhiên những ưu điểm trên cũng chính là khuyết điểm của hệ thống trên. Mặc dù chúng có khả năng đạt tới những cấu hình tiệm cận server nhưng giá cao hơn nhiều. Ngoài ra các linh kiện được sử dụng cho workstation thường lai giữa các chuẩn kết nối phổ thông và các chuẩn kết nối chuyên biệt cho server dẫn tới khó tùy biến và đem lại hiệu quả thấp. Ví dụ như việc nguồn của 1 workstation thường là loại phổ thông, được dùng cho đa phần các máy tính hiện tại tuy nhiên chúng thường đắt, không có khả năng kết hợp đa nguồn cũng như có chất lượng kém hơn một nguồn server. Chính vì lí do trên chúng ta cũng sẽ không sử dụng loại server này.

  • Máy chủ cấp doanh nghiệp: Đây là những chiếc máy tính được thiết kế dành riêng cho các trung tâm dữ liệu. Chúng thường rất mạnh, bền và có chi phí vô cùng đắt đỏ (Một server tầm thấp có giá vài trăm triệu khi mua mới là bình thường). Chúng cũng cần các điều kiện vô cùng đặc biệt để có thể hoạt động tốt, trong đó có yêu cầu về nhiệt độ, độ ẩm, bụi, điện năng (Thậm chí tới hình sóng của điện cũng có thể ảnh hưởng). Tuy có những bất lợi như vậy nhưng giá server cũ vô cùng rẻ và cạnh tranh (Tôi sẽ thảo luận yếu tố này ở một bài viết khác). Thêm vào đó, các linh kiện server vô cùng bền (Một vài linh kiện có thể có tuổi thọ lớn hơn cả tuổi tôi và bạn cộng lại có thể kể đến như CPU, RAM). Vì vậy vấn đề độ bền cũng không phải yếu tố cần lo lắng. Đây sẽ là thiết bị chúng ta sử dụng chính!

II, Thách thức về môi trường

Vì sử dụng một máy chủ cấp doanh nghiệp cho nên chúng ta cũng cần thiết lập một môi trường có tiêu chuẩn doanh nghiệp. Trong đó chúng ta sẽ phải giải quyết những vấn đề dưới đây:

  • Điện năng: Đây là yếu tố tiên quyết cho một server. Ta cần phải thiết kế một hệ thống điện mới có đầy đủ các cơ chế an toàn của một môi trường chuyên nghiệp. Trong đó ta cần lần lượt giải quyết vấn đề về hình sóng của điện, độ nhiễu dòng điện, ổn áp dòng điện, chống sốc, kiểm soát điện năng tiêu thụ và cuối cùng là một thiết bị lưu điện phù hợp cũng như các cơ chế kiểm soát chủ động từ phía server. Đây là yếu tố then chốt của cả hệ thống, nếu có bất cứ sự cố điện gì, hệ thống có thể sập và hỏng hoàn toàn.

  • Nhiệt độ: Yếu tố này trực tiếp ảnh hưởng tới độ bền của thiết bị. Ta có thể tạm bỏ qua yếu tố này tuy nhiên không được khuyết khích do các máy chủ cấp doanh nghiệp được thiết kế để hoạt động tốt trong một ngưỡng nhiệt độ cụ thể. Chúng ta sẽ phải thiết kế một hệ thống tản nhiệt cho server nhằm duy trì mức nhiệt từ 20-25 độ một cách thật ổn định và xuyên suốt. Ta sẽ đặc biệt quan tâm tới yếu tố này.

  • Độ ẩm: Yếu tố này khá khó để đánh giá được tầm quan trọng của nó. Ta thậm chí có thể bỏ qua hoàn toàn nó. Việc duy trì một mức độ ẩm tốt là nên làm và sẽ giúp độ bền server được cải thiện cũng như giảm tối đa tình trạng tĩnh điện. Tuy nhiên bỏ qua yếu tố này cũng không quá ảnh hưởng tới server và chỉ chịu 1 tỉ lệ nhỏ khiến server đột tử. Ta sẽ cân nhắc tới yếu tố này như một tiêu chí phụ chứ không tập trung nguồn lực vào nó.

  • Bụi: Yếu tố này có tầm quan trọng thấp tuy nhiên ta cũng không thể bỏ qua nó. Việc giảm thiểu lượng bụi trong không gian máy chủ giúp tăng tuổi thọ đáng kể và cũng cần được xem xét. Ta sẽ tập trung 1 phần nguồn lực vào yếu tố này nhưng không phải một yêu cầu tiên quyết.

II.I, Không gian

Trước khi bàn bạc thêm bất cứ gì chúng ta cần phải xác định rõ ta sẽ lắp đặt server ở đâu. Hiện tại, nhà tôi có 3 không gian có thể lắp được.

  • Ở không gian đầu tiên, nó chính là phòng ngủ của tôi. Phòng tôi có kích thước khoảng 3x4.5m. Với kích thước trên kết hợp với cách bố trí phòng (ảnh 1) và vị trí đặt máy tính cá nhân. Việc trực tiếp đặt server ở góc phòng cũng có thể là một phương án khả thi nếu tiếng ồn của server là tối thiểu. Tôi đã từng có kinh nghiệm sử dụng 1 server dell r730xd trong môi trường doanh nghiệp và nó có khả năng giảm tiếng ồn tới mức chấp nhận được nếu thiết bị chỉ hoạt động ở mức tối thiểu và với mức quạt thấp nhất. Hoặc chúng ta cũng có thể thiết kế những hệ thống riêng để giới hạn khả năng của server khi có người trong phòng và tối đa công suất khi được phép. Việc trực tiếp lắp tại phòng ngủ cũng giúp đơn giản hóa đường điện riêng khi mà chỉ cần 1 tủ điện kĩ thuật ở góc phòng với tất cả các thiết bị điện nằm trong đó. Đây sẽ là lựa chọn đầu tiên mà tôi sẽ thử nghiệm.

  • Với không gian thứ hai, đó chính là một khoang nhỏ dưới dạng một nhà kho. Nó có kích thước khá khiêm tốn chỉ khoảng 1x3m và cao khoảng 1m. Khoang trên về lý thuyết nó là nơi lý tưởng nhất để đặt server vì không gian kín vốn có của nó và không tốn diện tích sinh hoạt. Cùng với việc khu vực đó nằm ở trung tâm ngôi nhà và luôn là nơi có nhiệt độ nền thấp top đầu căn nhà. Đây hoàn toàn là một lựa chọn đáng để cân nhắc. Tuy nhiên nó cũng có những yếu điểm riêng, việc nằm ở trung tâm ngôi nhà cũng có nghĩa việc cách âm rất khó và phải làm thật kĩ để không ảnh hưởng tới sinh hoạt. Thêm với việc chiều cao quá thấp, các công tác bảo trì khá khó khăn. Đây sẽ không phải lựa chọn hợp lí nhất.

  • Vậy nếu server ồn ta sẽ triển khai nó ở đâu? Để trả lời cho câu hỏi này, ta sẽ cùng tìm hiểu địa điểm cuối cùng trong danh sách của chúng ta. Địa điểm đó chính là sân thượng của tòa nhà. Với lựa chọn này, ta cần cải tạo lại sân thượng bằng việc xây thêm một căn phòng mới và chỉ tập trung vào việc cách nhiệt cho căn phòng đó. Xét trên phương diện lý thuyết, nơi đây là chỗ hợp lí nhất khi không chiếm dụng không gian sinh hoạt cũng như hoàn toàn cách li với không gian chính nên nó có một sự cách âm tự nhiên và với không gian hoàn toàn mở của sân thượng, việc bày vẽ các kế hoạch mới cũng dễ dàng hơn rất nhiều. Tuy nhiên lựa chọn này cũng có yếu điểm riêng của nó khi chi phí sẽ là rất caothách thức về mặt kĩ thuật sẽ được nâng lên nhiều lần. Đây sẽ là lựa chọn thứ hai nếu như server quá ồn để có thể đặt trong phòng ngủ.

II.II, Điện năng

Vấn đề này là một vấn đề vô cùng quan trọng, ta sẽ tập trung toàn bộ nguồn lực vào đây.

Trước hết, từ nguồn điện tổng vào nhà. Tôi đã tách nó ra thành 2 đường điện song song. Một là đường điện dân dụng dùng cho toàn bộ tòa nhà. Phần thứ 2 là đường điện riêng chỉ dành riêng cho các thiết bị điện tử quan trọng như chiếc máy tính cá nhân của tôi cũng như server trên.

Với vấn đề về hình sóng của dòng điện. Giải pháp khá đơn giản, ta sẽ giải quyết bài toán này kèm với bài toán lưu điện bằng việc đầu tư một UPS sóng sin chuẩn chất lượng cao làm đầu vào cho nguồn server. Việc dùng UPS trên cũng giúp ta giải quyết được cả vấn đề nhiễu điện cho nguồn server.

Tuy vấn đề nhiễu điện đã giải quyết thông qua UPS. Ta vẫn sẽ có 1 thiết bị lọc nhiễu lắp ở tổng nguồn giúp giảm nhiễu cho các thiết bị khác như máy tính cá nhân, các máy tính nhũng cũng như thiết bị phụ trợ khác cần yêu cầu nghiêm ngặt hơn về điện nhưng không cần nhiều như một máy chủ cấp doanh nghiệp. Tôi đã chọn một bộ lọc nhiễu có mã Corcom F4041A. Bộ lọc trên cung cấp tối đa 36A là quá đủ cho hệ thống hiện tại cũng như nâng cấp sau này.

Vấn đề tiếp theo là việc chống sốc dòng điện. Tôi đã lắp thêm 1 surge protector ở đầu nguồn điện của toàn bộ tòa nhà giúp đảm bảo việc chống sốc cho toàn bộ tòa nhà chứ không chỉ cho các thiết bị cao cấp (Surge protector thường có công suất rất cao nên áp dụng cho toàn bộ tòa nhà không phải là vấn đề).

Tôi cũng có lắp thêm một công tơ mét thông minh có mã Selec EM2M-1P-C-100A-CE và có khả năng kết nối tới các thiết bị khác thông qua giao thức MODBUS RS485. Thiết bị này giúp tôi có dữ liệu thô về các chỉ số quan trọng như V, A. Hz, Pf, kW, kVA, kVAr và cũng đo trực tiếp được đã tiêu thụ bao nhiêu kWh cũng như kết nối trực tiếp dữ liệu vào máy tính điều khiển.

II.III, Không khí

Đối với vấn đề nhiệt độ, tôi chỉ định bật một chiếc điều hòa cho chính phòng ngủ của tôi 24/7. Thứ duy nhất ta cần quan tâm ở đây là chọn 1 chiếc điều hòa thật tiết kiệm điện và bền bỉ.

Ngoài ra tôi cũng sẽ lắp đặt một chiếc máy lấy khí tươi thu hồi nhiệt (HRV) với mã AP-AV-TTW5-W. Đây là một thiết bị giúp lấy không khí tự nhiên và tái hấp thụ nhiệt độ phòng giúp vừa có một luồng không khí sinh hoạt chất lượng và cũng giảm thiểu điện năng tiêu thụ cho việc làm mát. Thiết bị này cũng có sẵn một bộ lọc không khí sơ F7 giúp lọc phần nào bụi trong môi trường. Kết hợp với một máy lọc không khí HEPA mà tôi đang sử dụng. Điều này giúp đảm bảo hơn nữa chất lượng không khí có trong phòng.

Tôi cũng trang bị một máy đo chất lượng không khí ZN-MT29 giúp đo các chỉ số liên quan tới chất lượng không khí bao gồm cả bụi, nhiệt độ, độ ẩm thực tế giúp theo dõi và quản lí các thiết bị hỗ trợ môi trường một cách tốt hơn.

III, Kế hoạch sơ bộ về môi trường

Với những thông tin trên, ta sẽ có một kế hoạch sơ bộ như sau. Trước hết ta sẽ trực tiếp sử dụng phòng ngủ làm phòng chứa server. Sau đó ta sẽ lắp một đường điện riêng cho phòng và lắp tất cả các thiết bị vừa thảo luận ở trên vào phòng. Sơ đồ cơ bản của hệ thống điện như dưới đây. 2.png

Nếu server không quá ồn hoặc ít nhất có cách để có thể khiến server không ảnh hưởng tới sinh hoạt hằng ngày, ta sẽ duy trì như vậy. Còn nếu có những vấn đề không thể khắc phục. Ta sẽ tính tới câu chuyện xây một căn phòng server mới.

Xin cảm ơn các bạn vì đã đọc bài viết này. Nếu có bất cứ câu hỏi nào hãy comment ở phía bên dưới. Phần tiếp theo sẽ nói về chi tiết việc lựa chọn server và sẽ sớm được đăng trong một vài ngày tới. Mong các bạn sẽ đón xem.

Xin chào và hẹn gặp lại!

Bình luận

Bài viết tương tự

- vừa được xem lúc

Đề thi interview DevOps ở Châu Âu

Well. Chào mọi người, mình là Rice - một DevOps Engineers ở đâu đó tại Châu Âu.

0 0 106

- vừa được xem lúc

In calculus, love also means zero.

Mình nhớ hồi năm 2 đại học, thầy giáo môn calculus, trong một giây phút ngẫu hứng, đã đưa ra cái definition này. Lúc đấy mình cũng không nghĩ gì nhiều.

0 0 75

- vừa được xem lúc

Chuyện thay đổi

Thay đổi là một thứ gì đó luôn luôn đáng sợ. Cách đây vài tháng mình có duyên đi làm cho một banking solution tên là X.

0 0 60

- vừa được xem lúc

Pet vs Cattle - Thú cưng và gia súc

Khái niệm. Pets vs Cattle là một khái niệm cơ bản của DevOps. Bài viết này sẽ nói về sự phát triển của các mô hình dịch vụ từ cốt lõi Pets and Cattle. 1.

0 0 46

- vừa được xem lúc

Git workflow được Google và Facebook sử dụng có gì hay ho

Với developer thì Git hẳn là công cụ rất quen thuộc và không thể thiếu rồi. Thế nhưng có mấy ai thực sự hiểu được Git.

0 0 97

- vừa được xem lúc

Kubernetes - Học cách sử dụng Kubernetes Namespace cơ bản

Namespace trong Kubernetes là gì. Tại sao nên sử dụng namespace.

0 0 129