Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Новинка
Распродажа
Новости
Доставка
Оплата
Загрузки
  • Прошивки
    • WinBox
    • RouterOS
    • Мобильные приложения MikroTik
    • Архив
  • Changelogs
  • RouterOS
  • Мобильные приложения MikroTik
  • Архив
Форум
Настройка
    info@mikrotik.moscow
    +7 495 320-55-52
    Заказать звонок
    Mikrotik.moscow
    Каталог
    • Акции
      Акции
    • Маршрутизаторы
      Маршрутизаторы
    • Коммутаторы
      Коммутаторы
    • Радиомосты и уличные точки доступа
      Радиомосты и уличные точки доступа
    • Wi-Fi для дома и офиса
      Wi-Fi для дома и офиса
    • LTE/5G
      LTE/5G
    • Powerline адаптеры
      Powerline адаптеры
    • IoT устройства
      IoT устройства
    • Оборудование 60 ГГц
      Оборудование 60 ГГц
    • Материнские платы RouterBOARD
      Материнские платы RouterBOARD
    • Корпуса
      Корпуса
    • Интерфейсы
      Интерфейсы
    • SFP/QSFP трансиверы
      SFP/QSFP трансиверы
    • Аксессуары
      Аксессуары
    • Антенны
      Антенны
    • Архив
      Архив
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Скачать WinBox Скачать Прошивки Форум > RouterOS Форум > SwOS Форум > Железо
    Mikrotik.moscow
    Каталог
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Mikrotik.moscow
    Телефоны
    +7 495 320-55-52
    Заказать звонок
    0
    0
    0
    Mikrotik.moscow
    • +7 495 320-55-52
      • Назад
      • Телефоны
      • +7 495 320-55-52
      • Заказать звонок
    • info@mikrotik.moscow
    • г. Москва, ул. Бакунинская, 84
    • Пн-Пт: 09-00 до 18-00
      Сб-Вс: выходной


    • Кабинет
    • 0 Сравнение
    • 0 Избранное
    • 0 Корзина
    Главная
    Форум
    RouterOS
    Контейнеры не запускаются после отключения питания

    Контейнеры не запускаются после отключения питания

    Форумы: RouterOS, Аппаратное обеспечение, SwOS, Обратная связь, Объявления, Сторонние инструменты
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    Контейнеры не запускаются после отключения питания, RouterOS
     
    dcavni
    Guest
    #1
    0
    06.11.2023 12:37:00
    У меня проблемы с контейнером Adguard (есть ещё контейнер udpxy, но с ним всё проще — если он не запускается, я просто вручную перезагружаю). Без Adguard DNS не работает, так что, по сути, всё стоит, пока не перезагружу систему. В этом году из-за плохой погоды у нас было много отключений электроэнергии, и вот что происходит: когда питание восстанавливается, контейнеры, судя по всему, не стартуют вместе с 5009. Полагаю, причина в том, что модем не выходит в онлайн до запуска 5009, поэтому ищу способ задержать запуск контейнеров на 5 минут. Если я вручную перезагружаю 5009 после того, как всё остальное уже работает, контейнеры стартуют без проблем, но перезагрузка нужна. Если же просто пытаюсь запустить контейнер через Winbox без перезагрузки, ничего не происходит — ни ошибок в логе, ничего. Есть какие-нибудь идеи?
     
     
     
    zmolnar
    Guest
    #2
    0
    12.09.2024 07:00:00
    Привет! У меня такая же проблема на RB5009 с версией v7.5.13. После перезагрузки из-за отключения питания контейнер AdGuard не запускается. Если пытаюсь запустить его вручную, ничего не происходит, в логах нет записей, и контейнер так и остаётся остановлен. (Не знаю, связано ли это именно с AdGuard, других контейнеров нет.) Ты уже нашёл решение?
     
     
     
    holvoetn
    Guest
    #3
    0
    12.09.2024 10:30:00
    Оба: вы уверены, что после перезагрузки диск, на котором хранится контейнер, всё ещё находится на нужном месте? (обычно это usb1). Некоторые USB3-флешки после перезагрузки доступны только через USB2-протокол (сброс USB или задержка при запуске USB-интерфейса решает эту проблему). Если они запускаются как USB2, диск получает другое обозначение (обычно usb2), а для конфигурации вашего контейнера это уже совершенно другое место. Поэтому контейнеры не запускаются. Поддержка MT знает об этой проблеме, но точных сроков решения пока нет. Рабочая рекомендация: не запускать контейнеры автоматически, а использовать скрипт после сброса для сброса USB и уже из этого скрипта запускать контейнеры.
     
     
     
    Amm0
    Guest
    #4
    0
    12.09.2024 21:10:00
    Да… И вот эта функция «Запуск при загрузке» — такая себе «раз и навсегда». Если диск по какой-то причине не смонтирован, контейнер не запустится. Это касается не только USB, но и таких систем, как ROSE+NFS для контейнеров — я, по крайней мере, иногда сталкивался с этим. Во всяком случае, скрипт по расписанию работает лучше, и, насколько мне известно, вызвать «start» для уже запущенного контейнера никак не повредит (так что, если хочется, можно не проверять, работает ли он): /container start [find tag~"adguard"]
     
     
     
    Cloudisparu
    Guest
    #5
    0
    13.09.2024 11:59:00
    +1 Та же проблема у меня на 5009. Использую планировщик задач, чтобы вручную запускать контейнер после перезагрузки.
     
     
     
    zmolnar
    Guest
    #6
    0
    15.09.2024 06:29:00
    Привет, спасибо за ответ. По твоим советам я написал скрипт для запуска adguard, но проблема не решилась. (Это мой самый первый скрипт для ROS, поэтому буду рад любым отзывам.)

    :local containers [/container find where tag~"adguard"]

    :foreach adguard in $containers do={
       :local rootDir [/container get $adguard root-dir]
       :log error ("root-dir: " . $rootDir)

       :local rootDisk [:pick $rootDir 0 [:find $rootDir "/"]]
       :log error ("root-disk: " . $rootDisk)

       :local mounted false
       :local triesLeft 15

       :while ((false = $mounted) && (0 < $triesLeft)) do={
           :if (0 < [:len [/file find where name=$rootDisk]]) do={
               :delay 5s
               :set mounted true
           } else={
               :set triesLeft ($triesLeft - 1)
               :log error ("adguard root disk не смонтирован, жду 2 секунды")
               :delay 2s
           }
       }

       :if (true = $mounted) do={
           :log error "root disk для adguard найден"
           /container start $adguard
       } else={
           :log error "не удалось найти root disk для adguard"
       }

       :if ("running" = [/container get $adguard status]) do={
           :log info "контейнер adguard успешно запущен"
       } else={
           :log error ("не удалось запустить контейнер adguard" . $error)
           # TODO: настроить альтернативный DNS-сервер
       }
    }

    :log error "скрипт выполнен"

    В логах видно, что root disk сначала определяется неправильно, но потом монтируется. Команда запуска контейнера выполняется, но adguard так и не запускается. (Я уже пробовал добавить 5 секунд задержки между запуском контейнера и проверкой статуса, но это тоже не помогло.)  
    07:53:35 script,error root-dir: usb2/docker/adguard-home  
    07:53:35 script,error root-disk: usb2  
    07:53:35 script,error adguard root disk не смонтирован, жду 2 секунды  
    07:53:42 script,error root disk для adguard найден  
    07:53:42 script,error не удалось запустить контейнер adguard  
    07:53:42 script,error скрипт выполнен

    Есть идеи, с чем можно синхронизировать запуск контейнера, чтобы он заработал?
     
     
     
    navigator
    Guest
    #7
    0
    15.09.2024 07:07:00
    Та же самая проблема возникает у меня на RB5009 (после перезагрузки или пропадания питания). Я запланировал скрипт для сброса питания USB и задержки запуска Adguard.

    {
    :local diskl [/disk get usb1 label]
    :put $diskl
    :local diskc "usbflash"
    if ($diskl = $diskc) do= {
       put "Adguard запущен..."
    } else={
       :delay 10s;
       :local contag "adguard"
       :local currstat [/container get [find where tag~$contag] status]
       :put $currstat
       :local runstat "running"
       if ($currstat != $runstat) do= {
           /sys routerboard usb power-reset duration=5s
           :log warning "Сброс питания USB"
           :delay 10s;
           /container start [find where tag~$contag]
           :delay 10s;
           /ip dns set servers=172.18.0.2
       }
    }
    }
     
     
     
    jaclaz
    Guest
    #8
    0
    15.09.2024 08:49:00
    Похоже, на вас повлияла ошибка с обнаружением USB-устройств, о которой упоминал holvoeth. Судя по всему, она затрагивает некоторые устройства (флешки одного бренда, а именно Sandisk) больше, чем другие. Есть пару обходных решений, которые можно попробовать внедрить в ваш скрипт — либо сбросить USB-шину, либо переименовать слот, см. здесь: http://forum.mikrotik.com/t/rb5009-routeros-7-9-1-usb-slot-keeps-changing/167185/1 http://forum.mikrotik.com/t/usb-disk-issue-after-hardware-reboot/172598/1
     
     
     
    zmolnar
    Guest
    #9
    0
    15.09.2024 12:22:00
    Да, это и была проблема, потому что я использую флешку SanDisk UltraFit 64GB. Я обновил скрипт, добавив сброс USB, и теперь у меня всё работает:

    # выполняем сброс питания USB, чтобы исправить проблему с обнаружением устройства
    :system routerboard usb power-reset duration=1s
    :delay 3s

    :local containers [/container find where tag~"adguard"]

    :foreach adguard in $containers do={
       :local rootDir [/container get $adguard root-dir]
       :local rootDisk [:pick $rootDir 0 [:find $rootDir "/"]]

       :local mounted false
       :local triesLeft 15

       :while ((false = $mounted) && (0 < $triesLeft)) do={
           :if (0 < [:len [/file find where name=$rootDisk]]) do={
               :set mounted true
               :delay 2s
           } else={
               :set triesLeft ($triesLeft - 1)
               :log info ($rootDisk . " не смонтирован, ждем 2 секунды")
               :delay 2s
           }
       }

       :if (true = $mounted) do={
           :log info "запускаю контейнер adguard"
           /container start $adguard
           :delay 5s
       } else={
           :log error "не удалось найти корневой диск для adguard"
       }

       :if ("running" = [/container get $adguard status]) do={
           :log info "контейнер adguard успешно запущен"
       } else={
           :log error ("не удалось запустить контейнер adguard")
           # TODO: задать альтернативный DNS-сервер
       }
    } Спасибо за помощь!
     
     
     
    Страницы: 1
    Читают тему
    +7 495 320-55-52
    info@mikrotik.moscow
    Электрозаводская, Бауманская
    Москва, ул. Бакунинская, 84с21
    Конфиденциальность Оферта
    © 2025 «Mikrotik.Moscow»
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры