<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Storage on smcleod.net</title>
    <link>https://smcleod.net/tags/storage/</link>
    <description>Recent content in Storage on smcleod.net</description>
    <image>
      <title>smcleod.net</title>
      <url>https://smcleod.net/logo-painted-350.svg</url>
      <link>https://smcleod.net/logo-painted-350.svg</link>
    </image>
    <generator>Hugo -- 0.152.2</generator>
    <language>en</language>
    <lastBuildDate>Fri, 10 Jul 2026 12:03:26 +1000</lastBuildDate>
    <atom:link href="https://smcleod.net/tags/storage/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Flash Storage and SSD Failure Rate Update (March 2018)</title>
      <link>https://smcleod.net/2018/03/flash-storage-and-ssd-failure-rate-update-march-2018/</link>
      <pubDate>Tue, 20 Mar 2018 00:00:00 +0000</pubDate>
      <guid>https://smcleod.net/2018/03/flash-storage-and-ssd-failure-rate-update-march-2018/</guid>
      <description>&lt;p&gt;It was almost 3 years ago that my open source storage project went into production. In that time it&amp;rsquo;s been running 24/7 serving as highly available solid state storage for hundreds of VMs and several virtualisation clusters across our two main sites.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m happy to report that the clusters have been operating very successfully since their conception.&lt;/p&gt;
&lt;p&gt;Since moving away from proprietary &amp;lsquo;black box&amp;rsquo; vendor SANs, we haven&amp;rsquo;t had a single SAN issue, storage outage.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Talk - Clustered, Distributed File and Volume Storage with GlusterFS</title>
      <link>https://smcleod.net/2017/11/talk-clustered-distributed-file-and-volume-storage-with-glusterfs/</link>
      <pubDate>Tue, 14 Nov 2017 00:00:00 +0000</pubDate>
      <guid>https://smcleod.net/2017/11/talk-clustered-distributed-file-and-volume-storage-with-glusterfs/</guid>
      <description>&lt;p&gt;Using GlusterFS to provide volume storage to Kubernetes as a replacement for our existing file and static content hosting.&lt;/p&gt;
&lt;p&gt;This talk was given at &lt;a href=&#34;https://www.meetup.com/Infrastructure-Coders/events/244535588/&#34;&gt;Infracoders&lt;/a&gt; on Tuesday 14th November 2017.&lt;/p&gt;
&lt;p&gt;Click below to view slides (PDF version):
&lt;a href=&#34;https://media.githubusercontent.com/media/sammcj/smcleod_files/refs/heads/master/slides/lightning_san.pdf&#34;&gt;&lt;img alt=&#34;Click to view slides&#34; loading=&#34;lazy&#34; src=&#34;https://smcleod.net//img/gluster-first-slide.jpg&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://media.githubusercontent.com/media/sammcj/smcleod_files/refs/heads/master/slides/lightning_san.pdf&#34;&gt;&lt;em&gt;Direct download link&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://github.com/sammcj/smcleod_files/blob/master/images/gluster_talk_14112017/2.jpg?raw=true&#34;&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://github.com/sammcj/smcleod_files/blob/master/images/gluster_talk_14112017/3.jpg?raw=true&#34;&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://github.com/sammcj/smcleod_files/blob/master/images/gluster_talk_14112017/4.jpg?raw=true&#34;&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://github.com/sammcj/smcleod_files/blob/master/images/gluster_talk_14112017/5.jpg?raw=true&#34;&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://github.com/sammcj/smcleod_files/blob/master/images/gluster_talk_14112017/6.jpg?raw=true&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>GlusterFS</title>
      <link>https://smcleod.net/2017/09/glusterfs/</link>
      <pubDate>Mon, 25 Sep 2017 00:00:00 +0000</pubDate>
      <guid>https://smcleod.net/2017/09/glusterfs/</guid>
      <description>&lt;p&gt;We&amp;rsquo;re in the process of shifting from using our custom &amp;lsquo;glue&amp;rsquo; for orchestrating Docker deployments to Kubernetes, When we first deployed Docker to replace LXC and our legacy Puppet-heavy application configuration and deployment systems there really wasn&amp;rsquo;t any existing tool to manage this, thus we rolled our own, mainly a few Ruby scripts combined with a Puppet / Hiera / Mcollective driven workflow.&lt;/p&gt;
