| Summary: | pve-container 6.0.18: контейнеры с bind mount на NFS не запускаются | ||
|---|---|---|---|
| Product: | Sisyphus | Reporter: | Vitaly Lipatov <lav> |
| Component: | pve-container | Assignee: | Alexey Shabalin <shaba> |
| Status: | NEW --- | QA Contact: | qa-sisyphus |
| Severity: | normal | ||
| Priority: | P5 | CC: | andy, shaba, shrek |
| Version: | unstable | ||
| Hardware: | x86_64 | ||
| OS: | Linux | ||
После обновления pve-container с 6.0.9 до 6.0.18-alt2 контейнеры LXC с bind mount на NFS-шары перестали запускаться: lxc-pve-prestart-hook: failed to propagate uid and gid to mountpoint: Operation not permitted lxc_init: 845 Failed to run lxc.hook.pre-start for container Проблема затрагивает привилегированные контейнеры (без id mapping), у которых точки монтирования (mp0, mp1, ...) указывают на NFS-шары с root_squash. Воспроизведение: 1. Настроить NFS-шару с root_squash (по умолчанию) 2. Создать привилегированный LXC-контейнер с bind mount на эту шару: mp0: /var/ftp/pub,mp=/var/ftp/pub 3. pct start <vmid> — ошибка В версии 6.0.18 функция mountpoint_insert_staged() в /usr/share/perl5/PVE/LXC.pm вызывает fchownat и fchmodat на точке монтирования: PVE::Tools::fchownat(fileno($mount_fd), '', $uid, $gid, PVE::Tools::AT_EMPTY_PATH) or die "failed to propagate uid and gid to mountpoint: $!\n"; PVE::Tools::fchmodat(fileno($mount_fd), '.', $mode, 0) or die "failed to propagate access mode to mountpoint: $!\n"; В версии 6.0.9 этого кода не было, контейнеры запускались нормально. После изменение die на warn контейнеры запускаются. Обсуждение в апстриме: https://forum.proxmox.com/threads/proxmox-9-1-5-breaks-lxc-mount-points.180161/ https://forum.proxmox.com/threads/mountpoints-for-lxc-containers-broken-after-update.180267/