Khiến Raspberry PI tự động dừng HDD

Raspberry PI rất thích hợp để làm một máy NAS. Để tăng tuổi thọ ổ cứng chúng ta có thể cài đặt để PI tự động dừng vòng quay của HDD sau một khoảng thời gian nhất định.

Cách thức can thiệp vào hoạt động của ổ cứng thỉnh thoảng sẽ khác nhau với các nhãn hiệu và đời ổ cứng khác nhau, cũng như bị ảnh hưởng bởi thiết bị giao tiếp (hub, dock…), vậy nên luôn có khả năng một phần mềm nào đó hỗ trợ ổ cứng này và không hỗ trợ một ca khác.

Định vị ổ cứng

Sử dụng lệnh sudo blkid để xác định tên các thiết bị. Chúng ta sẽ cần biết tên ổ cứng (sda, sdb…) chứ không phải tên phân vùng (sda1, sda2…).

Sử dụng hdparm

sudo apt update
sudo apt install hdparm -y

Kiểm tra xem ổ cứng có hỗ trợ không:

sudo hdparm -y /dev/sda

Kết quả trông như sau là có hỗ trợ:

/dev/sda:
 issuing standby command

Nếu kết quả trông như sau nghĩa là hdparm không hỗ trợ ổ cứng chỉ định, cần sử dụng phần mềm khác:

/dev/sda:
 issuing standby command
SG_IO: bad/missing sense data, sb[]:  70 00 05 00 00 00 00 0a 00 00 00 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Nếu được hỗ trợ, sử dụng câu lệnh sau để cho phép hdparm giảm vòng quay của ổ cứng:

sudo hdparm -B127 /dev/sda

Sau đó chỉnh sửa tập tin sudo nano /etc/hdparm.conf thành nội dung như sau, thời gian tính bằng giây:

/dev/sda {
spindown_time = 120
}

Cuối cùng, khởi động lại dịch vụ để các cấu hình có hiệu lực:

sudo service hdparm restart

Sử dụng hd-idle

Nếu hdparm không hỗ trợ, chúng ta có thể thay thế bằng hd-idle. Trước hết cần kiểm tra xem các điều kiện đầu vào cần thiết cho hd-idlo hoạt động có tồn tại không:

cat /proc/diskstats

Các dòng tương tự như sau phải xuất hiện:

8       0 sda 342 0 2759 260 0 0 0 0 0 250 250
8       1 sda1 102 0 815 90 0 0 0 0 0 80 80

Chúng ta cần build hd-idle, vậy nên sẽ cần một số gói builder:

sudo apt update
sudo apt-get install build-essential fakeroot debhelper -y

Tải hd-idle từ sourceforge và build:

wget http://sourceforge.net/projects/hd-idle/files/hd-idle-1.05.tgz
tar -xvf hd-idle-1.05.tgz
rm hd-idle-1.05.tgz
cd hd-idle
dpkg-buildpackage -rfakeroot
sudo dpkg -i ../hd-idle_*.deb

Kiểm tra lần cuối xem ổ cứng có được hỗ trợ không

sudo hd-idle -i 0 -a sda -i 300 -d #check, and ctrl + C

Kết quả trông phải tương tự như sau:

probing sda: reads: 2759, writes: 0
probing sda: reads: 2759, writes: 0
probing sda: reads: 2759, writes: 0

Nếu tất cả đều ổn, chỉnh sửa tập tin /etc/default/hd-idle and let với cấu hình như sau (thời gian 600 được tính theo đơn vị giây):

START_HD_IDLE=true
HD_IDLE_OPTS="-i 0 -a sda -i 600"

Cuối cùng khởi động lại dịch vụ:

sudo service hd-idle restart

Nguồn tham khảo:

Loading

Leave a Reply

Your email address will not be published. Required fields are marked *