SlideShare uma empresa Scribd logo
1 de 17
Baixar para ler offline
BiTteRsweet FS


   Dan Şerban
BTRFS rationale and design goals
• Feature-focused, general-purpose FS
   that scales to very large storage
• Linux desperately needs a copy-on-write FS
   (superior crash safety)
• Simplify administration of the entire
   storage stack
• Address the lack of pooled storage functionality
   (integrated volume management,
   multiple device support) in Linux file systems
• Allow for unlimited snapshots that are:
   - cheap in storage
   - fast to perform
BTRFS rationale and design goals
• Very fault tolerant
   - never trust the underlying spinning media
   - solid checksumming
       of all file data and metadata
       using parent-stored checksums
   - transactional object store
• Self-healing (not yet implemented)
   - avoidance of bit-rot errors +1
   - actual error correction -1
BTRFS rationale and design goals
• Extent based file storage
• Dynamic (on an as-needed basis)
   allocation of inodes
• Space-efficient packing of small files
• Performance that doesn't degrade over time
BTRFS vs. ZFS - some context
• Andrew Morton has famously called ZFS
   "a rampant layering violation" because
   it combines the functionality of a file system,
   volume manager, and RAID controller
• However, BTRFS does the same
• By changing where the boundaries are
   between layers ZFS and BTRFS make the entire
   storage stack much simpler
• ZFS and BTRFS layering is done in a way
   that gives each layer more knowledge
   of the structures of the other layers
BTRFS vs. ZFS - some context
• Upper layers having more knowledge
    about the physical side of storing data on disk
    enables e.g. selective resilvering
    of only used blocks
• BTRFS was merged into the mainline kernel
    so quickly because it is building on mature
    kernel features
• It is using the same device mapping code
    for RAID and block abstraction
    that Linux’s software RAID and LVM are based on
BTRFS subvolumes and snapshots
• Subvolume is the unit of snapshotting
• Subvolumes (and their snapshots)
   are similar to independent filesystems that:
   - share the same devpool as their backing store
   - are folded into the namespace
        of the parent BTRFS volume
• Snapshots are subvolumes with initial content
• Formal rollback to snapshot not implemented
• Only writable snapshots are possible
   as of now (2.6.34)
• BTRFS will eventually have read-only snapshots
   through settable quotas at mount time
   ... but quotas aren't yet implemented
#btrfs (IRC) wisdom
Me: is BTRFS self-healing, like ZFS?
#btrfs:
- will be, isn't yet
- self-healing is just buzz for saying when the
data/metadata checksums fail on one disk, use the
redudant copy found on another disk to replace a
faulty bit/block
- currently btrfs will use the redundant data if the
checksum fails, but it doesn't actually rewrite the
original
- it'll issue a warning in dmesg though, so it's possible
to hack in a user-space tool to do the rewrite in a
nicely hackish way :)
- currently, errors can only be fixed by triggering a
rebalance
#btrfs (IRC) wisdom
(N.N. Stability issue at or near 100% disk usage)

#btrfs:
- BTRFS: don't call us, we'll call you ... when it comes
to space usage. When BTRFS calls, it sends a giant
kernel oops message, conveniently crashing the
machine so that you can without additional penalty
power the server down and insert a new disk.
- /sarcasm

(N.N. ZFS suffers from the same issue)
#btrfs (IRC) wisdom
#btrfs:
- for a 30G partition rebalancing should take a few
hours, just look at your dmesg and see if there are
lots of repeated messages.
- if there are, then it's hanging
- if there aren't, then it's working
- generally if you don't have enough space, the
rebalancing process will go into an infinite loop since
it can't find a big enough chunk of free space to stuff
things in
- so just delete a large file or two and then you'll have
plenty of free space and it'll progress.
- also, you can't kill a rebalancing process
- it's unkillable, so you have to reboot to stop it
- it's pretty safe though
Hands-on with BTRFS
Hands-on with BTRFS
Hands-on with BTRFS
Hands-on with BTRFS
Hands-on with BTRFS
Hands-on with BTRFS
Questions / Feedback

