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.
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
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ả):
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?
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:
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
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ứ 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:
Chọn số 6 để xem cấu hình 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:
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.
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:
Ở 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
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:
Chúc các bạn thành công nhé!