Авторизация
Регистрация

Напомнить пароль

Удаленное управление питанием внешнего жесткого диска

Может быть вам нужно удаленно управлять питанием внешнего кармана с жестким диском, например, для бекапов с NAS? У вас есть полуумный дом?
В моей локальной сети работает сетевое хранилище Synology, а для сохранения бекапов использую внешний карман с eSATA.
Управление питанием этого кармана довольно быстро прошло эволюционный путь, как говорил Остап Ибрагимович Бендер
от крестьянской лошадки до железного коня
Возможно, вы найдете здесь что-то полезное для себя.

Сначала была клавиша

Это была обычная клавиша выключения блока питания на корпусе кармана. Держать постоянно включенным шумный и прожорливый жесткий диск — затея непродуктивная, поэтому специально обученный человек по моему звонку делал ВКЛ, а после завершения бекапа по моей команде делал ВЫКЛ.
Согласитесь, довольно архаично…

Потом был Matter

Нужно пояснить, что на моем НАС крутится Home Assistant OS, имеющая интеграции со множеством протоколов. Под рукой оказалось готовое внешнее реле «Умная розетка Яндекс с Matter». Все очень просто, поставил его в разрыв питания кармана, добавил интеграцию в Home Assistant, настроил карточку устройства, и все.
Специально обученный человек освобожден, и ты сам себе сисадмин — включаешь удаленно карман, бекапишь, выключаешь карман. Казалось бы, живи и радуйся.
Но, при всех усилиях команды Яндекса, эта розетка-реле слегка глючная. Нечасто, но все же она становилась недоступной для управления, и помогала только ее физическая перезагрузка (и да, приходилось звонить тому самому спецобученному человеку).
Ладно, заменил ее на встраиваемое реле Sonoff Basic R4mini с Matter. Стало надежней и веселей. Но тут прилетел другой лебедь (хорошо, что не черный) — мощность встроенного в карман БП оказалась впритык для запуска HDD и изредка он отказывался стартовать. Да и лениво мне стало играть в сисадмина. Руки зачесались сделать что-то иное.

Да будет свет Tasmota

В Home Assistant у меня проброшено с десяток реле и сенсоров на базе ESP8266 и ESP32, самодельных и перешитых фабричных. В большинстве своем эти устройства находятся вне локальной сети. Это очень незамысловатые штуки, которые замечательно работают через протокол MQTT на прошивке Tasmota.
Наша идея проста, берем «кубики» и складываем из них «домик»:
— двухканальное реле
— плата для разработчика ESP32C3
— понижающий модуль 12В -> 5В (при наличии блока питания +5/+12 можно было бы обойтись без него)
— токоограничивающий резистор 220 Ом
— светодиод для моргания (а как же без него).

Установка и настройка микропрограммы Tasmota на ESP32C3:
Эта статья не про умные дома, но все же скажу пару слов про настройку Tasmota
1. Идем прямиком на их сайт и загружаем файлы tasmota32.factory.bin и tasmota32c3.bin
2. Подключаем ESP32C3 к компьютеру, запускаем webinstaller
3. Сначала заливаем файл tasmota32.factory.bin. После успешной прошивки ESP создаст wifi точку доступа без пароля с именем вида Tasmota-##########. Нужно к ней подключиться, выбрать в интерфейсе свою домашнюю сеть WiFi и ввести пароль. После этого ESP будет доступна в домашней сети по IP адресу. Запомните адрес, это потребуется для дальнейшей настройки
4. Заходим по уже известному нам IP в интерфейс Tasmota, и обновляем прошивку файлом tasmota32c3.bin
5. Устанавливаем часовой пояс устройства командой в Tools->Console. Команду можно взять тут
6. Настраиваем конфигурацию модуля (Configuration->Module) и MQTT (Configuration->MQTT) и другие (Configuration->Other).
Настройки Tasmota в картинках


Дорабатываем реле:
1. Удаляем желтую перемычку, и аккуратно выпаиваем контактные клеммы возле реле
2. Запаиваем понижающий модуль (разумеется, заранее установив потенциометром на выходе +5В). Тут же изображено, как мы питаем модуль от источника 12В и куда подключаем питание HDD.
3. На нижней стороне платы разводим питание с понижайки на модуль реле
Дорабатываем модуль ESP32C3:
1. Запаиваем гребенку-мама, предварительно удалив из нее два контакта на пинах 0 и 3
2. Запаиваем резистор 220 Ом на пин 6, и два проводочка на светодиод.
3. Нахлобучиваем ESP32C3 на контакты модуля реле.

Мои хотелки и их реализация
Раз уж взяли в работу могучую ESP32C3, то почему бы не добавить немного перца. Вот таким был список пожеланий:
— при включении реле сначала подать на HDD напряжение 5В, а через 0,5-1 сек подать 12В
— при выключении реле сначала снять с HDD 12В, а через 0,5-1 сек снять 5В
— Для исключения повреждения диска при случайной подаче команды выключения питания, сделать защитный интервал 30 сек между обработкой команд на включение и выключение реле
— При выключенном реле светодиод отображает статус подключения к Wi-Fi (мигает редко при подключении, светится постоянно когда подключен к сети)
— при включенном реле светодиод моргает часто, показывая состояние записи на диск

Интересно, что для воплощения подобных извращений в Tasmota имеется система команд Berry scripting. При этом готовый скрипт можно поставить в автозагрузку, записав файл autoexec.be в Tools->Manage File System->Uplоad.
Я совсем не программист, и без ChatGPT эту задачу не решил бы. Да и с ним не сразу получилось, но мы все же смогли.
Содержимое autoexec.be
import mqtt
import string
import gpio

# Глобальная ссылка на экземпляр для колбэков
var g_HDD = nil

