Перевести жорсткі диски в режим очікування через X хвилин за допомогою hdparm не працює


12

Я використовую Ubuntu 12.04 на домашньому сервері. Є 5 жорстких дисків: один SSD з ОС і 4 жорсткі диски (Samsung HD204UI), налаштовані як RAID5 за допомогою mdadm.

Мені не потрібен RAID дуже часто (скажімо, приблизно в день в середньому); він містить мультимедійні дані та деякі резервні копії, тому я вирішив поставити диски в режим очікування більшу частину часу.

Я налаштував накопичувачі автоматично віджиматися через 20 хвилин, використовуючи hdparm, ось /dev/sdaяк приклад:

hdparm -S 240 /dev/sda

Результат команди підтвердив це:

/dev/sdb:
 setting standby to 240 (20 minutes)

Але проблема полягає в тому, що накопичувач відкручується приблизно через 5 секунд (замість цього 20 хвилин) після останнього доступу, і

hdparm -C /dev/sdb

дисплеї:

/dev/sdb:
 drive state is:  standby

Чому диск не чекає 20 хвилин, як налаштовано? Чи має щось відношення до налаштування RAID? (Я не думаю, що так ...)

Цей дуже короткий час очікування є проблематичним, оскільки це RAID5, і коли я отримую доступ до файлу, він блочно розміщується навколо чотирьох дисків. Оскільки диск 1 не потрібен при зчитуванні диска 2, він заснув, коли він буде використаний наступного разу (після того, як диск зчитується з 3). Таким чином, накопичувачі весь час обертаються вгору та вниз, в результаті чого пропускна здатність майже до нуля.

Для людей, які турбуються про життя моїх накопичувачів: це не буде проблемою, що накопичувачі в середньому один раз на день крутяться вгору і вниз, оскільки я віддаю перевагу економії енергії та тепла на здоров'ї накопичувачів (я використовую RAID5 і вміст не не дуже важливо).


3
Радий, що ви отримали свою відповідь тут. Соромно, хлопці ServerFault були такі прискіпливі. Я б подумав, що методи економії енергії будуть досить важливими в будь-якому підприємницькому сценарії. Замість цього вони пропустять.
туманування

1
@tomfanning Добре, я припускаю, що ServerFault призначений для великих масштабних серверів, як у центрі обробки даних. Але я не знав, і я очікував, що домашній сервер також вважається сервером. Ну, якщо ні, я мушу поставити свій сервер у свій сад, щоб він більше не був у мене вдома. Що я насправді не розумію, це те, чому вони просто не живуть мені тим, що я хочу, і відповідають лише на питання, якщо вони мають конструктивні відповіді на моє запитання, але натомість хочу, щоб я дозволяв йому бути тим, що я хочу робити. [для інших людей, не знаючих про що ми говоримо: serverfault.com/q/389222/116951]
leemes

Відповіді:


11

Чи ввімкнено AHCI у вашому BIOS? Якщо не спробуйте увімкнути його та повторити спробу.

Якщо це все-таки не працює, можливо, вам доведеться спробувати щось трохи складніше, оскільки hdparmце не завжди добре грає з дисками SATA, що я вважаю, що у вас є.

Перегляньте цю сторінку щодо наступного відносно простого рішення, яке використовує crontab:

sudo apt-get install sg3-utils
crontab -e

Тепер додайте це в нижню частину crontab (замініть sdx на диск, який ви хочете поставити в режим очікування):

0-59/15 * * * * ( if [ ! -f /dev/shm/1 ] ; then touch /dev/shm/1 /dev/shm/2; fi ; mv /dev/shm/1 /dev/shm/2; cat /proc/diskstats > /dev/shm/1 ) >/dev/null 2>&1
0-59/15 * * * * ( export HD="sdx "; if [ "$(diff /dev/shm/1 /dev/shm/2 | grep $HD )" =  "" ] ; then /usr/bin/sg_start --stop /dev/$HD; fi ) >/dev/null 2>&1

Звичайно, перед тим, як спробувати щось із цього, дуже доцільно виконати повне резервне копіювання вмісту ваших жорстких дисків.


Працював як шарм. Я включив AHCI в BIOS. Для режиму SATA було встановлено RAID (у мене на материнській платі є контролер RAID, який я не використовую). Я не знав, що AHCI потрібен для правильного управління SMART дисками SATA або будь-якого іншого, що тут робить hdparm. Дякую!
leemes

Сер @SirCharlo, що є основною командою зробити hdd в режимі очікування (використовуючи це sg3-utils)? Це /usr/bin/sg_start --stop /dev/sdx?
Окі Ері Рінальді

1

Можливо, кращим способом може бути:

hdparm -B 1 -Y / dev / пристрій
hdparm -B 255 / dev / пристрій

Перший hdparm негайно перейшов у режим очікування. Другий відключає APM, тому диск залишається в режимі очікування до наступного доступу до диска.


Хороша пропозиція, хоча слід зазначити, що ці команди повинні використовуватися зі сценарієм, який визначає час дії.
Rucent88
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.