&lt;p&gt;The main objective is to replace our legacy NFS file servers used to host uploads / attachments and static files for our web applications, while NFS(v4) performance is adequate, it is a clear single point of failure and of course, there are the age old stale mount problems should network interruptions occur.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Update Delayed Serial STONITH Design</title>
      <link>https://smcleod.net/2016/07/update-delayed-serial-stonith-design/</link>
      <pubDate>Mon, 04 Jul 2016 00:00:00 +0000</pubDate>
      <guid>https://smcleod.net/2016/07/update-delayed-serial-stonith-design/</guid>
      <description>&lt;p&gt;&lt;em&gt;note: This is a follow up post from &lt;a href=&#34;https://smcleod.net/tech/2015/07/21/rcd-stonith/&#34;&gt;2015-07-21-rcd-stonith&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;h3 id=&#34;a-linux-cluster-base-stonith-provider-for-use-with-modern-pacemaker-clusters&#34;&gt;A Linux Cluster Base STONITH provider for use with modern Pacemaker clusters&lt;/h3&gt;
&lt;p&gt;This has since been accepted and merged into Fedora&amp;rsquo;s code base and as such will make it&amp;rsquo;s way to RHEL.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Source Code: &lt;a href=&#34;https://github.com/sammcj/fence_rcd_serial&#34;&gt;Github&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://diptrace.com/download/download-diptrace/&#34;&gt;Diptrace&lt;/a&gt; CAD Design: &lt;a href=&#34;https://github.com/sammcj/fence_rcd_serial/tree/master/CAD/STONTH_CAD_DESIGN_V3&#34;&gt;Github&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;I have open sourced the CAD circuit design and made this available within this repo under
&lt;a href=&#34;CAD/STONTH_CAD_DESIGN_V3&#34;&gt;CAD Design and Schematics&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Related RedHat Bug: &lt;a href=&#34;https://bugzilla.redhat.com/show_bug.cgi?id=1240868&#34;&gt;https://bugzilla.redhat.com/show_bug.cgi?id=1240868&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;v1-vs-v2v3-versions-of-the-rcd_serial-stonith-system&#34;&gt;&lt;code&gt;v1&lt;/code&gt; vs &lt;code&gt;v2/v3&lt;/code&gt; versions of the &lt;code&gt;rcd_serial&lt;/code&gt; STONITH system&lt;/h4&gt;
&lt;p&gt;The v2/v3 cables include the following improvements:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Benchmarking IO with FIO</title>
      <link>https://smcleod.net/2016/04/benchmarking-io-with-fio/</link>
      <pubDate>Fri, 29 Apr 2016 00:00:00 +0000</pubDate>
      <guid>https://smcleod.net/2016/04/benchmarking-io-with-fio/</guid>
      <description>&lt;h2 id=&#34;this-is-a-quick-tldr-there-are-many-other-situations-and-options-you-could-consider&#34;&gt;This is a quick tldr there are &lt;em&gt;many&lt;/em&gt; other situations and options you could consider&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;http://linux.die.net/man/1/fio&#34;&gt;FIO man page&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;IOP/s = Input or Output operations per second&lt;/li&gt;
&lt;li&gt;Throughput = How many MB/s can you read/write continuously&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;variables-worth-tuning-based-on-your-situation&#34;&gt;Variables worth tuning based on your situation&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;--iodepth&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The iodepth is very dependant on your hardware.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Rotational drives without much cache and high latency (i.e. desktop SATA drives) will not benefit from a large iodepth, Values between 16 to 64 could be sensible.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fix XenServer SR with corrupt or invalid metadata</title>
      <link>https://smcleod.net/2016/01/fix-xenserver-sr-with-corrupt-or-invalid-metadata/</link>
      <pubDate>Mon, 18 Jan 2016 00:00:00 +0000</pubDate>
      <guid>https://smcleod.net/2016/01/fix-xenserver-sr-with-corrupt-or-invalid-metadata/</guid>
      <description>&lt;p&gt;If a disk / VDI is orphaned or only partially deleted you&amp;rsquo;ll notice that under the SR it&amp;rsquo;s not assigned to any VM.&lt;/p&gt;
