Несколько месяцев назад я построил сервер размером 1U для установки в коло. Не зная ничего лучшего, я использовал диски WD Caviar Green. Мои пользователи жаловались, что система может работать немного медленнее, и smartctl
показывает очень высокое значение Load_Cycle_Count. Я читал, что это происходит из-за «Зеленого», означающего, что они часто пытаются замедлить вращение, и поэтому люди видят отставание, когда диски снова начинают раскручиваться. Единственные предложения, которые я видел, чтобы остановить их вращение, включают в себя возвращение сервера домой и помещение дисков в ящик Windows для запуска программы. Но однажды у меня была аналогичная проблема с внешним диском Seagate, и я исправил ее с помощью sdparm
. Есть sdparm
команда, которая исправит эту проблему?
=== START OF READ SMART DATA SECTION ===
SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x002f 200 200 051 Pre-fail Always - 0
3 Spin_Up_Time 0x0027 168 133 021 Pre-fail Always - 4558
4 Start_Stop_Count 0x0032 100 100 000 Old_age Always - 65
5 Reallocated_Sector_Ct 0x0033 200 200 140 Pre-fail Always - 0
7 Seek_Error_Rate 0x002e 200 200 000 Old_age Always - 0
9 Power_On_Hours 0x0032 092 092 000 Old_age Always - 6213
10 Spin_Retry_Count 0x0032 100 253 000 Old_age Always - 0
11 Calibration_Retry_Count 0x0032 100 253 000 Old_age Always - 0
12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 58
192 Power-Off_Retract_Count 0x0032 200 200 000 Old_age Always - 42
193 Load_Cycle_Count 0x0032 196 196 000 Old_age Always - 14941
194 Temperature_Celsius 0x0022 120 106 000 Old_age Always - 27
196 Reallocated_Event_Count 0x0032 200 200 000 Old_age Always - 0
197 Current_Pending_Sector 0x0032 200 200 000 Old_age Always - 0
198 Offline_Uncorrectable 0x0030 200 200 000 Old_age Offline - 0
199 UDMA_CRC_Error_Count 0x0032 200 200 000 Old_age Always - 0
200 Multi_Zone_Error_Rate 0x0008 200 200 000 Old_age Offline - 0
Следующее рабочее решение, протестировано прямо сейчас!
Загрузите Утилита WDSpinUp DOS.
Сделайте загрузочный USB-накопитель FreeDOS с UNetbootin (sudo apt-get install unetbootin
).
Скопируйте загруженную утилиту на USB-накопитель.
Настройте BIOS так, чтобы контроллеры дисков работали в совместимом или устаревшем режиме (в зависимости от производителя вашей материнской платы).
Загрузите FreeDOS через USB, выберите FreeDOS Live CD с HIMEM + EMM386
Перейдите в C: (USB-накопитель) с помощью C:
Наконец, запустите утилиту с wdidle3.exe /D
Не забудьте повторно включить контроллеры Enhanced или SATA в BIOS.
Есть ли способ создать образ этого сервера на другом наборе дисков серверного уровня, вместо того, чтобы изменить способ работы этих дисков? Похоже, у вас немного свободного времени, поскольку на самом деле ничего не вышло из строя.
Запуск всего, что изменяет работу жесткого диска на производственном сервере, - плохая новость, ИМО. Использование этих типов дисков, которые имеют постоянную активность, невероятно быстро изнашивает их. Я рекомендую попробовать другой подход, включающий новое оборудование, насколько вы, вероятно, не захотите этого делать.
Я сохранил зеленые диски активными, настроив cron на запуск каждые несколько минут, что вызывает некоторую активность диска. Это может быть так просто, как echo $(date) >> somefile
просто чтобы таймер бездействия накопителя сбрасывался перед его переходом в спящий режим.
Это взлом, но он, похоже, помог решить проблемы, которые у меня были на моем домашнем файловом сервере. В конце концов, я бы не стал считать это долгосрочным решением.
Если диски SATA, вы можете отключить вращение с помощью:
# hdparm -S 0 /dev/sda
/dev/sda:
setting standby to 0 (off)