class HDDCtrl
  # --- поля ---
  var TOPIC
  var REL1_IDX
  var REL2_IDX
  var BLOCK_MS
  var DELAY_MS

  var WAVE_PIN
  var HIGH_MS
  var LOW_MS

  var blocked
  var wave_active
  var wave_level
  var ledlink_taken
  var log_level

  # публикация/кэш
  var _last_payload          # последний УСПЕШНО опубликованный payload
  var _pending_payload       # то, что нужно доставить при первой возможности

  # цикл стартовой/отложенной синхронизации MQTT
  var SYNC_PERIOD_MS
  var SYNC_MAX_TRIES
  var _sync_active
  var _sync_tries

  def init()
    # --- настройки ---
    self.TOPIC        = "hdd_switch"
    self.REL1_IDX     = 0
    self.REL2_IDX     = 1
    self.BLOCK_MS     = 30000       # Задержка между переключением статуса реле (мс)
    self.DELAY_MS     = 1000         # Задержка между подачей и снятием 5В и 12В (мс)

    self.WAVE_PIN     = 6           # Пин для индикации
    self.HIGH_MS      = 250         # Период вкл индикатора при записи (мс)
    self.LOW_MS       = 250         # Период выкл индикатора при записи (мс)

    self.blocked       = false
    self.wave_active   = false
    self.wave_level    = 0
    self.ledlink_taken = false
    self.log_level     = 0

    self._last_payload    = ""
    self._pending_payload = ""

    self.SYNC_PERIOD_MS = 2000  # раз в 2 секунды
    self.SYNC_MAX_TRIES  = 15  # до 30 сек макс
    self._sync_active    = false
    self._sync_tries     = 0

    tasmota.add_driver(self)
    g_HDD = self

    # безопасный старт реле
    tasmota.cmd("PowerOnState 0", true)
    self.set_power_safe(self.REL1_IDX, false)
    self.set_power_safe(self.REL2_IDX, false)

    # вернуть GPIO6 системе (LedLink_i)
    tasmota.cmd("LedLink 1")

    # Команда HDD и подписки MQTT
    tasmota.remove_cmd("HDD")
    tasmota.add_cmd("HDD", /cmd, idx, payload -> g_HDD.cmd_hdd(cmd, idx, payload))

    mqtt.subscribe("cmnd/"+self.TOPIC+"/POWER1",
      /topic, idx, data, databytes -> g_HDD.on_cmnd_p1(topic, idx, data, databytes))
    mqtt.subscribe("cmnd/"+self.TOPIC+"/POWER2",
      /topic, idx, data, databytes -> g_HDD.on_cmnd_p2(topic, idx, data, databytes))

    # --- НОВОЕ: стартовая синхронизация до успешной публикации ---
    self.request_state_delivery(self.build_state_payload())
  end

  # ===== утилиты =====
  def log(msg, lvl)
    if self.log_level >= lvl tasmota.log(msg, lvl) end
  end

  def set_power_safe(idx, on)
    var s = tasmota.get_power()
    if s[idx] != on tasmota.set_power(idx, on) end
  end

  def build_state_payload()
    var p = tasmota.get_power()
    var overall = p[self.REL1_IDX] && p[self.REL2_IDX]
    return "{\"state\":\"" + (overall ? "ON" : "OFF") +
      "\",\"r1\":" + (p[self.REL1_IDX] ? "true":"false") +
      ",\"r2\":" + (p[self.REL2_IDX] ? "true":"false") +
      ",\"blocked\":" + (self.blocked ? "true":"false") + "}"
  end

  # ===== надёжная доставка состояния =====
  def try_publish(payload)
    # Пытаемся отправить. Возвращает true при успехе.
    return mqtt.publish("stat/"+self.TOPIC+"/HDDSTATE", payload, true)
  end

  def request_state_delivery(payload)
    # Если новое состояние такое же, как уже успешно опубликованное — ничего не делаем
    if payload == self._last_payload
      return
    end
    # Сразу пробуем отправить
    if self.try_publish(payload)
      self._last_payload = payload
      self._pending_payload = ""
      self._sync_active = false
      self._sync_tries  = 0
      self.log("HDDCtrl: state published immediately", 4)
    else
      # MQTT не готов → запомним и запустим цикл синхронизации
      self._pending_payload = payload
      if !self._sync_active
        self._sync_active = true
        self._sync_tries  = 0
        tasmota.set_timer(self.SYNC_PERIOD_MS, /-> g_HDD.sync_tick())
      end
    end
  end

  def sync_tick()
    if !self._sync_active return end
    # Нечего отправлять — выключаемся
    if self._pending_payload == ""
      self._sync_active = false
      self._sync_tries  = 0
      return
    end
    # Пытаемся ещё раз
    var ok = self.try_publish(self._pending_payload)
    if ok
      self._last_payload = self._pending_payload
      self._pending_payload = ""
      self._sync_active = false
      self._sync_tries  = 0
      self.log("HDDCtrl: state published after wait", 2)
    else
      self._sync_tries += 1
      if self._sync_tries < self.SYNC_MAX_TRIES
        tasmota.set_timer(self.SYNC_PERIOD_MS, /-> g_HDD.sync_tick())
      else
        # Дальше не мучаем устройство, но цикл можно будет перезапустить новой request_state_delivery()
        self._sync_active = false
        self.log("HDDCtrl: giving up MQTT sync for now", 2)
      end
    end
  end

  # Публичные интерфейсы публикации
  def publish_state_if_changed()
    self.request_state_delivery(self.build_state_payload())
  end
  def publish_state_force()
    # Принудительно шлём вне зависимости от кэша
    var payload = self.build_state_payload()
    # Сбрасываем кэш, чтобы гарантированно ушло при первой возможности
    self._last_payload = ""
    self.request_state_delivery(payload)
  end
  def publish_state()
    self.publish_state_if_changed()
  end

  # ===== блокировка =====
  def block_start()
    self.blocked = true
    self.publish_state_if_changed()
    tasmota.set_timer(self.BLOCK_MS, /-> g_HDD.block_end())
  end
  def block_end()
    self.blocked = false
    self.publish_state_if_changed()
  end

  # ===== программный меандр на GPIO6 =====
  def wave_tick()
    if !self.wave_active return end
    self.wave_level = 1 - self.wave_level
    gpio.digital_write(self.WAVE_PIN, self.wave_level)
    self.log(string.format("HDDCtrl: GPIO%d=%d", self.WAVE_PIN, self.wave_level), 4)
    var next_ms = (self.wave_level == 1) ? self.HIGH_MS : self.LOW_MS
    tasmota.set_timer(next_ms, /-> g_HDD.wave_tick())
  end

  def ledlink_take()
    if !self.ledlink_taken
      tasmota.cmd("LedLink 0")
      self.ledlink_taken = true
    end
  end
  def ledlink_release()
    if self.ledlink_taken
      tasmota.cmd("LedLink 1")
      self.ledlink_taken = false
    end
  end

  def wave_start()
    if self.wave_active return end
    self.wave_active = true
    self.ledlink_take()
    gpio.pin_mode(self.WAVE_PIN, gpio.OUTPUT)
    self.wave_level = 0
    gpio.digital_write(self.WAVE_PIN, 0)
    self.log(string.format("HDDCtrl: start blink 1Hz on GPIO%d", self.WAVE_PIN), 2)
    self.wave_tick()
  end

  def wave_stop()
    if !self.wave_active
      self.ledlink_release()
      return
    end
    self.wave_active = false
    self.wave_level = 0
    gpio.digital_write(self.WAVE_PIN, 0)
    self.ledlink_release()
    self.log(string.format("HDDCtrl: stop blink on GPIO%d", self.WAVE_PIN), 2)
  end

  # ===== последовательности HDD =====
  def start_on_seq()
    if self.blocked return end
    self.set_power_safe(self.REL1_IDX, true)
    self.wave_start()
    self.block_start()
    tasmota.set_timer(self.DELAY_MS, /-> g_HDD.set_power_safe(self.REL2_IDX, true))
    self.publish_state_if_changed()
  end

  def start_off_seq()
    if self.blocked return end
    self.set_power_safe(self.REL2_IDX, false)
    self.block_start()
    tasmota.set_timer(self.DELAY_MS, /-> g_HDD.finish_off_seq())
    self.publish_state_if_changed()
  end

  def finish_off_seq()
    self.set_power_safe(self.REL1_IDX, false)
    self.wave_stop()
    self.publish_state_if_changed()
  end

  # ===== команда HDD =====
  def cmd_hdd(cmd, idx, payload)
    var p = payload
    if p == nil p = "" end

    if self.blocked
      self.publish_state_if_changed()
      tasmota.resp_cmnd_error()
      return
    end

    if p == "ON" || p == "1" || p == "on"
      self.start_on_seq()
      tasmota.resp_cmnd_done()
    elif p == "OFF" || p == "0" || p == "off"
      self.start_off_seq()
      tasmota.resp_cmnd_done()
    elif p == "TOGGLE" || p == "toggle"
      var s = tasmota.get_power()
      if !s[self.REL1_IDX] && !s[self.REL2_IDX] self.start_on_seq() else self.start_off_seq() end
      tasmota.resp_cmnd_done()
    else
      tasmota.resp_cmnd_error()
    end
  end

  # ===== перехваты POWER1/2 =====
  def on_cmnd_p1(topic, idx, data, databytes)
    if self.blocked return true end
    var p = (data == nil) ? "" : data
    if p == "ON" || p == "1" || p == "on" || p == "TOGGLE" || p == "toggle"
      self.start_on_seq()
    elif p == "OFF" || p == "0" || p == "off"
      self.start_off_seq()
    end
    return true
  end

  def on_cmnd_p2(topic, idx, data, databytes)
    if self.blocked return true end
    var p = (data == nil) ? "" : data
    if p == "OFF" || p == "0" || p == "off" || p == "TOGGLE" || p == "toggle"
      self.start_off_seq()
    end
    return true
  end

  # ===== кнопка =====
  def any_key(cmd, idx)
    var state  = (idx >> 8) & 0xFF    # 10 = SINGLE (SetOption73 1)
    var device = idx & 0xFF           # 1 = Button1
    if device == 1 && state == 10
      if self.blocked return true end
      var s = tasmota.get_power()
      if !s[self.REL1_IDX] && !s[self.REL2_IDX] self.start_on_seq() else self.start_off_seq() end
      return true
    end
    return nil
  end

  # ===== синхронизация питания (внешние изменения) =====
  def set_power_handler(cmd, idx)
    self.publish_state_if_changed()
    var p = tasmota.get_power()
    if p[self.REL1_IDX] self.wave_start() else self.wave_stop() end
    return nil
  end