&lt;p&gt;This can cause issues that look like metadata corruption resulting in the inability to migrate VMs or edit storage.&lt;/p&gt;
&lt;p&gt;For example:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;root@xenserver-host ~&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;&lt;span class=&#34;c1&#34;&gt;# xe vdi-destroy uuid=6c2cd848-ac0e-441c-9cd6-9865fca7fe8b&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Error code: SR_BACKEND_FAILURE_181
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Error parameters: , Error in Metadata volume operation &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; SR. &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;opterr&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;VDI delete operation failed &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; parameters:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  /dev/VG_XenStorage-3ae1df17-06ee-7202-eb92-72c266134e16/MGT, 6c2cd848-ac0e-441c-9cd6-9865fca7fe8b.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  Error: Failed to write file with params &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;3, 0, 512, 512&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;. Error: 5&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;removing-stale-vdis&#34;&gt;Removing stale VDIs&lt;/h2&gt;
&lt;p&gt;To fix this, you need to remove those VDIs from the SR after first deleting the logical volume:&lt;/p&gt;</description>
    </item>
    <item>
      <title>iSCSI SCSI-ID / Serial Persistence</title>
      <link>https://smcleod.net/2015/12/iscsi-scsi-id-/-serial-persistence/</link>
      <pubDate>Mon, 14 Dec 2015 00:00:00 +0000</pubDate>
      <guid>https://smcleod.net/2015/12/iscsi-scsi-id-/-serial-persistence/</guid>
      <description>&lt;p&gt;&lt;em&gt;&lt;strong&gt;&amp;ldquo;Having a SCSI ID is a f*cking idiotic thing to do.&amp;rdquo;&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;http://yarchive.net/comp/linux/scsi_ids.html&#34;&gt;- Linus Torvalds&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&amp;hellip;and after the amount of time I&amp;rsquo;ve wasted getting XenServer to play nicely with LIO iSCSI failover I tend to agree.&lt;/em&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;the-problem&#34;&gt;The Problem&lt;/h2&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://smcleod.net//img/san/sr_fail.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;One oddity of Xen / XenServer&amp;rsquo;s storage subsystem is that it identifies iSCSI storage repositories via a calculated SCSI ID rather than the iSCSI Serial - which would be the sane thing to do.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to cluster and failover (almost) anything - An intro to Pacemaker and Corosync</title>
      <link>https://smcleod.net/2015/11/how-to-cluster-and-failover-almost-anything-an-intro-to-pacemaker-and-corosync/</link>
      <pubDate>Mon, 09 Nov 2015 00:00:00 +0000</pubDate>
      <guid>https://smcleod.net/2015/11/how-to-cluster-and-failover-almost-anything-an-intro-to-pacemaker-and-corosync/</guid>
      <description>&lt;h2 id=&#34;slides&#34;&gt;Slides&lt;/h2&gt;
&lt;p&gt;&lt;a href=&#34;https://media.githubusercontent.com/media/sammcj/smcleod_files/refs/heads/master/slides/cluster_anything.pdf&#34;&gt;&lt;img alt=&#34;Click to Start Slides&#34; loading=&#34;lazy&#34; src=&#34;https://smcleod.net//img/san/cluster_anything_screenshot.jpg&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;failover-demo&#34;&gt;Failover Demo&lt;/h2&gt;
&lt;p&gt;&lt;a href=&#34;https://vimeo.com/sammcj/review/133110890/6f4900c090&#34;&gt;&lt;img alt=&#34;Click to Start Failover Video&#34; loading=&#34;lazy&#34; src=&#34;https://smcleod.net//img/san/lcmcpcmk.png&#34;&gt;&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>SAN Intro</title>
      <link>https://smcleod.net/2015/10/san-intro/</link>
      <pubDate>Wed, 07 Oct 2015 00:00:00 +0000</pubDate>
      <guid>https://smcleod.net/2015/10/san-intro/</guid>
      <description>&lt;div
          style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
        &lt;iframe
          src=&#34;https://player.vimeo.com/video/141612064?dnt=0&#34;
            style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; allow=&#34;fullscreen&#34;&gt;
        &lt;/iframe&gt;
      &lt;/div&gt;</description>
    </item>
    <item>
      <title>SSD Storage - Two Months In Production</title>
      <link>https://smcleod.net/2015/09/ssd-storage-two-months-in-production/</link>
      <pubDate>Sun, 13 Sep 2015 00:00:00 +0000</pubDate>
      <guid>https://smcleod.net/2015/09/ssd-storage-two-months-in-production/</guid>
      <description>&lt;p&gt;Over the last two months I&amp;rsquo;ve been running selected IO intensive servers off the the SSD storage cluster, these hosts include (among others) our:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Primary Puppetmaster&lt;/li&gt;
