<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Virtualization &#8211; Giovanni F. Mazzeo De Santolo</title>
	<atom:link href="https://desantolo.com/category/virtualization/feed/" rel="self" type="application/rss+xml" />
	<link>https://desantolo.com</link>
	<description>That italian IT guy</description>
	<lastBuildDate>Sun, 20 Jun 2021 03:51:32 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.2</generator>
<site xmlns="com-wordpress:feed-additions:1">123042357</site>	<item>
		<title>Finding the cheapest Virtual Private Server (VPS) providers (</title>
		<link>https://desantolo.com/2021/04/finding-the-cheapest-virtual-private-server-vps-providers/</link>
					<comments>https://desantolo.com/2021/04/finding-the-cheapest-virtual-private-server-vps-providers/#respond</comments>
		
		<dc:creator><![CDATA[Giovanni]]></dc:creator>
		<pubDate>Sun, 11 Apr 2021 21:36:21 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Guides]]></category>
		<category><![CDATA[Virtualization]]></category>
		<category><![CDATA[deals]]></category>
		<category><![CDATA[virtual server]]></category>
		<guid isPermaLink="false">https://desantolo.com/?p=622</guid>

					<description><![CDATA[Sometimes we want to test software or do remote monitoring and testing that you may not want to pay a premium to do, or maybe you just want to do it as a hobby. In this post I will share &#8230; <a href="https://desantolo.com/2021/04/finding-the-cheapest-virtual-private-server-vps-providers/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[
<p>Sometimes we want to test software or do remote monitoring and testing that you may not want to pay a premium to do, or maybe you just want to do it as a hobby. In this post I will share some tips on where to find dirt-cheap providers of virtual servers (VPS). </p>



<p><strong>I strongly advise against placing any production or critical workflows on any of these; use for testing or fun</strong>.</p>



<span id="more-622"></span>



<h2 class="wp-block-heading">A note on production workflows</h2>



<p>Anything that you depend on being reliable should always be hosted at a reputable hosting provider. Most of the dirt cheap providers you will find in any of the resources or websites I am sharing with you may most likely not stay in business for long. </p>



<p>For business or critical use VPS you can choose any of the big dogs: Amazon AWS, Microsoft Azure, Google Cloud (GCP). They all have its positives and negatives. This article does not focus on these.</p>



<h2 class="wp-block-heading">Aggregators / Deals lists websites</h2>



<p>The following websites seem to aggregate deals found in multiple web forums. You should start here to see the average prices for specific features (RAM, disk space, bandwidth, IPv4 allocation, etc). Note that most aggregators make a commission on your purchases (I do not but <a href="https://www.buymeacoffee.com/thelinuxguy" data-type="URL" data-id="https://www.buymeacoffee.com/thelinuxguy">you can buy </a><a href="https://www.buymeacoffee.com/thelinuxguy" data-type="URL" data-id="https://www.buymeacoffee.com/thelinuxguy" target="_blank" rel="noreferrer noopener">me</a><a href="https://www.buymeacoffee.com/thelinuxguy" data-type="URL" data-id="https://www.buymeacoffee.com/thelinuxguy"> a beer</a>)</p>



<div class="wp-block-jetpack-markdown"><ol>
<li>VPS Checker</li>
</ol>
<p>This <a href="https://vpschecker.com">site</a> lets you filter by features, recurring cost, country and features.</p>
<ol start="2">
<li>LowEndStock (deals page)</li>
</ol>
<p>This page <a href="http://lowendstock.com/deals/">list dirt-cheap specials</a> that may not be publicly know or posted on a providers website.</p>
<ol start="3">
<li>LowEndStock (providers list / mainpage)</li>
</ol>
<p>Same as the first option but a <a href="http://lowendstock.com">different aggregator</a> website.</p>
<ol start="4">
<li>VNCoupon</li>
</ol>
<p>A <a href="https://vncoupon.com">blog that reposts</a> affiliate links to existing offers found or posted elsewhere.</p>
</div>



<h2 class="wp-block-heading">Forums</h2>



<p>These are some online communities dedicated to dirt-cheap VPS and hosting. Good for limited time / quantity deals, and researching providers reviews.</p>



<div class="wp-block-jetpack-markdown"><ol>
<li>LowEndTalk</li>
</ol>
<p>I would <a href="https://www.lowendtalk.com">start here</a> on their forums. They also have a separate website with blog like articles called <a href="https://lowendbox.com">LowEndBox.com</a>.</p>
</div>



<p></p>
]]></content:encoded>
					
					<wfw:commentRss>https://desantolo.com/2021/04/finding-the-cheapest-virtual-private-server-vps-providers/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">622</post-id>	</item>
		<item>
		<title>How to setup dual-stack IPv4 IPv6 Azure VM without a load-balancer</title>
		<link>https://desantolo.com/2021/04/how-to-setup-dual-stack-ipv4-ipv6-azure-vm-without-a-load-balancer/</link>
					<comments>https://desantolo.com/2021/04/how-to-setup-dual-stack-ipv4-ipv6-azure-vm-without-a-load-balancer/#respond</comments>
		
		<dc:creator><![CDATA[Giovanni]]></dc:creator>
		<pubDate>Sun, 11 Apr 2021 20:32:31 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Troubleshooting]]></category>
		<category><![CDATA[Virtualization]]></category>
		<category><![CDATA[azure]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[dual stack]]></category>
		<category><![CDATA[ipv6]]></category>
		<category><![CDATA[networking]]></category>
		<category><![CDATA[virtual server]]></category>
		<category><![CDATA[virtualization]]></category>
		<category><![CDATA[vm]]></category>
		<category><![CDATA[vmnet]]></category>
		<guid isPermaLink="false">https://desantolo.com/?p=616</guid>

					<description><![CDATA[I wanted to document my Microsoft Azure saga in getting a public IPv6 address to work in a virtual machine without a load balancer in front of it. My needs were pretty simple and straightforward I wanted a virtual server &#8230; <a href="https://desantolo.com/2021/04/how-to-setup-dual-stack-ipv4-ipv6-azure-vm-without-a-load-balancer/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[
<p>I wanted to document my Microsoft Azure saga in getting a public IPv6 address to work in a virtual machine without a load balancer in front of it. My needs were pretty simple and straightforward <strong>I wanted a virtual server that had a static IPv4 and IPv6 public addresses</strong> so that I can monitor my home network and other websites. </p>



<p>You would think this would be pretty easy, a few clicks and done? That wasn&#8217;t my experience on Azure and setting this up isn&#8217;t easy nor straightforward. Below is how to get it done, if this helps you &#8211; you can <a rel="noreferrer noopener" href="https://www.buymeacoffee.com/thelinuxguy" target="_blank">buy me a coffee or beer</a>.</p>



<span id="more-616"></span>



<div class="wp-block-jetpack-markdown"><h3>What Microsoft documentation said</h3>
<p>You can use public IPv6 address on a load balancer which needs to be a separate paid server/product in front of your servers. This isn&#8217;t what I was looking &#8211; I complained about it on github with screenshots <a href="https://github.com/MicrosoftDocs/azure-docs/issues/69167">issue #69167</a>.</p>
<p><strong>Disclaimer:</strong> I have no expertise on Microsoft Azure prior to this (I currently work at Google and GCP is what we do). I chose to use Azure for my hobby/playground primarily because I get $50 a month free credit with my MSDN subscription.</p>
<h3>My hacky (undocumented) way of getting it set up</h3>
<ol>
<li>Create a new Virtual Machine</li>
</ol>
<p>Use <a href="http://portal.azure.com/">portal.azure.com</a> &#8211; I am not going to go in depth here but I will call out the items you need to make sure to enable or change at setup.</p>
<p><strong>Do pay attention to these when creating VM</strong>:</p>
<ul>
<li>Use &quot;create a resource&quot; select &quot;Ubuntu Server 18.04 LTS&quot; and should default to virtual server.</li>
<li>Make sure to select &#8216;create new resource group&#8217; to bundle everything of this server together.</li>
<li>Disable default &#8216;scheduled shutdown&#8217;</li>
</ul>
<p>Deploy it. Go back to the newly created resource group.</p>
<ol start="2">
<li>Edit Virtual Network to add IPv6 (address space)</li>
</ol>
<p>You should see only IPv4 listed here. Like 10.0.0.0/24 &#8211; add IPv6.</p>
<p>Input: <strong>ace:cab:deca::/48</strong></p>
<p>Hit save.</p>
<ol start="3">
<li>Edit Virtual Network to add IPv6 (subnets)</li>
</ol>
<p>You should see <strong>default</strong> click it. On the right dialog that opens click <strong>Add IPv6 address space</strong></p>
<p>Input: <strong>ace:cab:deca::/64</strong></p>
<p>Make sure to select a network Security Group. (whatever the name you gave it). Save.</p>
<ol start="4">
<li>Create a dual-stack IPv4 and IPv6 public address</li>
</ol>
<p>Search Azure for <strong>Public IP addresses</strong> create one.</p>
<p><strong>Pay attention at creation</strong>:</p>
<ul>
<li>Select IP version <strong>both</strong></li>
<li>Select SKU <strong>standard</strong></li>
<li><strong>Ensure you associate it to your VM resource group and zone otherwise it won&#8217;t work</strong></li>
</ul>
<ol start="5">
<li>Stop virtual machine.</li>
</ol>
<p>Self explanatory, or during step 1 make sure to ensure it won&#8217;t be auto started.</p>
<ol start="6">
<li>Associate the new NIC and delete the old NIC from the VM</li>
</ol>
<p>With the VM shutdown, networking settings &gt; &quot;Attach network interface&quot; menu. Select create and attach network interface.</p>
<p>At <strong>NIC create</strong>:</p>
<ul>
<li>NIC security group select NONE.</li>
<li>Select Private IPv6 address. Give it a name &quot;v6&quot; for me.</li>
</ul>
<p>Detach the old NIC and delete from resource group (self-explanatory).</p>
<ol start="8">
<li>Associate the public IPv6 and IPv6 to the network interface</li>
</ol>
<p>Go to the new NIC we created and associated, &quot;IP configuration&quot; menu.</p>
<p>You should see &#8216;ipconfig1&#8217; is IPv4 and &quot;v6&quot; is secondary with our local IPv6 we gave on step 2.</p>
<p><strong>Associate IPv4 public address by clicking ipconfig1</strong> a new menu with a drop-down box and the new IPv4 (dual-stack) shows up. Select and save.</p>
<p><strong>Associate IPv6 public address</strong> same as above. You should end up with something like this</p>
</div>



<figure class="wp-block-image size-large"><a href="https://i0.wp.com/desantolo.com/wp-content/uploads/2021/04/2021-04-11_16-24-18.png?ssl=1"><img data-recalc-dims="1" fetchpriority="high" decoding="async" width="500" height="382" data-attachment-id="618" data-permalink="https://desantolo.com/2021/04/how-to-setup-dual-stack-ipv4-ipv6-azure-vm-without-a-load-balancer/2021-04-11_16-24-18/" data-orig-file="https://i0.wp.com/desantolo.com/wp-content/uploads/2021/04/2021-04-11_16-24-18.png?fit=1179%2C901&amp;ssl=1" data-orig-size="1179,901" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="2021-04-11_16-24-18" data-image-description="" data-image-caption="" data-medium-file="https://i0.wp.com/desantolo.com/wp-content/uploads/2021/04/2021-04-11_16-24-18.png?fit=300%2C229&amp;ssl=1" data-large-file="https://i0.wp.com/desantolo.com/wp-content/uploads/2021/04/2021-04-11_16-24-18.png?fit=500%2C382&amp;ssl=1" src="https://i0.wp.com/desantolo.com/wp-content/uploads/2021/04/2021-04-11_16-24-18.png?resize=500%2C382&#038;ssl=1" alt="" class="wp-image-618" srcset="https://i0.wp.com/desantolo.com/wp-content/uploads/2021/04/2021-04-11_16-24-18.png?resize=1024%2C783&amp;ssl=1 1024w, https://i0.wp.com/desantolo.com/wp-content/uploads/2021/04/2021-04-11_16-24-18.png?resize=300%2C229&amp;ssl=1 300w, https://i0.wp.com/desantolo.com/wp-content/uploads/2021/04/2021-04-11_16-24-18.png?resize=768%2C587&amp;ssl=1 768w, https://i0.wp.com/desantolo.com/wp-content/uploads/2021/04/2021-04-11_16-24-18.png?resize=800%2C611&amp;ssl=1 800w, https://i0.wp.com/desantolo.com/wp-content/uploads/2021/04/2021-04-11_16-24-18.png?w=1179&amp;ssl=1 1179w" sizes="(max-width: 500px) 100vw, 500px" /></a></figure>



<div class="wp-block-jetpack-markdown"><ol start="9">
<li>Incoming firewall rules</li>
</ol>
<p>Make sure to add necessary firewall rules, if you created the default settings on the security group you probably already have SSH (port 22) and that&#8217;s it.</p>
<p>You probably want to add a rule for ICMP traffic (ping).</p>
<p>If you like to have no security at all (or implement your own firewall on the virtual server) you can add a blanked incoming rule for all ports 0-65535 and this should open everything.</p>
<p><strong>Note microsoft IPv6 implementation sucks and <a href="https://docs.microsoft.com/en-us/answers/questions/279687/ipv6-icmp-tofrom-the-internet-with-public-ip.html">ICMP ping on IPv6 incoming/outgoing WILL NOT WORK</a>! This is what tripped me out and I spent several hours trying to troubleshoot something that Microsoft could have easily documented&#8230; but here we are&#8230; I spent hours frustrated but hopefully with this guide I wrote for you it saved you all this time. If you appreciated it &#8211; remember you can <a href="https://www.buymeacoffee.com/thelinuxguy">buy me a coffee</a></strong> <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>Go ahead start your virtual server and you should be able to use nmap on its IPv6 address or SSH remotely and see it work. See above in:re ping on IPv6.</p>
</div>



<h2 class="wp-block-heading">Updates</h2>



<p><strong>June 2021</strong>: Reader &#8220;Ben R&#8221; contacted me about this article and shared some noteworthy information for folks using older VM images or installations. <strong>DHCPv6 may be disabled and must be manually enabled</strong>. See this article for <a href="https://docs.microsoft.com/en-us/azure/load-balancer/load-balancer-ipv6-for-linux" data-type="URL" data-id="https://docs.microsoft.com/en-us/azure/load-balancer/load-balancer-ipv6-for-linux">enabling DHCPv6 on Azure</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://desantolo.com/2021/04/how-to-setup-dual-stack-ipv4-ipv6-azure-vm-without-a-load-balancer/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">616</post-id>	</item>
		<item>
		<title>Allowing OpenVPN to create tun device on LXC / Proxmox</title>
		<link>https://desantolo.com/2018/11/allowing-openvpn-to-create-tun-device-on-lxc-proxmox/</link>
		
		<dc:creator><![CDATA[Giovanni]]></dc:creator>
		<pubDate>Mon, 19 Nov 2018 01:56:57 +0000</pubDate>
				<category><![CDATA[Proxmox]]></category>
		<category><![CDATA[Virtualization]]></category>
		<category><![CDATA[containers]]></category>
		<category><![CDATA[lxc]]></category>
		<category><![CDATA[openvpn]]></category>
		<category><![CDATA[proxmox]]></category>
		<guid isPermaLink="false">https://desantolo.com/?p=569</guid>

					<description><![CDATA[Due to built-in security of LXC, trying to setup a tunnel interface inside a container is by blocked by default. ERROR: Cannot open TUN/TAP dev /dev/net/tun To allow this for a specific container in Proxmox, we need to make a &#8230; <a href="https://desantolo.com/2018/11/allowing-openvpn-to-create-tun-device-on-lxc-proxmox/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<p>Due to built-in security of LXC, trying to setup a tunnel interface inside a container is by blocked by default.</p>
<p><code>ERROR: Cannot open TUN/TAP dev /dev/net/tun</code></p>
<p>To allow this for a specific container in Proxmox, we need to make a few tweaks to allow this interface to work in a specific container (we don&#8217;t want to allow all containers to be able to setup a tunnel &#8211; hackers can hide their tracks using it).</p>
<p>How to do this:<br />
<code><br />
ADD these lines to /etc/pve/lxc/&lt;container-id&gt;.conf<br />
</code></p>
<pre>lxc.cgroup.devices.allow = c 10:200 rwm
lxc.hook.autodev = sh -c "modprobe tun; cd ${LXC_ROOTFS_MOUNT}/dev; mkdir net; mknod net/tun c 10 200; chmod 0666 net/tun"</pre>
<p><code> </code></p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">569</post-id>	</item>
		<item>
		<title>OPNsense firewall on Proxmox fix &#8216;no internet&#8217;</title>
		<link>https://desantolo.com/2018/11/opnsense-firewall-on-proxmox-fix-no-internet/</link>
		
		<dc:creator><![CDATA[Giovanni]]></dc:creator>
		<pubDate>Sat, 17 Nov 2018 18:17:25 +0000</pubDate>
				<category><![CDATA[Proxmox]]></category>
		<category><![CDATA[Virtualization]]></category>
		<category><![CDATA[firewall]]></category>
		<category><![CDATA[networking]]></category>
		<category><![CDATA[opnsense]]></category>
		<category><![CDATA[troubleshooting]]></category>
		<guid isPermaLink="false">https://desantolo.com/?p=566</guid>

					<description><![CDATA[Quick post to note how I determined and then fixed the internet access issue I was having when I installed OPNsense on Proxmox. OPNsense virtual machine is configured with VirtiO network drivers. Other than the obvious &#8220;I can&#8217;t access anything &#8230; <a href="https://desantolo.com/2018/11/opnsense-firewall-on-proxmox-fix-no-internet/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<p>Quick post to note how I determined and then fixed the internet access issue I was having when I installed OPNsense on Proxmox.</p>
<p>OPNsense virtual machine is configured with <strong>VirtiO</strong> network drivers.</p>
<p>Other than the obvious &#8220;I can&#8217;t access anything on the internet&#8221; or can&#8217;t reach external IP addresses problem I looked at troubleshooting via <strong>nmap</strong> &#8211; because the devices on the network could ping externally (8.8.8.8) and also resolve DNS requests.</p>
<p>In a broken state you may see &#8216;tcpwrapper&#8217; when testing a known host serving HTTP, like so:</p>
<p class="p1"><code><span class="s1">root@test:~# nmap -p 80 -sV 216.58.194.206</span></code></p>
<p class="p1"><code><span class="s1">Starting Nmap 7.40 ( https://nmap.org ) at 2018-11-17 17:54 UTC</span></code></p>
<p class="p1"><code><span class="s1">Nmap scan report for sfo03s01-in-f206.1e100.net (216.58.194.206)</span></code></p>
<p class="p1"><code><span class="s1">Host is up (0.010s latency).</span></code></p>
<p class="p1"><code><span class="s1">PORT <span class="Apple-converted-space">  </span>STATE SERVICE<span class="Apple-converted-space">    </span>VERSION</span></code></p>
<p class="p1"><code><span class="s1">80/tcp open<span class="Apple-converted-space">  </span>tcpwrapped</span></code></p>
<p class="p1"><code><span class="s1">Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .</span></code></p>
<p class="p1"><code><span class="s1">Nmap done: 1 IP address (1 host up) scanned in 7.91 seconds</span></code></p>
<p>To fix this issue, ensure that &#8220;<strong>Disable hardware checksum offload</strong>&#8221; is  enabled in the OPNsense interface, then reboot the firewall for changes to take effect.</p>
<p>After a reboot, doing another test via nmap will actually respond with HTTP fingerprints, as expected and internet is back.</p>
<p class="p1"><code><span class="s1">root@test:~# nmap -p 80 -sV 216.58.194.206</span></code></p>
<p class="p1"><code><span class="s1">Starting Nmap 7.40 ( https://nmap.org ) at 2018-11-17 18:00 UTC</span></code></p>
<p class="p1"><code><span class="s1">Nmap scan report for sfo03s01-in-f14.1e100.net (216.58.194.206)</span></code></p>
<p class="p1"><code><span class="s1">Host is up (0.0096s latency).</span></code></p>
<p class="p1"><code><span class="s1">PORT <span class="Apple-converted-space">  </span>STATE SERVICE VERSION</span></code></p>
<p class="p1"><code><span class="s1">80/tcp open<span class="Apple-converted-space">  </span>http<span class="Apple-converted-space">    </span>gws</span></code></p>
<p class="p1"><code><span class="s1">1 service unrecognized despite returning data. If you know the service/version, please submit the following fingerprint at https://nmap.org/cgi-bin/submit.cgi?new-service :</span></code></p>
<p class="p1"><code><span class="s1">SF-Port80-TCP:V=7.40%I=7%D=11/17%Time=5BF0574C%P=x86_64-pc-linux-gnu%r(Get</span></code></p>
<p class="p1"><code><span class="s1">SF:Request,8A7A,"HTTP/1\.0\x20200\x20OK\r\nDate:\x20Sat,\x2017\x20Nov\x202</span></code></p>
<p class="p1"><code><span class="s1">SF:018\x2018:00:43\x20GMT\r\nExpires:\x20-1\r\nCache-Control:\x20private,\</span></code></p>
<p class="p1"><code><span class="s1">SF:x20max-age=0\r\nContent-Type:\x20text/html;\x20charset=ISO-8859-1\r\nP3</span></code></p>
<p class="p1"><code><span class="s1">SF:P:\x20CP=\"This\x20is\x20not\x20a\x20P3P\x20policy!\x20See\x20g\.co/p3p</span></code></p>
<p class="p1"><code><span class="s1">SF:help\x20for\x20more\x20info\.\"\r\nServer:\x20gws\r\nX-XSS-Protection:\</span></code></p>
<p class="p1"><code><span class="s1">SF:x201;\x20mode=block\r\nX-Frame-Options:\x20SAMEORIGIN\r\nSet-Cookie:\x2</span></code></p>
<p class="p1"><code><span class="s1">SF:01P_JAR=2018-11-17-18;\x20expires=Mon,\x2017-Dec-2018\x2018:00:43\x20GM</span></code></p>
<p class="p1"><code><span class="s1">SF:T;\x20path=/;\x20domain=\.google\.com\r\nSet-Cookie:\x20NID=146=0dp1WLb</span></code></p>
<p class="p1"><code><span class="s1">SF:UhFIr1MIVwhAglx_4O6x-0eJHrmYFTov9a3oFxE2-lZSUI_9mmKBFXQZjYbjKbSRiirLZ-U</span></code></p>
<p class="p1"><code><span class="s1">SF:cfybTiNQR_vmHD2MY4RBHP-hj4K7oyQX4lXuCgrSU7ESRXiX2Jn0qwoLWvvEItnC2hgDHEb</span></code></p>
<p class="p1"><code><span class="s1">SF:oLJffQrfiEazdGDp5XppPU;\x20expires=Sun,\x2019-May-2019\x2018:00:43\x20G</span></code></p>
<p class="p1"><code><span class="s1">SF:MT;\x20path=/;\x20domain=\.google\.com;\x20HttpOnly\r\nAccept-Ranges:\x</span></code></p>
<p class="p1"><code><span class="s1">SF:20none\r\nVary:\x20Accept-Encoding\r\n\r\n&lt;!doctype\x20html&gt;&lt;html\x20it</span></code></p>
<p class="p1"><code><span class="s1">SF:emscope=\"\"\x20itemtype=\"http://schema\.org/WebPage\"\x20lang=\"en\"&gt;</span></code></p>
<p class="p1"><code><span class="s1">SF:&lt;head&gt;&lt;meta\x20content=\"Search\x20the\x20world's\x20information,\x20in</span></code></p>
<p class="p1"><code><span class="s1">SF:cluding\x20webpages,\x20images,\x20videos\x20and\x20more\.\x20Google\x2</span></code></p>
<p class="p1"><code><span class="s1">SF:0has\x20ma")%r(HTTPOptions,71B,"HTTP/1\.0\x20405\x20Method\x20Not\x20Al</span></code></p>
<p class="p1"><code><span class="s1">SF:lowed\r\nAllow:\x20GET,\x20HEAD\r\nDate:\x20Sat,\x2017\x20Nov\x202018\x</span></code></p>
<p class="p1"><code><span class="s1">SF:2018:00:44\x20GMT\r\nContent-Type:\x20text/html;\x20charset=UTF-8\r\nSe</span></code></p>
<p class="p1"><code><span class="s1">SF:rver:\x20gws\r\nContent-Length:\x201592\r\nX-XSS-Protection:\x201;\x20m</span></code></p>
<p class="p1"><code><span class="s1">SF:ode=block\r\nX-Frame-Options:\x20SAMEORIGIN\r\n\r\n&lt;!DOCTYPE\x20html&gt;\n</span></code></p>
<p class="p1"><code><span class="s1">SF:&lt;html\x20lang=en&gt;\n\x20\x20&lt;meta\x20charset=utf-8&gt;\n\x20\x20&lt;meta\x20na</span></code></p>
<p class="p1"><code><span class="s1">SF:me=viewport\x20content=\"initial-scale=1,\x20minimum-scale=1,\x20width=</span></code></p>
<p class="p1"><code><span class="s1">SF:device-width\"&gt;\n\x20\x20&lt;title&gt;Error\x20405\x20\(Method\x20Not\x20Allo</span></code></p>
<p class="p1"><code><span class="s1">SF:wed\)!!1&lt;/title&gt;\n\x20\x20&lt;style&gt;\n\x20\x20\x20\x20\*{margin:0;padding:</span></code></p>
<p class="p1"><code><span class="s1">SF:0}html,code{font:15px/22px\x20arial,sans-serif}html{background:#fff;col</span></code></p>
<p class="p1"><code><span class="s1">SF:or:#222;padding:15px}body{margin:7%\x20auto\x200;max-width:390px;min-he</span></code></p>
<p class="p1"><code><span class="s1">SF:ight:180px;padding:30px\x200\x2015px}\*\x20&gt;\x20body{background:url\(//</span></code></p>
<p class="p1"><code><span class="s1">SF:www\.google\.com/images/errors/robot\.png\)\x20100%\x205px\x20no-repeat</span></code></p>
<p class="p1"><code><span class="s1">SF:;padding-right:205px}p{margin:11px\x200\x2022px;overflow:hidden}ins{col</span></code></p>
<p class="p1"><code><span class="s1">SF:or:#777;text-decoration:none}a\x20img{border:0}@media\x20screen\x20and\</span></code></p>
<p class="p1"><code><span class="s1">SF:x20\(max-width:772px\){body{background:none;margin-top:0;max-width:none</span></code></p>
<p class="p1"><code><span class="s1">SF:;padding");</span></code></p>
<p class="p1"><code><span class="s1">Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .</span></code></p>
<p class="p1"><code><span class="s1">Nmap done: 1 IP address (1 host up) scanned in 52.89 seconds</span></code></p>
<p class="p1"><code><span class="s1">root@test:~# </span></code></p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">566</post-id>	</item>
		<item>
		<title>Fix zfs-mount.service failing after reboot on Proxmox</title>
		<link>https://desantolo.com/2017/07/fix-zfs-mount-service-failing-after-reboot-on-proxmox/</link>
					<comments>https://desantolo.com/2017/07/fix-zfs-mount-service-failing-after-reboot-on-proxmox/#comments</comments>
		
		<dc:creator><![CDATA[Giovanni]]></dc:creator>
		<pubDate>Sat, 01 Jul 2017 01:33:33 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Proxmox]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Troubleshooting]]></category>
		<category><![CDATA[Virtualization]]></category>
		<category><![CDATA[containers]]></category>
		<category><![CDATA[proxmox]]></category>
		<category><![CDATA[zfs]]></category>
		<guid isPermaLink="false">https://desantolo.com/?p=545</guid>

					<description><![CDATA[In my new homelab migration to Proxmox I came across a bug that will prevent you from being able to mount all your ZFS mount points and be a pain in the ass even more if you host containers in &#8230; <a href="https://desantolo.com/2017/07/fix-zfs-mount-service-failing-after-reboot-on-proxmox/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<p>In my new homelab migration to Proxmox I came across a bug that will prevent you from being able to mount all your ZFS mount points and be a pain in the ass even more if you host containers in that folder.<br />
<span id="more-545"></span><br />
<strong>Cause of the problem:</strong> When you use a different zpool than the default rpool, and setup a directory mount for PVE to use for ISO datastore, VZ dump, etc on reboot if the zfs mount points have not completed mounting at boot time. Proxmox will attempt to create the directory path structure.</p>
<p>The problem with creating a directory for something before is mounted is that when zfs-mount.service runs and attempts to mount the zfs mount points you will get these kind of errors:</p>
<p><code>root@pve:~# <strong>systemctl status zfs-mount.service</strong></code><br />
<code>● zfs-mount.service - Mount ZFS filesystems</code><br />
<code> Loaded: loaded (/lib/systemd/system/zfs-mount.service; enabled; vendor preset: enabled)</code><br />
<code> Active: failed (Result: exit-code) since Fri 2017-06-30 18:10:21 PDT; 21s ago</code><br />
<code> Process: 6590 ExecStart=/sbin/zfs mount -a (code=exited, status=1/FAILURE)</code><br />
<code> Main PID: 6590 (code=exited, status=1/FAILURE)</code></p>
<p><code>Jun 30 18:10:19 pve systemd[1]: Starting Mount ZFS filesystems...</code><br />
<code>Jun 30 18:10:20 pve zfs[6590]: cannot mount '/gdata/pve/subvol-102-disk-1': directory is not empty</code><br />
<code>Jun 30 18:10:20 pve zfs[6590]: cannot mount '/gdata/pve/subvol-106-disk-1': directory is not empty</code><br />
<code>Jun 30 18:10:20 pve zfs[6590]: cannot mount '/gdata/pve/subvol-109-disk-1': directory is not empty</code><br />
<code>Jun 30 18:10:21 pve systemd[1]: zfs-mount.service: Main process exited, code=exited, status=1/FAILURE</code><br />
<code>Jun 30 18:10:21 pve systemd[1]: Failed to start Mount ZFS filesystems.</code><br />
<code>Jun 30 18:10:21 pve systemd[1]: zfs-mount.service: Unit entered failed state.</code><br />
<code>Jun 30 18:10:21 pve systemd[1]: zfs-mount.service: Failed with result 'exit-code'.</code></p>
<p><strong>Fixing the root of the problem:</strong> change how proxmox deals with mounts by editing /etc/pve/storage.cfg &#8211; you need to add &#8220;mkdir 0&#8221; and &#8220;is_mountpoint&#8221; to the directory mount. Example:</p>
<p><code>dir: gdata-dump</code><br />
<code> path /gdata/vz</code><br />
<code> content iso,vztmpl,backup</code><br />
<code> maxfiles 0</code><br />
<code> shared 0</code><br />
<code> mkdir 0</code><br />
<code> is_mountpoint 1</code></p>
<p>Now we need to do some system cleanup before we reboot and confirm the problem is fixed.</p>
<p>Let&#8217;s check which mount points have failed:<br />
<code>root@pve:~# <strong>zfs list -r -o name,mountpoint,mounted</strong></code></p>
<p>Now let&#8217;s umount all zfs mount points (except rpool of course &#8211; assuming the rootfs is zfs)</p>
<p><code># zfs umount -a</code></p>
<p>After making sure ZFS mount points are unmounted, now we can delete the empty folders. Recall the failed mount points that the zfs list command gave you and one by one delete them like so:</p>
<p><code># rm -rf /gdata/pve/subvol-102-disk-1</code></p>
<p>Do this for each folder that showed issues mounting. You have a choice to remount everything with zfs mount -O -a &#8212; or better&#8230; reboot the system and check its fixed. I like the later better. So reboot.</p>
<p>After it boots back up check that service was able to mount zfs without issues:</p>
<p><code># systemctl status zfs-mount.service</code><br />
<code># zfs list -r -o name,mountpoint,mounted</code></p>
<p>That&#8217;s all folks&#8230; if you made the edit to storage.cfg and added the two variables this should not occur again. This was an annoying bug to deal with but good to have found a better solution than a startup script doing some dirty tricks!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://desantolo.com/2017/07/fix-zfs-mount-service-failing-after-reboot-on-proxmox/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">545</post-id>	</item>
		<item>
		<title>LXC allow non-root users to bind to port 80 (couchpotato example)</title>
		<link>https://desantolo.com/2017/06/lxc-allow-non-root-users-to-bind-to-port-80-couchpotato-example/</link>
		
		<dc:creator><![CDATA[Giovanni]]></dc:creator>
		<pubDate>Thu, 29 Jun 2017 08:37:42 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Proxmox]]></category>
		<category><![CDATA[Virtualization]]></category>
		<category><![CDATA[authbind]]></category>
		<category><![CDATA[containers]]></category>
		<category><![CDATA[couchpotato]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[linux]]></category>
		<guid isPermaLink="false">https://desantolo.com/?p=541</guid>

					<description><![CDATA[A follow-up to my last post dealing with unprivileged port access on linux containers. This time, I have a couchpotato container that I want to change its default port from 5050 to port 80, so that it is as simple &#8230; <a href="https://desantolo.com/2017/06/lxc-allow-non-root-users-to-bind-to-port-80-couchpotato-example/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<p>A follow-up to my last post dealing with unprivileged port access on linux containers.</p>
<p>This time, I have a couchpotato container that I want to change its default port from 5050 to port 80, so that it is as simple as http://mycouch/ to access from the local network.<br />
<span id="more-541"></span><br />
Since CouchPotato is a python script, my other method of whitelisting the binary won&#8217;t work, an alternative is to use <strong>authbind</strong> to get around this by granting a user/group privileges to bind to one of those restricted ports (non-root can&#8217;t bind to ports 1024 or less).</p>
<p><strong>Environment:</strong> LXC Container (Debian 9.0 Stretch) image, with couchpotato defaults running on port 5050 and systemd init script setup (couchpotato user is named gmedia)</p>
<p><code>#  groupadd -g 3200 gmedia</code><br />
<code># useradd -u 3200 -g gmedia -M gmedia</code><br />
<code># apt-get install authbind</code><br />
<code># touch /etc/authbind/byport/80</code><br />
<code># chown gmedia /etc/authbind/byport/80</code><br />
<code># chmod 500 /etc/authbind/byport/80</code></p>
<p>Now edit the startup settings (Exec/user/group):<br />
<strong><span style="color: #444444;"># nano /etc/systemd/system/couchpotato.service</span></strong></p>
<p>Should look something like this:</p>
<p><code>[Unit]</code><br />
<code>Description=CouchPotato application instance</code><br />
<code>After=network.target</code></p>
<p><code>[Service]</code><br />
<code>ExecStart=/usr/bin/authbind --deep /opt/CouchPotatoServer/CouchPotato.py</code><br />
<code>Type=simple</code><br />
<code>User=gmedia</code><br />
<code>Group=gmedia</code></p>
<p><code>[Install]</code><br />
<code>WantedBy=multi-user.target</code></p>
<p>Now its time to test:</p>
<p># systemctl daemon-reload<br />
# systemctl start couchpotato.service<br />
# systemctl status couchpotato.service</p>
<p>Confirm all is hunky dory.</p>
<p><code>root@couchpotato:~# systemctl status couchpotato.service</code><br />
<code>● couchpotato.service - CouchPotato application instance</code><br />
<code> Loaded: loaded (/etc/systemd/system/couchpotato.service; enabled; vendor preset: enabled)</code><br />
<code> Active: active (running) since Thu 2017-06-29 08:35:32 UTC; 2s ago</code><br />
<code> Main PID: 1203 (python)</code><br />
<code> Tasks: 9 (limit: 4915)</code><br />
<code> CGroup: /system.slice/couchpotato.service</code><br />
<code> └─1203 python /opt/CouchPotatoServer/CouchPotato.py</code></p>
<p><code>Jun 29 08:35:32 couchpotato systemd[1]: Started CouchPotato application instance.</code><br />
<code>root@couchpotato:~# lsof -i :80</code><br />
<code>COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME</code><br />
<code>python 1203 gmedia 49u IPv4 6008724 0t0 TCP *:http (LISTEN)</code><br />
<code>python 1203 gmedia 52u IPv4 6024843 0t0 TCP 192.168.200.140:http-&gt;192.168.200.5:56928 (ESTABLISHED)</code><br />
<code>root@couchpotato:~#</code></p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">541</post-id>	</item>
		<item>
		<title>Allow non-root processes to bind to privileged (ports </title>
		<link>https://desantolo.com/2017/06/allow-non-root-processes-to-bind-to-privileged-ports/</link>
		
		<dc:creator><![CDATA[Giovanni]]></dc:creator>
		<pubDate>Wed, 28 Jun 2017 07:53:49 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Troubleshooting]]></category>
		<category><![CDATA[Virtualization]]></category>
		<category><![CDATA[containers]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[networking]]></category>
		<category><![CDATA[proxmox]]></category>
		<guid isPermaLink="false">https://desantolo.com/?p=538</guid>

					<description><![CDATA[As I work on my homelab migration from FreeNAS into Linux containers, I need to move my freebsd jails to LXC. In *nix any usage of well-known ports (aka 1024 or less) requires special privileges or a kernel setting. In &#8230; <a href="https://desantolo.com/2017/06/allow-non-root-processes-to-bind-to-privileged-ports/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<p>As I work on my homelab migration from FreeNAS into Linux containers, I need to move my freebsd jails to LXC.</p>
<p>In *nix any usage of well-known ports (aka 1024 or less) requires special privileges or a kernel setting. In FreeBSD a simple sysctl net.inet.ip.portrange.reservedhigh =1 was enough to allow the BSD jail to use any port on the jail.</p>
<p>On LXC, I had to figure out how to do the same thing and its quite different. My environment is a debian stretch LXC container but should work on other linux versions.</p>
<p><code><strong># apt-get install libcap2-bin</strong></code><br />
<code><strong># setcap 'cap_net_bind_service=+ep' /usr/bin/transmission-daemon</strong></code></p>
<p>In the example above, the binary /usr/bin/transmission-daemon is now able to open any port, or port 80 http in my case all while running a service as a non-root user.</p>
<p>Hopefully these helps folks out there, the answer took some digging but I already had an idea on what was needed thanks to my FreeBSD experience in zones <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">538</post-id>	</item>
		<item>
		<title>Install proxmox on a partition instead of a full-disk</title>
		<link>https://desantolo.com/2017/06/zfs-proxmox-on-a-partition-instead-of-a-full-disk/</link>
		
		<dc:creator><![CDATA[Giovanni]]></dc:creator>
		<pubDate>Sun, 11 Jun 2017 11:24:31 +0000</pubDate>
				<category><![CDATA[Guides]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Proxmox]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Virtualization]]></category>
		<category><![CDATA[freenas]]></category>
		<category><![CDATA[proxmox]]></category>
		<category><![CDATA[ssd]]></category>
		<category><![CDATA[zfs]]></category>
		<guid isPermaLink="false">https://desantolo.com/?p=532</guid>

					<description><![CDATA[By default, installing Proxmox with ZFS during the installation process will force you to use the entire disk for the root zpool. For most installs this is good enough. However, I like to do things differently sometimes. I have a &#8230; <a href="https://desantolo.com/2017/06/zfs-proxmox-on-a-partition-instead-of-a-full-disk/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<p>By default, installing Proxmox with ZFS during the installation process will force you to use the entire disk for the root zpool. For most installs this is good enough. However, I like to do things differently sometimes.</p>
<p>I have a pair of Samsung 840 Pro 256GB SSDs that I wanted to use for my new homelab that I am currently building (moving from vmware to proxmox). You may be wondering why I want to install the operating system on a partition instead of an entire disk. Several reasons:<br />
<span id="more-532"></span><br />
1. Proxmox (ZFS-on-Linux) does not yet support SSD TRIM, FreeBSD does support it so migrating from FreeNAS into Proxmox I should be aware of it.<br />
2. Data redundancy for the root filesystem does not need to be large. Even if I do RAID1 with my two SSDs I won&#8217;t be storing my critical data or VMs in the rpool &#8211; I want a smaller sized root pool that has fault-tolerance (RAID1). A partition of 60GB mirrored in two SSDs should fit the bill here.<br />
3. ZIL Intent Log experimentation, I also want to experiment by using the same two SSDs to speed up my ZFS writes. I want a small partition in a stripe (RAID0) for performance, 45GB total (22.5gb per ssd) is plenty for this.<br />
4. The left over unused space will be left untouched so that the SSD will have more available blocks during the controller&#8217;s built-in garbage collection (not the same as TRIM)</p>
<p>I don&#8217;t have enough time to go into a lot of details (it&#8217;s past 4am), so I will get to how to do it. If you are trying to follow my same steps, you will need at least 3 hard drives.</p>
<p>1. On a hard drive or device you don&#8217;t care to use in the final outcome, install Proxmox as you would normally. Wipe the entire partition table and let it install RAID0 on the whole disk.<br />
2. Boot into your new installation, have the two new disks you want to keep attached to the system and ensure linux sees them fdisk should help with this.<br />
3. You will now need to create the partitions on the new disks (not rpool):</p>
<p>You will need to know how to calculate hard disk sectors and multiply by your block size. I don&#8217;t have time to go over it but I will do a quick TL;DR example to give you an idea:</p>
<p>We want 25GB slice so that is around 25000000000 bytes / 512 (block size) = 48828125 total sectors to allocate this storage amount.</p>
<p>Take a look at the partition table to make sure you create something similar, fdisk -l /dev/sd$ (your rpool disk). We will leave 8MB disk at the end of the partition, Proxmox by default creates 3 partitions: GRUB_BOOT, ZFS data, Solaris 8MB.</p>
<p>This command creates the partitions for my new array, I&#8217;ve described them for you by the -c command. It should be self-explanatory.</p>
<p># sgdisk -z /dev/sdb<br />
# sgdisk -a1 -n1:34:2047 -t1:EF02 -c1:&#8221;BIOS boot&#8221; -n2:2048:156252048 -t2:BF01 -c2:&#8221;mirror&#8221; -n3:156252049:205080174 -t3:BF01 -c3:&#8221;stripe&#8221; -n4:205080175:205096559 -t4:BF0 /dev/sda</p>
<p># sgdisk -a1 -n1:34:2047 -t1:EF02 -c1:&#8221;BIOS boot&#8221; -n2:2048:156252048 -t2:BF01 -c2:&#8221;mirror&#8221; -n3:156252049:205080174 -t3:BF01 -c3:&#8221;stripe&#8221; -n4:205080175:205096559 -t4:BF0 /dev/sdc<br />
# zpool create -f stripe -o ashift=13 /dev/sda3 /dev/sdc3<br />
# zpool create -f newroot -o ashift=13 mirror /dev/sda2 /dev/sdc2<br />
# grub-install /dev/disk/by-id/ata-Samsung_SSD_840_PRO_Series_S1ATNSADB46090M<br />
# grub-install /dev/disk/by-id/ata-Samsung_SSD_840_PRO_Series_S12RNEACC59063B</p>
<p>Backup &amp; moving stuff.<br />
# zfs snapshot -r rpool@fullbackup<br />
# zfs list -t snapshot<br />
# zfs send -R rpool@fullbackup | zfs recv -vFd newroot<br />
root@pve:/# zpool get bootfs<br />
NAME PROPERTY VALUE SOURCE<br />
newroot bootfs &#8211; default<br />
rpool bootfs rpool/ROOT/pve-1 local<br />
stripe bootfs &#8211; default<br />
root@pve:/# zpool set bootfs=newroot/ROOT/pve-1 newroot<br />
zpool export newroot<br />
zpool import -o altroot=/mnt newroot<br />
&#8212; rebooted with freenas live cd, enter shell, import newroot with new name rpool. rebooted<br />
&#8212; boot into proxmox recovery &#8212; once it boots, do recovery<br />
grub-install /dev/sdb<br />
grub-install /dev/sda<br />
update-grub2<br />
update-initramfs -u</p>
<p>#zpool set bootfs=newroot rpool could also work without renaming via FreeNAS but didn&#8217;t try.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">532</post-id>	</item>
		<item>
		<title>Homelab 2017 refresh</title>
		<link>https://desantolo.com/2017/06/homelab-2017-refresh/</link>
		
		<dc:creator><![CDATA[Giovanni]]></dc:creator>
		<pubDate>Sat, 10 Jun 2017 04:14:43 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Virtualization]]></category>
		<category><![CDATA[homelab]]></category>
		<category><![CDATA[hyperconverged]]></category>
		<category><![CDATA[openvswitch]]></category>
		<category><![CDATA[proxmox]]></category>
		<category><![CDATA[supermicro]]></category>
		<guid isPermaLink="false">https://desantolo.com/?p=527</guid>

					<description><![CDATA[My faithful Lenovo TS440 home server has reached its peak potential as I have maxed out the 32gb memory limit of the Intel E3 v3 architecture. My needs for more CPU power and memory is driven by the idea of &#8230; <a href="https://desantolo.com/2017/06/homelab-2017-refresh/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<p>My faithful Lenovo TS440 home server has reached its peak potential as I have maxed out the 32gb memory limit of the Intel E3 v3 architecture.</p>
<p>My needs for more CPU power and memory is driven by the idea of hyperconvergence. Which means I use a single machine to be my router/firewall, VPN gateway, network storage as well as virtual machine host.</p>
<p>Those themes have been part of my home network design since 2010 or so, today&#8217;s hot technologies are focusing on containers (LXC), Docker, etc. So I need a more powerful server in order to be able to expand my playground into those technologies. The 32gb maximum on my old server is simply not enough when you have 5 different VMs that consume almost all your memory resources (windows 10 VM, OSX one and my FreeNAS one being the top users of 75%+).<span id="more-527"></span></p>
<p><a href="https://i0.wp.com/desantolo.com/wp-content/uploads/2017/06/img_8487.jpg?ssl=1"><img data-recalc-dims="1" decoding="async" data-attachment-id="526" data-permalink="https://desantolo.com/2017/06/homelab-2017-refresh/img_8487-jpg/" data-orig-file="https://i0.wp.com/desantolo.com/wp-content/uploads/2017/06/img_8487.jpg?fit=3024%2C4032&amp;ssl=1" data-orig-size="3024,4032" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;2.2&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;iPhone 6s&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;1497041974&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;4.15&quot;,&quot;iso&quot;:&quot;40&quot;,&quot;shutter_speed&quot;:&quot;0.0625&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;1&quot;}" data-image-title="img_8487.jpg" data-image-description="" data-image-caption="" data-medium-file="https://i0.wp.com/desantolo.com/wp-content/uploads/2017/06/img_8487.jpg?fit=225%2C300&amp;ssl=1" data-large-file="https://i0.wp.com/desantolo.com/wp-content/uploads/2017/06/img_8487.jpg?fit=500%2C667&amp;ssl=1" class="alignnone size-full wp-image-526" src="https://i0.wp.com/desantolo.com/wp-content/uploads/2017/06/img_8487.jpg?resize=500%2C667&#038;ssl=1" alt="" width="500" height="667" srcset="https://i0.wp.com/desantolo.com/wp-content/uploads/2017/06/img_8487.jpg?w=3024&amp;ssl=1 3024w, https://i0.wp.com/desantolo.com/wp-content/uploads/2017/06/img_8487.jpg?resize=225%2C300&amp;ssl=1 225w, https://i0.wp.com/desantolo.com/wp-content/uploads/2017/06/img_8487.jpg?resize=768%2C1024&amp;ssl=1 768w, https://i0.wp.com/desantolo.com/wp-content/uploads/2017/06/img_8487.jpg?resize=600%2C800&amp;ssl=1 600w, https://i0.wp.com/desantolo.com/wp-content/uploads/2017/06/img_8487.jpg?w=1000&amp;ssl=1 1000w, https://i0.wp.com/desantolo.com/wp-content/uploads/2017/06/img_8487.jpg?w=1500&amp;ssl=1 1500w" sizes="(max-width: 500px) 100vw, 500px" /></a></p>
<p>On my new machine I have decided to move towards the Xeon E5 v4 CPU series and DDR4 which has lower memory consumption than my current LPDDR3 (1.2v vs 1.35v per ram stick).</p>
<p>The components of choice is a <strong>Supermicro X10SRL-F</strong> with remote management (IPKVM), and <strong>64gb DDR4</strong> to start.</p>
<p>For server chassis I&#8217;ll be reusing my Lenovo TS440, but first I&#8217;ll assemble and test my new server on a different chassis as to not impact my home router/network design.</p>
<p>Since I will most likely be moving away from VMware ESXi into Proxmox or another open source alternative this means that there will be a steep learning curve as I try to do the initial configuration of the network to run on a single node (hyperconverged). I will have to learn OpenVswitch with is a virtual switch that runs on unix.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">527</post-id>	</item>
		<item>
		<title>Xenserver 7.1 a good contender to replace esxi</title>
		<link>https://desantolo.com/2017/02/xenserver-7-1-a-good-contender-to-replace-esxi/</link>
		
		<dc:creator><![CDATA[Giovanni]]></dc:creator>
		<pubDate>Sun, 26 Feb 2017 21:37:13 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Virtualization]]></category>
		<category><![CDATA[centos]]></category>
		<category><![CDATA[docker]]></category>
		<category><![CDATA[esxi]]></category>
		<category><![CDATA[xenserver]]></category>
		<guid isPermaLink="false">https://desantolo.com/?p=506</guid>

					<description><![CDATA[I have been a big fan and user of vmware ESXi for years, I started playing with it since circa 2008. The bare metal hypervisor and its easy to use GUI on Windows makes virtualization management extremely easy. However in &#8230; <a href="https://desantolo.com/2017/02/xenserver-7-1-a-good-contender-to-replace-esxi/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<p>I have been a big fan and user of vmware ESXi for years, I started playing with it since circa 2008. The bare metal hypervisor and its easy to use GUI on Windows makes virtualization management extremely easy.</p>
<p>However in the past couple of years the free version of esxi has moved to HTML5 web management, and in the latest ESXi version the Windows client (vSphere client) requires you to pay for a license a run a central vcenter server/vm in order to manage via GUI (non-web).</p>
<p><span id="more-506"></span><br />
There are a few articles posted on how limited the web UI may be in contrast to all the features of the original windows GUI so I started pondering other products that may replace ESXi on my homelab (been an ESXi user since 3.x) but it looks like Xenserver 7.1 was just released and Citrix has been including a lot of Enterprise features on their free Xenserver product and offer a very comparable GUI on Windows as well.</p>
<p>A few days ago (February 23) Citrix just released the latest Xenserver 7.1 version (<a href="https://www.citrix.com/downloads/xenserver/product-software/xenserver-71-standard-edition.html">release link/downloads/changelog</a>). The feature I am most excited about? Docker integration via installing &#8220;container management supplemental pack&#8221;</p>
<p>Xenserver 7.1 seems to be based on Linux CentOS so installing packages (via rpm) should be pretty easy. I&#8217;ll post more information when I get more time to dig into it deeper as I am just installing it on my homelab for testing.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">506</post-id>	</item>
	</channel>
</rss>
