Re: F35 Change: Make btrfs the default file system for Fedora Cloud (System-Wide Change proposal)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, May 25, 2021 at 12:04 PM Ben Cotton <bcotton@xxxxxxxxxx> wrote:
>
> https://fedoraproject.org/wiki/Changes/FedoraCloudBtrfsByDefault
>
> == Summary ==
>
> For cloud installs of Fedora, we want to provide advanced file system
> features to users in a transparent fashion. Thus, we are changing the
> file system for the Cloud Edition to Btrfs so we can leverage its
> features and capabilities to improve the quality of experience for
> Cloud users.
>
> == Owners ==
>
> * Name: [[User:Davdunc|David Duncan]], [[User:Chrismurphy|Chris
> Murphy]], [[User:Josef|Josef Bacik]], [[User:Salimma|Michel Alexandre
> Salim]], [[User:Dcavalca|Davide Cavalca]], [[User:Ngompa|Neal Gompa]],
> [[User:Dustymabe|Dusty Mabe]], [[User:Malmond|Matthew Almond]]
> * Email: davdunc@xxxxxxxxxx, chrismurphy@xxxxxxxxxxxxxxxxx,
> josef@xxxxxxxxxxxxxx, michel@xxxxxxxxxxxxxxx, dcavalca@xxxxxx,
> ngompa13@xxxxxxxxx, dusty@xxxxxxxxxxxxx, malmond@xxxxxx
> * Products: Fedora Cloud Edition
> * Responsible WGs: Fedora Cloud WG
>
>
> == Detailed Description ==
>
> Fedora Cloud Edition will switch to using Btrfs for its images. The
> configuration for the Cloud Edition will match the setup used on the
> desktop variants, as this has been very well-tested with production
> deployments across multiple Fedora Linux releases now.
>
> This includes the same subvolume layout that is used on the desktop
> variants [[Changes/BtrfsByDefault|as introduced in Fedora Linux 33]],
> as well as transparent Zstd compression
> [[Changes/BtrfsTransparentCompression|as introduced in Fedora Linux
> 34]].
>
> == Feedback ==
>
> == Benefit to Fedora ==
>
> The benefits are similar to
> [[Changes/BtrfsByDefault#Benefit_to_Fedora|the ones for Fedora desktop
> variants]]; however, there are specific benefits for Fedora Cloud:
>
> * Adds support to Fedora Cloud for [[Changes/RPMCoW|the Change to
> introduce support for Copy-on-Write enhancements to improve
> performance to package management]]
> * Adds the ability to logically separate contents of the volume
> without dividing up the available space
> ** Transparent compression: significantly reduces write amplification
> and improves effective I/O throughput
> ** Reflinks and snapshots improve efficiency for use cases like
> containers (CRI-O, containerd, and Podman support both)
> * Storage devices can be flaky, resulting in data corruption; Btrfs
> can help mitigate this
> ** Everything is checksummed and verified on every read
> ** Corrupt data results in EIO (input/output error), instead of
> resulting in application confusion, and isn’t replicated into backups
> and archives
> * Improves system responsiveness under pressure
> ** Btrfs has been tested in production to have proper IO isolation
> capability via cgroups2
> ** Completes the resource control picture: memory, cpu, IO isolation
> * File system resize
> ** Online shrink and grow are cornerstones of the Btrfs design
> * Complex storage setups are… complicated
> ** Simple and comprehensive command interface. One master command
> ** Simpler to boot, all code is in the kernel, no initramfs complexities
> ** Simple and efficient file system replication, including incremental
> backups, with <code>btrfs send</code> and <code>btrfs receive</code>
>
> == Scope ==
>
> * Proposal owners:
> ** Submit PRs for Cloud Edition kickstarts to produce disk images using Btrfs.
> * Release engineering: [https://pagure.io/releng/issue/10129 #10129]
> * Policies and guidelines: N/A
> * Trademark approval: N/A
>
> == Upgrade/compatibility impact ==
>
> Change will not affect upgrades.
>
> == How To Test ==
>
> Once the change lands in Rawhide, spin up the images in AWS, GCP, and
> KVM/OpenStack to test to see systems boot and run.
>
> == User Experience ==
>
> * Mostly transparent.
> * Space savings and extend hardware life, via compression.
> * Utilities for used and free space are expected to behave the same.
> No special commands are required.
> * More detailed information can be revealed by <code>btrfs</code>
> specific commands.
> * <code>cp</code> command will create reflink copies
> [https://src.fedoraproject.org/rpms/coreutils/c/5d08d14b/ by default.]
>
> == Dependencies ==
>
> None.
>
> == Contingency Plan ==
>
> * Contingency mechanism: Owner will revert changes back to the
> previous ext4 configuration
> * Contingency deadline: Beta freeze
> * Blocks release? Yes
> * Blocks product? Cloud
>
> == Documentation ==
>
> Strictly speaking, no extra documentation is required reading for users.
>
> == Release Notes ==
>
> The default file system on the cloud is now Btrfs, following the
> desktop change in Fedora Linux 33. Fedora Server, IoT, and CoreOS are
> still specifically excluded.
>
>

Just for the formality, from a kernel standpoint, btrfs is treated
like it always has been.  The decision as to which default filesystem
any edition or spin chooses is entirely up to the SIG or spin
maintainer of that edition/spin.

Justin
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux