在 Proxmox 中为 Nextcloud 绑定安装外部驱动器

在 Proxmox 中为 Nextcloud 绑定安装外部驱动器

我有一个带有 Nextcloud 的 Proxmox LXC 容器。Nextcloud 中的默认数据目录要求所有者是www-数据默认的 uid 和 gid 为33我正在使用以下

普罗克斯莫克斯

挂载点:/mnt/sdc

驱动器路径:/dev/mapper/sdc

用户名: 33

性别: 男

文件系统:ZFS

驱动器 FS:LUKS/exfat

Nextcloud LXC

数据目录:/mnt/myuser/files

容器编号:102

我修改了 Proxmox 中创建用户直通所需的 3 个文件

/etc/pve/lxc/102.conf

underprivlaged: 1
lxc.idmap: u 0 100000 33
lxc.idmap: g 0 100000 33
lxc.idmap: u 33 33 1
lxc.idmap: g 33 33 1
lxc.idmap: u 34 100034 65502
lxc.idmap: g 34 100034 65502
lxc.cgroup.devices.allow = b 8:32 rwm
lxc.mount.entry = /dev/mapper/sdc /mnt/sdc none bind,create=file,uid=33,gid=33 0 0
mp0: /mnt/sdc,mp=/mnt/myuser/files

/etc/subuid

root:100000:65536
root:33:1

/etc/subgid

root:100000:65536
root:33:1

Proxmox 命令(chown 外部存储的挂载点)

chown -R 100033:100033 /mnt/sdc

挂载 /dev/mapper/sdc /mnt/sdc

请记住,我在 Nextcloud LXC 容器中创建 www-data 用户之前完成了所有这些操作。在前端 Web 界面中创建 Nextcloud 用户并永久删除 Nextcloud 数据目录中的默认文件后,我才在 LXC 配置中添加了最后 3 个绑定挂载条目。在添加挂载之前,我确保它是空的。

我正在使用 ZFS 文件系统。我正在尝试创建到 LXC 容器的直通。正如我在上一个帖子中提到的,我正在使用 Nextcloud,所以我也需要创建用户直通。我让用户 ID 映射直通在挂载的目录上正常工作。一切都归www-数据:www-数据按预期操作。Proxmox /mnt/sdc 上的挂载点在更改相应 ID (33:33) 时也会调整名称 www-data。但是,当我挂载驱动器时,Nextcloud 会停止上传文件,我想我知道原因了。我无法写入驱动器。我注意到这是因为每当我在 proxmox 中挂载驱动器时,Proxmox 挂载目录所有权都会更改回根:根再次强调,我使用的是 ZFS,因此我运行了以下命令来防止这种情况

umount /mnt/sdc;
zfs create -o mountpoint=/mnt/sdc /rpool/sdc;
zfs mount rpool/sdc;
chown 33:33 /mnt/sdc;
mount /dev/mapper/sdc /mnt/sdc;

没什么区别。如何确保我挂载的驱动器尊重虚拟机管理程序和直通上的 uid:gid ID 所有权?

相关内容