Mais conteúdo relacionado

Mais procurados

Os solaris memory management
Os  solaris memory managementOs  solaris memory management
Os solaris memory management
Tech_MX
 
Zettabyte File Storage System
Zettabyte File Storage SystemZettabyte File Storage System
Zettabyte File Storage System
Amdocs
 
并行计算与分布式计算的区别
并行计算与分布式计算的区别并行计算与分布式计算的区别
并行计算与分布式计算的区别
xiazdong
 
Unix Internals OS Architecture
Unix Internals OS ArchitectureUnix Internals OS Architecture
Unix Internals OS Architecture
Khader Shaik
 

Mais procurados (18)

Snooping 2
Snooping 2Snooping 2
Snooping 2
 
Os solaris memory management
Os  solaris memory managementOs  solaris memory management
Os solaris memory management
 
Chapter 4
Chapter 4Chapter 4
Chapter 4
 
ZFS by PWR 2013
ZFS by PWR 2013ZFS by PWR 2013
ZFS by PWR 2013
 
Zettabyte File Storage System
Zettabyte File Storage SystemZettabyte File Storage System
Zettabyte File Storage System
 
System Storage Manager
System Storage ManagerSystem Storage Manager
System Storage Manager
 
Extlect03
Extlect03Extlect03
Extlect03
 
NUMA overview
NUMA overviewNUMA overview
NUMA overview
 
memory management of windows vs linux
memory management of windows vs linuxmemory management of windows vs linux
memory management of windows vs linux
 
M2tech CNBS server
M2tech CNBS serverM2tech CNBS server
M2tech CNBS server
 
Notes on NUMA architecture
Notes on NUMA architectureNotes on NUMA architecture
Notes on NUMA architecture
 
Linux NUMA & Databases: Perils and Opportunities
Linux NUMA & Databases: Perils and OpportunitiesLinux NUMA & Databases: Perils and Opportunities
Linux NUMA & Databases: Perils and Opportunities
 
Memory
MemoryMemory
Memory
 
Von Neumann vs Harvard Architecture
Von Neumann vs Harvard ArchitectureVon Neumann vs Harvard Architecture
Von Neumann vs Harvard Architecture
 
Continguous Memory Allocator in the Linux Kernel
Continguous Memory Allocator in the Linux KernelContinguous Memory Allocator in the Linux Kernel
Continguous Memory Allocator in the Linux Kernel
 
JetStor NAS 724UXD Dual Controller Active-Active ZFS Based
JetStor NAS 724UXD Dual Controller Active-Active ZFS BasedJetStor NAS 724UXD Dual Controller Active-Active ZFS Based
JetStor NAS 724UXD Dual Controller Active-Active ZFS Based
 
并行计算与分布式计算的区别
并行计算与分布式计算的区别并行计算与分布式计算的区别
并行计算与分布式计算的区别
 
Unix Internals OS Architecture
Unix Internals OS ArchitectureUnix Internals OS Architecture
Unix Internals OS Architecture
 

Destaque

Calin Burloiu - Prelucrarea fisierelor video in Linux
Calin Burloiu - Prelucrarea fisierelor video in LinuxCalin Burloiu - Prelucrarea fisierelor video in Linux
Calin Burloiu - Prelucrarea fisierelor video in Linux
Asociatia ProLinux
 
Cornel Florentin Dimitriu - Tune in... on Linux
Cornel Florentin Dimitriu - Tune in... on LinuxCornel Florentin Dimitriu - Tune in... on Linux
Cornel Florentin Dimitriu - Tune in... on Linux
Asociatia ProLinux
 
Open Source in mediul academic - Studiu de caz: UPB
Open Source in mediul academic - Studiu de caz: UPBOpen Source in mediul academic - Studiu de caz: UPB
Open Source in mediul academic - Studiu de caz: UPB
Asociatia ProLinux
 

Destaque (6)

