{"id":2129,"date":"2012-10-02T20:43:07","date_gmt":"2012-10-03T03:43:07","guid":{"rendered":"http:\/\/greg.porter.name\/wordpress\/?p=2129"},"modified":"2012-10-24T21:40:35","modified_gmt":"2012-10-25T04:40:35","slug":"equallogic-array-firmware-upgrades-are-non-disruptive","status":"publish","type":"post","link":"https:\/\/greg.porter.name\/wordpress\/?p=2129","title":{"rendered":"EqualLogic Array Firmware Upgrades Are Non-Disruptive"},"content":{"rendered":"<h3 id=\"EqualLogicarrayfirmwareupgradesarenon-disruptive-EagerreaderswanttoknowifEqualLogicarrayfirmwareupgradesarenon-disruptivesowetesteditinourmightyremoteenvironment\"><a href=\"https:\/\/greg.porter.name\/wordpress\/wp-content\/uploads\/2012\/10\/FINAL_DELL_EQUALLOGIC_LOGO_outlines-copy.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-2161 alignnone\" title=\"FINAL_DELL_EQUALLOGIC_LOGO_outlines copy\" src=\"https:\/\/greg.porter.name\/wordpress\/wp-content\/uploads\/2012\/10\/FINAL_DELL_EQUALLOGIC_LOGO_outlines-copy.jpg\" alt=\"\" width=\"300\" height=\"95\" \/><\/a>\u00a0 <a href=\"https:\/\/greg.porter.name\/wordpress\/wp-content\/uploads\/2012\/10\/PS6000.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignright  wp-image-2154\" title=\"PS6000\" src=\"https:\/\/greg.porter.name\/wordpress\/wp-content\/uploads\/2012\/10\/PS6000-300x178.png\" alt=\"\" width=\"192\" height=\"114\" srcset=\"https:\/\/greg.porter.name\/wordpress\/wp-content\/uploads\/2012\/10\/PS6000-300x178.png 300w, https:\/\/greg.porter.name\/wordpress\/wp-content\/uploads\/2012\/10\/PS6000.png 800w\" sizes=\"auto, (max-width: 192px) 100vw, 192px\" \/><\/a><\/h3>\n<h3>Eager readers want to know if <a href=\"https:\/\/www.dell.com\/Equallogic\">EqualLogic array<\/a> firmware upgrades are non-disruptive, so we tested it in our mighty remote environment!<\/h3>\n<h3 id=\"EqualLogicarrayfirmwareupgradesarenon-disruptive-Bottomline\u00a0ThefirmwareupdateprocesshaltsIOsduringcut-overfromonecontrollertotheother\u00a0Thistakessomethinglike27seconds\u00a0Asmostoperatingsystemshaveadisktimeoutvalueof30secondsorlongernoonereallynotices\">Bottom line:\u00a0 The firmware update process halts I\/Os during cut-over from one controller to the other.\u00a0 This takes something like 27 seconds (26969 ms).\u00a0 As most operating systems have a disk timeout value of 30 seconds or longer, no one really notices.<\/h3>\n<p>&nbsp;<\/p>\n<p><!--more--><\/p>\n<p>Some background and how we tested:<\/p>\n<p>If you have more than one array, and at least the largest array&#8217;s worth of free room, then the official way to do a firmware update <a href=\"https:\/\/en.community.dell.com\/techcenter\/storage\/w\/wiki\/4140.equallogic-firmware-update-planning-and-prerequisites\/revision\/1.aspx\">is to use a &#8220;Maintenance Pool&#8221;.<\/a>\u00a0 When you assign a member array to the Maintenance Pool, the volumes on that array will migrate to the other member(s) of your production pool.\u00a0 Depending on how much you have to move this may take a few hours or overnight.\u00a0 No one notices the moves.\u00a0 Once the member is evacuated, update it, reboot it, and put it back into the production pool, and move to the next array.\u00a0 We do this in production and there is indeed no interruption whatsoever, using a maintenance pool works well.<\/p>\n<p>In a single member pool or if you are short of room, using a maintenance pool is not an option.\u00a0 We were curious how bad the interruption would be in a single member pool, so we tested it.\u00a0 In our test vCenter environment, we have one ESXi host connected to one dual controller <a href=\"https:\/\/www.federalappliance.com\/equallogic\/ps6000\/\">PS6000 EqualLogic <\/a>array.\u00a0 VMs live on datastores provided by the array.\u00a0 This is a minimalistic all-your-eggs-in-one-basket configuration.<\/p>\n<p><a href=\"https:\/\/greg.porter.name\/wordpress\/wp-content\/uploads\/2012\/10\/r-vcenter_sm.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone  wp-image-2138\" title=\"r-vcenter_sm\" src=\"https:\/\/greg.porter.name\/wordpress\/wp-content\/uploads\/2012\/10\/r-vcenter_sm.png\" alt=\"\" width=\"581\" height=\"478\" srcset=\"https:\/\/greg.porter.name\/wordpress\/wp-content\/uploads\/2012\/10\/r-vcenter_sm.png 969w, https:\/\/greg.porter.name\/wordpress\/wp-content\/uploads\/2012\/10\/r-vcenter_sm-300x246.png 300w\" sizes=\"auto, (max-width: 581px) 100vw, 581px\" \/><\/a><\/p>\n<p>We deployed <a href=\"https:\/\/labs.vmware.com\/flings\/io-analyzer\" rel=\"nofollow\">VMware&#8217;s handy I\/O Analyzer<\/a>, which is a simple to use appliance based on <a href=\"https:\/\/www.iometer.org\/\" rel=\"nofollow\">IOmeter<\/a> for disk benchmarking.\u00a0 We installed it as the readme says.<\/p>\n<p>We followed the usual EqualLogic firmware update procedure.\u00a0 (EqualLogic docs are locked behind <a href=\"https:\/\/support.equallogic.com\/secure\/login.aspx\">their support site<\/a>, which is unfortunate.\u00a0 If you have an active support contract you can get the docs and firmware there.)\u00a0\u00a0 We logged into the support site and downloaded the firmware.<\/p>\n<p>Next we started a I\/O Analyzer disk benchmark run to put some I\/O load against the array.<\/p>\n<p>Then we ran the update procedure from the Group Manager GUI.\u00a0 This is basically 2 parts.<\/p>\n<p>The first part just uploads and stages the firmware.\u00a0 This is not at all disruptive.\u00a0 I\/O Analyzer didn&#8217;t notice anything.<\/p>\n<p>Then to activate the staged firmware, you have to reboot the array.\u00a0 We did this from the command prompt.<\/p>\n<p>The reboot happens intelligently.\u00a0 First it reboots the (non-active) secondary controller, and applies the update.\u00a0 The was-secondary, soon-to-be-primary, controller reboots with the new firmware.<\/p>\n<p>Once the updated secondary comes up, the array fails over to it.\u00a0 This is where a small hiccup is noticeable.\u00a0 I\/Os stopped for about 27 seconds during the cut-over (26929 ms).\u00a0 This is short enough that no actual grief ensued.<\/p>\n<p>The now-secondary, was-primary, controller then reboots and applies the firmware.<\/p>\n<p>The I\/O Analyzer continued to happily chug along during the hiccup, as well as the vCenter Windows VM, both of which were active during the update.\u00a0 Neither seemed to notice the hiccup, neither logged anything related to disk issues.<\/p>\n<p>All in all the update process was pretty painless, even with the array under load.<\/p>\n<p><a href=\"https:\/\/greg.porter.name\/wordpress\/wp-content\/uploads\/2012\/10\/iometer.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone  wp-image-2143\" title=\"iometer\" src=\"https:\/\/greg.porter.name\/wordpress\/wp-content\/uploads\/2012\/10\/iometer.png\" alt=\"\" width=\"583\" height=\"508\" srcset=\"https:\/\/greg.porter.name\/wordpress\/wp-content\/uploads\/2012\/10\/iometer.png 810w, https:\/\/greg.porter.name\/wordpress\/wp-content\/uploads\/2012\/10\/iometer-300x261.png 300w\" sizes=\"auto, (max-width: 583px) 100vw, 583px\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u00a0 Eager readers want to know if EqualLogic array firmware upgrades are non-disruptive, so we tested it in our mighty remote environment! Bottom line:\u00a0 The firmware update process halts I\/Os during cut-over from one controller to the other.\u00a0 This takes&hellip; <a href=\"https:\/\/greg.porter.name\/wordpress\/?p=2129\" class=\"more-link\">Continue Reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-2129","post","type-post","status-publish","format-standard","hentry","category-content"],"_links":{"self":[{"href":"https:\/\/greg.porter.name\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/2129","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/greg.porter.name\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/greg.porter.name\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/greg.porter.name\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/greg.porter.name\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2129"}],"version-history":[{"count":38,"href":"https:\/\/greg.porter.name\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/2129\/revisions"}],"predecessor-version":[{"id":2167,"href":"https:\/\/greg.porter.name\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/2129\/revisions\/2167"}],"wp:attachment":[{"href":"https:\/\/greg.porter.name\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2129"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/greg.porter.name\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2129"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/greg.porter.name\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2129"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}