LXD
如果宿主机没有 IPv6 子网但你希望给容器分配 IPv6 地址,请先查看 LXD 模块 自定义 分区中的 给宿主机附加免费的IPv6地址段,先给宿主机附加 IPv6 子网后再进行环境安装。
开设虚拟内存(SWAP)(非必须的可选项)
TIP
如果宿主机内存不足且硬盘空间充足,建议增加 swap 以降低 OOM 风险。
单位换算:输入 1024 产生 1G SWAP-虚拟内存,虚拟内存占用硬盘空间。
当实际内存不够用时将自动使用虚拟内存做内存使用,但随之带来IO高占用以及CPU性能占用。
虚拟内存大小可参考 该说明。
| 物理内存大小 | 推荐 SWAP 大小 |
|---|---|
| ≤ 2G | 内存的 2 倍 |
| 2G < 内存 ≤ 8G | 等于物理内存大小 |
| ≥ 8G | 约 8G 即可 |
| 需要休眠 (hibernation) | 至少等于物理内存大小 |
以上数值仅为推荐设置,实际数值请按照自身需求来,不要盲目照抄数值
国际
curl -L https://raw.githubusercontent.com/spiritLHLS/addswap/main/addswap.sh -o addswap.sh && chmod +x addswap.sh && bash addswap.sh国内
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/spiritLHLS/addswap/main/addswap.sh -o addswap.sh && chmod +x addswap.sh && bash addswap.shLXD主体安装
WARNING
如果是全新的服务器,务必保证apt update和apt install curl都无问题再执行本脚本。
- 环境要求:Ubuntu 18+(推荐),Debian 8+(更推荐Incus)
- 安装过程中会提示输入存储池创建路径以及大小,你所有要开的虚拟机或容器最终占用的空间是在存储池中
- 环境安装过程后需要重启服务器以加载一些默认配置
- 默认启用lxd的lxcfs相关配置,使得容器内查询容器信息变更为容器本身的信息而不是宿主机信息
- 实测本安装程序在物理机器或非物理机器上都可使用
- 如需无交互安装,统一使用
export noninteractive=true指定无交互模式,脚本会按默认策略处理可选项
国际
curl -L https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/lxdinstall.sh -o lxdinstall.sh && chmod +x lxdinstall.sh && bash lxdinstall.sh国内
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/lxdinstall.sh -o lxdinstall.sh && chmod +x lxdinstall.sh && bash lxdinstall.sh或
bash lxdinstall.sh已下载脚本后的无交互安装示例:
export noninteractive=true && bash lxdinstall.sh初始化配置的例子:
如果不需要指定非系统盘的路径做默认存储池,那么选择是否自定义存储池路径时直接回车或输入n即可,不需要指定路径。
如果需要指定非系统盘的路径做默认的存储池,那么需要选择y,然后输入对应的路径(你挂载的盘的实际的绝对路径)。
如果对应的盘除去已占用空间还有18G硬盘空余,想要开设15G的存储池,按照命令行的提示则输入15。
WARNING
如果你需要在一台服务器上开启超过200个LXD容器,那么不推荐你使用本项目,可能会出现lxcfs访问漂移的问题,产生IO占用无法释放。(系lxc原生问题无法修复)
安装WEB控制面板
自定义 教程中有关于官方面板怎么启用的教程,但这里不选择使用官方的面板,因为官方面板为了安全性,牺牲了很多用户体验,这块使用
https://github.com/turtle0x1/LxdMosaic
的第三方面板
sudo snap install lxdmosaic直接进行一键安装,然后打开当前宿主机的https://<公网IP地址>/,强制访问,就能进入设置页面



这块如果你需要设置网站名字可以改改

该面板可满足基础管理需求,但不提供完整的 RBAC 子用户隔离能力。
手动安装(备选)
不推荐常规使用,仅用于一键脚本无法运行的环境,或用于学习最基础的 LXD 安装流程。
关闭防火墙
apt update
apt install curl wget sudo dos2unix ufw jq -y
ufw disable2
3
开设虚拟内存SWAP
内存看你开多少服务器,这里如果要开8个,换算需要2G内存,实际内存如果是512MB内存,还需要开1.5G,保守点开2G虚拟内存即可
执行下面命令,输入1,再输入2048,代表开2G虚拟内存
国际
curl -L https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/swap.sh -o swap.sh && chmod +x swap.sh && bash swap.sh国内
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/swap.sh -o swap.sh && chmod +x swap.sh && bash swap.sh安装LXD
执行下述命令进行安装和初始化
apt install snapd -y
snap install lxd
/snap/bin/lxd init2
3
如果上面的命令中出现下面的错误
(snap "lxd" assumes unsupported features: snapd2.39 (try to update snapd and refresh the core snap))
使用命令修补后再进行lxd的安装
snap install core如果无异常,上面三行命令执行结果如下

一般的选项回车默认即可
选择配置物理盘大小(提示默认最小1GB那个选项),一般我填空闲磁盘大小减去内存大小后乘以0.95并向下取整,这里我填了10GB
提示带auto的更新image的选项记得选no,避免更新占用系统
测试lxc有没有软连接上
lxc -h如果报错则执行以下命令软连接lxc命令
! lxc -h >/dev/null 2>&1 && echo 'alias lxc="/snap/bin/lxc"' >> /root/.bashrc && source /root/.bashrc
export PATH=$PATH:/snap/bin2
连接后再测试lxc命令是否有报错找不到