&lt;li&gt;Gitlab server&lt;/li&gt;
&lt;li&gt;Redmine app and database servers&lt;/li&gt;
&lt;li&gt;Nagios servers&lt;/li&gt;
&lt;li&gt;Several Docker database host servers&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;reliability&#34;&gt;Reliability&lt;/h3&gt;
&lt;p&gt;We haven&amp;rsquo;t had any software or hardware failures since commissioning the storage units.&lt;/p&gt;
&lt;p&gt;During this time we have had 3 disk failures on our HP StoreVirtual SANs that have required us to call the supporting vendor and replace failed disks.&lt;/p&gt;</description>
    </item>
    <item>
      <title>iSCSI Benchmarking</title>
      <link>https://smcleod.net/2015/07/iscsi-benchmarking/</link>
      <pubDate>Fri, 24 Jul 2015 00:00:00 +0000</pubDate>
      <guid>https://smcleod.net/2015/07/iscsi-benchmarking/</guid>
      <description>&lt;p&gt;The following are benchmarks from our testings of our iSCSI SSD storage.&lt;/p&gt;
&lt;h3 id=&#34;67300-read-iops-on-a-vm-on-iscsi&#34;&gt;67,300 read IOP/s on a VM on iSCSI&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;(Disk -&amp;gt; LVM -&amp;gt; MDADM -&amp;gt; DRBD -&amp;gt; iSCSI target -&amp;gt; Network -&amp;gt; XenServer iSCSI Client -&amp;gt; VM)&lt;/li&gt;
&lt;li&gt;Per VM and scales to 1,000,000 IOP/s total&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;root@dev-samm:/mnt/pmt1 &lt;span class=&#34;m&#34;&gt;128&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;# fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test --filename=test --bs=4k --iodepth=128 --size=2G --readwrite=read&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;test: &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;g&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;0&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;: &lt;span class=&#34;nv&#34;&gt;rw&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;read, &lt;span class=&#34;nv&#34;&gt;bs&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;4K-4K/4K-4K, &lt;span class=&#34;nv&#34;&gt;ioengine&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;libaio, &lt;span class=&#34;nv&#34;&gt;iodepth&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;128&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;2.0.8
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Starting &lt;span class=&#34;m&#34;&gt;1&lt;/span&gt; process
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bs: &lt;span class=&#34;m&#34;&gt;1&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;f&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;1&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;: &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;R&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;55.6% &lt;span class=&#34;k&#34;&gt;done&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;262.1M/0K /s&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;67.3K/0  iops&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;eta 00m:04s&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;38500-random-4k-write-iops-on-a-vm-on-iscsi&#34;&gt;38,500 random 4k write IOP/s on a VM on iSCSI&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;(Disk -&amp;gt; LVM -&amp;gt; MDADM -&amp;gt; DRBD -&amp;gt; iSCSI target -&amp;gt; Network -&amp;gt; XenServer iSCSI Client -&amp;gt; VM)&lt;/li&gt;
&lt;li&gt;Per VM and scales to 700,000 IOP/s total&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;root@dev-samm:/mnt/pmt1 &lt;span class=&#34;c1&#34;&gt;# fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test --filename=test --bs=4k --iodepth=128 --size=2G --readwrite=randwrite&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;test: &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;g&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;0&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;: &lt;span class=&#34;nv&#34;&gt;rw&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;randwrite, &lt;span class=&#34;nv&#34;&gt;bs&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;4K-4K/4K-4K, &lt;span class=&#34;nv&#34;&gt;ioengine&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;libaio, &lt;span class=&#34;nv&#34;&gt;iodepth&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;128&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;2.0.8
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Starting &lt;span class=&#34;m&#34;&gt;1&lt;/span&gt; process
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bs: &lt;span class=&#34;m&#34;&gt;1&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;f&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;1&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;: &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;w&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;26.3% &lt;span class=&#34;k&#34;&gt;done&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;0K/150.2M /s&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;0&lt;/span&gt; /38.5K iops&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;eta 00m:14s&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;raw-device-latency-on-storage-units&#34;&gt;Raw device latency on storage units&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Intel DC3600 1.2T PCIe NVMe&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;root@s1-san6:/proc  &lt;span class=&#34;c1&#34;&gt;# ioping /dev/nvme0n1p1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;4.0 KiB from /dev/nvme0n1p1 &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;device 1.1 TiB&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;: &lt;span class=&#34;nv&#34;&gt;request&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;1&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;time&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;104&lt;/span&gt; us
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;4.0 KiB from /dev/nvme0n1p1 &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;device 1.1 TiB&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;: &lt;span class=&#34;nv&#34;&gt;request&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;2&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;time&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;83&lt;/span&gt; us
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;4.0 KiB from /dev/nvme0n1p1 &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;device 1.1 TiB&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;: &lt;span class=&#34;nv&#34;&gt;request&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;3&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;time&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;51&lt;/span&gt; us
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;4.0 KiB from /dev/nvme0n1p1 &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;device 1.1 TiB&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;: &lt;span class=&#34;nv&#34;&gt;request&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;4&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;time&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;71&lt;/span&gt; us
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;SanDisk SDSSDXPS960G SATA&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;root@pm-san5:/proc  &lt;span class=&#34;c1&#34;&gt;# ioping /dev/sdc&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;4.0 KiB from /dev/sdc &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;device 894.3 GiB&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;: &lt;span class=&#34;nv&#34;&gt;request&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;1&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;time&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;4.2 ms
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;4.0 KiB from /dev/sdc &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;device 894.3 GiB&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;: &lt;span class=&#34;nv&#34;&gt;request&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;2&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;time&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;4.1 ms
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;4.0 KiB from /dev/sdc &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;device 894.3 GiB&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;: &lt;span class=&#34;nv&#34;&gt;request&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;3&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;time&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;4.1 ms
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;4.0 KiB from /dev/sdc &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;device 894.3 GiB&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;: &lt;span class=&#34;nv&#34;&gt;request&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;4&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;time&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;4.1 ms
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;Micron_M600_MTFDDAK1T0MBF SATA&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;root@pm-san5:/proc  &lt;span class=&#34;c1&#34;&gt;# ioping /dev/sdf&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;4.0 KiB from /dev/sdf &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;device 953.9 GiB&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;: &lt;span class=&#34;nv&#34;&gt;request&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;1&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;time&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;157&lt;/span&gt; us
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;4.0 KiB from /dev/sdf &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;device 953.9 GiB&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;: &lt;span class=&#34;nv&#34;&gt;request&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;2&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;time&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;190&lt;/span&gt; us
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;4.0 KiB from /dev/sdf &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;device 953.9 GiB&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;: &lt;span class=&#34;nv&#34;&gt;request&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;3&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;time&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;65&lt;/span&gt; us
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;4.0 KiB from /dev/sdf &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;device 953.9 GiB&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;: &lt;span class=&#34;nv&#34;&gt;request&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;4&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;time&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;181&lt;/span&gt; us
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sb&#34;&gt;```&lt;/span&gt;shell
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;## Latency on the a VM&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;- &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;Disk -&amp;gt; LVM -&amp;gt; MDADM -&amp;gt; DRBD -&amp;gt; iSCSI target -&amp;gt; Network -&amp;gt; XenServer iSCSI Client -&amp;gt; VM&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sb&#34;&gt;```&lt;/span&gt;shell
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;root@dev-samm:/mnt &lt;span class=&#34;m&#34;&gt;127&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;# ioping pmt1/&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;m&#34;&gt;4096&lt;/span&gt; bytes from pmt1/ &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;ext4 /dev/xvdb1&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;: &lt;span class=&#34;nv&#34;&gt;request&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;1&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;time&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;0.6 ms
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;m&#34;&gt;4096&lt;/span&gt; bytes from pmt1/ &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;ext4 /dev/xvdb1&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;: &lt;span class=&#34;nv&#34;&gt;request&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;2&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;time&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;0.7 ms
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;m&#34;&gt;4096&lt;/span&gt; bytes from pmt1/ &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;ext4 /dev/xvdb1&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;: &lt;span class=&#34;nv&#34;&gt;request&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;3&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;time&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;0.7 ms
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;--- pmt1/ &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;ext4 /dev/xvdb1&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt; ioping statistics ---
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;m&#34;&gt;3&lt;/span&gt; requests completed in 2159.1 ms, &lt;span class=&#34;m&#34;&gt;1508&lt;/span&gt; iops, 5.9 mb/s
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;min/avg/max/mdev &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; 0.6/0.7/0.7/0.1 ms
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;root@dev-samm:/mnt  &lt;span class=&#34;c1&#34;&gt;# ioping pmt2/&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;m&#34;&gt;4096&lt;/span&gt; bytes from pmt2/ &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;ext4 /dev/xvdc1&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;: &lt;span class=&#34;nv&#34;&gt;request&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;1&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;time&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;0.6 ms
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;m&#34;&gt;4096&lt;/span&gt; bytes from pmt2/ &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;ext4 /dev/xvdc1&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;: &lt;span class=&#34;nv&#34;&gt;request&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;2&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;time&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;0.8 ms
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;--- pmt2/ &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;ext4 /dev/xvdc1&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt; ioping statistics ---
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;m&#34;&gt;2&lt;/span&gt; requests completed in 1658.4 ms, &lt;span class=&#34;m&#34;&gt;1470&lt;/span&gt; iops, 5.7 mb/s
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;min/avg/max/mdev &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; 0.6/0.7/0.8/0.1 ms
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;root@dev-samm:/mnt  &lt;span class=&#34;c1&#34;&gt;# ioping pmt3/&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;m&#34;&gt;4096&lt;/span&gt; bytes from pmt3/ &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;ext4 /dev/xvde1&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;: &lt;span class=&#34;nv&#34;&gt;request&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;1&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;time&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;0.6 ms
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;m&#34;&gt;4096&lt;/span&gt; bytes from pmt3/ &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;ext4 /dev/xvde1&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;: &lt;span class=&#34;nv&#34;&gt;request&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;2&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;time&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;0.9 ms
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;m&#34;&gt;4096&lt;/span&gt; bytes from pmt3/ &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;ext4 /dev/xvde1&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;: &lt;span class=&#34;nv&#34;&gt;request&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;3&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;time&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;0.9 ms
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://smcleod.net/images/san/lcmcpcmk.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Delayed Serial STONITH</title>
      <link>https://smcleod.net/2015/07/delayed-serial-stonith/</link>
      <pubDate>Tue, 21 Jul 2015 00:00:00 +0000</pubDate>
      <guid>https://smcleod.net/2015/07/delayed-serial-stonith/</guid>
      <description>&lt;p&gt;A modified version of &lt;a href=&#34;http://www.scl.co.uk/rcd_serial/README.rcd_serial&#34;&gt;John Sutton&amp;rsquo;s&lt;/a&gt; rcd_serial cable coupled with our Supermicro reset switch hijacker:&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://smcleod.net//img/san/rcd_serial.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;This works with the rcd_serial fence agent &lt;a href=&#34;https://github.com/ClusterLabs/fence-agents/tree/master/agents/rcd_serial&#34;&gt;plugin&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Reasons &lt;code&gt;rcd_serial&lt;/code&gt; makes for a very good &lt;a href=&#34;https://en.wikipedia.org/wiki/STONITH&#34;&gt;STONITH&lt;/a&gt; mechanism:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;It has no dependency on power state.&lt;/li&gt;
