准备与工具
5 分钟阅读
生成清单、准备宿主、校验配置,以及查看版本和生成补全脚本。
本参考对应 Barn 1.2.0;选项表区分 1.1.0 已有选项 与 1.2.0 新增选项,具体范围见版本基线。所有命令继承全局选项。
barn setup
准备宿主软件包、固定 IP 网络、镜像与所选清单,然后运行 barn up 创建 Linux VM。meta、dual、trio、full 模板分别包含 1、2、3、4 个节点;未指定模板或 -f 时复用发现的清单,没有清单才生成 meta。-c 与规格选项用于生成模板,显式规格选项不能用来改写已有清单;1.2.0 复用清单时也忽略规格环境变量。
--dry-run 预览整个事务。执行需要终端确认或 --yes,系统提权仍可能询问密码。新生成且未经编辑的默认模板遇到子网冲突时,setup 可以选择空闲私有 /24,并将原模板备份为 barn.yml.before-network-change;显式清单保留原子网。Linux 宿主运行异架构客机时,需要另外安装目标 QEMU 模拟器与固件。
别名:s。
| 选项 | 含义 / 默认值 | 可用版本 |
|---|---|---|
-A, --arch string |
客机架构:native、amd64、arm64;也接受 x86_64、x64、aarch64、a64 |
1.1.0 |
-c, --cidr string |
规范的 RFC1918 IPv4 /24 子网;模板与网络安装默认 10.10.10.0/24 |
1.1.0 |
-C, --cpu string |
缩放前的基础 vCPU 数,整数 1–256;最终 CPU 数也不能超过 256 | 1.2.0 |
-D, --disk string |
根盘绝对容量,裸整数单位为 GiB,例如 128GiB;至少达到基础镜像虚拟容量 |
1.2.0 |
-d, --dry-run |
仅预览计划,不修改状态 | 1.1.0 |
-f, --file string |
要准备的清单;不能与模板位置参数同时使用 | 1.1.0 |
-I, --image string |
镜像引用,如 u24、el9:stable 或 d13@20261103;覆盖所选节点的 vm_image/vm_version |
1.1.0 |
-M, --mem string |
缩放前的基础内存,裸整数单位为 MiB,例如 4GiB;至少 512 MiB |
1.2.0 |
--mirror |
使用中国官方源 https://repo.pigsty.cc/barn;显式 --repo 优先 |
1.1.0 |
-m, --mode string |
macOS 的 socket_vmnet 模式:host(默认)或 shared |
1.1.0 |
-r, --repo string |
镜像仓库 URL 或本地目录,优先于 BARN_REPO;支持 --mirror 的命令中也优先于该选项 |
1.1.0 |
-S, --scale string |
CPU 与内存的整数倍率,1–256;磁盘容量不缩放 | 1.2.0 |
-y, --yes |
确认并执行显示的计划;系统 sudo 仍可能要求密码 |
1.1.0 |
barn init
生成兼容 Pigsty 的 YAML 清单,默认在 ./barn.yml 写入单节点 meta 模板,控制节点地址为 .10;dual、trio、full 依次增加 .11、.12、.13 节点。覆盖已有文件必须加 --force,-o - 将清单输出到 stdout。本命令不下载镜像或准备宿主。
稳定版 1.1.0 每节点默认 2 vCPU、4 GiB,1.2.0 为 1 vCPU、2 GiB;两者均默认 64 GiB 根盘和独立的 128 GiB /data 盘。1.2.0 模板保存六项规格字段,包括 vm_scale。详见规格默认值。
| 选项 | 含义 / 默认值 | 可用版本 |
|---|---|---|
-A, --arch string |
客机架构:native、amd64、arm64;也接受 x86_64、x64、aarch64、a64 |
1.1.0 |
-c, --cidr string |
规范的 RFC1918 IPv4 /24 子网;模板与网络安装默认 10.10.10.0/24 |
1.1.0 |
-C, --cpu string |
缩放前的基础 vCPU 数,整数 1–256;最终 CPU 数也不能超过 256 | 1.2.0 |
-D, --disk string |
根盘绝对容量,裸整数单位为 GiB,例如 128GiB;至少达到基础镜像虚拟容量 |
1.2.0 |
--force |
覆盖目标清单文件;默认保留已有文件 | 1.1.0 |
-I, --image string |
镜像引用,如 u24、el9:stable 或 d13@20261103;覆盖所选节点的 vm_image/vm_version |
1.1.0 |
-M, --mem string |
缩放前的基础内存,裸整数单位为 MiB,例如 4GiB;至少 512 MiB |
1.2.0 |
-o, --output string |
目标文件,默认 ./barn.yml;- 表示输出到 stdout |
1.1.0 |
-S, --scale string |
CPU 与内存的整数倍率,1–256;磁盘容量不缩放 | 1.2.0 |
barn validate
读取清单并校验 Barn 使用的字段,输出解析后的节点;不接受节点位置参数。未指定 -f 时依次在当前目录寻找 barn.yml、barn.yaml、pigsty.yml、pigsty.yaml;找不到清单就报错,即使存在已应用状态也不回退。覆盖参数仅对本次校验生效,--json 可查看解析后的规格,与现有部署比较则用 plan。
别名:v。
| 选项 | 含义 / 默认值 | 可用版本 |
|---|---|---|
-A, --arch string |
客机架构:native、amd64、arm64;也接受 x86_64、x64、aarch64、a64 |
1.1.0 |
-C, --cpu string |
缩放前的基础 vCPU 数,整数 1–256;最终 CPU 数也不能超过 256 | 1.2.0 |
-D, --disk string |
根盘绝对容量,裸整数单位为 GiB,例如 128GiB;至少达到基础镜像虚拟容量 |
1.2.0 |
-f, --file string |
要校验的清单;省略时在当前目录发现,不回退到已应用状态 | 1.1.0 |
-I, --image string |
镜像引用,如 u24、el9:stable 或 d13@20261103;覆盖所选节点的 vm_image/vm_version |
1.1.0 |
-M, --mem string |
缩放前的基础内存,裸整数单位为 MiB,例如 4GiB;至少 512 MiB |
1.2.0 |
-r, --repo string |
镜像仓库 URL 或本地目录,优先于 BARN_REPO;支持 --mirror 的命令中也优先于该选项 |
1.1.0 |
-S, --scale string |
CPU 与内存的整数倍率,1–256;磁盘容量不缩放 | 1.2.0 |
barn doctor
检查 QEMU、原生加速、固件、OpenSSH、短暂的加速启动测试和宿主网络;不接受清单或节点参数。缺少计算能力时命令失败,尚未准备网络则作为提示报告。网络细节用 barn network status 检查,原生 macOS VM 用 barn mac doctor。
别名:dt。
除 --help 外没有局部选项,仍可使用全局输出选项。
barn version
输出版本、源码提交、构建时间、宿主操作系统与架构。1.2.0 通常显示 dev,正式版本标识来自构建时写入的信息。核对文档或提交问题时保留这份输出,也可用根命令的 barn --version。
别名:ver。
除 --help 外没有局部选项,仍可使用全局输出选项。
barn completion
必须指定 bash、zsh、fish 或 powershell 中的一种 shell,将补全脚本输出到 stdout;命令本身不安装脚本。补全涵盖各命令的选项、模板、镜像别名与可读取的节点名,升级 Barn 后应重新加载。加载 shell 代码时使用文本输出。
除 --help 外没有局部选项,仍可使用全局输出选项。
实现依据
command_setup.go · command_misc.go · command_root.go
发布源码与相对 1.1.0 的变化见版本基线。