跳转到主要内容

Barn 0.9.0 · Apache-2.0

你的本地实验室, Linux 与 macOS。

用一份 YAML 启动 Linux 集群,或为下一次构建准备一台干净的 macOS。 固定地址、SSH 访问、原生虚拟化,让开发与测试回到你自己的机器上。

Bootstrap And Run Nodes,为开发而生的开源虚拟机工具。

了解 0.9.0 的新变化

选择你的环境

为日常开发准备虚拟机

支持 macOS 与 Linux 宿主

一份配置,一套 Linux 环境

测试 PostgreSQL 集群、复现问题,或试用新的发行版。 在一份 YAML 主机清单中定义最多 20 个节点,启动后即可通过固定 IP 和 SSH 访问, 同一份配置还可以交给 Pigsty 部署服务。

开始使用

Apple Silicon · macOS 27+

为下一次构建准备一台新 Mac

在独立的 macOS 环境中构建与测试。打开原生桌面,通过 SSH 执行命令, 与宿主共享文件夹和文本剪贴板。新虚拟机复用已安装的基础镜像, 各自保有独立的磁盘与身份。

开始使用

安装 → 启动 → 连接

启动第一台 Linux 虚拟机

按宿主操作系统选择安装命令,然后启动并连接。首次使用时,Barn 会创建一个 Ubuntu 24.04 单节点环境,并准备宿主依赖。涉及宿主变更时会显示操作内容, 在需要时请求管理员权限。

macOS
brew install pgsty/infra/barn

barn up
barn ssh
Linux
curl -fLO https://github.com/pgsty/barn/releases/download/v0.9.0/install.sh
BARN_VERSION=0.9.0 bash install.sh
export PATH="$HOME/.local/bin:$PATH"

barn up
barn ssh

macOS 使用 Homebrew;Linux 使用下载安装脚本。已有环境时,barn up 会继续该部署。 安装方式与系统要求 · macOS 虚拟机教程

让实验可以重复

配置清楚,操作可控

01

固定地址

Linux 节点使用配置中的 IP,宿主与其他节点可以直接连接数据库和服务。

02

一份配置

将虚拟机定义放进 Ansible 主机清单,用 Barn 创建机器,再用 Pigsty 部署服务。

03

可重复操作

重复 up 接续未完成的初始化,用 plan 查看差异,显式重建或删除虚拟机。

04

复用基础镜像

Linux 使用经过校验的 qcow2 镜像;macOS 从 Apple 恢复镜像安装基础系统,再克隆出独立的可写磁盘。

开始之前

需要什么样的宿主?

Linux 客机支持 macOS 和 Linux 宿主的 arm64、amd64 架构,通过 QEMU 使用 HVF 或 KVM。macOS 客机需要 Apple Silicon、macOS 27 或更高版本,以及 Barn Mac 原生组件。详见平台与限制。

必须搭配 Pigsty 吗?

不需要。Barn 可以独立用于 Linux 与 macOS 开发。如果要搭建 PostgreSQL 实验环境,可以把同一份 Linux 主机清单交给 Pigsty:Barn 准备机器与访问环境,Pigsty 安装服务。

修改主机清单后会发生什么?

对于 Linux 环境,plan 会展示变更,up 会添加新节点;已有虚拟机的定义变化需要显式 recreate。从配置中删除主机行会保留对应虚拟机,只有 destroy 才会删除它。

可以保留多台 macOS 虚拟机吗?

可以。为它们分别命名,再按需启动。Apple 允许每台 Mac 同时运行两台 macOS 虚拟机,这个限制也包含其他工具启动的机器。每台 Barn Mac 虚拟机都有独立网络与状态,与 Linux 实验环境分开管理。

为下一次实验,准备好环境。安装 Barn 0.9.0,选择客机,开始工作。