end

HDDCtrl()

Чтобы вся логика заработала в Home Assistant, добавляем там немного кода в configuration.yaml. После этого можно добавить новую карточку (выключатель) в ваше пространство.
configuration.yaml
mqtt:
  switch:
    - name: "HDD Switch"
      unique_id: hdd_switch_main
      command_topic: "cmnd/hdd_switch/HDD"
      state_topic: "stat/hdd_switch/HDDSTATE"
      value_template: "{{ value_json.state }}"
      payload_on: "ON"
      payload_off: "OFF"
      availability_topic: "tele/hdd_switch/LWT"
      payload_available: "Online"
      payload_not_available: "Offline"
      qos: 1
      retain: false
      optimistic: false
      icon: mdi:harddisk
      device:
        identifiers: ["hdd_switch_device"]         # общий ID устройства
        name: "HDD Switch Controller"
        manufacturer: "Tasmota"
        model: "ESP32-C3 (Tasmota 15.01)"
        # suggested_area: "Название вашей области"  # опционально

  binary_sensor:
    - name: "HDD Switch Locked"
      unique_id: hdd_switch_locked
      state_topic: "stat/hdd_switch/HDDSTATE"
      value_template: "{{ 'ON' if value_json.blocked else 'OFF' }}"
      device_class: lock
      device:
        identifiers: ["hdd_switch_device"]         # тот же идентификатор

Теперь давайте проверим, как работает этот колхоз Имени 50-летия без урожая.
Доказательство работоспособности

До чего дошёл прогресс — труд физический исчез,
Да и умственный заменит механический процесс.
Позабыты хлопоты, остановлен бег,
Вкалывают роботы, а не человек.

Что осталось недосказанным

Все знают, что является двигателем прогресса. Поэтому приложив еще немного усилий, задачу бекапов удалось полностью автоматизировать.
Для этого в Планировщике задач создана задача с запуском еженедельно. Она запускает довольно большой скрипт (низкий поклон ChatGPT).
В нескольких словах схема такая — Планировщик включает реле через Home Assistant, ожидает появление нового подключенного тома, запускает нужную задачу в Hyper Backup (там стоит галочка размонтировать том после выполнения), проверяет наличие подключенного тома каждые 30сек, при пропадании тома выключает реле.
Вроде бы и несложно, но пришлось решать некоторые неочевидные задачи, например, запуск конкретной задачи Hyper Backup из скрипта.

Постскриптум.

1. Электрических схем нет, потому что тут и изображать нечего. Основная задача — показать конструкцию как реализацию концепции.
2. Не стоит умалять достоинств реле. Знаю, как можно управлять нагрузкой с помощью мосфетов. Главный недостаток реле становится достоинством, так как большое время срабатывания реле позволяет избежать коротких импульсов тока в цепях питания HDD при переходных процессах при запуске ESP. К тому же реле мало нагружено, обгорание контактов маловероятно. Скорее всего, короткие выбросы тока при использовании мосфет как переключателя — решаемая проблема, но для данной реализации был выбран самый простой путь.
3. На GPIO9 можно поставить нормально разомкнутую кнопку на землю, она будет работать идентично выключателю в Home Assistant. В моем случае она не востребована.
4. Штатными средствами Tasmota можно легко подключить датчик температуры (например, DS18B20), но считаю это избыточным для HDD, который включается на 15 минут в неделю.
5. Не забывайте делать бекапы всего и вся. Возможно, когда-то это сохранит вам нервы и время.
Добавить в избранное
+66 +89
свернутьразвернуть
Комментарии (140)
RSS
+
avatar
+19
  • vlo
  • 23 октября 2025, 14:09
— при включении реле сначала подать на HDD напряжение 5В, а через 0,5-1 сек подать 12В
— при выключении реле сначала снять с HDD 12В, а через 0,5-1 сек снять 5В

а эта самодеятельность зачем?
+
avatar
+3
Вероятно, бессмысленная попытка сначала запитать цифровые, затем — силовые цепи.
+
avatar
+7
  • Skylab
  • 23 октября 2025, 14:41
А вообще последовательность имеет значение? Как показала практика использования внешних HDD (док-станций), не имеет. Можно подать вначале +12в, а затем подсоединить USB-кабель. И наоборот…
+
avatar
+3
  • vlo
  • 23 октября 2025, 14:47
у совсем ископаемых вроде бы имела одновременность вплоть до несчастных случаев при подаче чего-то одного. сравнительно современным пофиг, отчего усложнять ради нестандартных и нерегламентированных последовательностей незачем.
+
avatar
+2
  • Alpa
  • 23 октября 2025, 18:26
… усложнять ради нестандартных и нерегламентированных последовательностей незачем.
Не как претензия, а мне для саморазвития. Есть ли вообще стандартная или регламентированная последовательность? В каком-то стандарте или спецификации это можно найти?
+
avatar
+5
  • SAIRUS
  • 23 октября 2025, 18:41
Встречный вопрос а в какой последовательности появляется питание на ATX БП?
+
avatar
0
  • OlegDDL
  • 23 октября 2025, 18:54
Не знаю как в последних блоках питания, но пару лет тому никакой коммутации подачи каналов питания не было.
+
avatar
+5
  • AlexA42
  • 24 октября 2025, 05:00
в какой последовательности появляется питание на ATX БП
Там один контроллер и один трансформатор, на котором все вторичные обмотки. Так что, никакой последовательности нет — всё появлялось сразу. Только +5 дежурки было независимо и всегда.
+
avatar
+7
Буквально пару месяцев назад изучал спецификацию SATA
1) Последовательность подачи питания допускается любая, это прямо в стандарте оговорено
2) А вот подавать только часть напряжений, необходимых для работы, не допускается.
Я у себя в насе городил управление дисками через GPIO, чтобы отключать их совсем, когда они не востребованы, и для простоты рубил только 5В. Так вот мне подсказали, что по стандарту такое делать нельзя
+
avatar
0
  • Corvair
  • 24 октября 2025, 03:24
Да, там можно подавать в любой последовательности, главное, чтобы были все требуемые напряжения.
+
avatar
0
Странно, а я думал, что в разъёме SATA Power контакты разной длины как раз для того, чтобы сначала подключилась земля, потом 12В, а потом остальное.
Вот например про это:
ask.adaptec.com/app/answers/detail/a_id/17175/~/principles-for-using-hot-swap-with-sas%2Fsata-systems:
+
avatar
0
  • Corvair
  • 24 октября 2025, 18:06
Везде, где горячее подключение, гарантировано первой соединяется земля, затем остальное одновременно.
+
avatar
0
А я иначе написал?
+
avatar
0
  • rubak
  • 25 октября 2025, 22:40
