Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Оплата
Новости
Доставка
Загрузки
Форум
Настройка
    info@proxmox.su
    +7 (495) 320-70-49
    Заказать звонок
    Аспро: ЛайтШоп
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Аспро: ЛайтШоп
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Аспро: ЛайтШоп
    Телефоны
    +7 (495) 320-70-49
    Заказать звонок
    0
    0
    0
    Аспро: ЛайтШоп
    • +7 (495) 320-70-49
      • Назад
      • Телефоны
      • +7 (495) 320-70-49
      • Заказать звонок
    • info@proxmox.su
    • Москва, Бакунинская улица, 69с1
    • Пн-Пт: 09-00 до 18-00
      Сб-Вс: выходной
    • 0 Сравнение
    • 0 Избранное
    • 0 Корзина
    Главная
    Форум
    Proxmox Виртуальная Среда
    nvmf-autoconnect.service не работает.

    Форумы: Proxmox Виртуальная Среда, Proxmox Backup Server, Proxmox Mail Gateway, Proxmox Datacenter Manager
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    nvmf-autoconnect.service не работает., Proxmox Виртуальная Среда
     
    Ironhide526
    Guest
    #1
    0
    19.04.2025 11:15:00
    Я настроил общую хранилище для Proxmox с использованием Dell PowerStore 1200T. Используемый протокол — NVMe over TCP. В целом всё работает нормально, но соединение не сохраняется после перезагрузки.

    discovery.conf Configuration:
    --transport=tcp
    --traddr=192.168.5.5
    --trsvcid=4420
    --transport=tcp
    --traddr=192.168.5.6
    --trsvcid=4420
    --transport=tcp
    --traddr=192.168.6.5
    --trsvcid=4420
    --transport=tcp
    --traddr=192.168.6.6
    --trsvcid=4420

    nvmf-autoconnect.service Configuration:
    [Unit]
    Description=Connect NVMe-oF subsystems automatically during boot
    ConditionPathExists=/etc/nvme/discovery.conf
    After=network-online.target
    Before=remote-fs-pre.target
    [Service]
    Type=oneshot
    ExecStartPre=/sbin/modprobe nvme_tcp
    ExecStart=/usr/sbin/nvme connect-all
    [Install]
    WantedBy=default.target

    Судя по всему, сервис игнорирует `After=network-online.target` и пытается подключиться до того, как сеть полностью поднялась. Я нашёл похожую тему на форумах, но ответа так и не нашёл. Может, это известный баг, о котором я не знаю.

    Версия Proxmox: 8.4.1 (Latest)
     
     
     
    cheiss
    Guest
    #2
    0
    19.04.2025 11:37:00
    Привет, это, если честно, не сильно связано с Proxmox VE как таковым, а скорее относится к обычной администрированию Debian/systemd. В любом случае, вам, вероятно, тоже понадобится Wants=network-online.target.  `After=` — это директива только для упорядочивания, она не подразумевает зависимостей от других сервисов. Я бы посоветовал почитать https://systemd.io/NETWORK_ONLINE/, особенно параграф «Как убедиться, что мой сервис запустится только после того, как сеть действительно заработает?».
     
     
     
    Ironhide526
    Guest
    #3
    0
    19.04.2025 19:19:00
    Привет, спасибо за совет. Но я уже пробовал это. Я добавил: Wants=network-online.target в конфигурацию nvmf-autoconnect.service. Я также включил systemd-networkd-wait-online.service, но этот сервис падает при загрузке с сообщением: "Timeout occurred while waiting for network connectivity." Я изменил ExecStart сервиса, чтобы он ждал конкретные интерфейсы: ExecStart=/lib/systemd/systemd-networkd-wait-online --interface=vmbr1:routable --interface=vmbr2:routable. Но он все равно падает при загрузке. Потом я убрал ":routable", и сервис начал успешно загружаться, но сетевое хранилище все равно не подключается автоматически.
     
     
     
    mmercier
    Guest
    #4
    0
    29.05.2025 16:45:00
    Ты нашёл какое-нибудь решение этой проблемы? Недавно подключил NVMeOF (TCP) хранилище к своему кластеру Proxmox, заметил, что оно перестаёт переподключаться после перезагрузки. Но как только хост запускается, я могу подключиться к устройству по SSH и выполнить команду `nvme connect-all`, и файловая система подключается.
     
     
     
    zatanas
    Guest
    #5
    0
    03.07.2025 21:08:00
    Привет всем! Я не автор оригинального поста, но смог решить похожую проблему. В моем случае, юни́т сервиса nvmf-autoconnect запускался при загрузке до того, как сетевой интерфейс vmbr0, по которому проходят мои NVMe/TCP соединения/фабрика, фактически был готов. Это означает, что мой NVMe/TCP target на 192.168.0.100 был недоступен в момент, когда nvmf-autoconnect пытался восстановить NVMe/TCP соединения в процессе загрузки. Поскольку в конечном итоге мне нужно, чтобы nvmf-autoconnect.service запускался после того, как NVMe/TCP target стал доступен, вместо того чтобы изменять network-online.target или nvmf-autoconnect.service напрямую, я создал новый юни́т системного сервиса в /etc/systemd/system/my-new-unit.service как зависимость от nvmf-autoconnect.service, обеспечив, чтобы my-new-unit.service запускался до nvmf-autoconnect.service. Идею я почерпнул из ссылки, которую поделил cheiss. Вот детали my-new-unit.service:

    Bash:
    [Unit]
    DefaultDependencies=no
    After=nss-lookup.target
    Before=nvmf-autoconnect.service

    [Service]
    Type=oneshot
    RemainAfterExit=yes
    ExecStart=sh -c 'until ping -c 1 192.168.0.100; do sleep 1; done'

    [Install]
    WantedBy=nvmf-autoconnect.service

    Переменная/настройка Before=nvmf-autoconnect.service помогает гарантировать, что my-new-unit.service запускается до nvmf-autoconnect.service. Команда в ExecStart= создает цикл, который отправляет ping на указанный IP-адрес один раз в секунду и завершается после успешного ping. Переменная/настройка WantedBy=nvmf-autoconnect.service устанавливает my-new-unit.service как зависимость от nvmf-autoconnect.service. Заставляя nvmf-autoconnect.service ждать, пока целевой NVMe/TCP target станет доступен в сети, это гарантирует, что nvmf-autoconnect.service сможет восстановить NVMe/TCP соединения во время загрузки.

    Пожалуйста, обратите внимание: /etc/systemd/system/my-new-unit.service должен иметь права на выполнение, чтобы он мог запускаться при загрузке. После создания сервиса необходимо включить его с помощью systemctl enable my-new-unit.service, что создаст необходимые символические ссылки, которые требуются systemd для запуска сервиса при загрузке, а также отметит его как зависимость от nvmf-autoconnect.service. Надеюсь, это поможет кому-нибудь.
     
     
     
    Страницы: 1
    Читают тему
    +7 (495) 320-70-49
    info@proxmox.su

    Конфиденциальность Оферта
    © 2026 Proxmox.su
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры