V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要把任何和邀请码有关的内容发到 NAS 节点。

邀请码相关的内容请使用 /go/in 节点。

如果没有发送到 /go/in,那么会被移动到 /go/pointless 同时账号会被降权。如果持续触发这样的移动,会导致账号被禁用。
kerb15
V2EX  ›  NAS

pve 使用 lxc 容器直通硬盘

  •  1
     
  •   kerb15 · 2023-02-05 20:09:26 +08:00 · 5279 次点击
    这是一个创建于 690 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近想用 pve 新建一个 lxc 容器,用 docker 跑私有云相册,需要读取 ntfs 格式的硬盘,通过 usb 硬盘盒连接,为了提高性能想让 lxc 容器直通硬盘,但网上只有 kvm 虚拟机的直通硬盘教程,也就是 qm set 指令,想问一下 lxc 是不是本身就不需要直通操作,因为宿主机是 pve 本身,pve 已经挂载了硬盘,所以理论上就是直通的,性能也是最大化的?

    17 条回复    2024-11-21 21:26:12 +08:00
    wccc
        1
    wccc  
       2023-02-05 20:25:25 +08:00
    kerb15
        2
    kerb15  
    OP
       2023-02-05 20:28:33 +08:00
    @wccc 言简意赅的回答,谢谢!
    kerb15
        3
    kerb15  
    OP
       2023-02-05 20:36:14 +08:00
    @wccc 多一个 docker 应用就多建一个 lxc 容器,还是一个 lxc 容器运行 n 个 docker 好呢
    des
        4
    des  
       2023-02-05 20:49:55 +08:00
    Nextcloud 吗?好像 Nextcloud 对 LXC 不好
    HarveyLiu
        5
    HarveyLiu  
       2023-02-05 20:50:20 +08:00 via Android   ❤️ 1
    lxc 理论上和 docker 属于同一个隔离度,只不过 lxc 驱动的是 cpu 里已经集成的指令集,而 docker 驱动的是寄主的操作系统。
    HarveyLiu
        6
    HarveyLiu  
       2023-02-05 20:52:12 +08:00 via Android
    我做过实验,如果你的应用极度依赖 cpu ,那么 lxc 物理上更直接一点,如果是 io 应用频繁的,那么两者相差不大,也只有 3%的误差区间。
    cm2gseh
        7
    cm2gseh  
       2023-02-05 20:53:00 +08:00 via Android
    @kerb15
    资源上没多大区别,要看业务需求,即这几个 docker 内容是否有关联,是否经常一起 up/down 。如果是,那么建议放一起,如果不是可以分开多个 lxc ,避免出问题时一起炸了。
    WinkeyLin
        8
    WinkeyLin  
       2023-02-05 20:56:42 +08:00 via Android   ❤️ 1
    不建议用 lxc 跑 docker ,嵌套虚拟化有性能问题
    单独起个 alpine 虚拟机吧
    FrankAdler
        9
    FrankAdler  
       2023-02-05 23:04:12 +08:00
    pct set 143 -mp0 /mnt/down,mp=/data 可以直接映射目录
    des
        10
    des  
       2023-02-06 02:10:32 +08:00 via iPhone   ❤️ 1
    lxc 什么时候变成虚拟化了?
    lxc 和 docker 都是基于内核 Cgroup 及 Namespace 能力开发啊
    ltkun
        11
    ltkun  
       2023-02-06 06:58:44 +08:00 via Android
    @WinkeyLin 用 lxc 可以在非特权容器下跑 docker 安全性更高 还有不建议用 alpine 跑 docker 没有 glibc 遇到有些应用会不兼容 发生内存泄漏 虽然概率很小 虽然我也用 alpine 来跑 docker
    sidkang
        12
    sidkang  
       2023-02-06 09:05:53 +08:00
    专门测试过 docker 在 lxc 下的性能,平常用的各种都没发现什么问题,很好使~~
    wccc
        13
    wccc  
       2023-02-06 10:14:38 +08:00
    虽然 我也在 lxc 下跑 docker 但是我不太建议.尽量单独一个 lxc. 普通使用还是没有太大的问题的
    ikidou
        14
    ikidou  
       2023-02-06 12:35:32 +08:00 via Android
    我也遇到了,必须要特权容器才可以读写硬盘目录,总感觉有些膈应
    ResidualBlood
        15
    ResidualBlood  
       2023-02-06 16:55:59 +08:00
    如果个人用的话
    直接 PVE 宿主跑 Docker
    joyanhui
        16
    joyanhui  
       2023-02-08 07:26:23 +08:00
    lxc 你可以叫他直通,也可以叫他挂载。无论 你怎么叫,他都是你说的`理论上就是直通的,性能也是最大化的`

    除了楼上说的 pct set 143 -mp0 /mnt/down,mp=/data

    还有 pct set XXXX -mpXXX /dev/sda1,mp=/data

    都可以直通硬盘进去。。。

    甚至 你可以 lxc 跑了 smb ,然后 pve 再反向挂回来。。。。

    你也可以一个硬盘 /目录 直通 /挂载 到多个 lxc


    当然,lxc 内部 smart 是用不了的。pve 自己可以搞定。
    devli
        17
    devli  
       35 天前 via iPhone
    @WinkeyLin 胡说八道
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3487 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 00:49 · PVG 08:49 · LAX 16:49 · JFK 19:49
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.