Не уверен что задача подключения диска равносильна задачи подачи питания на диск. Другими касается двух разных случаев, которые иногда пересекаются между собой.
+
avatar
+1
Земляные пины самые длинные, чтобы земля была первой. А вот 5В и 12В имеют одинаковую длину (но есть нюанс, что один из трёх пинов на каждое напряжение длиннее других — он первым подключается и соединён с резистором на плате диска, чтобы снизить пусковой ток зарядки конденсаторов)
+
avatar
0
Глянул у нескольких разных дисков — похоже так оно и есть.
Странно, но точно помню где-то читал, что контакты данных ещё короче, чем питание 5 и 12, а по факту вижу, что они одинаковые.
+
avatar
0
  • Temtaime
  • 25 октября 2025, 17:54
Щяс бы диски отключать в 2к25…
Подсказка: стоимость нового диска обычно превышает стоимость сэкономленной электроэнергии. А вот при периодическом старте/стопе диски дохнут вполне бодро.
+
avatar
+1
  • Alpa
  • 25 октября 2025, 19:46
Ну, есть еще понятие «холодного» резерва. Это не про экономию электроэнергии, да и не про экономию на стоимости дисков.
Это про сохранность данных.
+
avatar
0
  • Temtaime
  • 26 октября 2025, 00:51
Ну так тем более нет контроля, целы ли данные.
Обычно smart тесты запускают, верификацию данных периодическую.
+
avatar
0
  • Alpa
  • 26 октября 2025, 09:42
нет контроля, целы ли данные
Спасибо за хорошую идею, подумаю о периодической проверке.
+
avatar
-1
  • rubak
  • 27 октября 2025, 18:45
Хотел было только написать с чего бы это, как вспомнил что у меня самого валяеться 8 терабайтник, который не то чтобы не использовался, а а буквлнь только вчера был отключен от другого пк, но без каких-либо предвещающий это признаков, просто перестал мочь ракрутить диск, притом сам интерфейс сата нормально запускается и он даже виден в системе. Что на самом деле не отменяет того, что помимо того что все устройства и ос уже больше двух десятков лет, сами его останавливают при не использовании. Так и даже сами диски, если это например обычно самая дешевая гринн версия, уже по независимым от них и их настроек причинам, сами по себе стараются останавливаться
+
avatar
0
  • vlo
  • 24 октября 2025, 02:43
явных указаний последовательности в свободно доступных product manual'ах на винты из этого века, где они более-менее подробны (хитача, сигад) мне не встречалось. у свежих хитач единственное что попалось — требования ко времени нарастания напряжений питания (0-400ms для +12 и 0-200 для +5). но это не задержка.
+
avatar
+2
Ну вот такая у ТС паранойя.
+
avatar
0
  • kven
  • 23 октября 2025, 15:46
усб же не питает док, от 12В через понижайку до 5/3В напряжение идёт на контроллер
+
avatar
0
  • Alpa
  • 23 октября 2025, 18:28
А вообще последовательность имеет значение? Как показала практика использования внешних HDD (док-станций), не имеет. Можно подать вначале +12в, а затем подсоединить USB-кабель. И наоборот…
Вы уверены, что 5 вольт для HDD ваша док-станция берет именно из USB?
+
avatar
+2
Как правило — да, поскольку ноутбучным винтам достаточно питания только 5В, все имеющиеся у меня переходники прекрасно видели их без внешнего БП
+
avatar
+11
Сразу вспомнился ВГ93 от Спектрума! )
+
avatar
+4
  • sergopl
  • 24 октября 2025, 09:04
ВГ93 -там вроде хоть 5 и 12 вольт. Z80 — просто 5 вольт.
А другие сов. компьютеры на Кр580вм80 три питания -5, +5 +12, причем в определенной последовательности подавать и отключать :).
+
avatar
0
  • zoog
  • 23 октября 2025, 16:43
Когда-то по слухам диски выходили из строя при пропадании +5, возможно, страховка от этого.
+
avatar
+1
  • vlo
  • 23 октября 2025, 17:54
что-то такое бывало в допотопные времена, не актуально.
да и тут про контроль наличия ничего не сказано, только про дополнительную задержку.
+
avatar
+2
Занятная идея, но я по старинке — после бакапа физически отсоединить и убрать HDD подальше.
+
avatar
0
  • aliex
  • 23 октября 2025, 15:38
1) для этого надо физически быть рядом
2) это убивает бэкап по расписанию
+
avatar
0
Бакапов много не бывает. По расписанию — в другое место.
+
avatar
0
  • aliex
  • 23 октября 2025, 18:21
Именно. Вы говорите о другом кейсе.
+
avatar
0
Конечно о другом — раз уж бакапить на мобильное устройство, так ещё и унести его подальше.
+
avatar
+5
  • fps
  • 23 октября 2025, 14:22
Зачем дергать питание?
Засыпать диски в вашей вселенной всё еще не научились?
+
avatar
+3
  • ABATAPA
  • 23 октября 2025, 15:29
Я уж не говорю про WoL…
+
avatar
+2
  • Alpa
  • 23 октября 2025, 15:32
NAS включен постоянно, диски внутри никогда не засыпают. WoL здесь не при делах, нечего будить
+
avatar
+1
  • tirarex
  • 23 октября 2025, 16:49
Truenas может отключать диски без всяких реле.
+
avatar
+6
  • ABATAPA
  • 23 октября 2025, 17:16
Так включите idle timeout у дисков, либо штатными средствами NAS, либо сторонними. Или пошлите диску
standby immediately или sleep immediately. Разумеется, лишь после того, как отмонтируете тома, сделаете sync и сбросите кэши. А то у Вас
«при пропадании тома выключает реле. „
Но это лишь уровень SMB (если у Вас не экспорт iSCSI) на устройстве-клиенте, внутри NAS эти разделы смонтированы и то, что клиент отключил сетевой том, никак на сервер не влияет. Вы вообще это как-то учитываете?

Напоминает мне одну историю из 90ых. В одном серьёзном бюджетном учреждении федерального уровня в СПб уволили сисадмина. У них был сервер с Sun Unix (да-да!), но на ночь все электроприборы отключались. И сервер тоже. Т. к. никто не умел его отключать правильно (даже зайти root-ом и сделать shutdown было некому), то его просто “рубали», а утром кто-то (по графику) приходил на 40 минут раньше и включал его. И он 40 минут «чекал» файловую систему… И так это работало многие месяцы (пока не накрылось совсем).
+
avatar
+1
  • Alpa
  • 23 октября 2025, 17:27
Том отключается штатными средствами DSM, встроенным Hyper Backup после завершения задачи резервирования и удаления старых копий, автоматически. Планировщик лишь проверяет, что том отмонтировался, и спустя 15 секунд дает команду на отключение питания.
Что тут неправильно?
+
avatar
0
  • ABATAPA
  • 23 октября 2025, 17:31
Так я и спросил:
Вы вообще это как-то учитываете?
Если все ресурсы на диске отмонтированы (а при этом делается sync), то да, это безопасно для данных.
+
avatar
+1
Так включите idle timeout у дисков, либо штатными средствами NAS, либо сторонними
Вот так и помирали WD Green раньше времени у тех, кто это не отключал.
+
avatar
+2
  • ABATAPA
  • 23 октября 2025, 22:37
7 или 8 лет отработал WD Green 1500, пережив падение с высоты 2.1 метра во включенном состоянии (и не осыпавшись за последующие за падением 5 лет).
Конечно, если засыпать раз в 2 минуты и так дёргать постоянно — хорошего мало. Если же диск нужен лишь эпизодически, то разумнее его держать с остановленным шпинделем.
+
avatar
+2
  • vlo
  • 24 октября 2025, 02:45
у кого умирали?
вопли про парковки в массе своей основывались исключительно на значениях счетчиков. цифирек люди пугались.

p.s. у меня тут тревелстар 7k500 с десятилетней наработкой умудрился за ~год набрать 60+ тыщ старт-стопов (не парковок). засыпал и кто-то его будил. и хуже ему от этого не стало.
+
avatar
0
  • simsun
  • 25 октября 2025, 03:59
