Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement zfsroot support #346

Closed
wants to merge 1 commit into from

Conversation

raharper
Copy link
Contributor

Curtin supports a ZFS on Root mode where users can configure their rootfs
as a ZFS filesystem. This is experimental and restricts use of ZFS only
to the rootfs volume. This patch adds 'zfsroot' to the supported filesystem
list and enforces the requirements of only one zfsroot and only mounted at
'/'. Add some code to blank out zfsroot if one is already selected.

This patch also adds a guided answer file for zfsroot. One small change
to the guided path allowing the answers to supply the filesystem value for
the rootfs.

Curtin supports a ZFS on Root mode where users can configure their rootfs
as a ZFS filesystem.  This is experimental and restricts use of ZFS only
to the rootfs volume.  This patch adds 'zfsroot' to the supported filesystem
list and enforces the requirements of only one zfsroot and only mounted at
'/'.  Add some code to blank out zfsroot if one is already selected.

This patch also adds a guided answer file for zfsroot.  One small change
to the guided path allowing the answers to supply the filesystem value for
the rootfs.
@mwhudson
Copy link
Collaborator

Interesting but do we want to do so something so special cased vs implementing proper ZFS support? I'm hoping (possibly optimistically) that doing it properly won't be incredibly hard after we add RAID support.

I agree with your comments about the way the fstype objects are handled being a bit awkward.

@raharper
Copy link
Contributor Author

I think I'd like to do things in stages. MAAS allows the 'zfsroot' as fstype and curtin already special cases this and converts that into the correct zpool, zfs types defined in the curtin storage config.

That's support is limited to creating vdevs into pools, but without any RAID poperties in ZFS, so no RAIDZ{2,3) and no mirroring.

So think the order of things can be:

  1. Simple zfsroot as a fstype
  2. Traditional raid
  3. ZFS non-raid pool using the 'zpool' and 'zfs' constructs, allowing zfs fs mounts other than root and more than single vdev pools.
  4. ZFS RAID types (this requires curtin changes)

@xnox
Copy link
Contributor

xnox commented May 30, 2018

having native simplistic zfsroot is nice; cause that's the hardest bit to install by hand. Adding zpools, zfs after that is relatively easy.

zfsroot is similar to e.g. partman-auto-lvm in d-i speak, and we do offer that as a one-click/one-tick option in both d-i & ubiquity installers, and it is popular. With "advanced" lvm setup rarely used, and often only tweaked post-install.

@xnox
Copy link
Contributor

xnox commented Jul 30, 2018

Hm, i think it would be nice to merge this. But there are conflicts now. And we do have RAID ui now, but it is for the linux md-raid only at the moment. Not sure how reusable that would be to do btrfs/zfs raid UI.

@mwhudson
Copy link
Collaborator

Closing ancient pull requests.

@mwhudson mwhudson closed this Apr 29, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants