Giảm tốc độ quạt của Fan máy chủ khi kêu quá to

0
1268
(Last Updated On: Th10 9, 2018)

Chào tất cả các bạn.

Nếu các bạn đã từng sở hữu máy chủ hoặc máy tính nhưng hệ thống của bạn quạt kêu khá to hoặc đôi khi chúng hoạt động mà bạn cảm thấy chúng chưa chuẩn xác – hoặc trên mức cần thiết, thì khi đó chúng ta cần can thiệp đến.

Trong ví dụ của mình, mình có một con Nas Buffalo Terastation của Nhật. Vì ổ cứng cài đặt Firmware gốc của nhà sản xuất đã bị thất lạc mà ngay cả trang web của nhà sản xuất cũng không công bố Firmware gốc nên việc cài đặt lại cực khó khăn nếu không nói là không thể. Đối với Firmware gốc thì thiết bị hoạt động khá ổn định và theo mình thấy thì quạt cũng chạy với tốc độ vừa phải.

Nếu suốt ngày phải nghe tiếng quạt kêu o,o… chắc chẳng dễ chịu gì mà đôi khi còn làm bạn xót xa giùm cái quạt chắc nó sẽ hỏng sớm.

Tuy nhiên khi mình cài một hệ điều hành khác lên hệ thống. Và vì không có trình điều khiển thích hợp cho nên FAN quay khá là nhanh đến mức không cần thiết (16.000 RPM mặc dù hệ thống đang ở chế đọ Idle) nếu xét về lâu dài thì thứ nhất là tốn kém năng lượng, thứ hai là quạt sẽ mau hỏng hơn – chắc chắn điều này sẽ xảy ra. Một chiếc xe máy phổ thông chạy với tốc độ 40 –> 60km/h thì chắc chẳn phải lâu hỏng hơn so với cứ chạy với tốc độ 80 –> 100km/h.

Chính vì thế nên chúng ta cần phải can thiệp vào hệ thống. Và bởi vì không tinh chỉnh được trong BIOS nên bây giờ chúng ta sẽ thiết lập với phần mềm. Sau đây mình xin chia sẻ với các bạn cách thiết lập Fan Control cho Ubuntu Server 16.04.

Trước tiên chúng ta cài đặt gói lm-sensors:

apt-get install lm-sensors

Trước tiên các bạn nên biết lm-sensors là phần mềm mã nguồn mở cung cấp công cụ và trình điều khiển để theo dõi nhiệt độ, điện áp, quạt và một số yếu tố khác chẳng hạn như độ ẩm. Tất nhiên cần phải có mặt của phần cứng thì công cụ này mới có thể hỗ trợ cho bạn theo dõi và cấu hình. Những cảm biến (sensor) được các nhà sản xuất kèm theo để giám sát hoạt động của phần cứng và điều khiển chúng.

Sau khi cài đặt lm-sensors, giờ đây chúng ta có thể thăm dò hệ thống bằng lệnh:

sensors-detect
Phần mềm sẽ cho biết thông tin phần cứng cơ bản, và sẽ giúp bạn quét hệ thống để kiểm tra các Sensor đã có trong hệ thống cũng như các Sensor mới nếu như trước đó khi cài đặt hệ điều hành chưa có.

Bây giờ mình chọn YES để phần mềm tiếp tục quét (tất nhiên điều này an toàn vì chưa can thiệp tới cấu hình gì cả):

Tới đây ở dòng màu đỏ, bạn có thể thấy đã phát hiện được có một cảm biến nhiệt từ Intel với trình điều khiển coretemp, cái này có lẽ là cảm biến nhiệt của vi xử lý.

Lại tiếp tục YES để quét Super I/O (vi mạch tổng hợp trên bo mạch chủ có chức năng giao tiếp trung gian giữa chipset cầu nam và các giao diện ngoại vi – theo Wikipedia tiếng Việt). Để xem có gì mới không?

