{"id":2812,"date":"2017-11-28T12:27:34","date_gmt":"2017-11-28T11:27:34","guid":{"rendered":"https:\/\/kudzia.eu\/b\/?p=2812"},"modified":"2017-11-28T12:27:34","modified_gmt":"2017-11-28T11:27:34","slug":"btrfs-and-nfs-dont-play-nicely-together","status":"publish","type":"post","link":"https:\/\/kudzia.eu\/b\/2017\/11\/btrfs-and-nfs-dont-play-nicely-together\/","title":{"rendered":"btrfs and nfs dont play nicely together"},"content":{"rendered":"<p>i use <a href=\"https:\/\/github.com\/lamw\/ghettoVCB\">ghettoVCB<\/a> to take backups of vmware esxi 6.5 vms. data is copied to a nfs share hosted on Debian Linux. for over a year i used btrfs partition as an underlying datastore for the nfs share. and i just could not get it to work for backups which size larger than available RAM [ 64GB ] on the linux server. <\/p>\n<p>to get a good performance the nfs share has async attribute in \/etc\/exports. as long as i&#8217;ve used BTRFS and tried to make backups of VMs having total disk size > 100GB i observed this:<\/p>\n<ul>\n<li>prolonged period where the incoming network traffic was significantly exceeding available disk throughput. as long as VM was smaller than available memory &#8211; page cache accepted it quickly<\/li>\n<li>eventually data was flushed to the disk but at some point NFS could not accept more data at a fast rate &#8211; the network traffic would drop to nearly zero while data was being written to the disk<\/li>\n<li>with some luck the backup would finish, but quite often it would end up with NFS timeout on the vmware side<\/li>\n<\/ul>\n<p>i gave up on tweaking vm.vfs_cache_pressure, vm.min_free_kbytes, vm.dirty_ratio, vm.dirty_background_ratio, vm.dirty_expire_centisecs. instead i got back to ext4 for the partition hosting the nfs share, timeout issues are gone!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>i use ghettoVCB to take backups of vmware esxi 6.5 vms. data is copied to a nfs share hosted on Debian Linux. for over a year i used btrfs partition as an underlying datastore for the nfs share. and i just could not get it to work for backups which size larger than available RAM [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[17,51],"tags":[77,100,6],"class_list":["post-2812","post","type-post","status-publish","format-standard","hentry","category-tech","category-unimportant","tag-backups","tag-btrfs","tag-linux"],"_links":{"self":[{"href":"https:\/\/kudzia.eu\/b\/wp-json\/wp\/v2\/posts\/2812","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kudzia.eu\/b\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kudzia.eu\/b\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kudzia.eu\/b\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kudzia.eu\/b\/wp-json\/wp\/v2\/comments?post=2812"}],"version-history":[{"count":1,"href":"https:\/\/kudzia.eu\/b\/wp-json\/wp\/v2\/posts\/2812\/revisions"}],"predecessor-version":[{"id":2813,"href":"https:\/\/kudzia.eu\/b\/wp-json\/wp\/v2\/posts\/2812\/revisions\/2813"}],"wp:attachment":[{"href":"https:\/\/kudzia.eu\/b\/wp-json\/wp\/v2\/media?parent=2812"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kudzia.eu\/b\/wp-json\/wp\/v2\/categories?post=2812"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kudzia.eu\/b\/wp-json\/wp\/v2\/tags?post=2812"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}