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

    Форумы: Proxmox Виртуальная Среда, Proxmox Backup Server, Proxmox Mail Gateway, Proxmox Datacenter Manager
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    Связывающее монтирование не включает файлы в вложенных датасетах ZFS, Proxmox Виртуальная Среда
     
    caius
    Guest
    #1
    0
    26.09.2018 09:28:00
    У меня есть zpool с вложенными наборами данных:
    Code: root@pve1:~# zfs list
    NAME                       USED  AVAIL  REFER  MOUNTPOINT
    vault                     1.50T  2.01T  1.50T  /vault
    vault/files               52.8M  2.01T    96K  /vault/files
    vault/files/apt-cache     52.6M  2.01T  52.6M  /vault/files/apt-cache
    vault/files/webcerts       124K  2.01T   124K  /vault/files/webcerts

    Они корректно смонтированы на хосте (обратите внимание на test.file):
    Code: root@pve1:~# ls -l /vault/files
    total 10
    drwxr-xr-x 6 150001 150001 6 Sep 26 01:59 apt-cache
    -rw-r--r-- 1 150001 150001 0 Sep 26 02:11 test.file
    drwxr-xr-x 4 150001 150001 4 Sep 26 01:59 webcerts

    И обратите внимание, что директории (вложенные наборы данных) также содержат данные:
    Code: root@pve1:~# ls -l /vault/files/webcerts
    total 1
    drwx------ 3 150001 150001 3 Sep 26 01:59 archive
    drwx------ 3 150001 150001 3 Sep 26 01:59 live

    Верхний пул смонтирован в контейнер:
    Code: root@pve1:~# cat /etc/pve/lxc/104.conf
    arch: amd64
    cores: 1
    hostname: vault-server
    memory: 512
    mp0: /vault,mp=/srv/vault
    net0: name=eth0,bridge=vmbr4095,hwaddr=xx:xx:xx:xx:xx:xx,ip=dhcp,tag=33,type=veth
    net1: name=eth1,bridge=vmbr0192,hwaddr=xx:xx:xx:xx:xx:xx,ip=dhcp,type=veth
    onboot: 1
    ostype: debian
    rootfs: scram1:subvol-104-disk-0,size=2G
    swap: 512
    lxc.apparmor.profile: lxc-container-default-with-nfsd

    Но когда я вхожу в контейнер, содержимое самых вложенных наборов данных не смонтировано:
    Code: root@pve1:~# pct enter 104

    root@vault-server:/# ls -l /srv/vault/files/
    total 2
    drwxr-xr-x 2 150001 150001 2 Sep 26 05:57 apt-cache
    -rw-r--r-- 1 150001 150001 0 Sep 26 06:11 test.file
    drwxr-xr-x 2 150001 150001 2 Sep 26 05:57 webcerts

    root@vault-server:/# ls -l /srv/vault/files/webcerts
    total 0

    root@vault-server:/# ls -l /srv/vault/files/apt-cache
    total 0

    Содержимое самых глубоких наборов данных отсутствует в контейнере. Я пробовал размонтировать и смонтировать zpool, уничтожать и пересоздавать наборы данных, перезапускать контейнер без монтирования и проверять, чтобы в директории /srv ничего не было. Есть предложения?
     
     
     
    grepler
    Guest
    #2
    0
    24.04.2020 17:11:00
    @caius, я знаю, что воскрешаю эту тему, но постоянно натыкаюсь на этот тред, когда исследую такие же случаи использования, и, поскольку я это выяснил, подумал, что другим это может помочь. Мне удалось сделать это с помощью 9p монтирования в виртуальной машине. Всё ещё тестирую производительность, но это здорово, и процесс монтирования/размонтирования проходит в виртуалку довольно беззаботно. Поскольку я бывает ленив, просто размещу свои внутренние заметки ниже:

    Шаги развертывания

    Сначала создайте виртуальную машину:

    Создать виртуальную машину и 9P монтирование

    Создал виртуальную машину в Proxmox. Создайте через интерфейс Proxmox. Создайте 9P QEMU монтирование. Передайте внешний ZFS набор данных с хоста в виртуальную машину, используя 9P монтирование: как монтировать папку в KVM машине с Linux: добавьте в .conf файл qemu:

    ИЗ: https://forum.proxmox.com/threads/virtfs-virtio-9p-plans-to-incorporate.35315/

    заметка: /local-hdd/matters/ — это место, где папка находится на хосте, а /mnt/matters — это место, где папка появляется внутри виртуалки. добавьте эту изменённую строку в /etc/pve/qemu-server/xxx.conf

    аргументы: -fsdev local,security_model=passthrough,id=fsdev0,path=/local-hdd/matters/ -device virtio-9p-pci,id=fs0,fsdev=fsdev0,mount_tag=9pshare,bus=pci.0,addr=0x4

    Внутри виртуалки в /etc/fstab 9pshare /mnt/matters 9p trans=virtio,version=9p2000.L,nobootwait,rw,_netdev 0 0

    Добавьте в /etc/fstab 9pshare /mnt/matters 9p trans=virtio,version=9p2000.L,nobootwait,rw,_netdev 0 0

    При запуске виртуалки у вас может возникнуть ошибка. Просто измените адрес bus=pci.0,addr=0x4. Если скорость монтирования низкая, проверьте следующее: добавьте к fstab аргументы msize=262144,posixacl,cache=loose
     
     
     
    grepler
    Guest
    #3
    0
    24.04.2020 17:16:00
    Я использовал ISO-образ TKL File Server для создания виртуальной машины, и она работает прекрасно. Хост может управлять снапшотами, монтировать zfs, выполнять репликацию и так далее, в то время как непривилегированная виртуальная машина может быть подключена к изолированным VLAN для безопасного обмена файлами и присоединена к домену без вмешательства в гипервизор. Похоже, что права доступа передаются через флаг passthrough, так что все очень гладко. Только что заставил это работать, так что, скорее всего, сообщу о результатах, как только немного поработаю с ним, но так как я занимался этим некоторое время, я немного в восторге от того, что все получилось так, как я и планировал изначально.
     
     
     
    ricardo_montalban
    Guest
    #4
    0
    19.07.2020 05:20:00
    9p классный, но когда я пробовал использовать его через Samba на Mac, не смог получить доступ к общим папкам. Пока что подход с rbind в lxc вроде как работает для меня. Спасибо!
     
     
     
    grepler
    Guest
    #5
    0
    06.04.2021 18:39:00
    Обновление: Я заменил свои VMs файлового сервера на контейнеры, которые в общем-то намного лучше справляются с монтированием вложенных наборов данных. производительность монтирования VM<->9P не соответствовала моим требованиям, к сожалению. Руководство, на которое сослался Рикардо, сработало отлично. Вот конфигурация LXC, которую я использовал: Code: arch: amd64 cores: 2 features: mount=nfs,nesting=1 hostname: <REDACTED> memory: 4096 mp0: local-vmdata:subvol-123-disk-1,mp=/storage/nvme,size=3000G net0: name=eth0,bridge=vmbr1,firewall=1,gw=<REDACTED>,hwaddr=<REDACTED>,ip=<REDACTED>,tag=100,type=veth onboot: 1 ostype: ubuntu protection: 1 rootfs: local-vmdata:subvol-123-disk-0,size=50G snaptime: 1610639375 swap: 1024 lxc.mount.entry: /matters/ storage/matters none rbind,create=dir,optional 0 0 lxc.mount.entry: /local-hdd-backup/backup/Tools/ storage/tools none rbind,create=dir,optional 0 0 Волшебство в строках lxc.mount.entry. Обратите внимание, что в наборе данных 'storage/matters' имеется *много* вложенных наборов данных, и это хорошо передает их в контейнер. Думаю, у меня это сработало для непривилегированного контейнера, но поскольку я использую NFS сервер здесь, мне пришлось использовать привилегированный контейнер. @quadcube, возможно, тебе стоит это проверить, если ты исследовал монтирование 9P.
     
     
     
    stuckj
    Guest
    #6
    0
    23.02.2022 21:10:00
    Я могу подтвердить, что это также работает на контейнерах без привилегий. Вам нужно будет сопоставить идентификаторы так же, как это необходимо делать для монтирования, используя синтаксис mp# от proxmox. Например, Код: lxc.idmap: u 0 100000 65535 lxc.idmap: g 0 100000 65535 Смотрите справочные страницы lxc здесь: https://linuxcontainers.org/lxc/manpages/man5/lxc.container.conf.5.html для получения дополнительной информации о lxc.idmap. Или ищите на форумах proxmox... там есть несколько тем, касающихся использования lxc.idmap.
     
     
     
    Страницы: 1
    Читают тему
    +7 (495) 320-70-49
    info@proxmox.su

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