<?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>François Lesage, Author at OVHcloud Blog</title>
	<atom:link href="https://blog.ovhcloud.com/author/francois-lesage/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.ovhcloud.com/author/francois-lesage/</link>
	<description>Innovation for Freedom</description>
	<lastBuildDate>Wed, 01 Jul 2020 17:53:21 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://blog.ovhcloud.com/wp-content/uploads/2019/07/cropped-cropped-nouveau-logo-ovh-rebranding-32x32.gif</url>
	<title>François Lesage, Author at OVHcloud Blog</title>
	<link>https://blog.ovhcloud.com/author/francois-lesage/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Industrialising storage benchmarks with Hosted Private Cloud from OVHcloud</title>
		<link>https://blog.ovhcloud.com/industrialising-storage-benchmarks-with-hosted-private-cloud-from-ovhcloud/</link>
		
		<dc:creator><![CDATA[François Lesage]]></dc:creator>
		<pubDate>Tue, 24 Dec 2019 07:00:00 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Benchmarks]]></category>
		<category><![CDATA[Storage]]></category>
		<category><![CDATA[VMware]]></category>
		<guid isPermaLink="false">https://www.ovh.com/blog/?p=16332</guid>

					<description><![CDATA[Benchmarking is a much debated topic in the computing industry due to the countless methods and approaches. However, this blog will not list all of these approaches but instead provide an insight into the way we benchmark different kinds of storage available under our Hosted Private Cloud solutions.&#160; Before discussing this in more detail we [&#8230;]<img src="//blog.ovhcloud.com/wp-content/plugins/matomo/app/matomo.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fblog.ovhcloud.com%2Findustrialising-storage-benchmarks-with-hosted-private-cloud-from-ovhcloud%2F&amp;action_name=Industrialising%20storage%20benchmarks%20with%20Hosted%20Private%20Cloud%20from%20OVHcloud&amp;urlref=https%3A%2F%2Fblog.ovhcloud.com%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" />]]></description>
										<content:encoded><![CDATA[
<p>Benchmarking is a much debated topic in the computing industry due to the countless methods and approaches. However, this blog will not list all of these approaches but instead provide an insight into the way we benchmark different kinds of storage available under our Hosted Private Cloud solutions.&nbsp;</p>



<p>Before discussing this in more detail we should understand why we benchmark in the first place. The number one reason is that we need to assess the impact on our customers&nbsp;before putting anything into production. This could be anything from a new storage platform, a new disk model, a kernel patch, to a firmware update and any number of use cases. </p>



<h2 class="wp-block-heading">Short story</h2>



<p>As we continue to improve our storage infrastructures and introduce new storage technologies we regularly enhance our benchmarking methodologies and tools. With thousands of hardware references and an equal number of configurations, the number of benchmarks we need to achieve is exponential. This is why it is vital to industrialise the process.  </p>



<p>In an effort to increase transparency we chose to conduct our benchmarks from the point of view of the end user. This means that all the orchestration which we describe in this blog post can be done by any of our Hosted Private Cloud customers. </p>



<h2 class="wp-block-heading">Tools &amp; Orchestration</h2>



<p>FIO, vdbench, I/O Meter, (dd&nbsp;!) are just some of the widely-used and proven tools to benchmark storage. They give you an overview of raw performance for a given storage type. But, what if you want to benchmark a whole infrastructure from end-to-end? This could include 1, 10, 100, 1000 VMs or more, with multiple disk/raid settings, multiple disk sizes, multiple block sizes. All with different generic workloads consisting of a certain percentage of reads/writes, sequential or random and run by so many threads.  You would also need to use workloads which match your production workloads. In fact the combinations are endless. </p>



<p>With all this in mind, for our first iteration, we started to use HCIbench to automate our benchmarks.</p>



<h2 class="wp-block-heading">Hyper-converged infrastructure benchmark</h2>



<div class="wp-block-image"><figure class="aligncenter size-large"><img fetchpriority="high" decoding="async" width="276" height="282" src="https://www.ovh.com/blog/wp-content/uploads/2019/12/1C143E56-B055-4658-B38A-204845DABF4B.jpeg" alt="HCIBench" class="wp-image-16652"/></figure></div>



<p>HCibench (<a href="https://flings.vmware.com/hcibench" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer">https://flings.vmware.com/hcibench</a>) is a free and open-source benchmark automation tool. It defines itself as a &#8220;Hyper-converged Infrastructure Benchmark&#8221;. It&#8217;s essentially an automation wrapper around the popular and proven open-source benchmark tools: Vdbench and Fio, making it easier to automate testing across an HCI cluster. HCIBench aims to simplify and accelerate customer POC performance testing in a consistent and controlled way. The tool fully automates the end-to-end process of deploying test VMs, coordinating workload runs, aggregating test results, performance analysis and collecting necessary data for troubleshooting purposes.</p>



<p></p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img decoding="async" width="1024" height="415" src="https://www.ovh.com/blog/wp-content/uploads/2019/12/1D129223-2B0A-422C-9253-E3509B19AE95-1024x415.jpeg" alt="HCIBench Appliance" class="wp-image-16653" srcset="https://blog.ovhcloud.com/wp-content/uploads/2019/12/1D129223-2B0A-422C-9253-E3509B19AE95-1024x415.jpeg 1024w, https://blog.ovhcloud.com/wp-content/uploads/2019/12/1D129223-2B0A-422C-9253-E3509B19AE95-300x121.jpeg 300w, https://blog.ovhcloud.com/wp-content/uploads/2019/12/1D129223-2B0A-422C-9253-E3509B19AE95-768x311.jpeg 768w, https://blog.ovhcloud.com/wp-content/uploads/2019/12/1D129223-2B0A-422C-9253-E3509B19AE95.jpeg 1489w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure></div>



<p>HCIbench is as easy to install as deploying an OVA (Open Virtual Appliance) in your VMware infrastructure:</p>



<figure class="wp-block-image size-large is-resized"><img decoding="async" src="https://www.ovh.com/blog/wp-content/uploads/2019/11/hcibench-install-1024x847.png" alt="" class="wp-image-16336" width="512" height="424" srcset="https://blog.ovhcloud.com/wp-content/uploads/2019/11/hcibench-install-1024x847.png 1024w, https://blog.ovhcloud.com/wp-content/uploads/2019/11/hcibench-install-300x248.png 300w, https://blog.ovhcloud.com/wp-content/uploads/2019/11/hcibench-install-768x636.png 768w, https://blog.ovhcloud.com/wp-content/uploads/2019/11/hcibench-install-1536x1271.png 1536w, https://blog.ovhcloud.com/wp-content/uploads/2019/11/hcibench-install.png 1716w" sizes="(max-width: 512px) 100vw, 512px" /></figure>



<p>Once HCIbench is set up, just point your browser to&nbsp;<a href="https://ip:8483/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer">https://IP:8483</a>&nbsp;and you&#8217;re ready to start your benchmarks:</p>



<figure class="wp-block-gallery columns-2 is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex"><ul class="blocks-gallery-grid"><li class="blocks-gallery-item"><figure><a href="https://www.ovh.com/blog/wp-content/uploads/2019/11/HCIbench-configuration-scaled.png" data-wpel-link="exclude"><img loading="lazy" decoding="async" width="1024" height="558" src="https://www.ovh.com/blog/wp-content/uploads/2019/11/HCIbench-configuration-1024x558.png" alt="" data-id="16337" data-full-url="https://www.ovh.com/blog/wp-content/uploads/2019/11/HCIbench-configuration-scaled.png" data-link="https://www.ovh.com/blog/?attachment_id=16337" class="wp-image-16337" srcset="https://blog.ovhcloud.com/wp-content/uploads/2019/11/HCIbench-configuration-1024x558.png 1024w, https://blog.ovhcloud.com/wp-content/uploads/2019/11/HCIbench-configuration-300x164.png 300w, https://blog.ovhcloud.com/wp-content/uploads/2019/11/HCIbench-configuration-768x419.png 768w, https://blog.ovhcloud.com/wp-content/uploads/2019/11/HCIbench-configuration-1536x837.png 1536w, https://blog.ovhcloud.com/wp-content/uploads/2019/11/HCIbench-configuration-2048x1117.png 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure></li><li class="blocks-gallery-item"><figure><a href="https://www.ovh.com/blog/wp-content/uploads/2019/11/hcibench-configuration2-scaled.png" data-wpel-link="exclude"><img loading="lazy" decoding="async" width="1024" height="285" src="https://www.ovh.com/blog/wp-content/uploads/2019/11/hcibench-configuration2-1024x285.png" alt="" data-id="16338" data-full-url="https://www.ovh.com/blog/wp-content/uploads/2019/11/hcibench-configuration2-scaled.png" data-link="https://www.ovh.com/blog/?attachment_id=16338" class="wp-image-16338" srcset="https://blog.ovhcloud.com/wp-content/uploads/2019/11/hcibench-configuration2-1024x285.png 1024w, https://blog.ovhcloud.com/wp-content/uploads/2019/11/hcibench-configuration2-300x84.png 300w, https://blog.ovhcloud.com/wp-content/uploads/2019/11/hcibench-configuration2-768x214.png 768w, https://blog.ovhcloud.com/wp-content/uploads/2019/11/hcibench-configuration2-1536x428.png 1536w, https://blog.ovhcloud.com/wp-content/uploads/2019/11/hcibench-configuration2-2048x571.png 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure></li></ul></figure>



<p>Once you have entered your vCenter credentials and some additional information (datacenter, cluster, network, datastore etc..),&nbsp; you&#8217;ll be able to set guest VMs settings:</p>



<ul class="wp-block-list"><li>Number of VMs to deploy</li><li>Number of disks for each VM</li><li>Disk size</li><li>Benchmark tool (FIO or vdbench)</li><li>I/O parameter file (see details below)</li><li>Duration</li><li>And more &#8230;</li></ul>



<p>HCIbench will then take charge of all of the VM deployment/recycling operations and will execute your benchmark. The results are available in various forms, from Grafana interfaces to Excel files or simply flat text files for further external parsing&#8230;</p>



<figure class="wp-block-image size-large"><a href="https://www.ovh.com/blog/wp-content/uploads/2019/11/hcibench-grafana-scaled.png" data-wpel-link="exclude"><img loading="lazy" decoding="async" width="1024" height="558" src="https://www.ovh.com/blog/wp-content/uploads/2019/11/hcibench-grafana-1024x558.png" alt="" class="wp-image-16341" srcset="https://blog.ovhcloud.com/wp-content/uploads/2019/11/hcibench-grafana-1024x558.png 1024w, https://blog.ovhcloud.com/wp-content/uploads/2019/11/hcibench-grafana-300x163.png 300w, https://blog.ovhcloud.com/wp-content/uploads/2019/11/hcibench-grafana-768x418.png 768w, https://blog.ovhcloud.com/wp-content/uploads/2019/11/hcibench-grafana-1536x837.png 1536w, https://blog.ovhcloud.com/wp-content/uploads/2019/11/hcibench-grafana-2048x1116.png 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading" id="BenchmarkingOVHCloud'sPrivateCloudstorage-Workloadparameterfiles,modelingI/Os">Workload parameter files, modeling I/Os</h2>



<p>Workload parameter files (using vdbench here) are at the heart of all benchmarks operations. They describe the I/O model you want to run against a given storage endpoint. Percentage of read/write , random/sequential, block size, threads and many other options are available.</p>



<p>We chose 3 different approaches to evaluate our storage platforms: generic workloads, application workloads and production workloads. </p>



<h3 class="wp-block-heading">&#8220;Generic&#8221; workloads</h3>



<p>By &#8220;generic&#8221; workloads we mean all workloads that look like &#8220;ONLY RANDOM READS&#8221; or &#8220;ONLY SEQUENTIAL WRITES&#8221;. They allow us to check how a storage type reacts on linear cases and how it performs with &#8220;extreme&#8221; cases.</p>



<figure class="wp-block-image size-medium"><img loading="lazy" decoding="async" width="221" height="300" src="https://www.ovh.com/blog/wp-content/uploads/2019/11/workloads-generic-221x300.png" alt="" class="wp-image-16344" srcset="https://blog.ovhcloud.com/wp-content/uploads/2019/11/workloads-generic-221x300.png 221w, https://blog.ovhcloud.com/wp-content/uploads/2019/11/workloads-generic.png 518w" sizes="auto, (max-width: 221px) 100vw, 221px" /></figure>



<p><strong>Sample of a &#8220;generic&#8221; vdbench workload parameter file</strong></p>



<pre class="wp-block-code"><code class="">root@photon-HCIBench [ /opt/automation/vdbench-param-files ]# cat 
GENERIC-ONLY-READS-RANDOM-16K-vdb-1vmdk-80ws-16k-100rdpct-100randompct-4threads
*SD:    Storage Definition
*WD:    Workload Definition
*RD:    Run Definitionsd=sd1,
        lun=/dev/sda,openflags=o_direct,
        hitarea=0,range=(0,80),
        threads=4,
        wd=wd1,
        sd=sd1,
        rd=run1,
        xfersize=16k,
        rdpct=100,
        seekpct=100,
        iorate=max,
        elapsed=120,
        interval=1</code></pre>



<p></p>



<h3 class="wp-block-heading">&#8220;Application&#8221; workloads</h3>



<p>By &#8220;application&#8221; workloads we mean workloads that match common production use cases like &#8220;DATABASE WORKLOAD&#8221; , &#8220;VDI WORKLOAD&#8221; ,&nbsp; &#8220;BACKUP WORKLOAD&#8221; etc.. With these benchmarks we can emulate a typical workload and verify the areas where a given storage type excels. </p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="551" src="https://www.ovh.com/blog/wp-content/uploads/2019/12/application-workload-1024x551.png" alt="" class="wp-image-16393" srcset="https://blog.ovhcloud.com/wp-content/uploads/2019/12/application-workload-1024x551.png 1024w, https://blog.ovhcloud.com/wp-content/uploads/2019/12/application-workload-300x161.png 300w, https://blog.ovhcloud.com/wp-content/uploads/2019/12/application-workload-768x413.png 768w, https://blog.ovhcloud.com/wp-content/uploads/2019/12/application-workload-1536x827.png 1536w, https://blog.ovhcloud.com/wp-content/uploads/2019/12/application-workload.png 1568w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p><strong>Sample of an &#8220;Application&#8221; vdbench workload parameter file</strong></p>



<pre class="wp-block-code"><code class="">root@photon-HCIBench [ /opt/automation/vdbench-param-files ]# cat 
OLTP-SQL-Oracle-Exchange-vdb-1vmdk-80ws-16k-100random-70rdpct-4threads
*SD:    Storage Definition
*WD:    Workload Definition
*RD:    Run Definitionsd=sd1,
        lun=/dev/sda,
        openflags=o_direct,
        hitarea=0,range=(0,80),
        threads=4wd=wd1,
        sd=(sd1),
        xfersize=16k,
        rdpct=70,
        seekpct=100,
        rd=run1,
        wd=wd1,
        iorate=max,
        elapsed=120,
        interval=1</code></pre>



<p></p>



<h3 class="wp-block-heading">&#8220;Production&#8221; workloads.</h3>



<p>Finally, another approach we are working on is the ability to &#8220;record&#8221; a production workload and &#8220;replay&#8221; it on an other storage endpoint to evaluate how the target storage performs with your production workload&nbsp;<strong><em>without</em>&nbsp;the need to run your real production on it. </strong>The trick here is to use a mix of 3 tools blktrace , btrecord and btreplay to track and trace low level I/O calls and be able to replay those traces on another storage platform.&nbsp;<br><br>In a future blog post we&#8217;ll share this feature with you, stay tuned!</p>



<div style="height:73px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading"><strong>Industrialisation of HCIbench runs with Rundeck scheduler</strong></h2>



<div style="height:29px" aria-hidden="true" class="wp-block-spacer"></div>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="402" height="102" src="https://www.ovh.com/blog/wp-content/uploads/2019/12/B9E7A832-168F-4BDF-B9D2-4DC336901966.jpeg" alt="Rundeck" class="wp-image-16654" srcset="https://blog.ovhcloud.com/wp-content/uploads/2019/12/B9E7A832-168F-4BDF-B9D2-4DC336901966.jpeg 402w, https://blog.ovhcloud.com/wp-content/uploads/2019/12/B9E7A832-168F-4BDF-B9D2-4DC336901966-300x76.jpeg 300w" sizes="auto, (max-width: 402px) 100vw, 402px" /></figure></div>



<p>As we&#8217;ve seen, in few clicks we&#8217;re able to define and launch a benchmark scenario under a specific workload. Deployment and recycling of probing VMs are fully automated. What if, next, we want to iterate through multiple scenarios? As part of a whole validation of a new storage platform for example? At this point we started to use Rundeck (<a href="http://www.rundeck.com" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer">http://www.rundeck.com)</a>, a free and open-source runbook automation&nbsp;scheduler, in front of HCIbench. The idea is to be able to create complete benchmark scenario collections.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="519" src="https://www.ovh.com/blog/wp-content/uploads/2019/12/74FB5ACC-8818-4D29-9575-35E33B160D76-1024x519.jpeg" alt="Industrialisation of HCIbench runs with Rundeck scheduler" class="wp-image-16655" srcset="https://blog.ovhcloud.com/wp-content/uploads/2019/12/74FB5ACC-8818-4D29-9575-35E33B160D76-1024x519.jpeg 1024w, https://blog.ovhcloud.com/wp-content/uploads/2019/12/74FB5ACC-8818-4D29-9575-35E33B160D76-300x152.jpeg 300w, https://blog.ovhcloud.com/wp-content/uploads/2019/12/74FB5ACC-8818-4D29-9575-35E33B160D76-768x389.jpeg 768w, https://blog.ovhcloud.com/wp-content/uploads/2019/12/74FB5ACC-8818-4D29-9575-35E33B160D76.jpeg 1518w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>The first step was to understand how HCIbench works under the hood so we could control it via the Rundeck scheduler. HCIbench is designed to be used via a web interface but all the mechanics behind it are done via clean and separate scripts like start/stop/kill. All the benchmark settings are stored in a clean flat configuration file which was easy to convert as a template&#8230;</p>



<h4 class="wp-block-heading">Templating HCIbench configuration file</h4>



<pre class="wp-block-code"><code class="">root@photon-HCIBench [ /opt/automation/conf ]# cat template.yaml
vc: '&lt;VCENTER_HOSTIP>'
vc_username: '&lt;USERNAME>'
vc_password: '&lt;PASSWORD>'
datacenter_name: '&lt;DATACENTER>'
cluster_name: '&lt;CLUSTER>'
number_vm: '&lt;NUMBERVM>'
testing_duration: '&lt;DURATION>'
datastore_name:- '&lt;DATASTORE>'
output_path: '&lt;OUTPUT_PATH>'
...</code></pre>



<h4 class="wp-block-heading">Bench &#8220;root job&#8221;</h4>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="373" height="129" src="https://www.ovh.com/blog/wp-content/uploads/2019/12/636A92B8-DA0C-4AD2-BBC7-9B481EC7156E.jpeg" alt="" class="wp-image-16656" srcset="https://blog.ovhcloud.com/wp-content/uploads/2019/12/636A92B8-DA0C-4AD2-BBC7-9B481EC7156E.jpeg 373w, https://blog.ovhcloud.com/wp-content/uploads/2019/12/636A92B8-DA0C-4AD2-BBC7-9B481EC7156E-300x104.jpeg 300w" sizes="auto, (max-width: 373px) 100vw, 373px" /></figure></div>



<p>A rundeck job consists of a sequence of steps which will execute on a defined list of nodes. In our context nodes are VMs running HCIbench.</p>



<p>What we call the bench &#8220;root job&#8221; is a rundeck job which is the main bench entry point. Its generic role is to be called by other jobs and to  launch one specific bench.&nbsp;</p>



<p>Options (parameters) of this job are all the items from the HCIbench configuration template (see above).</p>



<figure class="wp-block-gallery columns-2 is-cropped wp-block-gallery-2 is-layout-flex wp-block-gallery-is-layout-flex"><ul class="blocks-gallery-grid"><li class="blocks-gallery-item"><figure><a href="https://www.ovh.com/blog/wp-content/uploads/2019/11/rundeck1-scaled.png" data-wpel-link="exclude"><img loading="lazy" decoding="async" width="1024" height="516" src="https://www.ovh.com/blog/wp-content/uploads/2019/11/rundeck1-1024x516.png" alt="" data-id="16357" data-full-url="https://www.ovh.com/blog/wp-content/uploads/2019/11/rundeck1-scaled.png" data-link="https://www.ovh.com/blog/?attachment_id=16357" class="wp-image-16357" srcset="https://blog.ovhcloud.com/wp-content/uploads/2019/11/rundeck1-1024x516.png 1024w, https://blog.ovhcloud.com/wp-content/uploads/2019/11/rundeck1-300x151.png 300w, https://blog.ovhcloud.com/wp-content/uploads/2019/11/rundeck1-768x387.png 768w, https://blog.ovhcloud.com/wp-content/uploads/2019/11/rundeck1-1536x774.png 1536w, https://blog.ovhcloud.com/wp-content/uploads/2019/11/rundeck1-2048x1031.png 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure></li><li class="blocks-gallery-item"><figure><a href="https://www.ovh.com/blog/wp-content/uploads/2019/11/rundeck2.png" data-wpel-link="exclude"><img loading="lazy" decoding="async" width="1024" height="388" src="https://www.ovh.com/blog/wp-content/uploads/2019/11/rundeck2-1024x388.png" alt="" data-id="16358" data-full-url="https://www.ovh.com/blog/wp-content/uploads/2019/11/rundeck2.png" data-link="https://www.ovh.com/blog/?attachment_id=16358" class="wp-image-16358" srcset="https://blog.ovhcloud.com/wp-content/uploads/2019/11/rundeck2-1024x388.png 1024w, https://blog.ovhcloud.com/wp-content/uploads/2019/11/rundeck2-300x114.png 300w, https://blog.ovhcloud.com/wp-content/uploads/2019/11/rundeck2-768x291.png 768w, https://blog.ovhcloud.com/wp-content/uploads/2019/11/rundeck2-1536x582.png 1536w, https://blog.ovhcloud.com/wp-content/uploads/2019/11/rundeck2-2048x776.png 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure></li></ul></figure>



<p></p>



<p>The workflow for this job is as follows:</p>



<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#8211; Parse job options<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#8211; SSH connect to HCIbench VM<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#8211; Populate configuration template with corresponding job options<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#8211; Launch HCIbench&nbsp;</p>



<div class="wp-block-image"><figure class="aligncenter size-full is-resized"><a href="https://www.ovh.com/blog/wp-content/uploads/2019/11/rundeck3.png" data-wpel-link="exclude"><img loading="lazy" decoding="async" src="https://www.ovh.com/blog/wp-content/uploads/2019/11/rundeck3.png" alt="" class="wp-image-16360" width="562" height="273" srcset="https://blog.ovhcloud.com/wp-content/uploads/2019/11/rundeck3.png 2248w, https://blog.ovhcloud.com/wp-content/uploads/2019/11/rundeck3-300x145.png 300w, https://blog.ovhcloud.com/wp-content/uploads/2019/11/rundeck3-1024x497.png 1024w, https://blog.ovhcloud.com/wp-content/uploads/2019/11/rundeck3-768x372.png 768w, https://blog.ovhcloud.com/wp-content/uploads/2019/11/rundeck3-1536x745.png 1536w, https://blog.ovhcloud.com/wp-content/uploads/2019/11/rundeck3-2048x993.png 2048w" sizes="auto, (max-width: 562px) 100vw, 562px" /></a></figure></div>



<p></p>



<h4 class="wp-block-heading">Bench jobs</h4>



<p>Secondly we have &#8220;bench jobs&#8221;. Through rundeck API we created jobs for each workload to be able to launch benches individually or by group, as required. Each of those &#8220;bench jobs&#8221; call the &#8220;root job&#8221; explained above with corresponding bench parameters.</p>



<div class="wp-block-image"><figure class="aligncenter size-full is-resized"><a href="https://www.ovh.com/blog/wp-content/uploads/2019/11/rundeck4.png" data-wpel-link="exclude"><img loading="lazy" decoding="async" src="https://www.ovh.com/blog/wp-content/uploads/2019/11/rundeck4.png" alt="" class="wp-image-16361" width="361" height="165" srcset="https://blog.ovhcloud.com/wp-content/uploads/2019/11/rundeck4.png 1442w, https://blog.ovhcloud.com/wp-content/uploads/2019/11/rundeck4-300x137.png 300w, https://blog.ovhcloud.com/wp-content/uploads/2019/11/rundeck4-1024x469.png 1024w, https://blog.ovhcloud.com/wp-content/uploads/2019/11/rundeck4-768x352.png 768w" sizes="auto, (max-width: 361px) 100vw, 361px" /></a><figcaption><br></figcaption></figure></div>



<h4 class="wp-block-heading">&#8220;Super&#8221; jobs</h4>



<p>Finally we have &#8220;Super jobs&#8221;. These are collections of jobs, their workflows are series of bench jobs calls. We use the cascading options mechanism to pass options through jobs. In the example below we bench a vSAN cluster through a complete panel of I/O models.</p>



<figure class="wp-block-image size-large"><a href="https://www.ovh.com/blog/wp-content/uploads/2019/11/rundeck5.png" data-wpel-link="exclude"><img loading="lazy" decoding="async" width="383" height="1024" src="https://www.ovh.com/blog/wp-content/uploads/2019/11/rundeck5-383x1024.png" alt="" class="wp-image-16366" srcset="https://blog.ovhcloud.com/wp-content/uploads/2019/11/rundeck5-383x1024.png 383w, https://blog.ovhcloud.com/wp-content/uploads/2019/11/rundeck5-112x300.png 112w, https://blog.ovhcloud.com/wp-content/uploads/2019/11/rundeck5-574x1536.png 574w, https://blog.ovhcloud.com/wp-content/uploads/2019/11/rundeck5.png 702w" sizes="auto, (max-width: 383px) 100vw, 383px" /></a></figure>



<p>Another interesting feature of using Rundeck as an HCIbench scheduler is the ability to keep all logs from HCIbench&#8217;s VMs and the timing of each benchmark at the same place. Therefore, it&#8217;s easy to browse and search around all our benchmarks or to target a specific behaviour shown by graphics.</p>



<figure class="wp-block-image size-full is-resized"><a href="https://www.ovh.com/blog/wp-content/uploads/2019/11/rundeck6-scaled.png" data-wpel-link="exclude"><img loading="lazy" decoding="async" src="https://www.ovh.com/blog/wp-content/uploads/2019/11/rundeck6-scaled.png" alt="" class="wp-image-16369" width="640" height="347" srcset="https://blog.ovhcloud.com/wp-content/uploads/2019/11/rundeck6-scaled.png 2560w, https://blog.ovhcloud.com/wp-content/uploads/2019/11/rundeck6-300x163.png 300w, https://blog.ovhcloud.com/wp-content/uploads/2019/11/rundeck6-1024x555.png 1024w, https://blog.ovhcloud.com/wp-content/uploads/2019/11/rundeck6-768x416.png 768w, https://blog.ovhcloud.com/wp-content/uploads/2019/11/rundeck6-1536x832.png 1536w, https://blog.ovhcloud.com/wp-content/uploads/2019/11/rundeck6-2048x1109.png 2048w" sizes="auto, (max-width: 640px) 100vw, 640px" /></a></figure>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading"><strong>Results &amp; use cases</strong></h2>



<h3 class="wp-block-heading">vSAN</h3>



<p>Integrating vSAN into our Hosted Private Cloud product was a typical benchmark project where we needed not only to check how the whole platform performed in every area but also to refine the design of the platform itself. On one side we evaluated hardware designs with multiple disk references and on the other side we improved the software design by evaluating various vSAN disk group and cache configurations.</p>



<figure class="wp-block-gallery columns-2 is-cropped wp-block-gallery-3 is-layout-flex wp-block-gallery-is-layout-flex"><ul class="blocks-gallery-grid"><li class="blocks-gallery-item"><figure><a href="https://www.ovh.com/blog/wp-content/uploads/2019/11/vSAN1.png" data-wpel-link="exclude"><img loading="lazy" decoding="async" width="564" height="534" src="https://www.ovh.com/blog/wp-content/uploads/2019/11/vSAN1.png" alt="" data-id="16368" data-full-url="https://www.ovh.com/blog/wp-content/uploads/2019/11/vSAN1.png" data-link="https://www.ovh.com/blog/?attachment_id=16368" class="wp-image-16368" srcset="https://blog.ovhcloud.com/wp-content/uploads/2019/11/vSAN1.png 564w, https://blog.ovhcloud.com/wp-content/uploads/2019/11/vSAN1-300x284.png 300w" sizes="auto, (max-width: 564px) 100vw, 564px" /></a></figure></li><li class="blocks-gallery-item"><figure><a href="https://www.ovh.com/blog/wp-content/uploads/2019/11/vSAN2-scaled.png" data-wpel-link="exclude"><img loading="lazy" decoding="async" width="1024" height="558" src="https://www.ovh.com/blog/wp-content/uploads/2019/11/vSAN2-1024x558.png" alt="" data-id="16367" data-full-url="https://www.ovh.com/blog/wp-content/uploads/2019/11/vSAN2-scaled.png" data-link="https://www.ovh.com/blog/?attachment_id=16367" class="wp-image-16367" srcset="https://blog.ovhcloud.com/wp-content/uploads/2019/11/vSAN2-1024x558.png 1024w, https://blog.ovhcloud.com/wp-content/uploads/2019/11/vSAN2-300x163.png 300w, https://blog.ovhcloud.com/wp-content/uploads/2019/11/vSAN2-768x418.png 768w, https://blog.ovhcloud.com/wp-content/uploads/2019/11/vSAN2-1536x837.png 1536w, https://blog.ovhcloud.com/wp-content/uploads/2019/11/vSAN2-2048x1115.png 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure></li></ul></figure>



<p></p>



<h3 class="wp-block-heading">New kernel impact on storage arrays</h3>



<p>Another interesting use case is when we&#8217;re evaluating impacts of a new kernel on our OmniOS (<a href="http://www.omniosce.org%29/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer">http://www.omniosce.org)</a>&nbsp;based storage arrays. OmniOS is a free open-source Operating System based on OpenSolaris which integrates some great technologies such as ZFS, DTrace, Crossbow, SMF, Bhyve, KVM and Linux zone support. This case shows not only slightly better performances but also a great improvement in I/Os handling.</p>



<p>Indeed, among a lot of different benchmarks, new kernel (r151022), shows far more stable and linear I/Os. This bench also confirms few ZFS/NFS fixes that were included in this kernel which fix latency issues during ZFS send/receive snapshot.</p>



<p></p>



<div class="wp-block-image"><figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" src="https://www.ovh.com/blog/wp-content/uploads/2019/11/omnios.png" alt="" class="wp-image-16370" width="633" height="401" srcset="https://blog.ovhcloud.com/wp-content/uploads/2019/11/omnios.png 1266w, https://blog.ovhcloud.com/wp-content/uploads/2019/11/omnios-300x190.png 300w, https://blog.ovhcloud.com/wp-content/uploads/2019/11/omnios-1024x649.png 1024w, https://blog.ovhcloud.com/wp-content/uploads/2019/11/omnios-768x487.png 768w" sizes="auto, (max-width: 633px) 100vw, 633px" /></figure></div>



<div style="height:46px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Industrialising our benchmarks enabled us to monitor the performance of our storage. First of all, because we created them with our users in mind, we&#8217;re aligned with what our customers would get. In addition, benchmarks give us an insight into&nbsp;troubleshooting storage issues that are very specific and/or only visible from VMs. We plan to extend this so we can check how the compute side performs (CPU/RAM/&#8230;). Finally, we&#8217;re now focusing on the record/replay workload feature allowing our users to predict how their production workload will perform&nbsp;on &#8220;XYZ&#8221; platforms without having to actually run their production environment on it. We will detail this in a future blog post, stay tuned!<br></p>
<img loading="lazy" decoding="async" src="//blog.ovhcloud.com/wp-content/plugins/matomo/app/matomo.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fblog.ovhcloud.com%2Findustrialising-storage-benchmarks-with-hosted-private-cloud-from-ovhcloud%2F&amp;action_name=Industrialising%20storage%20benchmarks%20with%20Hosted%20Private%20Cloud%20from%20OVHcloud&amp;urlref=https%3A%2F%2Fblog.ovhcloud.com%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" />]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
