If we have one, can we get the other volume management pages updated with the TB reporting as well?
-----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Joe Landman Sent: Monday, November 06, 2006 12:32 PM To: [email protected] Subject: [OF-users] patch to do several things Hi OF-team: Here is a patch to do several things: 1) report/use TB for large volumes 2) include chunk size in RAID building (defaulting at 64k). I needed the latter, and the former is merely a housekeeping detail. With this, one of our arrays looks like this now: Array Level Array Size Device Size State Synchronization Manage Add Used In Delete /dev/md0 RAID-0 24.56 TB 0 bytes Clean Synchronized View members All RAID partitions are used Unknown / unused Delete as compared to 24560.00 GB. I think the former is nicer than the latter. Without further ado, this is the patch (against volumes_raidmanager.html from the 2.1 x86_64 beta 1). Also as an attachment. ======8><================================================= --- volumes_raidmanage.html.original 2006-11-06 10:13:27.211598246 -0500 +++ volumes_raidmanage.html 2006-11-06 13:19:50.555642069 -0500 @@ -219,7 +219,7 @@ $member_count = 0; $spare_devices = ""; $spare_count = 0; - + $chunk_size = ${"chunksize"}; $devices_ok = TRUE; for ($part_index = 0; $part_index < count($of_disks); $part_index++) @@ -278,9 +278,9 @@ if (!$found) { if ($spare_count > 0) - exec("/usr/bin/sudo /sbin/mdadm --create /dev/md" . $i . " --level=" . intval($level) . " --raid-devices=" . $member_count . " --spare-devices=" . $spare_count . " " . $member_devices . $spare_devices); + exec("/usr/bin/sudo /sbin/mdadm --create /dev/md" . $i . " --level=" . intval($level) . " --raid-devices=" . $member_count . " --spare-devices=" . $spare_count . " --chunk=". $chunk_size . " " . $member_devices . $spare_devices ."> /tmp/out1 2> /tmp/out2"); else - exec("/usr/bin/sudo /sbin/mdadm --create /dev/md" . $i . " --level=" . intval($level) . " --raid-devices=" . $member_count . " " . $member_devices); + exec("/usr/bin/sudo /sbin/mdadm --create /dev/md" . $i . " --level=" . intval($level). " --chunk=". $chunk_size . " " . " --raid-devices=" . $member_count . " " . $member_devices . " > /tmp/out1 2> /tmp/out2 " ); sleep(2); // Give a couple of seconds for the RAID device to become active @@ -355,8 +355,10 @@ $part_size = ($of_disks[$i]["blocksize"] * $of_disks[$i]["partitions"][$j]["blocks"]); - if ($part_size > (1024 * 1024 * 1024)) - $part_size_string = sprintf("%.02f GB", ($part_size / (1024 * 1024 * 1024.0))); + if ($part_size > (1024 * 1024 * 1024 * 1024.0)) + $part_size_string = sprintf("%.02f TB", ($part_size / (1024 * 1024 * 1024.0 * 1024.0))); + else if ($part_size > (1024 * 1024 * 1024 )) + $part_size_string = sprintf("%.02f GB", ($part_size / (1024 * 1024 * 1024.0))); else if ($part_size > (1024 * 1024)) $part_size_string = sprintf("%.02f MB", ($part_size / (1024 * 1024.0))); else if ($part_size > (1024)) @@ -491,7 +493,9 @@ print("<td bgcolor=\"" . $dvalue . "\" align=\"center\">RAID-" . $md[$i]["level"] . "</td>\n"); $part_size = $md[$i]["array_size"]; - if ($part_size > (1024 * 1024 * 1024)) + if ($part_size > (1024 * 1024 * 1024 * 1024)) + $part_size_string = sprintf("%.02f TB", ($part_size / (1024 * 1024 * 1024.0 * 1024.0))); + else if ($part_size > (1024 * 1024 * 1024)) $part_size_string = sprintf("%.02f GB", ($part_size / (1024 * 1024 * 1024.0))); else if ($part_size > (1024 * 1024)) $part_size_string = sprintf("%.02f MB", ($part_size / (1024 * 1024.0))); @@ -504,7 +508,9 @@ $part_size = $md[$i]["device_size"]; - if ($part_size > (1024 * 1024 * 1024)) + if ($part_size > (1024 * 1024 * 1024 * 1024)) + $part_size_string = sprintf("%.02f TB", ($part_size / (1024 * 1024 * 1024.0 * 1024.0))); + else if ($part_size > (1024 * 1024 * 1024)) $part_size_string = sprintf("%.02f GB", ($part_size / (1024 * 1024 * 1024.0))); else if ($part_size > (1024 * 1024)) $part_size_string = sprintf("%.02f MB", ($part_size / (1024 * 1024.0))); @@ -645,11 +651,12 @@ print("<div align=\"center\">\n"); print("<table cellpadding=\"8\" cellspacing=\"2\" border=\"0\">\n"); print("<tr>\n"); - print("\t<td colspan=\"5\" bgcolor=\"" . $GLOBALS["color_table_heading"] . "\" align=\"center\"><strong>Select RAID array type</strong></td>\n"); + print("\t<td colspan=\"4\" bgcolor=\"" . $GLOBALS["color_table_heading"] . "\" align=\"center\"><strong>Select RAID array type</strong></td>\n"); + print("\t<td colspan=\"1\" bgcolor=\"" . $GLOBALS["color_table_heading"] . "\" align=\"center\"><strong>Select chunk size</strong></td>\n"); print("</tr>\n"); print("<tr>\n"); - print("\t<td colspan=\"5\" bgcolor=\"" . $GLOBALS["color_table_row1"] . "\" align=\"center\">\n"); + print("\t<td colspan=\"4\" bgcolor=\"" . $GLOBALS["color_table_row1"] . "\" align=\"center\">\n"); print("\t<select onchange=\"add_changed()\" name=\"level\">\n"); print("\t\t<option value=\"0\">RAID-0 (striped)</option>\n"); print("\t\t<option value=\"1\">RAID-1 (mirrored)</option>\n"); @@ -657,7 +664,24 @@ print("\t\t<option value=\"6\">RAID-6 (extra-parity)</option>\n"); print("\t\t<option value=\"10\">RAID-10 (mirrored + striped)</option>\n"); print("\t</select>\n"); - print("</td>\n"); + print("</td>\n<center>chunk size</center>"); + + print("\t<td colspan=\"1\" bgcolor=\"" . $GLOBALS["color_table_row1"] . "\" align=\"center\">\n"); + print("\t<select onchange=\"add_changed()\" name=\"chunksize\">\n"); + print("\t\t<option value=\"4\">4 kB</option>\n"); + print("\t\t<option value=\"8\">8 kB</option>\n"); + print("\t\t<option value=\"16\">16 kB</option>\n"); + print("\t\t<option value=\"32\">32 kB</option>\n"); + print("\t\t<option value=\"64\" selected >64 kB</option>\n"); + print("\t\t<option value=\"128\">128 kB</option>\n"); + print("\t\t<option value=\"256\">256 kB</option>\n"); + print("\t\t<option value=\"512\">512 kB</option>\n"); + print("\t\t<option value=\"1024\">1M </option>\n"); + print("\t\t<option value=\"2048\">2M</option>\n"); + print("\t\t<option value=\"4096\">4M</option>\n"); + print("\t</select>\n"); + print("</td>\n"); + print("</tr>\n"); print("<tr>\n"); @@ -694,8 +718,9 @@ } $part_size = ($of_disks[$i]["blocksize"] * $of_disks[$i]["partitions"][$j]["blocks"]); - - if ($part_size > (1024 * 1024 * 1024)) + if ($part_size > (1024 * 1024 * 1024 * 1024)) + $part_size_string = sprintf("%.02f TB", ($part_size / (1024 * 1024 * 1024.0 * 1024.0))); + else if ($part_size > (1024 * 1024 * 1024)) $part_size_string = sprintf("%.02f GB", ($part_size / (1024 * 1024 * 1024.0))); else if ($part_size > (1024 * 1024)) $part_size_string = sprintf("%.02f MB", ($part_size / (1024 * 1024.0))); -- Joseph Landman, Ph.D Founder and CEO Scalable Informatics LLC, email: [EMAIL PROTECTED] web : http://www.scalableinformatics.com phone: +1 734 786 8423 fax : +1 734 786 8452 or +1 866 888 3112 cell : +1 734 612 4615 _______________________________________________ Openfiler-users mailing list [email protected] https://lists.openfiler.com/mailman/listinfo/openfiler-users
