{"id":82,"date":"2017-03-28T05:38:59","date_gmt":"2017-03-28T05:38:59","guid":{"rendered":"https:\/\/vmnet.us\/?page_id=82"},"modified":"2017-03-28T06:31:09","modified_gmt":"2017-03-28T06:31:09","slug":"vmhive","status":"publish","type":"page","link":"https:\/\/vmnet.us\/index.php\/vmhive\/","title":{"rendered":"VMHive"},"content":{"rendered":"<p>The &#8220;vmhive.com&#8221; domain is my personal hobby and project to build and maintain my own private &#8220;mini cloud&#8221; for the dual purpose of hosting my various Internet domains (including this one) as well as to act as a platform for my own experimentation. \u00a0It may also become the basis of a start-up company if I decide at some point to go that route.<\/p>\n<p>The site is built on a single Intel Core i7-6850K CPU with 6 cores and 12 threads, overclocked to 4GHZ. \u00a0It has 128 GB of RAM and 40 TB of storage. \u00a0It&#8217;s a pretty nice setup for a personal home-based &#8220;white box&#8221; server. \u00a0About half of the storage is dedicated to hosting rips of my movies and other media for my OpenElec\/Kodi home media servers. \u00a0The rest is available for setting up and tearing down experimental configurations of things like Ceph clusters, and various VM and Cloud technologies like OpenStack, ProxMox, VMWare, and so on.<\/p>\n<p>I&#8217;m currently running VMWare&#8217;s free ESXi 6.0 hypervisor on the bare metal. \u00a0Everything is virtualized except for the Comcast router and a 10 port Cisco smart switch configured for the several external VLANs. \u00a0The firewalls and even the storage subsystem are implemented as virtual machines. \u00a0Since VMWare doesn&#8217;t support the built-in RAID controller, I simply used PCI passthrough to pass the SATA HBA directly to a FreeNAS VM, which then manages the storage as a ZFS pool and exposes it via internal VMWare networking via iSCSI. \u00a0It took a little tweaking to ensure things boot up in the right order upon power failure or reboot, but it actually works quite well. \u00a0Performance is not completely optimal, but it&#8217;s quite good for a &#8220;home server&#8221; and is &#8220;good enough&#8221; for my purposes. \u00a0And it saved me having to spend another $1000 on my currently tight budget. \u00a0My firewalls are pfSense VMs \u00a0that act as both firewalls and routers between the virtual switches they are attached to. \u00a0Backups of VMs are easy. \u00a0I periodically export each VM to an OVA file and copy it to separate offline media. \u00a0I have a bunch of old hard drives that make perfect backup media.<\/p>\n<p>Why VMWare? \u00a0It&#8217;s simple, and unfortunate at the same time. \u00a0I originally tried to set up the server using ProxMox, but I need to be able to run &#8220;nested&#8221; hypervisors for my experimentation and research. \u00a0Unfortunately, VMWare in particular runs extremely poorly when nested under KVM on Linux. \u00a0It seems that Linux&#8217;s nested EPT support isn&#8217;t quite up to par with VMWare&#8217;s. \u00a0I&#8217;m perfectly able to run Linux KVM (i.e. ProxMox) and other hypervisors under VMWare with relatively small performance hit. \u00a0I can even run another ESX hypervisor under ESX. \u00a0So, for my purposes, ESXi has to run on the bare metal for now. \u00a0I have to admit, the VMWare hypervisor is a quite good product.<\/p>\n<p>Yes. \u00a0I realize that using only a single server would not be a wise choice if I were running a business critical cloud. \u00a0When and if I do decide to launch a start-up or consulting company, I&#8217;d certainly move my servers to a co-location service, or the public cloud. \u00a0At this point I&#8217;m still at the &#8220;garage&#8221; stage, so I must make some conscious trade-offs. \u00a0Obviously, the equipment cost is one consideration, but another is electric power, and yet another is noise. \u00a0As long as I&#8217;m making backups I can easily recover and rebuild my system within a week even if my entire server went up in flames. \u00a0Well unless my house also burns down, but then I&#8217;ll have more important problems to deal with. \u00a0\ud83d\ude42<\/p>\n<p>Internally, I run two Samba4 Active Directory domain controllers to both manage internal DNS and to manage user identities both for Linux hosts and my Windows desktop. \u00a0It works quite well in that it&#8217;s basically LDAP and using Active Directory Users and Computers as well as the Microsoft DNS manager, I&#8217;m able to easily manage. \u00a0NAS services are fed by an internal Linux VM (not the FreeNAS providing iSCSI directly from the HBA) and provide various shared storage volumes for things like development, media storage, etc.<\/p>\n<p>It really is a sweet setup. \u00a0I can easily launch a full VMWare or OpenStack deployment including a full Ceph cluster entirely within a single physical machine and it actually runs at a slower but still quite usable performance level. \u00a0It&#8217;s ideal for experimentation, testing and development. \u00a0With VMWare&#8217;s VM snapshot feature it&#8217;s perfect for setting up a repeatable test environment. \u00a0It&#8217;s definitely a far cry from when I had to constantly be reinstalling bare metal in the lab back in my start-up days in the 90s. \u00a0I definitely don&#8217;t miss that.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The &#8220;vmhive.com&#8221; domain is my personal hobby and project to build and maintain my own private &#8220;mini cloud&#8221; for the dual purpose of hosting my various Internet domains (including this&#8230; <a href=\"https:\/\/vmnet.us\/index.php\/vmhive\/\">Read more &raquo;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-82","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/vmnet.us\/index.php\/wp-json\/wp\/v2\/pages\/82"}],"collection":[{"href":"https:\/\/vmnet.us\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/vmnet.us\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/vmnet.us\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/vmnet.us\/index.php\/wp-json\/wp\/v2\/comments?post=82"}],"version-history":[{"count":4,"href":"https:\/\/vmnet.us\/index.php\/wp-json\/wp\/v2\/pages\/82\/revisions"}],"predecessor-version":[{"id":88,"href":"https:\/\/vmnet.us\/index.php\/wp-json\/wp\/v2\/pages\/82\/revisions\/88"}],"wp:attachment":[{"href":"https:\/\/vmnet.us\/index.php\/wp-json\/wp\/v2\/media?parent=82"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}