{"id":557,"date":"2014-01-09T12:13:26","date_gmt":"2014-01-09T11:13:26","guid":{"rendered":"https:\/\/hoover.gplrank.de\/?p=557"},"modified":"2014-01-09T12:14:51","modified_gmt":"2014-01-09T11:14:51","slug":"growing-a-raid1-mirror-destructively-on-an-hp-proliant-server-using-hpacucli","status":"publish","type":"post","link":"https:\/\/hoover.gplrank.de\/?p=557","title":{"rendered":"Growing a RAID1 mirror (destructively) on an HP Proliant Server using hpacucli"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone\" title=\"(c) hp.com\" alt=\"(c) hp.com\" src=\"http:\/\/h10003.www1.hp.com\/digmedialib\/prodimg\/lowres\/c01723052.jpg\" width=\"320\" height=\"320\" \/><\/p>\n<p>Recently, we&#8217;ve had to replace a RAID1 mirror consisting of 2 146GB drives with 2 300GB ones. As we were able to move the data elsewhere on the server during the process, this was possible online without rebooting the server and causing unnecessary downtimes. Here&#8217;s what we did:<\/p>\n<p>&#8211; unmount the device if necessary (we were using it for Oracle raw devices so we had to move stuff within Oracle in order to be able to remove it)<\/p>\n<p>&#8211; Identify the logical device (usually \/dev\/cciss\/c0d0 or similar). For this example, we&#8217;ll be using \/dev\/cciss\/c0d0 (the first logical drive on the first controller #0) .<\/p>\n<p>&#8211; Find the logical drive for the mount point by using hpacucli:<\/p>\n<pre>show ctrl=0 ld all<\/pre>\n<p>then, for each logical drive &lt;n&gt;, do<\/p>\n<pre>show ctrl=0 ld &lt;n&gt; show<\/pre>\n<p>Eventually, you&#8217;ll find the Linux device in this line:<\/p>\n<pre>Disk Name: \/dev\/cciss\/c0d0<\/pre>\n<p>&#8211; Find out which physical drives make up the logical drive by turning on their leds:<\/p>\n<pre>ctrl slot=0 ld 0 modify led=on<\/pre>\n<p>Now the blue leds on the drives should be lit. Pull the drives from the storage \/ box server and wait a minute or two.<\/p>\n<p>hpacucli now should have marked the logical drive as failed:<\/p>\n<pre>ctrl slot=0 ld 0 show status<\/pre>\n<pre>Status: Failed<\/pre>\n<p>Now install the new (hopefully larger ;-)) drives and use hpacucli again to verify it&#8217;s now seeing the larger drives:<\/p>\n<pre>ctrl slot=0 ld 0 show<\/pre>\n<p>&nbsp;<\/p>\n<p>You should now see the larger drives in these lines:<\/p>\n<p>&nbsp;<\/p>\n<pre>Mirror Group 0:\r\n physicaldrive 1I:1:3 (port 1I:box 1:bay 3, SAS, 300 GB, OK)\r\n Mirror Group 1:\r\n physicaldrive 2I:1:7 (port 2I:box 1:bay 7, SAS, 300 GB, OK)<\/pre>\n<p>Now you can re-enable the mirror, using those larger devices:<\/p>\n<pre>ctrl slot=0 ld 0 modify reenable<\/pre>\n<p>You&#8217;ll have to confirm that data on the LD will be lost, but it&#8217;s no biggie as you copied the stuff elsewhere, right? \ud83d\ude09<\/p>\n<p>Finally, grow the logical drive to its new capacity:<\/p>\n<pre>ctrl slot=0 ld 5 modify size=286070<\/pre>\n<p>(this is for a 300GB SAS drive).<\/p>\n<p>Instruct the Linux kernel to partprobe the new disks (they should come up empty with no partitions on them):<\/p>\n<pre># partprobe<\/pre>\n<p>That&#8217;s it, you should now be able to access the new, larger logical drive using the old Linux device name at \/dev\/cciss\/c0d0. Create partitions as needed and copy back your data to the new device.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Recently, we&#8217;ve had to replace a RAID1 mirror consisting of 2 146GB drives with 2 300GB ones. As we were able to move the data elsewhere on the server during the process, this was possible online without rebooting the server and causing unnecessary downtimes. Here&#8217;s what we did: &#8211; unmount the device if necessary (we [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[],"class_list":["post-557","post","type-post","status-publish","format-standard","hentry","category-it"],"_links":{"self":[{"href":"https:\/\/hoover.gplrank.de\/index.php?rest_route=\/wp\/v2\/posts\/557","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hoover.gplrank.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hoover.gplrank.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hoover.gplrank.de\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/hoover.gplrank.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=557"}],"version-history":[{"count":3,"href":"https:\/\/hoover.gplrank.de\/index.php?rest_route=\/wp\/v2\/posts\/557\/revisions"}],"predecessor-version":[{"id":560,"href":"https:\/\/hoover.gplrank.de\/index.php?rest_route=\/wp\/v2\/posts\/557\/revisions\/560"}],"wp:attachment":[{"href":"https:\/\/hoover.gplrank.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=557"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hoover.gplrank.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=557"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hoover.gplrank.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=557"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}