&lt;li&gt;It has no dependency on network state.&lt;/li&gt;
&lt;li&gt;It has no dependency on node operational state.&lt;/li&gt;
&lt;li&gt;It has no dependency on external hardware.&lt;/li&gt;
&lt;li&gt;It costs less that $5 + time to build.&lt;/li&gt;
&lt;li&gt;It is incredibly simple and reliable.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Essentially the most common STONITH agent type in use is probably those that control UPS / PDUs, while this sounds like a good idea in theory there are a number of issues with relying on a UPS / PDU:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Video - Cluster Failover Performance Demo</title>
      <link>https://smcleod.net/2015/07/video-cluster-failover-performance-demo/</link>
      <pubDate>Sun, 12 Jul 2015 00:00:00 +0000</pubDate>
      <guid>https://smcleod.net/2015/07/video-cluster-failover-performance-demo/</guid>
      <description>&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
      &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/GvAV990z2Us?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;
    &lt;/div&gt;</description>
    </item>
    <item>
      <title>CentOS 7 and HA</title>
      <link>https://smcleod.net/2015/07/centos-7-and-ha/</link>
      <pubDate>Tue, 07 Jul 2015 00:00:00 +0000</pubDate>
      <guid>https://smcleod.net/2015/07/centos-7-and-ha/</guid>
      <description>&lt;p&gt;First some background&amp;hellip;&lt;/p&gt;
