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

SUSE config: use Btrfs LZO compression for ResourceDisk #2055

Merged
merged 1 commit into from
Nov 4, 2020

Conversation

ddiss
Copy link
Contributor

@ddiss ddiss commented Oct 28, 2020

Btrfs provides support for transparent compression, which can be
requested at mount time via the compress=type[:level] mount option.

As demonstrated in [1], transparent LZO compression provides a good
trade-off between compression ratio and performance, while also being
supported by legacy SUSE kernels. zstd could be considered for
modern SLE15-SP1+ / openSUSE Leap 15.1+ kernels.

Amongst other benefits, moving from ext4 to Btrfs allows for ephemeral
ResourceDisk data to be periodically and incrementally backed-up to
regular Page Blob backed disks using btrfs send/recv.

  1. Btrfs compression benchmarks
    mainline kernel commit: 5c1aab1dd5445ed8bdcdbb575abc1b0d7ee5b2e7

Signed-off-by: David Disseldorp ddiss@suse.de

Description

Issue #


PR information

  • [x ] The title of the PR is clear and informative.
  • [x ] There are a small number of commits, each of which has an informative message. This means that previously merged commits do not appear in the history of the PR. For information on cleaning up the commits in your pull request, see this page.
  • [x ] Except for special cases involving multiple contributors, the PR is started from a fork of the main repository, not a branch.
  • If applicable, the PR references the bug/issue that it fixes in the description.
  • New Unit tests were added for the changes made and Travis.CI is passing.

Quality of Code and Contribution Guidelines

@ddiss
Copy link
Contributor Author

ddiss commented Oct 28, 2020

@rjschwei please review

rjschwei
rjschwei previously approved these changes Nov 2, 2020
@ddiss
Copy link
Contributor Author

ddiss commented Nov 2, 2020

Thanks a lot for the review, Robert.
Code owners: Please let me know if anything's needed from me to move this along.

@narrieta
Copy link
Member

narrieta commented Nov 2, 2020

@trstringer could you take a look? thanks!

@trstringer
Copy link
Contributor

Something to consider is that the SUSE images using cloud-init as the provisioning agent seem to be using ext4. Here's the resource disk of the suse:sles-15-sp2:gen1:latest image:

$ df -T /dev/sdb1
Filesystem     Type 1K-blocks  Used Available Use% Mounted on
/dev/sdb1      ext4   7157240 32248   6741712   1% /mnt

So users going from walinuxagent -> cloud-init would introduce a change from btrfs -> ext4 now with this PR. This is not necessarily a blocking issue for me, but let me know your thoughts on that change, @rjschwei.

@rjschwei
Copy link
Contributor

rjschwei commented Nov 3, 2020

@trstringer yes, we switched all images to use cloud-init per customer requests and downstream work for image build setup is required. This change is for those that pull the agent directly from GitHub or build custom images that use the agent package we (SUSE) provides and do not use cloud-init.

@trstringer
Copy link
Contributor

@rjschwei, ok that makes sense. So if you're fine with the different resource disk filesystems between waagent and cloud-init for SUSE images, that works for me.

trstringer
trstringer previously approved these changes Nov 3, 2020
@narrieta
Copy link
Member

narrieta commented Nov 3, 2020

running automation

@narrieta
Copy link
Member

narrieta commented Nov 3, 2020

Automation OK

narrieta
narrieta previously approved these changes Nov 3, 2020
kevinclark19a
kevinclark19a previously approved these changes Nov 3, 2020
@narrieta
Copy link
Member

narrieta commented Nov 3, 2020

@ddiss - could you bring your branch up to date with develop? thanks!

Btrfs provides support for transparent compression, which can be
requested at mount time via the compress=type[:level] mount option.

As demonstrated in [1], transparent LZO compression provides a good
trade-off between compression ratio and performance, while also being
supported by legacy SUSE kernels. zstd could be considered for
modern SLE15-SP1+ / openSUSE Leap 15.1+ kernels.

Amongst other benefits, moving from ext4 to Btrfs allows for ephemeral
ResourceDisk data to be periodically and incrementally backed-up to
regular Page Blob backed disks using btrfs send/recv.

1. Btrfs compression benchmarks
   mainline kernel commit: 5c1aab1dd5445ed8bdcdbb575abc1b0d7ee5b2e7

Signed-off-by: David Disseldorp <ddiss@suse.de>
@ddiss
Copy link
Contributor Author

ddiss commented Nov 4, 2020

@ddiss - could you bring your branch up to date with develop? thanks!

Done, thanks

@pgombar pgombar merged commit 7b26763 into Azure:develop Nov 4, 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.

6 participants