{"id":32624,"date":"2024-04-17T11:32:46","date_gmt":"2024-04-17T09:32:46","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/?p=32624"},"modified":"2024-04-17T12:04:11","modified_gmt":"2024-04-17T10:04:11","slug":"another-file-system-for-linux-bcachefs-1-basics","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/another-file-system-for-linux-bcachefs-1-basics\/","title":{"rendered":"Another file system for Linux: bcachefs (1) &#8211; basics"},"content":{"rendered":"\n<p>When <a href=\"https:\/\/kernel.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">Linux 6.7<\/a> (already end of life) was released some time ago another file system made it into the kernel: <a href=\"https:\/\/bcachefs.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">bcachefs<\/a>. This is another <a href=\"https:\/\/en.wikipedia.org\/wiki\/Copy-on-write\" target=\"_blank\" rel=\"noreferrer noopener\">copy on write<\/a> file system like <a href=\"https:\/\/en.wikipedia.org\/wiki\/ZFS\" target=\"_blank\" rel=\"noreferrer noopener\">ZFS<\/a> or <a href=\"https:\/\/en.wikipedia.org\/wiki\/Btrfs\" target=\"_blank\" rel=\"noreferrer noopener\">Btrfs<\/a>. The goal of this post is not to compare those in regards to features and performance, but just to give you the necessary bits to get started with it. If you want to try this out for yourself, you obviously need at least version 6.7 of the Linux kernel. You can either build it yourself or you can use the distribution of your choice which ships at least with kernel 6.7 as an option. I&#8217;ll be using <a href=\"https:\/\/get.opensuse.org\/tumbleweed\/?type=server#download\" target=\"_blank\" rel=\"noreferrer noopener\">openSUSE Tumbleweed<\/a> as this is a rolling release and new kernel versions make it into the distribution quite fast after they&#8217;ve been released.<\/p>\n\n\n\n<p>When you install Tumbleweed as of today, you&#8217;ll get a 6.8 kernel which is fine if you want to play around with bcachefs:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; title: ; notranslate\" title=\"\">\ntumbleweed:~ $ uname -a\nLinux tumbleweed 6.8.5-1-default #1 SMP PREEMPT_DYNAMIC Thu Apr 11 04:31:19 UTC 2024 (542f698) x86_64 x86_64 x86_64 GNU\/Linux\n<\/pre><\/div>\n\n\n<p>Let&#8217;s start very simple: Once device, on file system. Usually you create a new file system with the <a href=\"https:\/\/linux.die.net\/man\/8\/mkfs\">mkfs<\/a> command, but you&#8217;ll quickly notice that there is nothing for bcachefs:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; highlight: [1]; title: ; notranslate\" title=\"\">\ntumbleweed:~ $ mkfs.&#x5B;TAB]&#x5B;TAB]\nmkfs.bfs     mkfs.btrfs   mkfs.cramfs  mkfs.ext2    mkfs.ext3    mkfs.ext4    mkfs.fat     mkfs.minix   mkfs.msdos   mkfs.ntfs    mkfs.vfat    \n<\/pre><\/div>\n\n\n<p>By default there is also no command which starts with &#8220;bca&#8221;:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; highlight: [1]; title: ; notranslate\" title=\"\">\ntumbleweed:~ # bca&#x5B;TAB]&#x5B;TAB]\n<\/pre><\/div>\n\n\n<p>The utilities you need to get started need to be installed on Tumbleweed:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; highlight: [1,9]; title: ; notranslate\" title=\"\">\ntumbleweed:~ $ zypper se bcachefs\nLoading repository data...\nReading installed packages...\n\nS | Name           | Summary                              | Type\n--+----------------+--------------------------------------+--------\n  | bcachefs-tools | Configuration utilities for bcachefs | package\n\ntumbleweed:~ $ zypper in -y bcachefs-tools\nLoading repository data...\nReading installed packages...\nResolving package dependencies...\n\nThe following 2 NEW packages are going to be installed:\n  bcachefs-tools libsodium23\n\n2 new packages to install.\nOverall download size: 1.4 MiB. Already cached: 0 B. After the operation, additional 3.6 MiB will be used.\n\nBackend:  classic_rpmtrans\nContinue? &#x5B;y\/n\/v\/...? shows all options] (y): y\nRetrieving: libsodium23-1.0.18-2.16.x86_64 (Main Repository (OSS))                                                                                        (1\/2), 169.7 KiB    \nRetrieving: libsodium23-1.0.18-2.16.x86_64.rpm ...........................................................................................................&#x5B;done (173.6 KiB\/s)]\nRetrieving: bcachefs-tools-1.6.4-1.2.x86_64 (Main Repository (OSS))                                                                                       (2\/2),   1.2 MiB    \nRetrieving: bcachefs-tools-1.6.4-1.2.x86_64.rpm ............................................................................................................&#x5B;done (5.4 MiB\/s)]\n\nChecking for file conflicts: ...........................................................................................................................................&#x5B;done]\n(1\/2) Installing: libsodium23-1.0.18-2.16.x86_64 .......................................................................................................................&#x5B;done]\n(2\/2) Installing: bcachefs-tools-1.6.4-1.2.x86_64 ......................................................................................................................&#x5B;done]\nRunning post-transaction scripts .......................................................................................................................................&#x5B;done]\n<\/pre><\/div>\n\n\n<p>This will give you &#8220;mkfs.bcachefs&#8221; and all the other utilities you&#8217;ll need to play with it. <\/p>\n\n\n\n<p>I&#8217;ve prepared six small devices I can play with:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; highlight: [1,17,18,19,20,21,22]; title: ; notranslate\" title=\"\">\ntumbleweed:~ $ lsblk\nNAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS\nsr0     11:0    1  276M  0 rom  \nvda    254:0    0   20G  0 disk \n\u251c\u2500vda1 254:1    0    8M  0 part \n\u251c\u2500vda2 254:2    0 18.6G  0 part \/var\n\u2502                               \/srv\n\u2502                               \/usr\/local\n\u2502                               \/opt\n\u2502                               \/root\n\u2502                               \/home\n\u2502                               \/boot\/grub2\/x86_64-efi\n\u2502                               \/boot\/grub2\/i386-pc\n\u2502                               \/.snapshots\n\u2502                               \/\n\u2514\u2500vda3 254:3    0  1.4G  0 part &#x5B;SWAP]\nvdb    254:16   0    4G  0 disk \nvdc    254:32   0    4G  0 disk \nvdd    254:48   0    4G  0 disk \nvde    254:64   0    4G  0 disk \nvdf    254:80   0    4G  0 disk \nvdg    254:96   0    4G  0 disk \n<\/pre><\/div>\n\n\n<p>In the most simple form (one device, one file system) you might start like this:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; highlight: [1]; title: ; notranslate\" title=\"\">\ntumbleweed:~ $ bcachefs format \/dev\/vdb\nExternal UUID:                              127933ff-575b-484f-9eab-d0bf5dbf52b2\nInternal UUID:                              fbf59149-3dc4-4871-bfb5-8fb910d0529f\nMagic number:                               c68573f6-66ce-90a9-d96a-60cf803df7ef\nDevice index:                               0\nLabel:                                      \nVersion:                                    1.6: btree_subvolume_children\nVersion upgrade complete:                   0.0: (unknown version)\nOldest version on disk:                     1.6: btree_subvolume_children\nCreated:                                    Wed Apr 17 10:39:58 2024\nSequence number:                            0\nTime of last write:                         Thu Jan  1 01:00:00 1970\nSuperblock size:                            960 B\/1.00 MiB\nClean:                                      0\nDevices:                                    1\nSections:                                   members_v1,members_v2\nFeatures:                                   new_siphash,new_extent_overwrite,btree_ptr_v2,extents_above_btree_updates,btree_updates_journalled,new_varint,journal_no_flush,alloc_v2,extents_across_btree_nodes\nCompat features:                            \n\nOptions:\n  block_size:                               512 B\n  btree_node_size:                          256 KiB\n  errors:                                   continue &#x5B;ro] panic \n  metadata_replicas:                        1\n  data_replicas:                            1\n  metadata_replicas_required:               1\n  data_replicas_required:                   1\n  encoded_extent_max:                       64.0 KiB\n  metadata_checksum:                        none &#x5B;crc32c] crc64 xxhash \n  data_checksum:                            none &#x5B;crc32c] crc64 xxhash \n  compression:                              none\n  background_compression:                   none\n  str_hash:                                 crc32c crc64 &#x5B;siphash] \n  metadata_target:                          none\n  foreground_target:                        none\n  background_target:                        none\n  promote_target:                           none\n  erasure_code:                             0\n  inodes_32bit:                             1\n  shard_inode_numbers:                      1\n  inodes_use_key_cache:                     1\n  gc_reserve_percent:                       8\n  gc_reserve_bytes:                         0 B\n  root_reserve_percent:                     0\n  wide_macs:                                0\n  acl:                                      1\n  usrquota:                                 0\n  grpquota:                                 0\n  prjquota:                                 0\n  journal_flush_delay:                      1000\n  journal_flush_disabled:                   0\n  journal_reclaim_delay:                    100\n  journal_transaction_names:                1\n  version_upgrade:                          &#x5B;compatible] incompatible none \n  nocow:                                    0\n\nmembers_v2 (size 144):\nDevice:                                     0\n  Label:                                    (none)\n  UUID:                                     bb28c803-621a-4007-af13-a9218808de8f\n  Size:                                     4.00 GiB\n  read errors:                              0\n  write errors:                             0\n  checksum errors:                          0\n  seqread iops:                             0\n  seqwrite iops:                            0\n  randread iops:                            0\n  randwrite iops:                           0\n  Bucket size:                              256 KiB\n  First bucket:                             0\n  Buckets:                                  16384\n  Last mount:                               (never)\n  Last superblock write:                    0\n  State:                                    rw\n  Data allowed:                             journal,btree,user\n  Has data:                                 (none)\n  Durability:                               1\n  Discard:                                  0\n  Freespace initialized:                    0\nmounting version 1.6: btree_subvolume_children\ninitializing new filesystem\ngoing read-write\ninitializing freespace\n<\/pre><\/div>\n\n\n<p>This is already ready to mount and we have our first bcachfs file system:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; highlight: [1,2,3]; title: ; notranslate\" title=\"\">\ntumbleweed:~ $ mkdir \/mnt\/dummy\ntumbleweed:~ $ mount \/dev\/vdb \/mnt\/dummy\ntumbleweed:~ $ df -h | grep dummy\n\/dev\/vdb        3.7G  2.0M  3.6G   1% \/mnt\/dummy\n<\/pre><\/div>\n\n\n<p>If you need encryption, this is supported as well and obviously is asking you for a passphrase when you format the device:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; highlight: [1,2]; title: ; notranslate\" title=\"\">\ntumbleweed:~ $ umount \/mnt\/dummy\ntumbleweed:~ $ bcachefs format --encrypted --force \/dev\/vdb\nEnter passphrase: \nEnter same passphrase again: \n\/dev\/vdb contains a bcachefs filesystem\nExternal UUID:                              aa0a4742-46ed-4228-a590-62b8e2de7633\nInternal UUID:                              800b2306-3900-47fb-9a42-2f7e75baec99\nMagic number:                               c68573f6-66ce-90a9-d96a-60cf803df7ef\nDevice index:                               0\nLabel:                                      \nVersion:                                    1.4: member_seq\nVersion upgrade complete:                   0.0: (unknown version)\nOldest version on disk:                     1.4: member_seq\nCreated:                                    Wed Apr 17 10:46:06 2024\nSequence number:                            0\nTime of last write:                         Thu Jan  1 01:00:00 1970\nSuperblock size:                            1.00 KiB\/1.00 MiB\nClean:                                      0\nDevices:                                    1\nSections:                                   members_v1,crypt,members_v2\nFeatures:                                   \nCompat features:                            \n\nOptions:\n  block_size:                               512 B\n  btree_node_size:                          256 KiB\n  errors:                                   continue &#x5B;ro] panic \n  metadata_replicas:                        1\n  data_replicas:                            1\n  metadata_replicas_required:               1\n  data_replicas_required:                   1\n  encoded_extent_max:                       64.0 KiB\n  metadata_checksum:                        none &#x5B;crc32c] crc64 xxhash \n  data_checksum:                            none &#x5B;crc32c] crc64 xxhash \n  compression:                              none\n  background_compression:                   none\n  str_hash:                                 crc32c crc64 &#x5B;siphash] \n  metadata_target:                          none\n  foreground_target:                        none\n  background_target:                        none\n  promote_target:                           none\n  erasure_code:                             0\n  inodes_32bit:                             1\n  shard_inode_numbers:                      1\n  inodes_use_key_cache:                     1\n  gc_reserve_percent:                       8\n  gc_reserve_bytes:                         0 B\n  root_reserve_percent:                     0\n  wide_macs:                                0\n  acl:                                      1\n  usrquota:                                 0\n  grpquota:                                 0\n  prjquota:                                 0\n  journal_flush_delay:                      1000\n  journal_flush_disabled:                   0\n  journal_reclaim_delay:                    100\n  journal_transaction_names:                1\n  version_upgrade:                          &#x5B;compatible] incompatible none \n  nocow:                                    0\n\nmembers_v2 (size 144):\nDevice:                                     0\n  Label:                                    (none)\n  UUID:                                     60de61d2-391b-4605-b0da-5f593b7c703f\n  Size:                                     4.00 GiB\n  read errors:                              0\n  write errors:                             0\n  checksum errors:                          0\n  seqread iops:                             0\n  seqwrite iops:                            0\n  randread iops:                            0\n  randwrite iops:                           0\n  Bucket size:                              256 KiB\n  First bucket:                             0\n  Buckets:                                  16384\n  Last mount:                               (never)\n  Last superblock write:                    0\n  State:                                    rw\n  Data allowed:                             journal,btree,user\n  Has data:                                 (none)\n  Durability:                               1\n  Discard:                                  0\n  Freespace initialized:                    0\n<\/pre><\/div>\n\n\n<p>To mount this you&#8217;ll need to specify the passphrase given above or it will fail:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; highlight: [1,4,6,8]; title: ; notranslate\" title=\"\">\ntumbleweed:~ $ mount \/dev\/vdb \/mnt\/dummy\/\nEnter passphrase: \nERROR - bcachefs::commands::cmd_mount: Fatal error: failed to verify the password\ntumbleweed:~ $ mount \/dev\/vdb \/mnt\/dummy\/\nEnter passphrase: \ntumbleweed:~ $ df -h | grep dummy\n\/dev\/vdb        3.7G  2.0M  3.6G   1% \/mnt\/dummy\ntumbleweed:~ $ umount \/mnt\/dummy\n<\/pre><\/div>\n\n\n<p>Beside encryption you may also use compression (supported are gzip, lz4 and zstd), e.g.:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; highlight: [1,81,82]; title: ; notranslate\" title=\"\">\ntumbleweed:~ $ bcachefs format --compression=lz4 --force \/dev\/vdb\n\/dev\/vdb contains a bcachefs filesystem\nExternal UUID:                              1ebcfe14-7d6a-43b1-8d48-47bcef0e7021\nInternal UUID:                              5117240c-95f1-4c2a-bed4-afb4c4fbb83c\nMagic number:                               c68573f6-66ce-90a9-d96a-60cf803df7ef\nDevice index:                               0\nLabel:                                      \nVersion:                                    1.4: member_seq\nVersion upgrade complete:                   0.0: (unknown version)\nOldest version on disk:                     1.4: member_seq\nCreated:                                    Wed Apr 17 10:54:02 2024\nSequence number:                            0\nTime of last write:                         Thu Jan  1 01:00:00 1970\nSuperblock size:                            960 B\/1.00 MiB\nClean:                                      0\nDevices:                                    1\nSections:                                   members_v1,members_v2\nFeatures:                                   \nCompat features:                            \n\nOptions:\n  block_size:                               512 B\n  btree_node_size:                          256 KiB\n  errors:                                   continue &#x5B;ro] panic \n  metadata_replicas:                        1\n  data_replicas:                            1\n  metadata_replicas_required:               1\n  data_replicas_required:                   1\n  encoded_extent_max:                       64.0 KiB\n  metadata_checksum:                        none &#x5B;crc32c] crc64 xxhash \n  data_checksum:                            none &#x5B;crc32c] crc64 xxhash \n  compression:                              lz4\n  background_compression:                   none\n  str_hash:                                 crc32c crc64 &#x5B;siphash] \n  metadata_target:                          none\n  foreground_target:                        none\n  background_target:                        none\n  promote_target:                           none\n  erasure_code:                             0\n  inodes_32bit:                             1\n  shard_inode_numbers:                      1\n  inodes_use_key_cache:                     1\n  gc_reserve_percent:                       8\n  gc_reserve_bytes:                         0 B\n  root_reserve_percent:                     0\n  wide_macs:                                0\n  acl:                                      1\n  usrquota:                                 0\n  grpquota:                                 0\n  prjquota:                                 0\n  journal_flush_delay:                      1000\n  journal_flush_disabled:                   0\n  journal_reclaim_delay:                    100\n  journal_transaction_names:                1\n  version_upgrade:                          &#x5B;compatible] incompatible none \n  nocow:                                    0\n\nmembers_v2 (size 144):\nDevice:                                     0\n  Label:                                    (none)\n  UUID:                                     3bae44f0-3cd4-4418-8556-4342e74c22d1\n  Size:                                     4.00 GiB\n  read errors:                              0\n  write errors:                             0\n  checksum errors:                          0\n  seqread iops:                             0\n  seqwrite iops:                            0\n  randread iops:                            0\n  randwrite iops:                           0\n  Bucket size:                              256 KiB\n  First bucket:                             0\n  Buckets:                                  16384\n  Last mount:                               (never)\n  Last superblock write:                    0\n  State:                                    rw\n  Data allowed:                             journal,btree,user\n  Has data:                                 (none)\n  Durability:                               1\n  Discard:                                  0\n  Freespace initialized:                    0\ntumbleweed:~ $ mount \/dev\/vdb \/mnt\/dummy\/\ntumbleweed:~ $ df -h | grep dummy\n\/dev\/vdb        3.7G  2.0M  3.6G   1% \/mnt\/dummy\n<\/pre><\/div>\n\n\n<p>Meta data and data check sums are enabled by default:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; highlight: [1,2]; title: ; notranslate\" title=\"\">\ntumbleweed:~ $ bcachefs show-super -l \/dev\/vdb | grep -i check\n  metadata_checksum:                        none &#x5B;crc32c] crc64 xxhash \n  data_checksum:                            none &#x5B;crc32c] crc64 xxhash \n  checksum errors:                          0\n<\/pre><\/div>\n\n\n<p> That&#8217;s it for the very basics. In the next post we&#8217;ll look at multi device file systems.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>When Linux 6.7 (already end of life) was released some time ago another file system made it into the kernel: bcachefs. This is another copy on write file system like ZFS or Btrfs. The goal of this post is not to compare those in regards to features and performance, but just to give you the [&hellip;]<\/p>\n","protected":false},"author":29,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[229,198,42],"tags":[3339,73],"type_dbi":[],"class_list":["post-32624","post","type-post","status-publish","format-standard","hentry","category-database-administration-monitoring","category-database-management","category-operating-systems","tag-bcachefs","tag-linux"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.2 (Yoast SEO v27.2) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Another file system for Linux: bcachefs (1) - basics - dbi Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dbi-services.com\/blog\/another-file-system-for-linux-bcachefs-1-basics\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Another file system for Linux: bcachefs (1) - basics\" \/>\n<meta property=\"og:description\" content=\"When Linux 6.7 (already end of life) was released some time ago another file system made it into the kernel: bcachefs. This is another copy on write file system like ZFS or Btrfs. The goal of this post is not to compare those in regards to features and performance, but just to give you the [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/another-file-system-for-linux-bcachefs-1-basics\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2024-04-17T09:32:46+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-04-17T10:04:11+00:00\" \/>\n<meta name=\"author\" content=\"Daniel Westermann\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@westermanndanie\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Daniel Westermann\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/another-file-system-for-linux-bcachefs-1-basics\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/another-file-system-for-linux-bcachefs-1-basics\/\"},\"author\":{\"name\":\"Daniel Westermann\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66\"},\"headline\":\"Another file system for Linux: bcachefs (1) &#8211; basics\",\"datePublished\":\"2024-04-17T09:32:46+00:00\",\"dateModified\":\"2024-04-17T10:04:11+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/another-file-system-for-linux-bcachefs-1-basics\/\"},\"wordCount\":358,\"commentCount\":0,\"keywords\":[\"bcachefs\",\"Linux\"],\"articleSection\":[\"Database Administration &amp; Monitoring\",\"Database management\",\"Operating systems\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/another-file-system-for-linux-bcachefs-1-basics\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/another-file-system-for-linux-bcachefs-1-basics\/\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/another-file-system-for-linux-bcachefs-1-basics\/\",\"name\":\"Another file system for Linux: bcachefs (1) - basics - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\"},\"datePublished\":\"2024-04-17T09:32:46+00:00\",\"dateModified\":\"2024-04-17T10:04:11+00:00\",\"author\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/another-file-system-for-linux-bcachefs-1-basics\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/another-file-system-for-linux-bcachefs-1-basics\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/another-file-system-for-linux-bcachefs-1-basics\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/www.dbi-services.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Another file system for Linux: bcachefs (1) &#8211; basics\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/\",\"name\":\"dbi Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66\",\"name\":\"Daniel Westermann\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/31350ceeecb1dd8986339a29bf040d4cd3cd087d410deccd8f55234466d6c317?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/31350ceeecb1dd8986339a29bf040d4cd3cd087d410deccd8f55234466d6c317?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/31350ceeecb1dd8986339a29bf040d4cd3cd087d410deccd8f55234466d6c317?s=96&d=mm&r=g\",\"caption\":\"Daniel Westermann\"},\"description\":\"Daniel Westermann is Principal Consultant and Technology Leader Open Infrastructure at dbi services. He has more than 15 years of experience in management, engineering and optimization of databases and infrastructures, especially on Oracle and PostgreSQL. Since the beginning of his career, he has specialized in Oracle Technologies and is Oracle Certified Professional 12c and Oracle Certified Expert RAC\/GridInfra. Over time, Daniel has become increasingly interested in open source technologies, becoming \u201cTechnology Leader Open Infrastructure\u201d and PostgreSQL expert. \u00a0Based on community or EnterpriseDB tools, he develops and installs complex high available solutions with PostgreSQL. He is also a certified PostgreSQL Plus 9.0 Professional and a Postgres Advanced Server 9.4 Professional. He is a regular speaker at PostgreSQL conferences in Switzerland and Europe. Today Daniel is also supporting our customers on AWS services such as AWS RDS, database migrations into the cloud, EC2 and automated infrastructure management with AWS SSM (System Manager). He is a certified AWS Solutions Architect Professional. Prior to dbi services, Daniel was Management System Engineer at LC SYSTEMS-Engineering AG in Basel. Before that, he worked as Oracle Developper &amp;\u00a0Project Manager at Delta Energy Solutions AG in Basel (today Powel AG). Daniel holds a diploma in Business Informatics (DHBW, Germany). His branch-related experience mainly covers the pharma industry, the financial sector, energy, lottery and telecommunications.\",\"sameAs\":[\"https:\/\/x.com\/westermanndanie\"],\"url\":\"https:\/\/www.dbi-services.com\/blog\/author\/daniel-westermann\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Another file system for Linux: bcachefs (1) - basics - dbi Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.dbi-services.com\/blog\/another-file-system-for-linux-bcachefs-1-basics\/","og_locale":"en_US","og_type":"article","og_title":"Another file system for Linux: bcachefs (1) - basics","og_description":"When Linux 6.7 (already end of life) was released some time ago another file system made it into the kernel: bcachefs. This is another copy on write file system like ZFS or Btrfs. The goal of this post is not to compare those in regards to features and performance, but just to give you the [&hellip;]","og_url":"https:\/\/www.dbi-services.com\/blog\/another-file-system-for-linux-bcachefs-1-basics\/","og_site_name":"dbi Blog","article_published_time":"2024-04-17T09:32:46+00:00","article_modified_time":"2024-04-17T10:04:11+00:00","author":"Daniel Westermann","twitter_card":"summary_large_image","twitter_creator":"@westermanndanie","twitter_misc":{"Written by":"Daniel Westermann","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/another-file-system-for-linux-bcachefs-1-basics\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/another-file-system-for-linux-bcachefs-1-basics\/"},"author":{"name":"Daniel Westermann","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66"},"headline":"Another file system for Linux: bcachefs (1) &#8211; basics","datePublished":"2024-04-17T09:32:46+00:00","dateModified":"2024-04-17T10:04:11+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/another-file-system-for-linux-bcachefs-1-basics\/"},"wordCount":358,"commentCount":0,"keywords":["bcachefs","Linux"],"articleSection":["Database Administration &amp; Monitoring","Database management","Operating systems"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/another-file-system-for-linux-bcachefs-1-basics\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/another-file-system-for-linux-bcachefs-1-basics\/","url":"https:\/\/www.dbi-services.com\/blog\/another-file-system-for-linux-bcachefs-1-basics\/","name":"Another file system for Linux: bcachefs (1) - basics - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"datePublished":"2024-04-17T09:32:46+00:00","dateModified":"2024-04-17T10:04:11+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66"},"breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/another-file-system-for-linux-bcachefs-1-basics\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/another-file-system-for-linux-bcachefs-1-basics\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/another-file-system-for-linux-bcachefs-1-basics\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Another file system for Linux: bcachefs (1) &#8211; basics"}]},{"@type":"WebSite","@id":"https:\/\/www.dbi-services.com\/blog\/#website","url":"https:\/\/www.dbi-services.com\/blog\/","name":"dbi Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66","name":"Daniel Westermann","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/31350ceeecb1dd8986339a29bf040d4cd3cd087d410deccd8f55234466d6c317?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/31350ceeecb1dd8986339a29bf040d4cd3cd087d410deccd8f55234466d6c317?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/31350ceeecb1dd8986339a29bf040d4cd3cd087d410deccd8f55234466d6c317?s=96&d=mm&r=g","caption":"Daniel Westermann"},"description":"Daniel Westermann is Principal Consultant and Technology Leader Open Infrastructure at dbi services. He has more than 15 years of experience in management, engineering and optimization of databases and infrastructures, especially on Oracle and PostgreSQL. Since the beginning of his career, he has specialized in Oracle Technologies and is Oracle Certified Professional 12c and Oracle Certified Expert RAC\/GridInfra. Over time, Daniel has become increasingly interested in open source technologies, becoming \u201cTechnology Leader Open Infrastructure\u201d and PostgreSQL expert. \u00a0Based on community or EnterpriseDB tools, he develops and installs complex high available solutions with PostgreSQL. He is also a certified PostgreSQL Plus 9.0 Professional and a Postgres Advanced Server 9.4 Professional. He is a regular speaker at PostgreSQL conferences in Switzerland and Europe. Today Daniel is also supporting our customers on AWS services such as AWS RDS, database migrations into the cloud, EC2 and automated infrastructure management with AWS SSM (System Manager). He is a certified AWS Solutions Architect Professional. Prior to dbi services, Daniel was Management System Engineer at LC SYSTEMS-Engineering AG in Basel. Before that, he worked as Oracle Developper &amp;\u00a0Project Manager at Delta Energy Solutions AG in Basel (today Powel AG). Daniel holds a diploma in Business Informatics (DHBW, Germany). His branch-related experience mainly covers the pharma industry, the financial sector, energy, lottery and telecommunications.","sameAs":["https:\/\/x.com\/westermanndanie"],"url":"https:\/\/www.dbi-services.com\/blog\/author\/daniel-westermann\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/32624","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/users\/29"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/comments?post=32624"}],"version-history":[{"count":13,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/32624\/revisions"}],"predecessor-version":[{"id":32656,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/32624\/revisions\/32656"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=32624"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=32624"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=32624"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=32624"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}