Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Оплата
Новости
Доставка
Загрузки
Форум
Настройка
    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 Виртуальная Среда
    Скрипт lxc.hook.pre-start для монтирования дисков на хосте.

    Форумы: Proxmox Виртуальная Среда, Proxmox Backup Server, Proxmox Mail Gateway, Proxmox Datacenter Manager
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    Скрипт lxc.hook.pre-start для монтирования дисков на хосте., Proxmox Виртуальная Среда
     
    Patrik Stenfeldt
    Guest
    #1
    0
    14.02.2019 14:37:00
    Я настроил контейнер со smbd для предоставления файлов в моей домашней сети. И у меня есть другой контейнер, которому нужен доступ к этим файлам. Хочу сделать так, чтобы смонтировать общую папку через cifs на хосте, а потом использовать её как точку монтирования в новом контейнере. Все отлично работает, когда запускаю все вручную. Теперь хочу, чтобы все запускалось автоматически. Раз контейнер стартует после хоста, его нельзя добавить в hosts fstab, поэтому придумал идею: когда контейнер2 запускается, просто добавить lxc.hook.pre-start для выполнения скрипта, который будет монтировать общую папку. Скрипт работает, когда запускаю его из консоли на хосте, и если я запускаю контейнер с хуком, согласно логам, скрипт выполняется. Но общая папка никогда не монтируется. Есть ли какие-то ограничения на то, что может делать lxc hook?
     
     
     
    emlynb
    Guest
    #2
    0
    24.01.2021 01:27:00
    У меня есть контейнер LXC, которому нужны ZFS-монтажи на нижнем уровне. Они находятся на зашифрованном пуле, поэтому я никак не мог найти способ смонтировать их в нужном месте. В общем, одна из вещей, которые я пытался сделать, — это использовать скрипт-хук для разблокировки ZFS-пула, но скрипт-хук не выполняется, потому что PVE пытается (и терпит неудачу) смонтировать ZFS-тома до запуска скрипта-хука. @proxmox — было бы неплохо, если бы у нас была фаза "перед монтированием" в скрипте-хуке, чтобы можно было это как-то реализовать.
     
     
     
    forted
    Guest
    #3
    0
    04.11.2024 09:11:00
    У меня та же проблема, никакой информации в интернете. `lxc.hook.pre-start: sh -c "mount -v -t nfs x.x.x.x:/volume2/X /mnt/X"` Если я выполняю команду на хосте отдельно, всё работает. Но не когда использую lxc.hook.pre-start. Отладка даёт немного информации: ``` DEBUG utils - ../src/lxc/utils.c:run_buffer:560 - Script exec /root/test.sh 105 lxc pre-start produced output: mount.nfs: mount(2): Protocol not supported ``` Так что вопрос в том, как мне запустить пользовательский скрипт для монтирования общей папки на хост до запуска контейнера? Не хочу использовать опцию /etc/fstab.
     
     
     
    leesteken
    Guest
    #4
    0
    04.11.2024 09:32:00
    Контейнеры Proxmox также поддерживают хукскрипты. Вам не обязательно писать их на Perl (как в примере); Bash-скрипт тоже подойдет.
     
     
     
    forted
    Guest
    #5
    0
    04.11.2024 11:36:00
    Спасибо, сработало, но это не централизовано. Было бы здорово, если бы я мог писать команду прямо в файл конфигурации, так как тогда я мог бы его сохранять и переносить везде. Вот скрипт, если кому-то еще понадобится: (ваш скрипт должен находиться в этой папке)
    nano /var/lib/vz/snippets/100.sh
    Bash:
    #!/bin/bash
    # Proxmox hook script for mounting NFS share

    # Arguments: <vmid> <phase>
    vmid=$1
    phase=$2

    case $phase in
     pre-start)
       echo "Mounting NFS share before starting container $vmid"
       mount -t nfs 123.456.789.10:/your/path /mnt/yourpath
       if [ $? -ne 0 ]; then
         echo "Failed to mount NFS share"
         exit 1
       fi
       ;;
     post-stop)
       echo "Unmounting NFS share after stopping container $vmid"
       umount /mnt/yourpath
       if [ $? -ne 0 ]; then
         echo "Failed to unmount NFS share"
         exit 1
       fi
       ;;
     *)
       echo "Invalid phase: $phase"
       exit 1
       ;;
    esac

    exit 0
    chmod +x /var/lib/vz/snippets/100.sh
    pct set 100 -hookscript local:snippets/100.sh
     
     
     
    hevisko
    Guest
    #6
    0
    28.06.2025 02:02:00
    У меня очень медленный запуск ZFS дисков, из-за чего контейнер не может стартовать, потому что ZFS ещё не "доступен", а хук-скрипты выполняются только ПОСЛЕ того, как pvesm не смог на хранилище ;( Поэтому я ищу скрипт, который будет запускаться и ждать, пока хранилище станет доступным, прежде чем пытаться смонтировать хранилище LXC, как, знаете, премоунт скрипт.
     
     
     
    Страницы: 1
    Читают тему
    +7 (495) 320-70-49
    info@proxmox.su

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