Calin Burloiu - Prelucrarea fisierelor video in Linux
Calin Burloiu - Prelucrarea fisierelor video in LinuxCalin Burloiu - Prelucrarea fisierelor video in Linux
Calin Burloiu - Prelucrarea fisierelor video in Linux
 
Cornel Florentin Dimitriu - Tune in... on Linux
Cornel Florentin Dimitriu - Tune in... on LinuxCornel Florentin Dimitriu - Tune in... on Linux
Cornel Florentin Dimitriu - Tune in... on Linux
 
Alexandru balan frams
Alexandru balan   framsAlexandru balan   frams
Alexandru balan frams
 
Open Source in mediul academic - Studiu de caz: UPB
Open Source in mediul academic - Studiu de caz: UPBOpen Source in mediul academic - Studiu de caz: UPB
Open Source in mediul academic - Studiu de caz: UPB
 
Cluster SSH / Parallel SSH
Cluster SSH / Parallel SSHCluster SSH / Parallel SSH
Cluster SSH / Parallel SSH
 
Fotografie panoramica
Fotografie panoramicaFotografie panoramica
Fotografie panoramica
 

Semelhante a BiTteRsweet FS

Btrfs by Chris Mason
Btrfs by Chris MasonBtrfs by Chris Mason
Btrfs by Chris Mason
Terry Wang
 
ZFS
ZFSZFS
State of the Art Thin Provisioning
State of the Art Thin ProvisioningState of the Art Thin Provisioning
State of the Art Thin Provisioning
Stephen Foskett
 
LAS16-400: Mini Conference 3 AOSP (Session 1)
LAS16-400: Mini Conference 3 AOSP (Session 1)LAS16-400: Mini Conference 3 AOSP (Session 1)
LAS16-400: Mini Conference 3 AOSP (Session 1)
Linaro
 
Disks and-filesystems
Disks and-filesystemsDisks and-filesystems
Disks and-filesystems
plarsen67
 

Semelhante a BiTteRsweet FS (20)

Btrfs: Design, Implementation and the Current Status
Btrfs: Design, Implementation and the Current StatusBtrfs: Design, Implementation and the Current Status
Btrfs: Design, Implementation and the Current Status
 
Btrfs by Chris Mason
Btrfs by Chris MasonBtrfs by Chris Mason
Btrfs by Chris Mason
 
Case study of BtrFS: A fault tolerant File system
Case study of BtrFS: A fault tolerant File systemCase study of BtrFS: A fault tolerant File system
Case study of BtrFS: A fault tolerant File system
 
ZFS
ZFSZFS
ZFS
 
Real Time Operating System
Real Time Operating SystemReal Time Operating System
Real Time Operating System
 
Course 102: Lecture 27: FileSystems in Linux (Part 2)
Course 102: Lecture 27: FileSystems in Linux (Part 2)Course 102: Lecture 27: FileSystems in Linux (Part 2)
Course 102: Lecture 27: FileSystems in Linux (Part 2)
 
Os
OsOs
Os
 
Btrfs and Snapper - The Next Steps from Pure Filesystem Features to Integrati...
Btrfs and Snapper - The Next Steps from Pure Filesystem Features to Integrati...Btrfs and Snapper - The Next Steps from Pure Filesystem Features to Integrati...
Btrfs and Snapper - The Next Steps from Pure Filesystem Features to Integrati...
 
Kfs presentation
Kfs presentationKfs presentation
Kfs presentation
 
os
osos
os
 
XFS.ppt
XFS.pptXFS.ppt
XFS.ppt
 
kerch04.ppt
kerch04.pptkerch04.ppt
kerch04.ppt
 
PostgreSQL + ZFS best practices
PostgreSQL + ZFS best practicesPostgreSQL + ZFS best practices
PostgreSQL + ZFS best practices
 
State of the Art Thin Provisioning
State of the Art Thin ProvisioningState of the Art Thin Provisioning
State of the Art Thin Provisioning
 