У меня тоже все спят и не стоит скидывать со счетов, что каждый потребляет 5-10W при работе, а не только шумит. Как я понимаю, возможно это и не так, что опасность может быть в частом нагреве/охлаждении компонентов и механических процессах при этом.
+
avatar
+1
  • kopa
  • 29 октября 2025, 12:46
WD Green раньше времени у тех, кто это не отключал
ох жуткая вещь была, сколько там секунд бездействия на отключение по умолчанию было? 8с?
+
avatar
0
Или 10, я не помню уже, но смехотворно мало. И они их ставили в WD My Book-коробки, которые та же винда раз в минуту точно дёргала.
+
avatar
+3
  • Cregg
  • 23 октября 2025, 16:44
Засыпать диски в вашей вселенной
Не знаю как в Вашей, а в моей вселенной считается хорошим тоном физически отключать носители архивов… (с этой точки зрения решение автора обзора выглядит «несколько» половинчатым… с другой стороны — возможно что данные не настолько ценные и полноценный 3-2-1 ему и не нужен...)
+
avatar
+7
  • aliex
  • 23 октября 2025, 18:30
А в моей вселенной считается хорошим тоном прописывать модель угроз/рисков, а уже исходя из неё выбирать митигейшны. Отключать физически — это, к примеру, от прилетевшей по проводам молнии, а то, что здесь делается — прежде всего минимизация угроз логических повреждений.

Кстати, автор явным образом обозначил цель — «Держать постоянно включенным шумный и прожорливый жесткий диск — затея непродуктивная». Решение ей полностью соответствует.
+
avatar
0
  • Cregg
  • 23 октября 2025, 19:01
Отключать физически — это, к примеру, от прилетевшей по проводам молнии
Это лишь один «вектор», есть и совсем другие причины.
автор явным образом обозначил цель
Ну, значит я, как всегда, прав :)
+
avatar
0
  • aliex
  • 23 октября 2025, 19:04
Вот от причин и пляшем, а не от «считается хорошим тоном».
+
avatar
0
  • Cregg
  • 23 октября 2025, 20:16
Вот от причин и пляшем, а не от «считается хорошим тоном».
Когда спич идёт о бэкапах, есть всего три опции, и все они — «цена» потери данных:
1. слишком дорого, вплоть до «катастрофа всему» => полноценный 321 по всем правилам «хорошего тона» (с учетом стоимости простоя и тп)
2. дорого-печально переживем/восстановим => на что выделен бюджет, учитывая «правила хорошего тона»
3. неприятно, да и фиг с ним => «ну может кто и займется»

Причина потери данных в контексте резервного копирования «в общем» не имеет значения… разве что во втором случае таки придется оценивать вероятность сценариев для правильного выбора «на какие пункты бест практис» обязательно тратить деньги и силы, а какие можно и подвинуть в сторону.

Впрочем… в своей зоне ответственности Вы, несомненно, имеете право на собственное мнение, возможно кардинально отличающееся от моего.
+
avatar
0
  • aliex
  • 23 октября 2025, 21:04
Или — это одна из мер, которая вообще перпендикулярна всему остальному. Допустим, есть какие-то другие бэкапы, но из этого восстановить банально дешевле и проще — как раз потому что он ремотно контролируется и может быть поднят автоматикой. И, кстати, классическое 321 нигде и никак не указывает, что все копии должны физически отключаться.

Соотношение риски/стоимость, кстати, оценивается вообще всегда, даже если исполнитель понятия не имеет о самой концепции. Даже если цена потери — «катастрофа всему» — у катастрофы тоже есть цена.

А ещё на практике бывают всякие дивные ситуации, которые «цивилизованными» рекомендациями не покрываются. К примеру, когда самый надёжный вариант пароля — длинная последовательность на бумажке, приклеенной на монитор. Ну просто потому что у нас там физический фактор прикрыт напрочь — снаружи два периметра с охраной и если что не так — налажавшего сотрудника могут и в лес вывезти, а вот хакнуть лист бумаги не выйдет никак. На мониторе — потому что сотрудники меняются, не всегда предсказуемо (картина утрированная и упрощённая, но срисована с реальности).
+
avatar
0
  • Cregg
  • 23 октября 2025, 21:56
лассическое 321 нигде и никак не указывает, что все копии должны физически отключаться
Ну здрассте… а «1»? и, в общем-то, и «2» тож
А ещё на практике бывают всякие дивные ситуации, которые «цивилизованными» рекомендациями не покрываются.
Да, но нет.
(да, бывает… более чем часто. нет, покрываются… но есть нюансы)
+
avatar
0
  • aliex
  • 23 октября 2025, 22:05
1 — это что-то в другой локации. основной смысл — защита от крупных бедствий типа пожара. И всё. Кроме того, абсолютно не факт (скорее факт, что не), что именно об этой «1» идёт речь.

Покрывается всё — но если идти с начала — от анализа угроз, рисков и стоимости. Но вот решения иногда получаются вообще не «классическое 321». Особенно по нынешним временам, когда здоровый человек скидывает всё, что можно, на облака или ещё как-то аутсорсит.
+
avatar
0
  • Cregg
  • 23 октября 2025, 22:20
Я предлагаю закончить этот спор, ибо он не имеет смысла… да и скатился в офтопик, насколько понимаю. Это разговор о разных подходах, приводящих (а может и не приводящих) к одному и тому же результату.
Дополнительная информация
всё, что можно, на облака
ой… не надо про «облака»… пожалуйста. меня это бесит, к сожалению… разумеется — если это не Ваша цель
но вообще -«облакоподомное» прямо «на ура» укладывается в классическую 321

Спасибо
+
avatar
0
  • aliex
  • 23 октября 2025, 22:28
Согласен, надо завязывать
+
avatar
+3
  • GIPER
  • 23 октября 2025, 14:37
Держать постоянно включенным шумный и прожорливый жесткий диск — затея непродуктивная, поэтому специально обученный человек по моему звонку делал...
Кто-нибудь может мне объяснить, почему у него резервный диск не парковался, а всё время жужжал и жрал… кстати что он жрал?
+
avatar
+2
  • Skylab
  • 23 октября 2025, 14:43
Кто-нибудь может мне объяснить, почему у него резервный диск не парковался
Все современные HDD паркуются, когда к ним нет обращения. Видимо, это старые-престарые диски…
кстати что он жрал?
Что-что… колбасу_с_бутербродом… электроэнергию
+
avatar
+2
  • zoog
  • 23 октября 2025, 16:45
Все современные ОС немотивированно дёргают все диски)
+
avatar
0
  • ABATAPA
  • 23 октября 2025, 17:19
С чего бы?
+
avatar
+6
  • vlo
  • 23 октября 2025, 17:55
потому что могут?
+
avatar
0
  • aliex
  • 23 октября 2025, 18:31
Не все, не всегда, конфигурируемо… но у человека Windows, так что делаем поправку.
+
avatar
+1
  • zoog
  • 24 октября 2025, 02:14
А разве есть другие ОС?©
+
avatar
0
  • aliex
  • 24 октября 2025, 02:24
Я тут кстати, ошибся — повёлся на название «Hyper Backup», а там, оказывается, Synology.
+
avatar
-1
  • GIPER
  • 24 октября 2025, 08:16
Все современные ОС немотивированно дёргают все диски)
Да ничего они не дергают. Диски немотивированно просыпаются, только если предварительно засрать систему всякими «оптимизаторами».
Или устанавливать ось из дистрибутива с названием типа ОЛОЛО-САМАЯ-ЛУЧШАЯ-СБОРКА-WIN11.
+
avatar
+2
  • GIPER
  • 24 октября 2025, 08:37
