Fstrim, Lvm and Dmcrypt

Total Page:16

File Type:pdf, Size:1020Kb

Fstrim, Lvm and Dmcrypt Blog Projects About me Contact Tweet synaptic fault mind dumped How to properly activate TRIM for your SSD on Linux: fstrim, lvm and dm­crypt Language Posted on Saturday, 23rd February 2013 27 comments English Español Unlike hard disk drives (HDDs), NAND flash memory that make SSD cannot overwrite existing data. This means that you first have to delete the old data before writing new one. Flash memory is divided into blocks, which is further divided in pages. The minimum write unit is a page, but the smallest erase unit is a Tags block. apache Applet debian email fpga game Git GNOME hack hardware kernel linux meego networking packages performance power management procmail python RFKill Security ssd tor trim usb virtualization war webkit wireless Categories http://planet.igalia.com http://planet.webkit.org http://planet.webkitgtk.org http://planetsecurity.org Share it! Data can be written directly into an empty page, but only whole blocks can be erased. Therefore, to reclaim the space taken up by invalid data, all the valid data from one block must be first copied and written into the empty pages of a new block. Only then can the invalid data in the original block be erased, making it ready Recent Posts for new valid data to be written. WebKitGTK+ Performance Bot! Do you see the problem? This means that as time goes on, the SSD will internally fragment the blocks How to connect to .onion Tor domains with among the different pages, until that it reaches a point where there won’t be available any empty page. Firefox on Linux Then every time the drive needs to write a block into any of the semi­full pages, it first needs to copy the How to properly activate TRIM for your SSD on current blocks from the page to a buffer, then it has to delete the whole page to finally rewrite the old blocks along with the new one. This means that as time goes on the SSD performance degrades more and more, Linux: fstrim, lvm and dm­crypt because for every write it has to go through a cycle of read­erase­modify­write. This is known as “write Git: Copy a file or directory from another amplification”. repository preserving the history IKEA Hackers: LackRack Without TRIM the disk is unable to know which blocks are in use by a file or which ones are marked as free Unlocking a LUKS encrypted root partition space. This is because when a file is deleted, the only thing the OS does is to mark the blocks that were remotely via SSH used by the file as free inside the file system index. But the OS won’t tell the disk about this. This means OpenRISC: Making the stack 100% free that over time the performance of the SSD disk will degrade more and more, and it don’t matters how much Don’t eject your USB storage: stop it! space you free, because the SSD won’t know about it. RFKill Applet for GNOME What is TRIM? TRIM was invented for solving this problem. TRIM is the name of a command that the Auth External: the Swiss Army Knife of Apache operating system can send to tell the SSD which blocks are free in the filesystem. Auth The SSD uses this information to internally defragment the blocks and keep free pages available to be written quickly and efficiently. Tweets How to active TRIM on Linux? The first thing to know is that TRIM should be enabled on all I/O abstraction RT @News_Executive: Update: layers. This means that if you have an ext4 partition on top of LVM, which in turn is on top of an encrypted Spectacular Photo of the new eruption volume with LUKS/dm­crypt, then you must enable support for TRIM in these three layers: The filesystem, now of #VolcanCalbuco in #Chile LVM and dm­crypt. There is no point in enabling it at the filesystem level if you don’t enable it also on the http://t.co/JcXBQ9lybC other layers. The TRIM command should be translated from one layer to another until reaching the SSD. 1 month ago RT @aszy: Improving Compiler Optimizations Using Machine Learning http://t.co/jfVOO1kfSG 1 month ago Microsoft is going to celebrate the next Debian release!. Not a joke: http://t.co/1NO3dZCjaR @debian 1 month ago RT @r_netsec: Practical Attacks on DOCSIS [PDF] ­ http://t.co/jzYjnytQZa 1 month ago RT @GSICKMINDS: This year to the #gsickminds2015 we have adopted our friends @jsconf code of conduct http://t.co/52U2KdAngu 2 months ago 1. Enabling TRIM support on dm­crypt We simply have to add the option discard inside our crypttab $ cat /etc/crypttab # <target name> <source device> <key file> <options> sda2_crypt /dev/sda2 none luks,discard Note: The usage of TRIM on dm­crypt could cause some security issues like the revelation of which sectors of your disk are unused. 2. Enabling TRIM support on LVM We have to enable the option issue_discards in the LVM configuration. $ cat /etc/lvm/lvm.conf # [...] devices { # [...] issue_discards = 1 # [...] } # [...] 3. Enabling TRIM support on the file system This is the most interesting part. Most people simply add the option “discard” in the mounting options at /etc/fstab. However, this means that every time you delete a file, the OS will be reporting in real­time to the SSD which blocks were occupied by that file and are not longer in use, and then the SSD will have to perform a defragmentation and deletion of those internal blocks, operation which will take an amount of time higher than desired. In order to optimize the performance of the SSD, I strongly advise you to avoid doing the TRIM operation in real time (whenever a file is deleted) because you would be putting an unnecessary extra amount of work over the SSD. In other words: You should not enable the discard option in fstab. Instead, what I recommend is to run a script periodically to tell the SSD which blocks are free with the command fstrim. Doing this operation daily or weekly is more than enough. This way we do not lose any performance due to TRIM when deleting files and we periodically keep informed the SSD about the free blocks. Other advantages of the fstrim way are: If you didn’t enabled correctly the TRIM support in the above layers of your setup, you will receive an error when executing fstrim. On the other hand, if you were using the discard option at fstab you wouldn’t have received any error and you would end thinking that you managed to get TRIM working properly when you didn’t. If you delete a file by mistake (you know it happens), you can recover it before anacron runs your script fstrim. On the other hand, if you were using the discard­at­fstab option you wouldn’t have any chance of recovering the file, because the OS would have told the SSD to TRIM that blocks as soon as you deleted the file, and consequently the SSD has irreversibly destroyed such blocks. Here you have simple script to run fstrim on the /, /boot and /home partitions, which can be programmed to be executed periodically by anacron $ cat /etc/cron.weekly/dofstrim #! /bin/sh for mount in / /boot /home; do fstrim $mount done It’s worth mentioning that both fstrim and discard­at­fstab options only work on filesystems that implement the ioctl FITRIM. Today, such filesystems are: ~/kernel/linux (v3.8) $ grep ­lr FITRIM fs/ | cut ­d/ ­f2 | sort | uniq | xargs echo btrfs ext3 ext4 gfs2 jfs ocfs2 xfs Note: On most setups you will have to rebuild your initramfs with update­initramfs ­u (Debian and derivatives) or dracut ­f (Redhat and derivatives) and reboot the machine after touching the configuration options of LVM or dm­crypt. Update 25­Feb­2013: Seems that Fedora users with a dm­crypt volume will be affected by this problem: https://bugzilla.redhat.com/890533 Update 14­Aug­2014: The following script can be used to automatically detect and fstrim all filesystems that have TRIM support enabled. # To find which FS support trim, we check that DISC­MAX (discard max bytes) # is great than zero. Check discard_max_bytes documentation at # https://www.kernel.org/doc/Documentation/block/queue­sysfs.txt for fs in $(lsblk ­o MOUNTPOINT,DISC­MAX,FSTYPE | grep ­E '^/.* [1­9]+.* ' | awk '{print $1}'); do linux, ssd, trim ← Git: Copy a file or directory from another repository How to connect to .onion Tor domains with Firefox on preserving the history Linux → Leave a comment ? 27 Comments. charlie Friday, 12th April 2013 at 15:50 UTC Reply the default install with encryption sets /boot as ext2. and i guess that doesn’t support Trim. what will the ramifications be to leave /boot as ext2 and not be able to Trim? Reply clopez Friday, 12th April 2013 at 19:14 UTC /boot is usually a very small partition (<500MB usually). So I think is not a big deal to have this without trim support. If you are worried by this, you can change the default to use ext3 for /boot Reply Flaburgan Thursday, 31st October 2013 at 7:04 UTC What about the swap partition? Should I run fstrim on it too? charlie Friday, 12th April 2013 at 21:37 UTC Reply thank you! excellent blog you have! Exon Thursday, 9th May 2013 at 15:30 UTC Reply Thanks for your great information. I used to add discard in fstab before. When I switched to LVM, I needed to implement another way to set the Trim in my SSD.
Recommended publications
  • MLNX OFED Documentation Rev 5.0-2.1.8.0
    MLNX_OFED Documentation Rev 5.0-2.1.8.0 Exported on May/21/2020 06:13 AM https://docs.mellanox.com/x/JLV-AQ Notice This document is provided for information purposes only and shall not be regarded as a warranty of a certain functionality, condition, or quality of a product. NVIDIA Corporation (“NVIDIA”) makes no representations or warranties, expressed or implied, as to the accuracy or completeness of the information contained in this document and assumes no responsibility for any errors contained herein. NVIDIA shall have no liability for the consequences or use of such information or for any infringement of patents or other rights of third parties that may result from its use. This document is not a commitment to develop, release, or deliver any Material (defined below), code, or functionality. NVIDIA reserves the right to make corrections, modifications, enhancements, improvements, and any other changes to this document, at any time without notice. Customer should obtain the latest relevant information before placing orders and should verify that such information is current and complete. NVIDIA products are sold subject to the NVIDIA standard terms and conditions of sale supplied at the time of order acknowledgement, unless otherwise agreed in an individual sales agreement signed by authorized representatives of NVIDIA and customer (“Terms of Sale”). NVIDIA hereby expressly objects to applying any customer general terms and conditions with regards to the purchase of the NVIDIA product referenced in this document. No contractual obligations are formed either directly or indirectly by this document. NVIDIA products are not designed, authorized, or warranted to be suitable for use in medical, military, aircraft, space, or life support equipment, nor in applications where failure or malfunction of the NVIDIA product can reasonably be expected to result in personal injury, death, or property or environmental damage.
    [Show full text]
  • Storage Administration Guide Storage Administration Guide SUSE Linux Enterprise Server 12 SP4
    SUSE Linux Enterprise Server 12 SP4 Storage Administration Guide Storage Administration Guide SUSE Linux Enterprise Server 12 SP4 Provides information about how to manage storage devices on a SUSE Linux Enterprise Server. Publication Date: September 24, 2021 SUSE LLC 1800 South Novell Place Provo, UT 84606 USA https://documentation.suse.com Copyright © 2006– 2021 SUSE LLC and contributors. All rights reserved. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or (at your option) version 1.3; with the Invariant Section being this copyright notice and license. A copy of the license version 1.2 is included in the section entitled “GNU Free Documentation License”. For SUSE trademarks, see https://www.suse.com/company/legal/ . All other third-party trademarks are the property of their respective owners. Trademark symbols (®, ™ etc.) denote trademarks of SUSE and its aliates. Asterisks (*) denote third-party trademarks. All information found in this book has been compiled with utmost attention to detail. However, this does not guarantee complete accuracy. Neither SUSE LLC, its aliates, the authors nor the translators shall be held liable for possible errors or the consequences thereof. Contents About This Guide xii 1 Available Documentation xii 2 Giving Feedback xiv 3 Documentation Conventions xiv 4 Product Life Cycle and Support xvi Support Statement for SUSE Linux Enterprise Server xvii • Technology Previews xviii I FILE SYSTEMS AND MOUNTING 1 1 Overview
    [Show full text]
  • Course Outline & Schedule
    Course Outline & Schedule Call US 408-759-5074 or UK +44 20 7620 0033 Suse Linux Advanced System Administration Curriculum Linux Course Code SLASA Duration 5 Day Course Price $2,425 Course Description This instructor led SUSE Linux Advanced System Administration training course is designed to teach the advanced administration, security, networking and performance tasks required on a SUSE Linux Enterprise system. Targeted to closely follow the official LPI curriculum (generic Linux), this course together with the SUSE Linux System Administration course will enable the delegate to work towards achieving the LPIC-2 qualification. Exercises and examples are used throughout the course to give practical hands-on experience with the techniques covered. Objectives The delegate will learn and acquire skills as follows: Perform administrative tasks with supplied tools such as YaST Advanced network configuration Network troubleshooting and analysing packets Creating Apache virtual hosts and hosting user web content Sharing Windows and Linux resources with SAMBA Configuring a DNS server and configuring DNS logging Configuring a DHCP server and client Sharing Linux network resources with NFS Creating Unit Files Configuring AutoFS direct and indirect maps Configuring a secure FTP server Configuring a SQUID proxy server Creating Btrfs subvolumes and snapshots Backing-up and restoring XFS filesystems Configuring LVM and managing Logical Volumes Managing software RAID Centralised storage with iSCSI Monitoring disk status and reliability with SMART Perpetual
    [Show full text]
  • Certification Report BSI-DSZ-CC-0999-2016
    BSI-DSZ-CC-0999-2016 for Red Hat Enterprise Linux Version 7.1 from Red Hat BSI - Bundesamt für Sicherheit in der Informationstechnik, Postfach 20 03 63, D-53133 Bonn Phone +49 (0)228 99 9582-0, Fax +49 (0)228 9582-5477, Infoline +49 (0)228 99 9582-111 Certification Report V1.0 CC-Zert-327 V5.14 BSI-DSZ-CC-0999-2016 (*) Operating System Red Hat Enterprise Linux Version 7.1 from Red Hat SOGIS Recognition Agreement PP Conformance: Operating System Protection Profile, Version 2.0, 01 June 2010, BSI-CC-PP-0067-2010, OSPP Extended Package – Advanced Management, Version 2.0, 28 May 2010, OSPP Extended Package – Labeled Security, Version 2.0, 28 May 2010 Functionality: PP conformant plus product specific extensions Common Criteria Part 2 extended Assurance: Common Criteria Part 3 conformant EAL 4 augmented by ALC_FLR.3 The IT Product identified in this certificate has been evaluated at an approved evaluation facility using the Common Methodology for IT Security Evaluation (CEM), Version 3.1 extended by Scheme Interpretations for conformance to the Common Criteria for IT Security Evaluation (CC), Version 3.1. CC and CEM are also published as ISO/IEC 15408 and ISO/IEC 18045. (*) This certificate applies only to the specific version and release of the product in its evaluated configuration and in conjunction with the complete Certification Report and Notification. For details on the validity see Certification Report part A chapter 4 The evaluation has been conducted in accordance with the provisions of the certification Common Criteria scheme of the German Federal Office for Information Security (BSI) and the conclusions Recognition Arrangement of the evaluation facility in the evaluation technical report are consistent with the evidence adduced.
    [Show full text]
  • Emulex Drivers for Linux User Guide Table of Contents
    Emulex® Drivers for Linux User Guide Release 12.6 Broadcom DRVLin-UG126-100 February 4, 2020 Broadcom, the pulse logo, Connecting everything, Avago Technologies, Avago, the A logo, Emulex, ExpressLane, and OneCommand are among the trademarks of Broadcom and/or its affiliates in the United States, certain other countries, and/ or the EU. Copyright © 2003–2020 Broadcom. All Rights Reserved. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries. For more information, please visit www.broadcom.com. Broadcom reserves the right to make changes without further notice to any products or data herein to improve reliability, function, or design. Information furnished by Broadcom is believed to be accurate and reliable. However, Broadcom does not assume any liability arising out of the application or use of this information, nor the application or use of any product or circuit described herein, neither does it convey any license under its patent rights nor the rights of others. Emulex Drivers for Linux User Guide Table of Contents Chapter 1: Introduction ...................................................................................................................... 5 1.1 Overview ....................................................................................................................................................................5 1.2 Abbreviations ............................................................................................................................................................5 Chapter 2: Installing
    [Show full text]
  • Red Hat Enterprise Linux 7 Kernel Administration Guide
    Red Hat Enterprise Linux 7 Kernel Administration Guide Examples of Tasks for Managing the Kernel Last Updated: 2018-05-21 Red Hat Enterprise Linux 7 Kernel Administration Guide Examples of Tasks for Managing the Kernel Marie Dolezelova Red Hat Customer Content Services [email protected] Mark Flitter Red Hat Customer Content Services Douglas Silas Red Hat Customer Content Services Eliska Slobodova Red Hat Customer Content Services Jaromir Hradilek Red Hat Customer Content Services Maxim Svistunov Red Hat Customer Content Services Robert Krátký Red Hat Customer Content Services Stephen Wadeley Red Hat Customer Content Services Florian Nadge Red Hat Customer Content Services Legal Notice Copyright © 2018 Red Hat, Inc. The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/ . In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version. Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law. Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries. Linux ® is the registered trademark of Linus Torvalds in the United States and other countries. Java ® is a registered trademark of Oracle and/or its affiliates.
    [Show full text]
  • Linux Virtual Machine Preparation Guide for Protecting Virtual
    Linux Virtual Machine Preparation Guide For protecting virtual machines to Azure Version 2.0 Update 0520 Table of Contents ABOUT THIS GUIDE ................................................................................................................. 2 END STATE OPERATIONS GOALS ............................................................................................ 2 HOW TO PREPARE A CENTOS 6X OR REDHAT 6X-BASED VIRTUAL MACHINES ..................... 3 Assumptions .................................................................................................................. 3 Step 1: Modify Grub Options ........................................................................................ 3 Step 2: Configure agetty serial console ......................................................................... 4 Step 3: Add HyperV drivers to the dracut config .......................................................... 4 Step 4: Check to see if Hyper-V modules are loaded .................................................... 5 Step 4: Add persistent rule for Azure Nics .................................................................... 5 Step 5: Creating an ifcfg-eth file for the Azure NIC: ...................................................... 6 HOW TO PREPARE A CENTOS 7X OR REDHAT 7X-BASED VIRTUAL MACHINES ..................... 8 Assumptions .................................................................................................................. 8 Step 1: Modify Grub Options .......................................................................................
    [Show full text]
  • Security Policy
    Red Hat Enterprise Linux OpenSSL Cryptographic Module version 7.0 FIPS 140-2 Non-proprietary Security Policy version 1.3 Last Update: 2019-09-19 Red Hat Enterprise Linux OpenSSL Cryptographic Module FIPS 140-2 Non-proprietary Security Policy Table of Contents 1. Cryptographic Modules' Specifications.......................................................................................................3 1.1. Description of the Module........................................................................................................................3 1.2. Description of the Approved Modes.........................................................................................................4 1.3. Cryptographic Boundary.......................................................................................................................... 7 1.3.1. Hardware Block Diagram...........................................................................................................8 1.3.2. Software Block Diagram.............................................................................................................9 2. Cryptographic Modules' Ports and Interfaces...........................................................................................10 3. Roles, Services and Authentication..........................................................................................................11 3.1. Roles....................................................................................................................................................
    [Show full text]
  • Red Hat Enterprise Linux 8 Security Hardening
    Red Hat Enterprise Linux 8 Security hardening Securing Red Hat Enterprise Linux 8 Last Updated: 2020-10-14 Red Hat Enterprise Linux 8 Security hardening Securing Red Hat Enterprise Linux 8 Legal Notice Copyright © 2020 Red Hat, Inc. The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/ . In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version. Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law. Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries. Linux ® is the registered trademark of Linus Torvalds in the United States and other countries. Java ® is a registered trademark of Oracle and/or its affiliates. XFS ® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries. MySQL ® is a registered trademark of MySQL AB in the United States, the European Union and other countries. Node.js ® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
    [Show full text]
  • Storage Administration Guide Storage Administration Guide SUSE Linux Enterprise Server 15
    SUSE Linux Enterprise Server 15 Storage Administration Guide Storage Administration Guide SUSE Linux Enterprise Server 15 Provides information about how to manage storage devices on a SUSE Linux Enterprise Server. Publication Date: September 24, 2021 SUSE LLC 1800 South Novell Place Provo, UT 84606 USA https://documentation.suse.com Copyright © 2006– 2021 SUSE LLC and contributors. All rights reserved. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or (at your option) version 1.3; with the Invariant Section being this copyright notice and license. A copy of the license version 1.2 is included in the section entitled “GNU Free Documentation License”. For SUSE trademarks, see https://www.suse.com/company/legal/ . All other third-party trademarks are the property of their respective owners. Trademark symbols (®, ™ etc.) denote trademarks of SUSE and its aliates. Asterisks (*) denote third-party trademarks. All information found in this book has been compiled with utmost attention to detail. However, this does not guarantee complete accuracy. Neither SUSE LLC, its aliates, the authors nor the translators shall be held liable for possible errors or the consequences thereof. Contents About This Guide xi 1 Available Documentation xi 2 Giving Feedback xiii 3 Documentation Conventions xiii 4 Product Life Cycle and Support xv Support Statement for SUSE Linux Enterprise Server xvi • Technology Previews xvii I FILE SYSTEMS AND MOUNTING 1 1 Overview of File Systems
    [Show full text]
  • Security Capabilities of Red Hat Enterprise Linux 8
    TOP 10 SECURITY CHANGES IN RED HAT ENTERPRISE LINUX 8 Taymour Elerian Ron Marshall Sr. Solution Architect Sr. Solution Architect WHAT WE ARE TALKING ABOUT Red Hat® Enterprise Linux® 8, of course We aren’t talking about New, or new to you, features in The full Red Hat Enterprise Linux Roadmap Red Hat Enterprise Linux 8 Provide some guidance to you Open source community leadership about what action to take next Focused on the security features Hardware, software, and of Red Hat Enterprise Linux cloud provider partnership Not talking about ALL of the Hundreds of existing security features : Common security enhancements Criteria & FIPS validations, NBDE & LUKS disk crypto, AIDE, IMA, Identity Management, Web SSO etc. AGENDA Consistent and strong crypto policy Libssh: SSH communications Compiler flags and static code analysis Software identification (SWID) tags FIPS mode made easy Session recording Smart cards and HSMs Finer-grained SELinux support TLS 1.3 systemwide Trusted platform module usage CONSISTENT AND STRONG CRYPTO POLICY 4 policies LEGACY ● Solves the problem of ensuring systemwide consistent cryptography settings for addressing compliance requirements DEFAULT ● Easy to use and easy to automate - far less error prone # update-crypto-policies --set FUTURE FIPS 140 # update-crypto-policies --show ● Sets allowed key lengths, hashes, parameters, protocols, and algorithms FUTURE SYSTEMWIDE EFFECTS OF CRYPTO POLICY Applications and groups that follow the crypto policies libkrb5 BIND Guidance ● Use the Red Hat Enterprise OpenSSL OpenJDK Linux-provided Crypto libraries and Red Hat Enterprise Linux-provided utilities GnuTLS OpenSSH ● Test with DEFAULT and FUTURE policies ● Consider using SHA256 hashes Libreswan Python instead of SHA1 NSS EXAMPLE : TLS 1.1 LEGACY allows TLS 1.1 # update-crypto-policies --set LEGACY # wget https://tls-v1-1.badssl.com:1011/ HTTP request sent, awaiting response..
    [Show full text]
  • Btrfs and Rollback How It Works and How to Avoid Pitfalls
    Btrfs and Rollback How It Works and How to Avoid Pitfalls Thorsten Kukuk Senior Architect SUSE Linux Enterprise Server [email protected] rm -rf / ? Agenda: • Btrfs / Copy-on-Write / Subvolumes • Rollback on SUSE Linux Enterprise Server 12 • Grub2 and rollback • Caveats and risks • Managing subvolumes 2 Btrfs / CoW • Copy on Write (CoW) general purpose file system • Trees for ‒ Data ‒ Metadata • Snapshots ‒ Every snapshot is again a subvolume ‒ Can be mounted and accessed like every other subvolume ‒ Snapshots can be created read-only 3 Btrfs / Subvolumes • Not like a LVM logical volume • Are hierarchical • Can be accessed in two ways: ‒ From the parent subvolume (like a directory) ‒ Separate mounted filesystem (using subvol/subvolid) • Every btrfs filesystem has a default, top-level subvolume with id 5 • Snapshots are subvolumes, which shares its data with other subvolumes (snapshots) • Only subvolumes can be the source for snapshots 4 Btrfs / Copy-on-Write (1/4) Source A B C D E 5 Btrfs / Copy-on-Write (2/4) Source Snapshot A B C D E 6 Btrfs / Copy-on-Write (3/4) Source Snapshot A B C D E 7 Btrfs / Copy-on-Write (4/4) Source Snapshot A B C D E C^2 8 Btrfs Snapshots and Disk Usage • How much disk space does a snapshot need? The answer nobody likes: It depends! • Initial snapshot: few Bytes for Metadata • Growing over time when original data changes • At the end: same amount as original data • Worst case: Lot of snapshots and no common blocks between them. 9 Btrfs on SUSE Linux Enterprise Server 12 • Default root filesystem for root partition (incl.
    [Show full text]