LAS16-400: Mini Conference 3 AOSP (Session 1)
LAS16-400: Mini Conference 3 AOSP (Session 1)LAS16-400: Mini Conference 3 AOSP (Session 1)
LAS16-400: Mini Conference 3 AOSP (Session 1)
 
Hadoop Distributed File System for Big Data Analytics
Hadoop Distributed File System for Big Data AnalyticsHadoop Distributed File System for Big Data Analytics
Hadoop Distributed File System for Big Data Analytics
 
Assignment 2 Theoretical
Assignment 2 TheoreticalAssignment 2 Theoretical
Assignment 2 Theoretical
 
Disks and-filesystems
Disks and-filesystemsDisks and-filesystems
Disks and-filesystems
 
Disks and-filesystems
Disks and-filesystemsDisks and-filesystems
Disks and-filesystems
 
Tuning Linux for MongoDB
Tuning Linux for MongoDBTuning Linux for MongoDB
Tuning Linux for MongoDB
 

Mais de Asociatia ProLinux

Cristina Vintila - 4G - Technology Overview
Cristina Vintila - 4G - Technology OverviewCristina Vintila - 4G - Technology Overview
Cristina Vintila - 4G - Technology Overview
Asociatia ProLinux
 
Nicu Buculei - Progresul WLMRO
Nicu Buculei - Progresul WLMRONicu Buculei - Progresul WLMRO
Nicu Buculei - Progresul WLMRO
Asociatia ProLinux
 
Razvan Deaconescu - Task Management for the Daily Workaholic
Razvan Deaconescu - Task Management for the Daily WorkaholicRazvan Deaconescu - Task Management for the Daily Workaholic
Razvan Deaconescu - Task Management for the Daily Workaholic
Asociatia ProLinux
 
Răzvan Deaconescu - Biblioteci, gestiunea bibliotecilor
Răzvan Deaconescu - Biblioteci, gestiunea bibliotecilorRăzvan Deaconescu - Biblioteci, gestiunea bibliotecilor
Răzvan Deaconescu - Biblioteci, gestiunea bibliotecilor
Asociatia ProLinux
 
Ioan Eugen Stan - Introducere HBase
Ioan Eugen Stan -  Introducere HBaseIoan Eugen Stan -  Introducere HBase
Ioan Eugen Stan - Introducere HBase
Asociatia ProLinux
 
Ciprian Badescu, Eugen Stoianovici - CUBRID
Ciprian Badescu, Eugen Stoianovici - CUBRIDCiprian Badescu, Eugen Stoianovici - CUBRID
Ciprian Badescu, Eugen Stoianovici - CUBRID
Asociatia ProLinux
 
Petru Ratiu - Linux bonding meets sysfs
Petru Ratiu - Linux bonding meets sysfsPetru Ratiu - Linux bonding meets sysfs
Petru Ratiu - Linux bonding meets sysfs
Asociatia ProLinux
 
Ovidiu Constantin - Linux From Scratch 6.8
Ovidiu Constantin - Linux From Scratch 6.8Ovidiu Constantin - Linux From Scratch 6.8
Ovidiu Constantin - Linux From Scratch 6.8
Asociatia ProLinux
 
Radu Zoran - Linux pe un Tablet PC
Radu Zoran - Linux pe un Tablet PCRadu Zoran - Linux pe un Tablet PC
Radu Zoran - Linux pe un Tablet PC
Asociatia ProLinux
 
Ovidiu Constantin - Debian Live
Ovidiu Constantin - Debian LiveOvidiu Constantin - Debian Live
Ovidiu Constantin - Debian Live
Asociatia ProLinux
 
Ovidiu constantin dd-wrt vs open wrt
Ovidiu constantin   dd-wrt vs open wrtOvidiu constantin   dd-wrt vs open wrt
Ovidiu constantin dd-wrt vs open wrt
Asociatia ProLinux
 