кстати что он жрал?
Что-что… колбасу_с_бутербродом… электроэнергию
Холодильник жрёт электроэнергию. Кондиционер жрёт электроэнергию. Бог с ним, телевизор жрёт энергию. Но HDD к которому 99% времени нет обращения, электиршества потребляет, я прям посчитал — на 57 коп в сутки. Ошеломительный уровень энергопотерь ) Прям ЖРЁТ как не в себя )
+
avatar
0
  • SBVF
  • 23 октября 2025, 14:50
Может быть имелся в виду шум от вентилятора? Например, у WD Elements Desktop вентилятор довольно шумный.
Хотел было найти информацию об установленном вентиляторе в WD Elements Desktop, но в отзывах пишут, что в нём нет вентилятора. Я был на 200%, что в моём диске шумит вентилятор, т.к. рядом ещё лежит два внешних диска и мини-пк, но слышно только WD Elements Desktop.
+
avatar
0
  • Maks_K
  • 23 октября 2025, 22:00
Может подшипники шпинделя?
+
avatar
0
  • vlo
  • 24 октября 2025, 02:50
то что у хорошо сбалансированного 3.5" винта заметен шум воздуха внутри — это нормально.
возможно другие 5krpm — они потише. 2.5" тоже тише.
+
avatar
+1
  • Alpa
  • 23 октября 2025, 15:02
Отвечу по поводу парковки внешнего диска при простое. Оно мне не надо, и я даже не проверял, уходит ли он сон.
Сам NAS хоть и чертовски хорош, но не идеален. Не хочется так думать, но что произойдет с ценными данными в случае его поломки, или при неблагоприятном сценарии с электропитанием?
На NASе настроены и бекапы внутри между томами. Но для меня внешний диск — это «холодный» резерв, которым рискую 15 минут в неделю.
+
avatar
+1
  • fps
  • 23 октября 2025, 15:19
резерв, которым рискую 15 минут в неделю.
Теперь нет.
Теперь его питание может быть дёрнуто программно в любой момент 24 * 7.
+
avatar
0
  • Alpa
  • 23 октября 2025, 15:34
Это точно, поэтому «холодный» резерв взято в кавычки
+
avatar
0
  • Siroc-co
  • 23 октября 2025, 15:11
Когда-то делал такое для SATA. В Xpenology было несколько дисков. А в эту локацию я ездил раз в три года… Вот пару дисков держал в резерве, но не в «горячем», а в подключаемом. Две бистабильных релюшки, для линии 5V и 12V.
+
avatar
0
  • friday
  • 23 октября 2025, 15:26
У tuya есть usb выключатель. У меня одно время вентилятор охлаждал мини ПК с управлением на питоне по температуре.
+
avatar
+2
  • Siroc-co
  • 23 октября 2025, 17:43
У tuya есть usb выключатель.
USB 2.0 выключатель…
+
avatar
+1
  • oleg235
  • 23 октября 2025, 18:50
У меня одно время вентилятор охлаждал мини ПК с управлением на питоне по температуре.
Ужас какой.
+
avatar
-1
  • Dimonbig
  • 23 октября 2025, 15:34
Бред, конечно, вся идея, но я и призощренней встречал индивидуумов.
Я так понимаю, что Вы на внешнем hdd храните свою черную бухгалтерию на неприметной съемной квартире на окраине города?! Иначе смысла в таких извращениях нет
+
avatar
+1
  • Alpa
  • 23 октября 2025, 15:46
Ну, вам виднее, что для вас ценнее, черная бухгалтерия или архив семейных фото
+
avatar
+5
  • Siroc-co
  • 23 октября 2025, 17:54
Иначе смысла в таких извращениях нет
Поиск смысла зависит от широты кругозора и опыта, а так же от ценности, которую представляют данные.
Когда начался кошмаринг с шифровальщиками, я бекапы делал следующим образом:
1. Отключаем основной сервер от интернета и LAN,
2. Проверяем основной сервер антивирусом
3. Включаем и проверяем бекап сервер антивирусом
4. Подаём питание на Switch, который поднимает LAN между основным сервером и бекап сервером.
5. Делаем бекап.
6. Выключаем бекап сервер.
7. Вводим в работу основной сервер.
+
avatar
0
  • advik
  • 23 октября 2025, 15:45
Я пошел дальше — т.к. NAS у меня по сути это медиацентр то я управляю питанием всего NAS — выключаю и включаю от умного дома. При этом он вообще в далекую кладовку перекочевал и с кнопки не помню когда включал его. Продаются сейчас и под zigbee и wifi платки на PCI-e что дублируют кнопки вкл/выкл, reset. А ничего в целом не мешает в корпус поставить у умное zigbee реле, да хоть многоканальное и питать его от дежурки того что выполняет роль NAS. Но хватило типового решения.
+
avatar
+3
  • Alpa
  • 23 октября 2025, 15:49
Ваш случай не дальше и не ближе моего, он другой.
У меня на NAS куча веб сервисов, которыми я пользуюсь постоянно. Я не хочу отказываться от них, или подменять сторонними облачными услугами
+
avatar
0
  • advik
  • 23 октября 2025, 16:41
Ну как сказать… Там у заводского решения уже пара контактов сухих. И сам решаешь что ими коммутировать. Можно вместо сброса пк сделать управление питанием порта. Ну или в корпус уже продаются wifi и zigbee реле с низковольтным питанием уже готовых. Ими можно коммутировать различные напряжения питания и даже несколько. Есть сразу коммутаторы usb 5В. Удобно что фактически ничего мудрить и не нужно.
+
avatar
+2
  • Alpa
  • 23 октября 2025, 16:58
Я написал, что готовые рецепты уже попробовал. Захотелось приготовить что-то самому
+
avatar
0
  • advik
  • 23 октября 2025, 20:15
Я не уделил этому должного внимания. Понимаю — осень, странного хочется. Тогда не лезу с советами. А так решается на готовый модулях и даже недорогих — смотря как решать.
+
avatar
0
  • 924800
  • 23 октября 2025, 17:21
А чем не устраивает НАС, и сделать копирование тупое по расписанию на диск? Который засыпать умеет. Или сделать в локалке еще один НАС и туда копию? Сейчас НАС запустить — пару часов на слабом пк.
4 таких отдельных НАСА, точно надежнее включения/отключения питания дисков постоянно.
+
avatar
+5
  • Alpa
  • 23 октября 2025, 18:23
Меня не устраивает копирование тупое, мне подавай резервирование инкрементное, с покером и казино
+
avatar
+1
Разве копирование по сети как-то ограничивает фантазию?
У меня так один из бакап-серверов доступен для разных задач либо по SMB, либо по iSCSI. А при желании можно и других сервисов поднять.
+
avatar
+1
  • Alpa
  • 24 октября 2025, 11:53
Разве копирование по сети как-то ограничивает фантазию?
Конечно не ограничивает, но мне не нужен другой бекап сервер в сети (малинка, апельсинка, бананка, NAS, miniPC).
Для моей задачи вполне достаточно диска через eSATA.
+
avatar
+1
ESPhome выглядит как-то попроще. И нативно в HA интегрируется
+
avatar
+2
  • Alpa
  • 23 октября 2025, 17:30
Тасмота простая как солдатский сапог, и тоже нативно интегрируется. А как вы подключаете ESPhome устройства, находящиеся вне локальной сети?
+
avatar
0
  • 00svd00
  • 23 октября 2025, 19:22
Это как и, главное, зачем?
Типа железка на даче, HA на квартире? Ну, свяжу локалки туннелем. Или сделаю шлюз через телегу
+
avatar
+1
  • l1bbcsg
  • 23 октября 2025, 22:03
Что-то ваши 10 Кб махрового кода совсем не похожи на сапог.

В ESPHome тут будет пара десятка строчек легко читаемой конфигурации.
Например, меандр для индикации выглядел бы во так:
output:
  - platform: slow_pwm
    pin: GPIO06
    id: indicator
    period: 500ms
+
avatar
+1
  • Alpa
  • 24 октября 2025, 09:38
