{"id":4798,"date":"2020-08-04T16:19:52","date_gmt":"2020-08-04T21:19:52","guid":{"rendered":"http:\/\/icesquare.com\/wordpress\/?p=4798"},"modified":"2020-08-04T16:30:16","modified_gmt":"2020-08-04T21:30:16","slug":"vmvirtual-machine-file-vs-shared-folder-performance","status":"publish","type":"post","link":"https:\/\/icesquare.com\/wordpress\/vmvirtual-machine-file-vs-shared-folder-performance\/","title":{"rendered":"[VM]Virtual Machine &#8211; File vs Shared Folder &#8211; Performance"},"content":{"rendered":"<p>I decide to move my Windows 10 system from a physical environment to a Linux based virtual environment. I am curious about what is the I\/O performance difference between VM image and Shared Folder. The reason why I prefer putting the data at Linux level because I can rsync the data to a different server easily. So far this is what I&#8217;ve set up:<\/p>\n<ul>\n<li>An i7 computer with CentOS 7 installed.<\/li>\n<li>The OS lives on a SSD drive.<\/li>\n<li>I used three 4k sectors HDDs to build a RAIDZ1 ZFS. Here are the parameters: ashift=12; compression=lz4; atime=off; redundant_metadata=most; xattr=sa; recordsize=16k<\/li>\n<li>Virtual Box v6.2<\/li>\n<li>Windows 10 was created within Virtual Box using default parameters, including dynamic VDI disk. If you really want to get the best performance, I recommend using a pre-allocated disk. However it comes with a price tag: you are going to use more disk space from your host, which you guest system may or may not use them at all. In my case, dynamic is good enough.<\/li>\n<\/ul>\n<p>There are three tests I want to measure:<\/p>\n<ul>\n<li>1.) Windows 10 is hosted on ZFS (recordsize=16k), and write the data within the VM image file.<\/li>\n<li>2.) Windows 10 is hosted on SSD, and write the data within the VM image file.<\/li>\n<li>3.) Write the data using the VirtualBox Shared Folder feature.<\/li>\n<\/ul>\n<p>I used ATTO Disk Benchmark to test the IO within Windows 10. Based on my tests, of course the the SSD gives the best performance, but difference between SSD and HDD based ZFS are not that big. I guess the ZFS team must have done a lot of magical work to *simulate* the SSD performance out of low cost ordinary disks. In terms of data storage, writing data within VM image performs worse than writing data via VirtualBox Shared Folder (i.e., back to HDD based ZFS), which I am not surprise. That&#8217;s because when you write the data within the VM image, you are asking the VM to write the data within the file first, then the VM is updating the data back to the disk. There are two steps here.<\/p>\n<p>Here are the screen captures from the program. Noticed that the scale of the charts are not the same. So please compare the tests using numbers only.<\/p>\n<p>Test #1: Windows 10 is hosted on ZFS (recordsize=16k), and write the data within the VM image file.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"4801\" data-permalink=\"https:\/\/icesquare.com\/wordpress\/vmvirtual-machine-file-vs-shared-folder-performance\/windows10-on-zfs-wrote-on-file-on-zfs\/#main\" data-orig-file=\"https:\/\/icesquare.com\/wordpress\/wp-content\/uploads\/2020\/08\/Windows10-on-ZFS-Wrote-on-File-on-ZFS.png\" data-orig-size=\"530,639\" data-comments-opened=\"1\" data-image-title=\"Windows10 on ZFS, Wrote on File on ZFS\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/icesquare.com\/wordpress\/wp-content\/uploads\/2020\/08\/Windows10-on-ZFS-Wrote-on-File-on-ZFS.png\" src=\"\/wordpress\/wp-content\/uploads\/2020\/08\/Windows10-on-ZFS-Wrote-on-File-on-ZFS.png\" alt=\"\" width=\"530\" height=\"639\" class=\"aligncenter size-full wp-image-4801\" srcset=\"https:\/\/icesquare.com\/wordpress\/wp-content\/uploads\/2020\/08\/Windows10-on-ZFS-Wrote-on-File-on-ZFS.png 530w, https:\/\/icesquare.com\/wordpress\/wp-content\/uploads\/2020\/08\/Windows10-on-ZFS-Wrote-on-File-on-ZFS-249x300.png 249w\" sizes=\"auto, (max-width: 530px) 100vw, 530px\" \/><\/p>\n<hr \/>\n<p>Test #2: Windows 10 is hosted on SSD, and write the data within the VM image file.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"4800\" data-permalink=\"https:\/\/icesquare.com\/wordpress\/vmvirtual-machine-file-vs-shared-folder-performance\/windows10-on-zfs-wrote-on-file-on-ssd\/#main\" data-orig-file=\"https:\/\/icesquare.com\/wordpress\/wp-content\/uploads\/2020\/08\/Windows10-on-ZFS-Wrote-on-File-on-SSD.png\" data-orig-size=\"530,639\" data-comments-opened=\"1\" data-image-title=\"Windows10 on ZFS, Wrote on File on SSD\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/icesquare.com\/wordpress\/wp-content\/uploads\/2020\/08\/Windows10-on-ZFS-Wrote-on-File-on-SSD.png\" src=\"\/wordpress\/wp-content\/uploads\/2020\/08\/Windows10-on-ZFS-Wrote-on-File-on-SSD.png\" alt=\"\" width=\"530\" height=\"639\" class=\"aligncenter size-full wp-image-4800\" srcset=\"https:\/\/icesquare.com\/wordpress\/wp-content\/uploads\/2020\/08\/Windows10-on-ZFS-Wrote-on-File-on-SSD.png 530w, https:\/\/icesquare.com\/wordpress\/wp-content\/uploads\/2020\/08\/Windows10-on-ZFS-Wrote-on-File-on-SSD-249x300.png 249w\" sizes=\"auto, (max-width: 530px) 100vw, 530px\" \/><\/p>\n<hr \/>\n<p>Test #3: Write the data using the VirtualBox Shared Folder feature.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"4802\" data-permalink=\"https:\/\/icesquare.com\/wordpress\/vmvirtual-machine-file-vs-shared-folder-performance\/windows10-on-zfs-wrote-on-shared-drive-on-zfs\/#main\" data-orig-file=\"https:\/\/icesquare.com\/wordpress\/wp-content\/uploads\/2020\/08\/Windows10-on-ZFS-Wrote-on-Shared-Drive-on-ZFS.png\" data-orig-size=\"530,639\" data-comments-opened=\"1\" data-image-title=\"Windows10 on ZFS, Wrote on Shared Drive on ZFS\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/icesquare.com\/wordpress\/wp-content\/uploads\/2020\/08\/Windows10-on-ZFS-Wrote-on-Shared-Drive-on-ZFS.png\" src=\"\/wordpress\/wp-content\/uploads\/2020\/08\/Windows10-on-ZFS-Wrote-on-Shared-Drive-on-ZFS.png\" alt=\"\" width=\"530\" height=\"639\" class=\"aligncenter size-full wp-image-4802\" srcset=\"https:\/\/icesquare.com\/wordpress\/wp-content\/uploads\/2020\/08\/Windows10-on-ZFS-Wrote-on-Shared-Drive-on-ZFS.png 530w, https:\/\/icesquare.com\/wordpress\/wp-content\/uploads\/2020\/08\/Windows10-on-ZFS-Wrote-on-Shared-Drive-on-ZFS-249x300.png 249w\" sizes=\"auto, (max-width: 530px) 100vw, 530px\" \/><\/p>\n<p>Hope it helps.<\/p>\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>I decide to move my Windows 10 system from a physical environment to a Linux based virtual environment. I am curious about what is the I\/O performance difference between VM <a class=\"more-link\" href=\"https:\/\/icesquare.com\/wordpress\/vmvirtual-machine-file-vs-shared-folder-performance\/\">Continue Reading &rarr;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_hide_featured_image":false,"_jetpack_featured_image_duplicate_dismissed":0,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[6,109],"tags":[180,177],"class_list":["post-4798","post","type-post","status-publish","format-standard","hentry","category-technology","category-zfs","tag-vm","tag-zfs"],"jetpack_publicize_connections":[],"jetpack_shortlink":"https:\/\/wp.me\/p1sqzr-1fo","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":1380,"url":"https:\/\/icesquare.com\/wordpress\/how-to-improve-zfs-performance\/","url_meta":{"origin":4798,"position":0},"title":"How to Improve ZFS performance","author":"Derrick","date":"August 24, 2014","format":false,"excerpt":"First Edition: March 14, 2010 Last Edited: January 10, 2026 \u00a0 In this tutorial, I will show you how to improve the performance of your ZFS using the affordable consumer-grade hardware (e.g., Gigabit network card, standard SATA non-SSD hard drives, consumer-grade motherboard etc.). Many people found a problem on their\u2026","rel":"","context":"In &quot;Computer Problems&quot;","block_context":{"text":"Computer Problems","link":"https:\/\/icesquare.com\/wordpress\/category\/technology\/computer-problems-computer-help-pc-support\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/icesquare.com\/wordpress\/wp-content\/uploads\/2011\/01\/zfs_logo.jpg?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":4286,"url":"https:\/\/icesquare.com\/wordpress\/how-to-install-zfs-on-rhel-centos-7\/","url_meta":{"origin":4798,"position":1},"title":"How to install ZFS on RHEL \/ CentOS 7","author":"Derrick","date":"January 4, 2017","format":false,"excerpt":"A friend of mine likes to try ZFS on CentOS 7, therefore I decide to make a guide for him. The following instructions have been well tested on CentOS 7. Before you decide to put ZFS in a production use, you should be aware of the following: ZFS is originally\u2026","rel":"","context":"In &quot;Everyday Computer Problem&quot;","block_context":{"text":"Everyday Computer Problem","link":"https:\/\/icesquare.com\/wordpress\/category\/everyday-computer-problem\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/icesquare.com\/wordpress\/wp-content\/uploads\/2011\/01\/zfs_logo.jpg?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":3914,"url":"https:\/\/icesquare.com\/wordpress\/zfs-linux-vs-freebsd\/","url_meta":{"origin":4798,"position":2},"title":"Running ZFS on Linux: Things you should know and be aware of","author":"Derrick","date":"February 29, 2016","format":false,"excerpt":"First Published: Feb 29, 2016 Last Revised: January 10, 2026 ZFS is a next-generation file system renowned for its reliability and advanced features. However, due to legal and licensing issues, it is not included by default in most Linux distributions. Fortunately, you can still install (ZFS on Linux) with just\u2026","rel":"","context":"In &quot;Computer Problems&quot;","block_context":{"text":"Computer Problems","link":"https:\/\/icesquare.com\/wordpress\/category\/technology\/computer-problems-computer-help-pc-support\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":4630,"url":"https:\/\/icesquare.com\/wordpress\/zfs-how-to-update-linux-kernel-without-reboot\/","url_meta":{"origin":4798,"position":3},"title":"[ZFS On Linux]How to Update Linux Kernel without Rebooting the System","author":"Derrick","date":"January 3, 2020","format":false,"excerpt":"As of Jan 2020, I manage 65 Linux + ZFS servers. Normally, I prefer to reboot each server after updating its kernel (according to Ret Hat, most updates are related to security fix). Without ZFS, it is not a big issue because rebooting a basic Linux server takes about 30\u2026","rel":"","context":"In &quot;Computer Problems&quot;","block_context":{"text":"Computer Problems","link":"https:\/\/icesquare.com\/wordpress\/category\/technology\/computer-problems-computer-help-pc-support\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1214,"url":"https:\/\/icesquare.com\/wordpress\/building-a-super-large-and-reliable-file-server-with-mixed-size-of-harddisks\/","url_meta":{"origin":4798,"position":4},"title":"Building a Super Large and Reliable File Server with Mixed Size of Harddisks","author":"Derrick","date":"January 17, 2011","format":false,"excerpt":"In this article, I am going to show you how to build a super large, ultra reliable, expandable file server with mixed size of hard drives. Here is my criteria: Large Storage Capacity. At this moment, the largest hard drive is 2TB. I am looking for at least 10TB. Great\u2026","rel":"","context":"In &quot;Computer Problems&quot;","block_context":{"text":"Computer Problems","link":"https:\/\/icesquare.com\/wordpress\/category\/technology\/computer-problems-computer-help-pc-support\/"},"img":{"alt_text":"","src":"\/wordpress\/wp-content\/uploads\/2011\/01\/zfs_logo-150x150.jpg","width":350,"height":200},"classes":[]},{"id":4679,"url":"https:\/\/icesquare.com\/wordpress\/zfs-on-linux-trouble-this-pool-uses-the-following-features-not-supported-by-this-system-all-unsupported-features-are-only-required-for-writing-to-the-pool\/","url_meta":{"origin":4798,"position":5},"title":"[ZFS On Linux Trouble] This pool uses the following feature(s) not supported by this system&#8230;All unsupported features are only required for writing to the pool, zpool create: invalid argument for this pool operation","author":"Derrick","date":"February 11, 2020","format":false,"excerpt":"When I rebooted my computer and loaded my ZFS pool today, I got this error message: #sudo zpool import -a This pool uses the following feature(s) not supported by this system: org.zfsonlinux:project_quota (space\/object accounting based on project ID.) com.delphix:spacemap_v2 (Space maps representing large segments are more efficient.) All unsupported features\u2026","rel":"","context":"In &quot;Technology&quot;","block_context":{"text":"Technology","link":"https:\/\/icesquare.com\/wordpress\/category\/technology\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/icesquare.com\/wordpress\/wp-json\/wp\/v2\/posts\/4798","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/icesquare.com\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/icesquare.com\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/icesquare.com\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/icesquare.com\/wordpress\/wp-json\/wp\/v2\/comments?post=4798"}],"version-history":[{"count":11,"href":"https:\/\/icesquare.com\/wordpress\/wp-json\/wp\/v2\/posts\/4798\/revisions"}],"predecessor-version":[{"id":4812,"href":"https:\/\/icesquare.com\/wordpress\/wp-json\/wp\/v2\/posts\/4798\/revisions\/4812"}],"wp:attachment":[{"href":"https:\/\/icesquare.com\/wordpress\/wp-json\/wp\/v2\/media?parent=4798"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/icesquare.com\/wordpress\/wp-json\/wp\/v2\/categories?post=4798"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/icesquare.com\/wordpress\/wp-json\/wp\/v2\/tags?post=4798"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}