Workflow fotografic cu Darktable - Nicu Buculei
Workflow fotografic cu Darktable - Nicu BuculeiWorkflow fotografic cu Darktable - Nicu Buculei
Workflow fotografic cu Darktable - Nicu Buculei
Asociatia ProLinux
 

Mais de Asociatia ProLinux (20)

Cristina Vintila - 4G - Technology Overview
Cristina Vintila - 4G - Technology OverviewCristina Vintila - 4G - Technology Overview
Cristina Vintila - 4G - Technology Overview
 
Razvan Deaconescu - rss2email
Razvan Deaconescu - rss2emailRazvan Deaconescu - rss2email
Razvan Deaconescu - rss2email
 
Nicu Buculei - Progresul WLMRO
Nicu Buculei - Progresul WLMRONicu Buculei - Progresul WLMRO
Nicu Buculei - Progresul WLMRO
 
Razvan Deaconescu - Task Management for the Daily Workaholic
Razvan Deaconescu - Task Management for the Daily WorkaholicRazvan Deaconescu - Task Management for the Daily Workaholic
Razvan Deaconescu - Task Management for the Daily Workaholic
 
Răzvan Deaconescu - Biblioteci, gestiunea bibliotecilor
Răzvan Deaconescu - Biblioteci, gestiunea bibliotecilorRăzvan Deaconescu - Biblioteci, gestiunea bibliotecilor
Răzvan Deaconescu - Biblioteci, gestiunea bibliotecilor
 
Ioan Eugen Stan - Introducere HBase
Ioan Eugen Stan -  Introducere HBaseIoan Eugen Stan -  Introducere HBase
Ioan Eugen Stan - Introducere HBase
 
Ioan Eugen Stan - James
Ioan Eugen Stan - JamesIoan Eugen Stan - James
Ioan Eugen Stan - James
 
Dumitru Enache - Bacula
Dumitru Enache - BaculaDumitru Enache - Bacula
Dumitru Enache - Bacula
 
Ciprian Badescu, Eugen Stoianovici - CUBRID
Ciprian Badescu, Eugen Stoianovici - CUBRIDCiprian Badescu, Eugen Stoianovici - CUBRID
Ciprian Badescu, Eugen Stoianovici - CUBRID
 
Ovidiu Constantin - ReactOS
Ovidiu Constantin - ReactOSOvidiu Constantin - ReactOS
Ovidiu Constantin - ReactOS
 
Petru Ratiu - Linux bonding meets sysfs
Petru Ratiu - Linux bonding meets sysfsPetru Ratiu - Linux bonding meets sysfs
Petru Ratiu - Linux bonding meets sysfs
 
Alex Juncu - UDPCast
Alex Juncu - UDPCastAlex Juncu - UDPCast
Alex Juncu - UDPCast
 
Razvan Deaconescu - Org-Mode
Razvan Deaconescu - Org-ModeRazvan Deaconescu - Org-Mode
Razvan Deaconescu - Org-Mode
 
Ovidiu Constantin - Linux From Scratch 6.8
Ovidiu Constantin - Linux From Scratch 6.8Ovidiu Constantin - Linux From Scratch 6.8
Ovidiu Constantin - Linux From Scratch 6.8
 
Radu Zoran - Linux pe un Tablet PC
Radu Zoran - Linux pe un Tablet PCRadu Zoran - Linux pe un Tablet PC
Radu Zoran - Linux pe un Tablet PC
 
Ovidiu Constantin - Debian Live
Ovidiu Constantin - Debian LiveOvidiu Constantin - Debian Live
Ovidiu Constantin - Debian Live
 
Razvan Deaconescu - Redmine
Razvan Deaconescu - RedmineRazvan Deaconescu - Redmine
Razvan Deaconescu - Redmine
 
Ovidiu constantin 1 airopl
Ovidiu constantin   1 airoplOvidiu constantin   1 airopl
Ovidiu constantin 1 airopl
 
Ovidiu constantin dd-wrt vs open wrt
Ovidiu constantin   dd-wrt vs open wrtOvidiu constantin   dd-wrt vs open wrt
Ovidiu constantin dd-wrt vs open wrt
 