Phát hiện thêm một Sensors nữa. Và hệ thống lại hỏi rằng có muốn quét IPMI hay không? (IPMI là viết tắt của Intelligent Platform Management Interface – kiểu như để điều khiển từ xa một máy chủ mà như bạn đang ngồi trước hệ thống, có thể tắt, bật hiển thị màn hình từ xa ngay từ BIOS).

Tiếp theo bạn có thể trả lời những câu hỏi mà phần mềm đặt ra, nếu hiểu rõ là đang làm gì thì bạn có thể tiếp tục, nếu không thì bạn hãy tìm hiểu cho kỹ nhé, bởi vì nó ảnh hưởng rất lớn đến hệ thống, chỉ cần bạn cấu hình sai sẽ gây ra nhiều rắc rối lớn đấy.

Sau một hồi quét các thiết bị trong hệ thống, phần mềm thống kê lại các Sensors và Module phát hiện được:

Chương trình hỏi bạn có muốn thêm các module trên vào /etc/modules hay không? Bạn có thể thêm vào ngay lúc này hoặc lúc khác cũng được, để các module này được khởi chạy. Trường hợp của mình chọn yes.
Vậy là các Module đã được thêm vào.

Bạn đừng quên khởi chạy dịch vụ kmod để các module được nạp vào và bắt đầu hoạt động nhé:

service kmod start

Tiếp tục kiểm tra dịch vụ kmod đã chạy chưa:

Bây giờ các bạn cứ tưởng tượng rằng chúng ta đã cấu hình được cảm biến rồi, giờ thì cần một phần mềm khác để điều khiển tốc độ quạt dựa vào thông số cảm biến cung cấp. Bây giờ cài đặt Fan Control:

apt-get install fancontrol

Cài xong rồi thì đến công việc cấu hình, bạn dùng lệnh:

pwmconfig
Fancontrol sẽ liệt kê các sensor cùng với các fan (quạt) đang hoạt động và PWM control (quản lý năng lượng).

Bạn sẽ nhận ra là có 2 fan đang hoạt động với số vòng quay là hơn 16.000 RPM (16 ngàn vòng/phút – con số này khá cao vì quạt đang chạy hết công suất do chưa nhận được cấu hình điều khiển chuẩn xác).

Nhấn Enter để tiếp tục:

Bạn có thể thấy hwmon1/device/fan1_input được quản lý bởi hwmon1/device/pwm1

Bạn cứ tưởng tượng là  hwmon1/device/pwm1 sẽ bắt đầu giảm cường độ dòng điện từ từ để bạn có thể theo dõi số vòng quay của Fan. Như trên hình, Fan dừng ở PWM = 30. Và đạt vòng quay tối đa ở PWM = 180.

Tương tự như vậy đối với Fan thứ 2:

hwmon1/device/fan2_input được quản lý bởi hwmon1/device/pwm2
Tiếp theo chúng ta sẽ cấu hình tập tin /etc/fancontrol để Fancontrol có thể hoạt động theo ý muốn của chúng ta.

Chọn số 6 để xem cấu hình hiện tại:

Cấu hình của /etc/fancontrol hiện tại.

Ở đây có các thông số mà mình xin giải thích với các bạn:

MINTEMP: Nhiệt độ thấp nhất để Fan bắt đầu hoạt động

MAXTEMP: Nhiệt độ cao nhất mà Fan sẽ hoạt động hết công suất, hoặc cố gắng duy trì nhiệt độ thấp hơn nhiệt độ này.

MINSTART: PWR thấp nhất cho Fan khi hoạt động, tức là Fancontrol sẽ cho mức PWR bằng hoạt cao hơn con số này cho Fan.

MINSTOP: PWR thấp nhất mà Fan có thể chạy, dưới con số này Fan không thể chạy.

