ubuntu-zfs-mirror-install

Automate Ubuntu Server installation onto a 2-disk ZFS mirror root with striped data pool.

3|1|Updated Mar 31, 2026
One-click install
npx skills add https://github.com/soulmachine/skills --skill ubuntu-zfs-mirror-install
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ubuntu-zfs-mirror-install
Source: https://github.com/soulmachine/skills/tree/main/ubuntu-zfs-mirror-install
Command: npx skills add https://github.com/soulmachine/skills --skill ubuntu-zfs-mirror-install

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires debootstrap, zfsbootmenu, zfs-initramfs, zfsutils-linux, dosfstools, efibootmgr, curl, ca-certificates, openssh-server, netplan.io, systemd-resolved, sudo, nvme-cli, iproute2, iputils-ping, nano, less, and includes scripts (resource) and references (resource) components.

What problem does it solve?

This Skill automates the installation of Ubuntu Server on a ZFS mirror root filesystem and striped data pool, making the setup of UEFI x86 servers on ZFS simple and robust.

Core Features & Use Cases

  • ZFS Mirror Installation: Supports the installation on a ZFS mirror layout for high availability and redundancy.
  • Striped Data Pool: Provides a striped data pool for performance on storage configurations with multiple disks.
  • Fallback to Ext4: Offers a fallback to a plain ext4 install for cases with non-matching or unequal disk sizes.
  • Use Case: Use this Skill when deploying a UEFI-based Ubuntu Server on x86 hardware, especially where high performance and data protection are crucial.

Quick Start

To install Ubuntu Server with ZFS on your target system, execute the command:

DISK1=<by-id> DISK2=<by-id> RPOOL_SIZE=+1T ADMIN_USER=developer INSTALL_PASSWORD='...' \
  SSH_AUTHORIZED_KEY='...' HOSTNAME=ubuntu sudo -E bash scripts/install.sh

Frequently Asked Questions about ubuntu-zfs-mirror-install

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I automate Ubuntu Server installation on a ZFS mirror root pool?

To automate Ubuntu Server installation on a ZFS mirror root pool, execute the provided `install.sh` script with environment variables specifying disk by-id names, pool size, admin user, and SSH keys. It uses debootstrap and ZFSBootMenu to fully provision the UEFI system.

What happens if I do not have two equal-size disks for a ZFS mirror installation?

If two equal-size disks are unavailable for a ZFS mirror installation, the script automatically falls back to a plain single-disk ext4 installation. This ensures the Ubuntu Server deployment completes successfully even without matching hardware.

Can I use ZFSBootMenu with debootstrap to set up a striped data pool on Ubuntu?

Yes, you can use ZFSBootMenu with debootstrap to set up a striped data pool on Ubuntu. This Skill configures both a 2-disk ZFS mirror root filesystem and a striped data pool to optimize storage performance and redundancy.

Does this ZFS Ubuntu installation method support UEFI x86 servers?

Yes, this ZFS Ubuntu installation method fully supports UEFI x86 servers. It leverages tools like dosfstools and efibootmgr to properly configure the EFI boot partition and manage bootloader settings for UEFI systems.

What do I need to configure before running the Ubuntu ZFS mirror install script?

Before running the Ubuntu ZFS mirror install script, you need to identify target disks by their by-id names and set environment variables like `RPOOL_SIZE`, `ADMIN_USER`, `INSTALL_PASSWORD`, and `SSH_AUTHORIZED_KEY` to properly configure the new server.

Why choose a ZFS mirror over a standard ext4 filesystem for Ubuntu Server?

Choose a ZFS mirror over standard ext4 for high availability and data redundancy. This approach provides robust data protection and advanced storage management features, falling back to ext4 only when matching disks are unavailable.