&lt;p&gt;One of the many lessons I&amp;rsquo;ve learnt from my Linux HA / Storage clustering project is that the Debian HA ecosystem is essentially broken, We reached the point where packages were too old, too buggy or in Debian 8&amp;rsquo;s case - outright missing.&lt;/p&gt;
&lt;p&gt;In the past I was very disappointed with RHEL/CentOS 5 / 6 and (until now) have been quite satisfied with Debian as a stable server distribution with historicity more modern packages and kernels.&lt;/p&gt;</description>
    </item>
    <item>
      <title>SSD Storage Cluster - Update and Diagram</title>
      <link>https://smcleod.net/2015/06/ssd-storage-cluster-update-and-diagram/</link>
      <pubDate>Wed, 17 Jun 2015 00:00:00 +0000</pubDate>
      <guid>https://smcleod.net/2015/06/ssd-storage-cluster-update-and-diagram/</guid>
      <description>&lt;p&gt;Due to several recent events beyond my control I&amp;rsquo;m a bit behind on the project - hence the lack of updates which I apologise for.&lt;/p&gt;
&lt;p&gt;The goods news is that I&amp;rsquo;m back working to finish off the clusters and I&amp;rsquo;m happy to report that all is going to plan.&lt;/p&gt;
&lt;p&gt;Here is the final digram of the two-node cluster design:&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://smcleod.net//img/san/diagram.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;Plain text version available &lt;a href=&#34;https://gist.github.com/sammcj/0503007ceb5038a0de3c&#34;&gt;here&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://smcleod.net//img/san/lcmcpcmk.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;This was generated from the &lt;a href=&#34;http://github.com/rasto/lcmc&#34;&gt;LCMC&lt;/a&gt; tool (beware - it&amp;rsquo;s java!).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Video - Storage Cluster Failover Demo</title>
      <link>https://smcleod.net/2015/05/video-storage-cluster-failover-demo/</link>
      <pubDate>Thu, 14 May 2015 00:00:00 +0000</pubDate>
      <guid>https://smcleod.net/2015/05/video-storage-cluster-failover-demo/</guid>
      <description>&lt;p&gt;A brief demonstration of the failover and recovery process on the storage clusters I&amp;rsquo;ve been building.&lt;/p&gt;