Не вижу смысла спорить какая интеграция лучше. Лучшая та, которая решает ваши личные задачи.
Что-то ваши 10 Кб махрового кода совсем не похожи на сапог.
Все основные настройки у Тасмоты делаются в вебинтерфейсе (в статье это есть), они покрывают нужды большинства мамкиных домашних автоматизаторов. А то, что запускается через autoexec.be, это уже для специфических потребностей. И для меня это стало маленьким приятным сюрпризом.
В ESPHome тут будет пара десятка строчек легко читаемой конфигурации.
Например, меандр для индикации выглядел бы во так:
А ловко вы это сделали, как бы предложили сравнить мягкое с теплым 10кб неплохо комментироанного многофункционального мусорного кода от ChatGPT c примером простой мигалки в ESPHome.
+
avatar
+1
  • nexus007
  • 25 октября 2025, 09:20
Ну, справедливости ради, автор просто пошел по сложному пути, как мне кажется. У тасмоты есть правила. Вот, к примеру, так бы можно было устроить задержку в подаче питаний:
ON Power3#State=1 DO Backlog Power1 1; Power2 1 ENDON //включаем реле1- ждем backlog - включаем реле2
+
avatar
0
  • Alpa
  • 25 октября 2025, 09:47
так бы можно было устроить задержку в подаче питаний:
Не все можно сделать правилами. Скрипт выполнят и другие функции:
— после вкл или выкл реле на 30 сек блокируется управление (чтобы шпиндель успел полностью разогнаться или остановиться) и через HA и через кнопку
— если после после включения реле по какой то причине происходит перезагрузка еспкшки, реле загружается в ссостоянии выкл, но статус в НА остается вкл. Для решения этой проблемы скрипт после загрузки в коротком цикле посылает в HA топик, что реле все же выключено.
— при включении реле скрипт перехватывает у Тасмота управление светодиодом для отображения режима записи на диск, при выключении — возвращает управление
+
avatar
0
  • nexus007
  • 25 октября 2025, 10:19
Я, конечно, внимательно ваш кейс не разбирал, но все же, кажется можно было все решить через виртуальное реле. И отдавать в НА именно его статус, если уж так хочется. Но верю, что вы попробовали все и нашли оптимальное решение. У меня правилами сделана как раз задержка шунтирования симистора с помощью реле, потому что не додумался, как сделать ее(задержку) с помощью «железного» решения.
+
avatar
0
  • Alpa
  • 25 октября 2025, 10:29
Судя по приложенному configuration.yaml, в HA так и передается статус
+
avatar
0
  • anslan
  • 29 октября 2025, 20:06
Через MQTT в HA все чудесно залетает и через него щелкает ESPHome
Нужно чтоб на HA была статика IP
Или впном сети обьеденнить
+
avatar
+3
Переменный резистор для выставления 5 вольт лучше заменить на постоянный. Качество этих подстроечников так себе.
+
avatar
+1
  • Kooonst
  • 23 октября 2025, 17:56
А мне вот интерестно сколько раз в сутки включается хдд. И непревышаетли потеря моторесурса при вкл/выкл экономию?
По моему так себе занятие…
+
avatar
+1
  • Alpa
  • 23 октября 2025, 18:13
У меня он включается раз в неделю, думаю на ресурс моего энтерпрайз диска это не повлияет
+
avatar
0
  • advik
  • 23 октября 2025, 20:19
А вот это самое большое заблуждение. Как раз 90% известных мне выходов из строя дисков у нас заводе (по молодости там итшничал) были как раз при перезапуске серверов. И диски были тогда не чета нынешним. Чтобы диск отказал в процессе нормальной работы — редчайший случай для серверных. А вот не проснуться после выключения явление было редкое, но не сказать что уникальное.
+
avatar
0
  • 00svd00
  • 23 октября 2025, 19:19
Держать постоянно включенным шумный и прожорливый жесткий диск — затея непродуктивная
Поэтому нужно побыстрее его убить, постоянно дёргая по питанию. Вывесите его на резиновом подвесе и не мучьте животину. А если вы себе сподобились купить 8-блинового громыхающего монстра и резиновый подвес не спасает — апельсинка, патчкорд, зашкафье.
+
avatar
+4
  • Alpa
  • 23 октября 2025, 20:19
Точно, как я упустил этот момент!
При ресурсе полных старт/стоп циклов 600тыс у Exos, я его замучаю через… э-э-э-э… минуточку…
600'000 / 60 (число запусков в год) = 10'000 лет.
Да катись все к чертям, живем один раз! Буду включать его каждый день
+
avatar
0
  • 00svd00
  • 23 октября 2025, 20:33
Старт-стоп — это при нормальном использовании. Ну т.е. когда раздел размонтирован, обращений к диску нет и потом уже отключение питания. Либо когда диск уходит в стендбай, головка паркуется, шпиндель останавлиавается, ЕМНИП тоже считается за старт-стоп. Увас же отключения аварийные. В любом случае, наиболее оптимально с точке зрения долгожительства для диска — воткнуть его в NAS и вообще никогда не отключать, пока смарт не начнёт ругаться.
+
avatar
0
  • Alpa
  • 23 октября 2025, 20:49
Ну где же аварийность-то? Все делается максимально нежно, стандартными средствами DSM.
Насчет поставить его в NAS — не просто неоптимальная, а плохая идея. Он там уже был, это шумно и некомфортно для проживания. Притом, что сам NAS стоит далеко от жилых комнат.
+
avatar
+1
  • 00svd00
  • 23 октября 2025, 21:45
Если бы вы действовали штатными средствами, вы бы сделали
sudo umount — l /dev/sdb
sudo hdparm -S 1 /dev/sdb
Абсолютно с тем же результатом. А вы паяете релюшки и занимаетесь, извините, дичью.
это шумно
Рискну предположить что вы в его качестве взяли какую-то недокоробку от дилинька с крохотной оглушительной турбиной. Я себе собрал на X86 в корпусе под miniITX, он у меня стоит в спальне и натурально не мешает спать, хотя у жены очень чуткий сон. И да, там стоят энтерпрайзные диски на много блинов, просто ночью зарезаю скорость на трансмиссии и оно еле шуршит.
+
avatar
0
  • Alpa
  • 23 октября 2025, 22:53
Вы привели локальный пример, если бы мне нужно было просто размонтировать диск. Но мне это и не нужно, штатная Hyper Backup делает это сама по завершению резервирования.
Насчет дичи извиняю, я и сам написал про извращения. Но нравиться, чтож поделать.
По поводу шумности, коробка без пропеллеров, от какого-то старого внешнего CD/DVD рекордера. Шумит сам диск, мне это не нравится, да и никому рядом тоже.
У меня Сино, а не мини пк, там нет возможности зарезать скорости. Но внутренние медленные Seagate очень деликатны, и желания убаюкивать их нет никакого.
+
avatar
+2
  • 00svd00
  • 23 октября 2025, 23:06
нужно было просто размонтировать диск
Это делает первая команда. А вторая командует диску уйти в стэндбай через 1 секунду. Т.е. запарковать башку и остановить шпиндель. Если его ещё и исключить из smartd — то его тупо нечему будет дёргать и он будет сидеть тихо и почти ничего не жрать, как раз +- на уровне еспшки с активным вайваем.
Шумит сам диск
Опять же, акцентирую внимание на резиновом подвесе диска. 8 голов будут долдонить, от этого не деться, но если разорвать жёсткую механическую связь с корпусом — вибрации не будут уходить на столешницу и диск станет в разы тише. Колхозный способ — вывесить винт на банковских резинках в 5.25-дюймовом слоте, в качественных же корпусах изначально идут либо резиновые такие ушастые шайбы, на которых крепится диск, либо на резине вывешиваются полозья. А если ещё и корпус изнутри шумкой проклеить, чтоб резонировал поменьше — вообще будет кайф. Хотя проще взять сразу хороший корпус, в них обычно инженеры уделяют внимание шумоизоляции.
+
avatar
+1
  • aliex
  • 24 октября 2025, 01:23
