我对这些环境完全陌生,但我正在努力学习。我在单个 SSD 上安装了 proxmox,然后将一个 HDD (/dev/sdb) 连接到系统用于媒体存储。基本想法是为 Plex 应用程序创建一个容器,为 rtorrent 应用程序创建一个容器。我想在这些容器之间共享相同的空间(磁盘)。
在主机上,我将 /dev/sdb1 安装到 /mnt/mediastorage,并创建了一个名为“mediastorage”(110:117) 的用户,并添加对此空间的访问权限。我将这两个容器(/mnt/mediastorage)添加到 /mediastorage 挂载点。如下所示:
mp0: /mnt/mediastorage/,mp=/mediastorage
之后,我尝试向“plex”容器中的 plex(107:115) 用户授予对这些文件的访问权限:
lxc.idmap: u 0 100000 107
lxc.idmap: u 107 110 1
lxc.idmap: u 108 100125 64410
lxc.idmap: g 0 100000 115
lxc.idmap: g 115 117 1
lxc.idmap: g 116 100136 64399
在主机上我这样做了:
root@proxmox:~# cat /etc/subuid
root:100000:65536
root:110:1
root@proxmox:~# cat /etc/subgid
root:100000:65536
root:117:1
后来,我创建了另一个容器,其中创建了一个名为 rtorrent(107:115) 的用户,并进行了与“plex”容器相同的配置。
有一段时间,一切看起来都很好,但在重新启动(主机)后,发生了如下不全面的事情:上一个线程从哪里开始
注意到在“plex”容器中,/etc/passwd 文件中出现了一个新条目:
mediastorage:x:108:116:...etc
/etc/组:
mediastorage:x:116:
-这些之前不存在,并且容器处于关闭状态。
root@plex:/# ls -al /home
total 12
drwxr-xr-x 3 root root 4096 Jan 23 20:57 .
drwxr-xr-x 23 root root 4096 Jan 24 22:42 ..
drwxr-xr-x 2 nobody nogroup 4096 Jan 23 20:57 mediastorage
有人可以解释一下这里发生了什么吗?我怎样才能实现我的主要想法?(在容器之间共享存储)这样可以吗?
编辑1: 重新安装了容器,首先安装了/mediastorage,然后安装了plex,然后将uid映射添加到容器的配置中。(我在某处读到maxbe它将起作用)。现在存储可以工作,但由于权限问题,plex服务无法启动。从主机 -- lxc 容器的磁盘挂载为 /mnt/lxc102:
/mnt/lxc102/etc/passwd:
plex:x:107:115::/var/lib/plexmediaserver:/bin/bash
/mnt/lxc102/etc/group:
plex:x:115:
ls -al /mnt/lxc102:
drwxr-xr-x 2 100000 100000 4096 Jan 25 23:22 mediastorage
ls -al /mnt/lxc102/var/lib:
drwxr-xr-x 3 100107 100115 4096 Jan 25 23:25 plexmediaserver
在容器上,plexmediaserver 目录再次列为nobody:nogroup。
答案1
我遇到了同样的问题,我通过添加文件解决了它unprivileged: 0
(/etc/pve/lxc/???.conf
其中 ??? 是你的 lxc 容器的 ID)。