MINPWM: PWM (năng lượng) thấp nhất để Fancontrol cho dừng Fan (khi nhiệt độ của thiết bị dưới mức thấp nhất, Fan không cần phải chạy nên PWM bằng 0 cũng không vấn đề gì).

MAXPWM: PWM cao nhất để Fancontrol cung cấp cho Fan chạy hết công suất với mức năng lượng tương ứng.

Bây giờ thì bắt tay vào cấu hình luôn thôi:

Nhìn vào trong tấm hình có 2 Fancontrol mà chúng ta có thể cấu hình. Đó là hwmon1/device/pwm2 và hwmon1/device/pwm1. Như trong hình mình tiến hành cấu hình hwmon1/device/pwm2 trước.

Cần chọn đúng cảm biến nhiệt tương ứng với Fan đi kèm, bạn mà chọn lộn thì quạt sẽ chẳng thể hoạt động đúng đâu. Đôi lúc các thông tin dễ gây nhầm lẫn nếu bạn không chú ý. Nhưng đừng lo, chúng ta có thể giám sát và sữa chửa sau. Không vấn đề gì cả.

Chú ý các thông số:

hwmon0 là nhiệt độ của lõi (coretemp).

hwmon0/temp2_input      32
hwmon0/temp3_input      37
hwmon1/device/temp1_input       -70
hwmon1/device/temp2_input       -70
hwmon1/device/temp3_input       32

Các bạn chú ý có hwmon0/temp2_input, hwmon0/temp3_input và hwmon1/device/temp3_input là cung cấp nhiệt độ thực. Chúng ta quan tâm 3 Sensor này thôi.

Ở dòng Enter the minimum PWM value (0-255)
at which the fan STOPS spinning (press t to test) (100) nhấn t để bắt đầu quá trình test. Chương trình sẽ cung cấp dòng điện từ mức PWM lớn về 0, và cũng sẽ tự lựa chọn mức PWM phù hợp.

Như hình bên dưới bạn có thể thấy ở mức PWM=180 Fan đạt tốc độ cao nhất với mức PWM thấp nhất. Còn PWM=34 là mức PWM đủ để Fan quay.

Chúng ta tiếp tục chứ chưa dừng lại:

Tới dòng Enter the minimum PWM value (34-255)
at which the fan STARTS spinning (press t to test) bạn cũng có thể nhấn tiếp để test. Tức là bạn lựa chọn tốc độ quạt ở mức PWM thấp nhất theo bạn đủ để hệ thống hoạt động ổn định. Ở trường hợp của mình. Mình chọn là 54. Tiếp tục nhấn yEnter.

Ở dòng Enter the PWM value (0-34) to use when the temperature is below the low temperature limit theo mình bạn cứ để mặc đinh là 0. Vì dưới nhiệt độ thấp nhất thì quạt chẳng cần phải quay đâu.

Ở dòng Enter the PWM value (34-255) to use when the temperature is over the high temperature limit là mức PWM cao nhất khi nhiệt độ mà sensor đo được trên mức nhiệt độ cao nhất bạn thiết lập ở trên. Ở đây mình chọn PWM là 100 vì Fan quay 10.000RPM theo mình là đủ.

Làm tương tự với các Fan control còn lại.

Và đừng quên lưu lại cấu hình.

Chạy dịch vụ fancontrol:

service fancontrol start

Kiểm tra xem dịch vụ đã chạy chưa:

service fancontrol status

Chúng ta sẽ kiểm tra một lần nữa xem hiện tại tốc độ quạt là bao nhiêu:

sensors
Như vậy là có 2 fan chạy với vòng quay tương ứng là 6367 RPM và 7031 RPM.

Vậy là thành công rồi các bạn ạ.

Bây giờ mình thử khởi động lại xem:

Ngay khi vừa khởi động, tiến trình Fancontrol đã điều khiển tốc độ quạt về mức trung bình.

Chúc các bạn thành công nhé!

Bình luận