Насчёт резинового подвеса очень поддерживаю — лет двадцать так диски висят, проблем никаких, а шум снижается радикально. С моей любовью к многопластинчатым серверным — самое оно. Банковские резинки не поддерживаю категорически — сохнут и рвутся. Текстильные (типа как на трусах) живут долго, а если даже рвётся резина — диск всё ещё висит на тряпке.

И, кстати, резинки существенно лучше штатных шайб и подобного (но места занимает больше). Проверял.
+
avatar
0
  • 00svd00
  • 24 октября 2025, 04:08
Банковские резинки не поддерживаю категорически — сохнут и рвутся
Есть такой момент, но в моей голове «колзоный вариант» == времянка до покупки нормального решения. А так то конечно если колхозить «на года» — надо вывешивать на пружинах, прям чтоб получилась взрослая виброгасящая платформа. Но я не упарывался настолько, меня устраивали покупные резиновые шайбы
+
avatar
0
  • aliex
  • 24 октября 2025, 10:36
У меня изначально системник с тремя винтами стоял в метре от кровати, так что я упарывался (а потом так и осталось). Текстильная резинка ходит лет пять и при этом делается левой ногой, так что оказалась оптимальным вариантом. Банковская может рассыпаться за неделю если подсушили её. До пружин в итоге дело так и не дошло за ненадобностью (и подозреваю, что там сложно, чтобы визг по самим пружинам не шёл).
+
avatar
0
  • 00svd00
  • 24 октября 2025, 11:37
Там по идее нужно так подобрать пружины по жёсткости, чтобы собственная частота получившегося маятника получилась ниже частоты вибрации диска. И тут если вдруг что-то пойдёт не так — тупо берём пружины помягче
+
avatar
0
  • aliex
  • 24 октября 2025, 15:09
Ну да, и в целом это слишком много суеты, а резинки работают сходу. Раз в N лет при смене дисков и резинки сменить, и всё.
+
avatar
0
  • vlo
  • 24 октября 2025, 02:56
«Start/stop cycles
The drive withstands a minimum of 50,000 start/stop cycles in a 40 C environment and a minimum of 10,000
start/stop cycles in extreme temperature or humidity within the operating range.»
никакого разделения на «нормальные» и какие-то другие тут не наблюдается.
(hc550)
+
avatar
0
  • 00svd00
  • 24 октября 2025, 03:57
Мне всё таки кажется, что разрыв линии питания — это как минимум нештатная ситуация и наврятли её подробно тестировали. Впрочем, автор уже пояснил, что диски он размонтирует перед экзекуцией, так что если делезо поддерживает хотсвоп, то наверное ОК.
+
avatar
0
Любой SATA диск поддерживает hotswap от рождения.
+
avatar
0
  • 00svd00
  • 24 октября 2025, 11:33
Не, точно не любой. Я точно помню что были те, которые не умели парковать голову при потере питания. Но возможно любой современный.
+
avatar
0
  • aliex
  • 24 октября 2025, 15:11
Любой серверный — точно. Что там в «домашних» сериях могли наваять — вопрос отдельный. Но у топикстартера как раз серверный.
+
avatar
0
  • simsun
  • 25 октября 2025, 04:18
Я точно помню что были те, которые не умели парковать голову при потере питания
Может и было когда-то, но даже ещё [на каком-то] на диске с шаговым приводом головок при выключении основной двигатель начинал работать генератором и питал толкание голов назад.
+
avatar
0
  • advik
  • 23 октября 2025, 22:23
ну на практике дорогущие энтерпрайз SCSI 15000 оборотов супер-пупер надежные по заверениям производителя — и тогда правда они были надежнее чем сейчас — мерли бывало до истечении гарантии — хотя цифры наработки и всякие прочие там тоже космические рисовались производителем. Реально это плохая тема для HDD. Понятно что если всего раз в неделю нужны то просится выключить конечно. Но тогда никакого выигрыша от дорогих дисков нет — лучше реально купить несколько экземпляров как можно более медленных по оборотам и с меньшей плотностью записи/числом блинов — только под бэкап. Они меньше перегрузки испытывают… И число дисков с бэкапом чаще лучше чем циферки MTFB нарисованные производителем. Это все не говоря уже о том если разделы и правда не размонтируете, диски не паркуете, а рубите питание.
+
avatar
+1
  • Alpa
  • 23 октября 2025, 23:03
Моя ошибка, нужно было конечно в статье сразу отметить, что не рублю я питание релюхой. Сначала штатный unmount.
По поводу рекомендации купить несколько жигулей вместо одного мерседеса. А что делать, если мерседес уже стоял в гараже? Проблема…
+
avatar
0
  • Buzzard
  • 23 октября 2025, 20:50
Не имел возможности пользоваться Synology, но даже в OpenWRT есть возможность отключать любой отдельно взятый монтированный физический диск при его простое, через установленное пользователем время. В Windows тоже есть такая функция, но только для всех дисков скопом, что не всегда удобно. Неужели у Synology нет такого?
+
avatar
0
  • Alpa
  • 23 октября 2025, 20:53
В Сино такой возможности нет
+
avatar
+2
  • ABATAPA
  • 23 октября 2025, 20:59
Да ладно?! :-D
+
avatar
0
  • Alpa
  • 23 октября 2025, 21:13
Нет, в Сино нельзя раздельно управлять гибернацией внутренних дисков. Только все вместе
+
avatar
+1
  • Buzzard
  • 23 октября 2025, 21:41
А разве пункт «Жесткие диски USB...» не отключит ваш внешний диск?
+
avatar
0
  • Alpa
  • 23 октября 2025, 22:36
Может и отключит, не проверял. У меня eSATA, хотя вероятно и это не имеет значения. Значение имеет лишь желание включать диск по расписанию лишь в моменты, когда это нужно мне, вне зависимости от других процессов внутри NAS
+
avatar
+1
  • xaon
  • 24 октября 2025, 07:50
Для чего нужна эта перемычка?
+
avatar
+1
  • Alpa
  • 24 октября 2025, 09:14
Можно развязать питание на выходе оптрона
+
avatar
+1
  • Alesh
  • 24 октября 2025, 10:10
Сначала была кнопка
пропустили один этап, сразу перешли к более технологичным. Есть такие нажималки для нажимания физических кнопок и интеграции в умный дом управления включением всяких устройств. Во, Fingerbot
+
avatar
+1
  • Alpa
  • 24 октября 2025, 10:21
Даже не подумал бы, что такое бывает. Курьезная вещь
+
avatar
+2
  • Alesh
  • 24 октября 2025, 11:01
Давно на такую штуку случайно наткнулся, сначала не понял, что это и для чего. А потом кааааак понял ))
Удобно какие-нибудь устройства типа кофемашин запускать или другие, которые просто при подаче питания от умной розетки не входят в рабочий режим
+
avatar
+2
  • valerak2
  • 24 октября 2025, 11:05
изделие интересное, но применение так себе
1 жрут диски копейки
2 надёжность ухудшается, тк они дольше проживут, если не дергать питание…
+
avatar
0
  • Shrike
  • 24 октября 2025, 12:07
Ну вот еще говна на вентилятор в топку обсуждений.
Физическое отключение HDD для бэкапов Synology
+
avatar
0
  • andruxxx
  • 24 октября 2025, 22:17
светодиод для моргания на есп есть. а если взять того же размера C6, там еще и РГБ )))
+
avatar
0
Вот кому-то делать нечего.gif
+
avatar
0
  • IVA2
  • 27 октября 2025, 12:40
Карманы у меня в пиджаке… Почему коробка для диска карман?
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.