&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
      &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/_fRMtXWM3FU?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;
    &lt;/div&gt;</description>
    </item>
    <item>
      <title>Talk - High Performance Software Defined Storage</title>
      <link>https://smcleod.net/2015/04/talk-high-performance-software-defined-storage/</link>
      <pubDate>Wed, 15 Apr 2015 00:00:00 +0000</pubDate>
      <guid>https://smcleod.net/2015/04/talk-high-performance-software-defined-storage/</guid>
      <description>&lt;p&gt;A high level talk from Infracoders Melbourne on 12/04/2015.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://media.githubusercontent.com/media/sammcj/smcleod_files/refs/heads/master/slides/lightning_san.pdf&#34;&gt;&lt;img alt=&#34;Click to Start Slides&#34; loading=&#34;lazy&#34; src=&#34;https://smcleod.net//img/san/supermicrox2.jpg&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://media.githubusercontent.com/media/sammcj/smcleod_files/refs/heads/master/slides/lightning_san.pdf&#34;&gt;&lt;img alt=&#34;Click to Start Slides&#34; loading=&#34;lazy&#34; src=&#34;https://smcleod.net//img/san/ic-slides-image.png&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;There&amp;rsquo;s also a low quality recording available here:&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://youtu.be/VAdqurA2zQ4?t=198&#34;&gt;&lt;img alt=&#34;Click to Start Video&#34; loading=&#34;lazy&#34; src=&#34;https://smcleod.net//img/san/ic-sds-yt-thumb.png&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Related posts:&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://smcleod.net/building-a-high-performance-ssd-san/&#34;&gt;Building a high performance SSD SAN - Part 1&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Building a high performance SSD SAN - Part 1</title>
      <link>https://smcleod.net/2015/02/building-a-high-performance-ssd-san-part-1/</link>
      <pubDate>Mon, 16 Feb 2015 00:00:00 +0000</pubDate>
      <guid>https://smcleod.net/2015/02/building-a-high-performance-ssd-san-part-1/</guid>
      <description>&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://smcleod.net//img/san/graphs.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;Over the coming month I will be architecting, building and testing a modular, high performance SSD-only storage solution.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ll be documenting my progress / findings along the way and open sourcing all the information as a public guide.&lt;/p&gt;