Workflow fotografic cu Darktable - Nicu Buculei
Workflow fotografic cu Darktable - Nicu BuculeiWorkflow fotografic cu Darktable - Nicu Buculei
Workflow fotografic cu Darktable - Nicu Buculei
 

Último

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Último (20)

Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 

BiTteRsweet FS

  • 1. BiTteRsweet FS Dan Şerban
  • 2. BTRFS rationale and design goals • Feature-focused, general-purpose FS that scales to very large storage • Linux desperately needs a copy-on-write FS (superior crash safety) • Simplify administration of the entire storage stack • Address the lack of pooled storage functionality (integrated volume management, multiple device support) in Linux file systems • Allow for unlimited snapshots that are: - cheap in storage - fast to perform
  • 3. BTRFS rationale and design goals • Very fault tolerant - never trust the underlying spinning media - solid checksumming of all file data and metadata using parent-stored checksums - transactional object store • Self-healing (not yet implemented) - avoidance of bit-rot errors +1 - actual error correction -1
  • 4. BTRFS rationale and design goals • Extent based file storage • Dynamic (on an as-needed basis) allocation of inodes • Space-efficient packing of small files • Performance that doesn't degrade over time
  • 5. BTRFS vs. ZFS - some context • Andrew Morton has famously called ZFS "a rampant layering violation" because it combines the functionality of a file system, volume manager, and RAID controller • However, BTRFS does the same • By changing where the boundaries are between layers ZFS and BTRFS make the entire storage stack much simpler • ZFS and BTRFS layering is done in a way that gives each layer more knowledge of the structures of the other layers
  • 6. BTRFS vs. ZFS - some context • Upper layers having more knowledge about the physical side of storing data on disk enables e.g. selective resilvering of only used blocks • BTRFS was merged into the mainline kernel so quickly because it is building on mature kernel features • It is using the same device mapping code for RAID and block abstraction that Linux’s software RAID and LVM are based on
  • 7. BTRFS subvolumes and snapshots • Subvolume is the unit of snapshotting • Subvolumes (and their snapshots) are similar to independent filesystems that: - share the same devpool as their backing store - are folded into the namespace of the parent BTRFS volume • Snapshots are subvolumes with initial content • Formal rollback to snapshot not implemented • Only writable snapshots are possible as of now (2.6.34) • BTRFS will eventually have read-only snapshots through settable quotas at mount time ... but quotas aren't yet implemented
  • 8. #btrfs (IRC) wisdom Me: is BTRFS self-healing, like ZFS? #btrfs: - will be, isn't yet - self-healing is just buzz for saying when the data/metadata checksums fail on one disk, use the redudant copy found on another disk to replace a faulty bit/block - currently btrfs will use the redundant data if the checksum fails, but it doesn't actually rewrite the original - it'll issue a warning in dmesg though, so it's possible to hack in a user-space tool to do the rewrite in a nicely hackish way :) - currently, errors can only be fixed by triggering a rebalance
  • 9. #btrfs (IRC) wisdom (N.N. Stability issue at or near 100% disk usage) #btrfs: - BTRFS: don't call us, we'll call you ... when it comes to space usage. When BTRFS calls, it sends a giant kernel oops message, conveniently crashing the machine so that you can without additional penalty power the server down and insert a new disk. - /sarcasm (N.N. ZFS suffers from the same issue)
  • 10. #btrfs (IRC) wisdom #btrfs: - for a 30G partition rebalancing should take a few hours, just look at your dmesg and see if there are lots of repeated messages. - if there are, then it's hanging - if there aren't, then it's working - generally if you don't have enough space, the rebalancing process will go into an infinite loop since it can't find a big enough chunk of free space to stuff things in - so just delete a large file or two and then you'll have plenty of free space and it'll progress. - also, you can't kill a rebalancing process - it's unkillable, so you have to reboot to stop it - it's pretty safe though