&lt;p&gt;With recent price drops and durability improvements in solid state storage now is better time than any to ditch those old magnets.&lt;/p&gt;
&lt;p&gt;Modular server manufacturers such as SuperMicro have spent large on R&amp;amp;D thanks to the ever growing requirements from cloud vendors that utilise their hardware.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Direct-Attach SSD Storage - Performance &amp; Comparisons</title>
      <link>https://smcleod.net/2015/02/direct-attach-ssd-storage-performance-comparisons/</link>
      <pubDate>Sun, 15 Feb 2015 00:00:00 +0000</pubDate>
      <guid>https://smcleod.net/2015/02/direct-attach-ssd-storage-performance-comparisons/</guid>
      <description>&lt;p&gt;Further to my earlier post on XenServer storage performance with regards to directly attaching storage from the host, I have been analysing the performance of various SSD storage options.&lt;/p&gt;
&lt;p&gt;I have attached a HP DS2220sb storage blade to an existing server blade and compared performance with 4 and 6 SSD RAID-10 to our existing iSCSI SANs.&lt;/p&gt;
&lt;p&gt;While the P420i RAID controller in the DS2220sb is clearly saturated and unable to provide throughput much over 1,100MB/s - the IOP/s available to PostgreSQL are still a very considerably performance improvement over our P4530 SAN - in fact, 6 SSD&amp;rsquo;s result in a 39.9x performance increase!&lt;/p&gt;</description>
    </item>
    <item>
      <title>XenServer, SSDs &amp; VM Storage Performance</title>
      <link>https://smcleod.net/2015/02/xenserver-ssds-vm-storage-performance/</link>
      <pubDate>Sun, 15 Feb 2015 00:00:00 +0000</pubDate>
      <guid>https://smcleod.net/2015/02/xenserver-ssds-vm-storage-performance/</guid>
      <description>&lt;h2 id=&#34;intro&#34;&gt;Intro&lt;/h2&gt;
&lt;p&gt;At Infoxchange we use XenServer as our Virtualisation of choice.
There are many reasons for this including:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Open Source.&lt;/li&gt;
&lt;li&gt;Offers greater performance than VMware.&lt;/li&gt;
&lt;li&gt;Affordability (it&amp;rsquo;s free unless you purchase support).&lt;/li&gt;
&lt;li&gt;Proven backend Xen is very reliable.&lt;/li&gt;
&lt;li&gt;Reliable cross-host migrations of VMs.&lt;/li&gt;
&lt;li&gt;The XenCentre client, (although having to run in a Windows VM) is quick and simple to use.&lt;/li&gt;
&lt;li&gt;Upgrades and patches have proven to be more reliable than VMware.&lt;/li&gt;
&lt;li&gt;OpenStack while interesting, is not yet reliable or streamlined enough for our small team of 4 to implement and manage.&lt;/li&gt;
&lt;li&gt;XenServer Storage &amp;amp; Filesystems&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Unfortunately the downside to XenServer is that it&amp;rsquo;s underlying OS is quite old.
The latest version (6.5) about to be released is still based on Centos 5 and still lacks any form of EXT4 and BTRFS support, direct disk access is not available… without some tweaking and has no real support for TRIM unless you have direct disk access and are happy with EXT3.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
