<?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>Admin&#039;s Choice &#187; Volumes</title>
	<atom:link href="http://adminschoice.com/category/volumes/feed" rel="self" type="application/rss+xml" />
	<link>http://adminschoice.com</link>
	<description>Unix adminstrators documents , tip and more</description>
	<lastBuildDate>Thu, 11 Feb 2010 02:53:34 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Solstice DiskSuite &#8211; Admin&#8217;s Guide</title>
		<link>http://adminschoice.com/solstice-disksuite-guide</link>
		<comments>http://adminschoice.com/solstice-disksuite-guide#comments</comments>
		<pubDate>Tue, 29 Dec 2009 21:17:20 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Volumes]]></category>
		<category><![CDATA[Solstice DiskSuite]]></category>
		<category><![CDATA[sun volume manager]]></category>

		<guid isPermaLink="false">http://adminschoice.com/?p=354</guid>
		<description><![CDATA[Understanding and setting up Solstice DiskSuite 4.2.1 in Solaris]]></description>
			<content:encoded><![CDATA[<table border="0" >
<caption><b><u><font size="4">Table of Contents</font></u></b></caption>
<tr>
<td width="49%" align="left" valign="top" height="315">
<dl>
<dt>1.<a href="#Advantages of Disksuite">Advantages of Disksuite</a></dt>
<dt>2. <a href="#Disksuite terms">Disksuite terms</a></dt>
<dt>3. <a href="#Disksuite Packages :">Disksuite Packages</a> </dt>
<dt>4. <a href="#Installing DiskSuite 4.2.1 in Solaris 8">Installing<br />
      DiskSuite 4.2.1 in Solaris 8</a></dt>
<dt>5. <a href="#Installing DiskSuite 4.2.1 in Solaris 8">Creating State<br />
      Database </a></dt>
<dt>6. <a href="#Creating MetaDevices :">Creating MetaDevices</a> </dt>
<dt>6.1. <a href="#1.) Creating a concatenated Metadevice :">Concatenated<br />
      Metadevice</a></dt>
<dt>6.2. <a href="#2.) Creating a stripe of 32k interleave">Striped<br />
      Metadevice</a></dt>
<dt>6.3 <a href="#3.) Creating a Mirror :">Mirrored Metadevice</a> </dt>
<dt>6.3.1 <a href="#6.3.1 ) Creating a simple mirror from new partitions"> Simple mirror</a></dt>
<dt>6.3.2 <a href="#6.3.2.) Mirroring a Partitions with data which can be unmounted">Mirroring a unmountable Partition </a></dt>
<dt>6.3.3 <a href="#6.3.3 ) Mirroring a Partitions with data which can not be unmounted - root and /usr">  root mirroring &amp; /usr mirroring</a></dt>
<dt>6.3.4 <a href="#· root mirroring">&nbsp;</a><a href="#6.3.4  ) Making Mirrored disk bootable">Making alternate&nbsp; root disk bootable</a></dt>
<dt>6.3.5&nbsp;<a href="#2.) Creating alterbate name for Mirrored boot disk">Setting<br />
      alternate boot path for root mirror</a></dt>
<dt>6.4 <a href="#4.) Creating a RAID 5 volume :">RAID 5 </a></dt>
</dl>
</td>
<td width="51%" align="left" valign="top" height="315">
<dl>
<dt>6.5 <a href="#B.)Trans Metadevice for a File System That Cannot Be Unmounted"> TransMeta Device</a></dt>
<dt>6.5.1 <a href="#6.5.1) Trans Metadevice for a File System That Can Be Unmounted"> TransMeta device for unmountable partition</a></dt>
<dt>6.5.2 <a href="#B.) Trans Metadevice for a File System That Cannot Be Unmounted">TransMeta device for non unmountable partition.</a></dt>
<dt>6.5.3 <a href="#6.5.3 ) TransMeta device using Mirrors">TransMeta<br />
      device using Mirror</a></dt>
<dt>6.6 <a href="#6.) HotSpare Pool">Hotspare Pool</a></dt>
<dt>6.6.1 <a href="#6.6.1) Associating a Hot Spare Pool with Submirrors">Adding a Hotspare to Mirror</a></dt>
<dt>6.6.2 <a href="#6.6.2 ) Associating or changing a Hot Spare Pool with a RAID5 Metadevice">Adding a Hotspare to RAID5</a></dt>
<dt>6.6.3 <a href="#6.6.3 ) Mirroring a Partitions with data which can not be unmounted - root and /usr">Adding a disk to Hotspare Pool.</a></dt>
<dt>6.7 <a href="#7.)Disksets">disksets</a></dt>
<dt>6.7.1 <a href="#6.7.1 ) Creating Two Disksets">Creating two diskset </a></dt>
<dt>6.7.2 <a href="#6.7.2 ) Adding Drives to a Diskset">Adding disk to diskset </a></dt>
<dt>6.7.3 <a href="#6.7.3 ) Creating  a Mirror in a Diskset">Creating Mirror in Diskse</a>t</dt>
<dt>7.&nbsp; <a href="#Trouble Shooting">TroubleShooting </a></dt>
<dt>7.1) <u><a href="#1.) Recovering from  Stale State Database Replicas"> Recovering from&nbsp; Stale State Database replicas</a></u></dt>
<dt>7.2) <u><a href="#2.) Metadevice Errors :">Metadevice Errors</a></u></dt>
</dl>
</td>
</tr>
</table>
<blockquote>
<blockquote></blockquote>
</blockquote>
<p><b></p>
<p>1.<a name="Advantages of Disksuite"> <u>Advantages of Disksuite</u></a><br />
</b><br />
  Solstice disk suite provides three major functionalities :</p>
<p><b>1.</b> Over come the disk size limitation by providing for joining of<br />
    multiple disk slices to form a bigger&nbsp; volume.&nbsp;</p>
<p><b><br />
 2.</b> Fault Tolerance by allowing mirroring of data from one disk to another<br />
    and keeping parity&nbsp;<br />
    &nbsp;&nbsp;&nbsp; information in RAID5.&nbsp;</p>
<p><b><br />
    3.</b> Performance enhancement by allowing spreading the data space over<br />
    multiple disks .</p>
<p>  <b></p>
<p>2. <u><a name="Disksuite terms">Disksuite terms</a><br />
  </u><br />
</b></p>
<dl>
<dd><b>Metadevice :</b>A virtual device composed of several physical devices -<br />
    slices/disks&nbsp; . All the operations are carried out using metadevice<br />
    name and transparently implemented on the individual device.</dd>
<dd><b>RAID : </b>A group of disks used for creating a virtual volume is called array and<br />
depending on disk/slice arrangement these are called various types of RAID<br />
(Redundant Array of Independent Disk ).</dd>
</dl>
<blockquote>
<dl>
<dd>RAID 0 Concatenation/Striping</dd>
<dd>RAID 1 Mirroring</dd>
<dd>RAID 5 Striped array with rotating parity.</dd>
</dl>
</blockquote>
<p><b>Concatenation :</b>Concatenation is joining of two or more disk slices to add up the disk space<br />
. Concatenation is serial in nature i.e. sequential data operation are performed<br />
serially on first disk then second disk and so on . Due to serial nature new<br />
slices can be added up without having to take the backup of entire concatenated<br />
volume ,adding slice and restoring backup .</p>
<p><b>Striping </b>:Spreading of data over multiple disk drives mainly to enhance the performance<br />
by distributing data in alternating chunks &#8211; 16 k interleave across the stripes<br />
. Sequential data operations are performed in parallel on all the stripes by<br />
reading/writing&nbsp; 16k data blocks alternatively form the disk stripes.</p>
<p><b>Mirroring </b>: Mirroring provides data redundancy by simultaneously writing data on to two<br />
sub mirrors of a mirrored device . A submirror can be a stripe or concatenated<br />
volume and a mirror can have three mirrors . Main concern here is that a mirror<br />
needs as much as the volume to be mirrored.</p>
<p><b>RAID 5</b> : RAID 5 provides data redundancy and advantage of striping and uses less space<br />
than mirroring . A RAID 5 is made up of at least three disk which are striped<br />
with parity information written alternately on all the disks . In case of a<br />
single disk failure the data can be rebuild using the parity information from<br />
the remaining disks .<br />
<b></p>
<p>3. <u><a name="Disksuite Packages :">Disksuite Packages :</a><br />
</u><br />
</b></p>
<p>Solstice disk suite is a part of server edition of the Solaris OS and is not<br />
included with desktop edition . The software is in pkgadd format &amp; can be<br />
found in following locations in CD :</p>
<dl>
<dd>
<p style="margin-left: 33">Solaris 2.6 &#8211; “Solaris Server Intranet Extensions 1.0” CD.</dd>
<dd>
<p style="margin-left: 33">Solaris 7 &#8211; “Solaris Easy Access Server 3.0”</dd>
<dd>
<p style="margin-left: 33">Solaris 8 &#8211; “Solaris 8 Software 2 of 2”</dd>
</dl>
<p>Solaris 2.6 &amp; 2.7 Solstice Disk suite version is 4.2 .&nbsp; Following packages are part of it but only the &quot;SUNWmd&quot; is the<br />
minimum required package and a patch.</p>
<dl>
<dd>
<p style="margin-left: 33">SUNWmd &#8211; Solstice DiskSuite</dd>
<dd>
<p style="margin-left: 33">SUNWmdg &#8211; Solstice DiskSuite Tool</dd>
<dd>
<p style="margin-left: 33">SUNWmdn &#8211; Solstice DiskSuite Log Daemon</dd>
<dd>
<p style="margin-left: 33">Patch No. 106627-04 (obtain latest revision)</dd>
</dl>
<p>Solaris 8 DiskSuite version is 4.2.1 .Following are the minimum required packages ..</p>
<dl>
<dd>
<p style="margin-left: 33">SUNWmdr Solstice DiskSuite Drivers (root)</dd>
<dd>
<p style="margin-left: 33">SUNWmdu Solstice DiskSuite Commands</dd>
<dd>
<p style="margin-left: 33">SUNWmdx Solstice DiskSuite Drivers (64-bit)</dd>
</dl>
<p><b></p>
<p>4. <u><a name="Installing DiskSuite 4.2.1 in Solaris 8">Installing DiskSuite 4.2.1 in Solaris 8</a><br />
</u><br />
</b></p>
<p><b>#</b> <b>cd /cdrom/sol_8_401_sparc_2/Solaris_8/EA/products/DiskSuite_4.2.1/sparc/Packages</b></p>
<p><b><font COLOR="#000000"># pkgadd -d .<br />
</font><br />
</b></p>
<dl>
<dd>
<p style="margin-left: 30">The following packages are available:</dd>
<dd>
<p style="margin-left: 30">1 SUNWmdg Solstice DiskSuite Tool</dd>
<dd>
<p style="margin-left: 30">(sparc) 4.2.1,REV=1999.11.04.18.29</dd>
<dd>
<p style="margin-left: 30">2 SUNWmdja Solstice DiskSuite Japanese<br />
      localization</dd>
<dd>
<p style="margin-left: 30">(sparc) 4.2.1,REV=1999.12.09.15.37</dd>
<dd>
<p style="margin-left: 30">3 SUNWmdnr Solstice DiskSuite Log Daemon<br />
      Configuration Files</dd>
<dd>
<p style="margin-left: 30">(sparc) 4.2.1,REV=1999.11.04.18.29</dd>
<dd>
<p style="margin-left: 30">4 SUNWmdnu Solstice DiskSuite Log Daemon</dd>
<dd>
<p style="margin-left: 30">(sparc) 4.2.1,REV=1999.11.04.18.29</dd>
<dd>
<p style="margin-left: 30">5 SUNWmdr Solstice DiskSuite Drivers</dd>
<dd>
<p style="margin-left: 30">(sparc) 4.2.1,REV=1999.12.03.10.00</dd>
<dd>
<p style="margin-left: 30">6 SUNWmdu Solstice DiskSuite Commands</dd>
<dd>
<p style="margin-left: 30">(sparc) 4.2.1,REV=1999.11.04.18.29</dd>
<dd>
<p style="margin-left: 30">7 SUNWmdx Solstice DiskSuite Drivers(64-bit)</dd>
<dd>
<p style="margin-left: 30">(sparc) 4.2.1,REV=1999.11.04.18.29</dd>
<dd>
<p style="margin-left: 30"><font COLOR="#000000"><br />
  Select 1,3,4,5,6,7 packages .<br />
</font></dd>
</dl>
<p><font COLOR="#000000"></p>
<p>Enter ‘yes’ for the questions asked during installation and reboot the<br />
system after installation .<br />
</font></p>
<p>Put /usr/opt/SUNWmd/bin in root PATH as the DISKSUITE commands are located in<br />
this directory<br />
<b></p>
<p>5. <u><a name="Creating State Database :">Creating State Database :</a><br />
</u><br />
</b></p>
<p>State meta database , metadb , keeps information of the metadevices and is<br />
needed for Disksuite operation . Disksuite can not function without metadb so a<br />
copy of replica databases is placed on different disks to ensure that a copy is<br />
available in case of a complete disk failure .</p>
<p>Metadb needs a dedicated disk slice so create partitions of about 5 Meg. on<br />
the disks for metadb. If there is no space available for metadb then it can be<br />
taken from swap . Having metadb on two disks can create problems as DISKSUITE<br />
looks for database replica number &gt; 50% of total replicas and if one of the<br />
two disks crashes the replica falls at 50% . On next reboot system will go to<br />
single user mode and one has to recreate additional replicas to correct the<br />
metadb errors.</p>
<p>The following command creates three replicas of metadb on three disk slices.<br />
<b></p>
<p>#metadb -a -f -c 3 /dev/dsk/c0t1d0s6&nbsp;&nbsp;&nbsp;&nbsp;<br />
/dev/dsk/c0t2d0s6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /dev/dsk/c0t3d0s6</p>
<p>6. <a name="Creating MetaDevices :">Creating<u> MetaDevices :</u></a></p>
<p>
</b>Metadevices can be created in two ways</p>
<blockquote>
<blockquote>
<dl>
<dd>1. Directly from the command line</dd>
<dd>2. Editing the /etc/opt/SUNWmd/<u>&lt;md.tab.html&gt;</u><br />
    file as per example given in the md.tab and</dd>
<dd>&nbsp;&nbsp;&nbsp; initializing devices on command<br />
    line using metainit &lt;device name&gt; .</dd>
</dl>
</blockquote>
</blockquote>
<p><b></p>
<p>6.<a name="1.) Creating a concatenated Metadevice :">1 ) Creating a concatenated Metadevice :</a><br />
</b></p>
<p style="margin-left: 50"><b>#<u>metainit</u>&nbsp;&nbsp;&nbsp; d0&nbsp;&nbsp;&nbsp;<br />
3&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp; /dev/dsk/c0t0d0s4 1 /dev/dsk/c0t0d0s4<br />
1 /dev/dsk/c0t0d0s4 </b></p>
<dl>
<dd>
<p style="margin-left: 50">d0 &#8211; metadevice name</dd>
<dd>
<p style="margin-left: 50">3 &#8211; Total Number of Slices</dd>
<dd>
<p style="margin-left: 50">1 &#8211; Number of Slices to be added followed by slice name.</dd>
</dl>
<p><b></p>
<p>6.2<a name="2.) Creating a stripe of 32k interleave"> ) Creating a stripe</a></b><a name="2.) Creating a stripe of 32k interleave"><br />
<b>of 32k interleave</b></a></p>
<p style="margin-left: 50"># <b><u>metainit</u> d10&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp; 2&nbsp;&nbsp;&nbsp;&nbsp; c0t1d0s2&nbsp;&nbsp;&nbsp;&nbsp; c0t2d0s2&nbsp;&nbsp;&nbsp;&nbsp; -i&nbsp;&nbsp; 32k<br />
</b></p>
<dl>
<dd>
<p style="margin-left: 50">d0 &#8211; metadevice name</dd>
<dd>
<p style="margin-left: 50">1 &#8211; Total Number of Stripe</dd>
<dd>
<p style="margin-left: 50">2- Number of Slices to be added to stripe followed by slice name .</dd>
<dd>
<p style="margin-left: 50">-i chunks of data written alternatively on stripes.</dd>
</dl>
<p><b></p>
<p>6.<a name="3.) Creating a Mirror :">3 ) Creating a Mirror :</a></p>
<blockquote><p>
</b><font COLOR="#000000"></p>
<p>A <b>mirror</b> is a metadevice composed of one or more <b>submirrors</b>. A<br />
submirror is made of one or more striped or concatenated metadevices. Mirroring<br />
data provides you with maximum data availability by maintaining multiple copies<br />
of your data. The system must contain at least three state database replicas<br />
before you can create mirrors. Any file system including root (</font>/<font COLOR="#000000">),<br />
</font>swap<font COLOR="#000000">, and </font>/usr<font COLOR="#000000">,<br />
or any application such as a database, can use a mirror.</font><br />
<font COLOR="#000000">
</p></blockquote>
<p><b></p>
<p><a name="6.3.1 ) Creating a simple mirror from new partitions">6.3.1 ) Creating a simple mirror from new partitions</a></p>
<p style="margin-left: 33">1</b>.<u>Create two stripes for two submirors as d21 &amp; d22<br />
</u></font></p>
<dl>
<dd>
<p style="margin-left: 33">#<b> <u><br />
  metainit</u> d21 1 1 c0t0d0s2</dd>
<p>  </b></p>
<dd>
<p style="margin-left: 33">d21: Concat/Stripe is setup</dd>
<dd>
<p style="margin-left: 33">#<b> <u><br />
  metainit </u>t<br />
d22 1 1 c1t0d0s2</dd>
<p>  </b></p>
<dd>
<p style="margin-left: 33">d22: Concat/Stripe is setup</dd>
</dl>
<p><b></p>
<p style="margin-left: 33">2</b>. <u>Create a mirror device (d20) using one of the submirror (d21)<br />
</u></p>
<dl>
<dd>
<p style="margin-left: 33">#<b> <u><br />
  metainit</u> &nbsp; d20&nbsp;&nbsp; -m&nbsp;&nbsp; d21</dd>
<p>  </b></p>
<dd>
<p style="margin-left: 33">d20: Mirror is setup</dd>
</dl>
<p><b></p>
<p style="margin-left: 33">3</b>. <u>Attach the second submirror (D21) to the main mirror device (D20)<br />
</u></p>
<dl>
<dd>
<p style="margin-left: 33">#<b> metattach d20 d22</dd>
<p>  </b></p>
<dd>
<p style="margin-left: 33">d50: Submirror d52 is attached.</dd>
</dl>
<p><b></p>
<p style="margin-left: 33">4</b>. <u>Make file system on new metadevice</u><br />
<b></p>
<dl>
<dd>
<p style="margin-left: 33">#newfs /dev/md/rdsk/d20</dd>
<p></b></p>
<dd>
<p style="margin-left: 33">edit /etc/vfstab to mount the /dev/dsk/d20 on a mount point.</dd>
</dl>
<p><b></p>
<p><a name="6.3.2.) Mirroring a Partitions with data which can be unmounted"><br />
6.3.2.) Mirroring a Partitions with data which can be unmounted</a><br />
</b></p>
<dl>
<dd>
<p style="margin-left: 33"># <b><u>metainit</u> f<br />
d1 1 1 c1t0d0s0</dd>
<p>  </b></p>
<dd>
<p style="margin-left: 33">d1: Concat/Stripe is setup</dd>
<dd>
<p style="margin-left: 33"># <b><u>metainit</u> d2 1<br />
1 c2t0d0s0</dd>
<p>  </b></p>
<dd>
<p style="margin-left: 33">d2: Concat/Stripe is setup</dd>
<dd>
<p style="margin-left: 33"># <b><u>metainit</u> d0 -m<br />
d1</dd>
<p>  </b></p>
<dd>
<p style="margin-left: 33">d0: Mirror is setup</dd>
<dd>
<p style="margin-left: 33"># <b>umount /local</dd>
<p>  </b></p>
<dd>
<p style="margin-left: 33">(Edit the /etc/vfstab file so that the file system references the mirror)</dd>
<dd>
<p style="margin-left: 33">#<b>mount /local</dd>
<p>  </b></p>
<dd>
<p style="margin-left: 33">#<b>metattach d0 d2</dd>
<p>  </b></p>
<dd>
<p style="margin-left: 33">d0: Submirror d2 is attached</dd>
</dl>
<p>&nbsp;<br />
<b></p>
<p>
<a name="6.3.3 ) Mirroring a Partitions with data which can not be unmounted - root and /usr"><br />
6.3.3 ) Mirroring a Partitions with data which can not be unmounted &#8211; root and /usr</a><br />
</b></p>
<blockquote>
<blockquote>
<p><a name="· /usr mirroring">· </a> <b><a name="· /usr mirroring">/usr mirroring</a><br />
    </b>
  </p></blockquote>
</blockquote>
<dl>
<dd>
<p style="margin-left: 33"># <b>metainit -f d12 1 1 c0t3d0s6</dd>
<p>  </b></p>
<dd>
<p style="margin-left: 33">d12: Concat/Stripe is setup</dd>
<dd>
<p style="margin-left: 33"># <b>metainit d22 1 1 c1t0d0s6</dd>
<p>  </b></p>
<dd>
<p style="margin-left: 33">d22: Concat/Stripe is setup</dd>
<dd>
<p style="margin-left: 33"># <b>metainit d2 -m d12</dd>
<p>  </b></p>
<dd>
<p style="margin-left: 33">d2: Mirror is setup</dd>
<dd>
<p style="margin-left: 33">(Edit the /etc/vfstab file so that /usr references the mirror)</dd>
<dd>
<p style="margin-left: 33"># <b>reboot</dd>
<p>  </b></p>
<dd>
<p style="margin-left: 33">&#8230;</dd>
<dd>
<p style="margin-left: 33">&#8230;</dd>
<dd>
<p style="margin-left: 33"># <b>metattach d2 d22</dd>
<p>  </b></p>
<dd>
<p style="margin-left: 33">d2: Submirror d22 is attached</dd>
</dl>
<blockquote>
<blockquote>
<p><a name="· root mirroring">· </a> <b><a name="· root mirroring">root mirroring</a><br />
    </b>
  </p></blockquote>
</blockquote>
<dl>
<dd>
<p style="margin-left: 33"># <b>metainit -f d11 1 1 c0t3d0s0</dd>
<p>  </b></p>
<dd>
<p style="margin-left: 33">d11: Concat/Stripe is setup</dd>
<dd>
<p style="margin-left: 33"># <b>metainit d12 1 1 c1t3d0s0</dd>
<p>  </b></p>
<dd>
<p style="margin-left: 33">d12: Concat/Stripe is setup</dd>
<dd>
<p style="margin-left: 33"># <b>metainit d10 -m d11</dd>
<p>  </b></p>
<dd>
<p style="margin-left: 33">d10: Mirror is setup</dd>
<dd>
<p style="margin-left: 33"># <b>metaroot d10</dd>
<p>  </b></p>
<dd>
<p style="margin-left: 33"># <b>lockfs -fa</dd>
<p>  </b></p>
<dd>
<p style="margin-left: 33"># <b>reboot</dd>
<p> </b></p>
<dd>
<p style="margin-left: 33">…</dd>
<dd>
<p style="margin-left: 33">…</dd>
<dd>
<p style="margin-left: 33"># <b>metattach d10 d12</dd>
<p>  </b></p>
<dd>
<p style="margin-left: 33">d10: Submirror d12 is attached</dd>
</dl>
<p><b></p>
<p><a name="6.3.4  ) Making Mirrored disk bootable">6.3.4&nbsp; )</a></b><a name="6.3.4  ) Making Mirrored disk bootable"> <b>Making Mirrored disk bootable</b></a><br />
<b></p>
<p style="margin-left: 33">a.)</b> # installboot /usr/platform/`uname -i`/lib/fs/ufs/bootblk<br />
/dev/rdsk/c0t1d0s0<br />
<b></p>
<p><a name="2.) Creating alterbate name for Mirrored boot disk">6.3.5 &nbsp;)</a></b><a name="2.) Creating alterbate name for Mirrored boot disk"> <b>Creating alterbate name for Mirrored boot disk</b></a><br />
<b></p>
<p style="margin-left: 33">a</b>.) <u>Find physical path name for the second boot disk<br />
</u></p>
<p style="margin-left: 33"># <b>ls -l /dev/rdsk/c1t3d0s0<br />
</b></p>
<p style="margin-left: 33">lrwxrwxrwx 1 root root 55 Sep 12 11:19 /dev/rdsk/c1t3d0s0 -&gt;../../devices/sbus@1,f8000000/esp@1,200000/sd@3,0:a</p>
<p style="margin-left: 33"><b>b</b>.) <u>Create an alias for booting from disk2</u></p>
<p style="margin-left: 33"><b>ok&gt;</b> <b>nvalias bootdisk2 /sbus@1,f8000000/esp@1,200000/sd@3,0:a<br />
</b></p>
<p style="margin-left: 33"><b>ok&gt;</b> <b>boot bootdisk2</p>
<p>6.<a name="4.) Creating a RAID 5 volume :">4 <u>Creating a RAID 5 volume :</u></a><br />
</b></p>
<p><font COLOR="#000000">The system must contain at least three state<br />
database replicas before you can create RAID5 metadevices.<br />
</font></p>
<p><font COLOR="#000000">A RAID5 metadevice can only handle a single<br />
slice failure.A RAID5 metadevice can be grown by concatenating additional slices<br />
to the metadevice. The new slices do not store parity information, however they<br />
are parity protected. The resulting RAID5 metadevice continues to handle a<br />
single slice failure. </font>Create a RAID5 metadevice from a slice that<br />
contains an existing file system.will erase the data during the RAID5<br />
initialization process .The interlace value is key to RAID5 performance. It is<br />
configurable at the time the metadevice is created; thereafter, the value cannot<br />
be modified. The default interlace value is 16 Kbytes which is reasonable for<br />
most of the applications.</p>
<p>&nbsp;</p>
<p><a name="6.4.1.) To setup raid5 on three slices of different disks ."><b><br />
6.4.1.) <u>To setup raid5 on three slices of different disks .</u> </b> </a></p>
<dl>
<dd>
<p style="margin-left: 33"><b><br />
  # metainit d45 -r c2t3d0s2 c3t0d0s2 c4t0d0s2</b></dd>
<dd>
<p style="margin-left: 33">d45: RAID is setup</dd>
</dl>
<p>&nbsp;<br />
<b></p>
<p>6.<a name="5.) Creating a Trans Meta Device :">5.) <u><br />
Creating a Trans Meta Device :</u></a><br />
</b></p>
<p>Trans meta devices enables ufs logging . There is one logging device and a<br />
master device and all file system changes are written into logging device and<br />
posted on to master device . This greatly reduces the fsck time for very large<br />
file systems as fsck has to check only the logging device which is usually of 64<br />
M. maximum size.Logging device preferably should be mirrored and located on a different drive<br />
and controller than the master device .</p>
<p>Ufs logging can not be done for root partition.<br />
<b></p>
<p><a name="6.5.1) Trans Metadevice for a File System That Can Be Unmounted"><br />
6.5.1)</a></b><a name="6.5.1) Trans Metadevice for a File System That Can Be Unmounted"> <b>Trans Metadevice for a File System That Can Be Unmounted</b></a></p>
<blockquote>
<blockquote>
<p>· <b>/home2<br />
  </b>
</p></blockquote>
</blockquote>
<p><b></p>
<p style="margin-left: 33">1. </b><u>Setup metadevice<br />
</u></p>
<p style="margin-left: 33"># <b>umount /home2<br />
</b></p>
<p style="margin-left: 33"># <b>metainit d63 -t c0t2d0s2 c2t2d0s1<br />
</b></p>
<p style="margin-left: 33">d63: Trans is setup</p>
<p style="margin-left: 33">Logging becomes effective for the file system when it is remounted<br />
<b></p>
<p style="margin-left: 33">2. </b><u>Change vfstab entry &amp; reboot<br />
</u></p>
<dl>
<dd>
<p style="margin-left: 33">from<b></dd>
<p></b></p>
<dd>
<p style="margin-left: 33">/dev/md/dsk/d2 /dev/md/rdsk/d2 /home2 ufs 2 yes -</dd>
<dd>
<p style="margin-left: 33">to</dd>
<p><b></p>
<dd>
<p style="margin-left: 33">/dev/md/dsk/d63 /dev/md/rdsk/d63 /home2 ufs 2 yes -</dd>
<p></b></p>
<dd>
<p style="margin-left: 33"># <b>mount /home2</dd>
<p>  </b></p>
<dd>
<p style="margin-left: 33">Next reboot displays the following message for logging device</dd>
<dd>
<p style="margin-left: 33"># <b>reboot</dd>
<p>  </b></p>
<dd>
<p style="margin-left: 33">&#8230;</dd>
<dd>
<p style="margin-left: 33">/dev/md/rdsk/d63: is logging</dd>
</dl>
<p><b></p>
<p>6.5.2<a name="B.) Trans Metadevice for a File System That Cannot Be Unmounted"><br />
)</a></b><a name="B.) Trans Metadevice for a File System That Cannot Be Unmounted"> <b>Trans Metadevice for a File System That Cannot Be Unmounted</b></a></p>
<blockquote>
<blockquote>
<p>· <b>/usr
  </p></blockquote>
</blockquote>
<p style="margin-left: 33">1</b>.) <u>Setup metadevice<br />
</u></p>
<dl>
<dd>
<p style="margin-left: 33"># <b>metainit -f d20 -t c0t3d0s6 c1t2d0s1</dd>
<p>  </b></p>
<dd>
<p style="margin-left: 33">d20: Trans is setup</dd>
</dl>
<p><b></p>
<p style="margin-left: 33">2.) </b><u>Change vfstab entry &amp; reboot:<br />
</u></p>
<dl>
<dd>
<p style="margin-left: 33"><b>from</dd>
<p>  </b></p>
<dd>
<p style="margin-left: 33"><b>/dev/dsk/c0t3d0s6&nbsp;&nbsp;&nbsp;&nbsp; /dev/rdsk/c0t3d0s6&nbsp;&nbsp; /usr&nbsp;&nbsp; ufs&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp; no&nbsp;&nbsp;&nbsp;&nbsp; -</b></dd>
<dd>
<p style="margin-left: 33"><b>to</b></dd>
<dd><b><br />
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /dev/md/dsk/d20&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /dev/md/rdsk/d20&nbsp;&nbsp;&nbsp;&nbsp; /usr&nbsp;&nbsp;&nbsp; ufs&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp; no&nbsp;&nbsp;&nbsp;&nbsp; -</b></dd>
<p>  <b>
</dl>
<p></b></p>
<p style="margin-left: 33">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # <b>reboot</p>
<p><a name="6.5.3 ) TransMeta device using Mirrors">6.5.3 ) TransMeta device using Mirrors</a></p>
<p style="margin-left: 33">1</b>.) <u>Setup metadevice<br />
</u><b></p>
<dl>
<dd>
<p style="margin-left: 33">#umount /home2</dd>
<dd>
<p style="margin-left: 33">#metainit&nbsp;&nbsp;&nbsp;&nbsp; d64&nbsp;&nbsp;&nbsp;&nbsp; -t&nbsp;&nbsp;&nbsp;&nbsp; d30&nbsp;&nbsp;&nbsp;&nbsp; d12</dd>
<p></b></p>
<dd>
<p style="margin-left: 33">d64 trans is setup</dd>
</dl>
<p><b></p>
<p style="margin-left: 33">2.) </b><u>Change vfstab entry &amp; reboot:<br />
</u><b></p>
<dl>
<dd>
<p style="margin-left: 33">from</dd>
<p></b></p>
<dd>
<p style="margin-left: 33"><b>/dev/md/dsk/d30 /dev/md/rdsk/d30 /home2 ufs 2 yes</b></dd>
<p><i></p>
<dd>
<p style="margin-left: 33">to</dd>
<p></i><b></p>
<dd>
<p style="margin-left: 33">/dev/md/dsk/d64 /dev/md/rdsk/d64 /home2 ufs 2 yes</dd>
</dl>
<p><a name="6.) HotSpare Pool">6.6 ) <u>HotSpare Pool</u></a><br />
</b><font COLOR="#000000"><br />
A hot spare pool is a collection of slices reserved by DiskSuite to be<br />
automatically substituted in case of a slice failure in either a submirror or<br />
RAID5 metadevice . A hot spare cannot be a metadevice and it can be associated<br />
with multiple submirrors or RAID5 metadevices. However, a submirror or RAID5<br />
metadevice can only be asociated with one hot spare pool. .Replacement is based on a first fit for the failed slice and they need to be<br />
replaced with repaired or new slices. Hot spare pools may be allocated,<br />
deallocated, or reassigned at any time unless a slice in the hot spare pool is<br />
being used to replace damaged slice of its associated metadevice.</font>
<p><b><br />
  <a name="6.6.1) Associating a Hot Spare Pool with Submirrors">6.6.1) Associating a Hot Spare Pool with Submirrors<br />
</a><br />
</b></p>
<dl>
<dd>
<p style="margin-left: 33"># <b>metaparam -h&nbsp;&nbsp;&nbsp;&nbsp; hsp100&nbsp;&nbsp;&nbsp;&nbsp;<br />
d10</dd>
<p>  </b></p>
<dd>
<p style="margin-left: 33"># <b>metaparam -h&nbsp;&nbsp;&nbsp;&nbsp; hsp100&nbsp;&nbsp;&nbsp;&nbsp;<br />
d11</dd>
<p>  </b></p>
<dd>
<p style="margin-left: 33"># <b>metastat d0</dd>
<p>  </b></p>
<dd>
<p style="margin-left: 33">d0: Mirror</dd>
<dd>
<p style="margin-left: 33">Submirror 0: d10</dd>
<dd>
<p style="margin-left: 33">State: Okay</dd>
<dd>
<p style="margin-left: 33">Submirror 1: d11</dd>
<dd>
<p style="margin-left: 33">State: Okay</dd>
<dd>
<p style="margin-left: 33">&#8230;</dd>
<dd>
<p style="margin-left: 33">d10: Submirror of d0</dd>
<dd>
<p style="margin-left: 33">State: Okay</dd>
<dd>
<p style="margin-left: 33">Hot spare pool: hsp100</dd>
<dd>
<p style="margin-left: 33">&#8230;</dd>
<dd>
<p style="margin-left: 33">d11: Submirror of d0</dd>
<dd>
<p style="margin-left: 33">State: Okay</dd>
<dd>
<p style="margin-left: 33">Hot spare pool: hsp100</dd>
</dl>
<blockquote>
<blockquote><p>
    <b>
    </p></blockquote>
</blockquote>
<p>
  <a name="6.6.2 ) Associating or changing a Hot Spare Pool with a RAID5 Metadevice">6.6.2 ) Associating or changing a Hot Spare Pool with a RAID5 Metadevice</a></p>
<dl>
<dd>
<p style="margin-left: 33">#metaparam&nbsp;&nbsp;&nbsp;&nbsp; -h&nbsp;&nbsp;&nbsp;<br />
    hsp001&nbsp;&nbsp;&nbsp;&nbsp; d10</b></dd>
<dd>
<p style="margin-left: 33"><b>#metastat&nbsp;&nbsp;&nbsp;&nbsp; d10</b></dd>
<dd>
<p style="margin-left: 33">d10:RAID</dd>
<dd>
<p style="margin-left: 33">State: Okay</dd>
<dd>
<p style="margin-left: 33">Hot spare Pool: hsp001</dd>
</dl>
<p>
    <b><br />
    <a name="6.6.3 ) Adding a Hot Spare Slice to All Hot Spare Pools">6.6.3 ) Adding a Hot Spare Slice to All Hot Spare Pools<br />
    </a><br />
</b></p>
<dl>
<dd>
<p style="margin-left: 33"># <b>metahs&nbsp;&nbsp; -a&nbsp;&nbsp;&nbsp; -all&nbsp;&nbsp;&nbsp;<br />
    /dev/dsk/c3t0d0s2</dd>
<p>  </b></p>
<dd>
<p style="margin-left: 33">hsp001: Hotspare is added</dd>
<dd>
<p style="margin-left: 33">hsp002: Hotspare is added</dd>
<dd>
<p style="margin-left: 33">hsp003<b>:</b> Hotspare is added</dd>
<dd>&nbsp;</dd>
</dl>
<p><b></p>
<p>6.<a name="7.) Disksets">7 ) <u>Disksets</u></a></p>
<p>Few important points about disksets :<br />
</b></p>
<ul>
<li>
<p> A diskset is a set of shared <i>disk drives</i> containing<br />
        DiskSuite objects that can be shared exclusively (but not concurrently)<br />
        by one or two hosts. Disksets are used in high availability failover<br />
        situations where the ownership of the failed machine’s diskset is<br />
        transferred to other machine . Disksets are connected to two hosts for<br />
        sharing and must have&nbsp; same attributes , controller/target/drive ,<br />
        in both machines except for the ownership .</li>
</ul>
<ul>
<li>
DiskSuite must be installed on each host that will be connected to the<br />
        diskset.There is one metadevice state database per shared diskset and one on<br />
        the &quot;local&quot; diskset. Each host must have its local metadevice<br />
        state database set up before you can create disksets.</p>
<p>    Each host in a diskset must have a local diskset besides a shared diskset.A diskset can be created seprately on one host&nbsp; &amp;&nbsp; then<br />
        added to&nbsp; the second host later.</li>
</ul>
<ul>
<li>
Drive should not be in use by a&nbsp; file system, database, or any other<br />
application for adding in diskset .
        </li>
</ul>
<div align="left">
<ul>
<li>When a drive is added to disksuite it&nbsp; is&nbsp;<br />
        repartitioned&nbsp; so that the metadevice state database replica for<br />
        the diskset can be placed on the drive. Drives are repartitioned when<br />
        they are added to a diskset only if Slice 7 is not set up correctly. A<br />
        small portion of each drive is reserved in Slice 7 for use by DiskSuite.<br />
        The remainder of the space on each drive is placed into Slice 0.. After<br />
        adding a drive to a diskset, it may be repartitioned as necessary,<br />
        provided&nbsp; that no changes are made to Slice 7 . If Slice 7 starts<br />
        at cylinder 0, and is large enough to contain a state database replica,<br />
        the disk is not repartitioned.
        </li>
</ul></div>
<div align="left">
<ul>
<li>When drives are added to a diskset, DiskSuite re-balances the state<br />
        database replicas across the remaining drives. Later, if necessary, you<br />
        can change the replica layout with the metadb(1M)<br />
        command.
        </li>
</ul></div>
<div align="left">
<ul>
<li>To create a diskset, root<br />
        must be a member of Group 14, or the ./rhosts<br />
        file must contain an entry for each host.
        </li>
</ul></div>
<p><b></p>
<p>&nbsp;</p>
<p><a name="6.7.1 ) Creating Two Disksets">6.7.1 ) <u>Creating Two Disksets</u></a><br />
</b></p>
<dl>
<dd>
<p style="margin-left: 33">host1# <b>metaset&nbsp;&nbsp; -s&nbsp;&nbsp;&nbsp; diskset0&nbsp;&nbsp;<br />
    -a&nbsp;&nbsp; -h&nbsp;&nbsp;&nbsp; host1&nbsp;&nbsp;&nbsp; host2</dd>
<p>  </b></p>
<dd>
<p style="margin-left: 33">host1# <b>metaset&nbsp;&nbsp; -s&nbsp;&nbsp;&nbsp;<br />
    diskset1&nbsp; -a&nbsp;&nbsp;&nbsp; -h&nbsp;&nbsp;&nbsp; host1&nbsp;&nbsp;&nbsp;<br />
    host2 </b>
  </dd>
<dd>
<p style="margin-left: 33">host1# <b>metaset</dd>
<p>  </b></p>
<dd>
<p style="margin-left: 33">Set name = diskset0, Set number = 1</dd>
<dd>
<p style="margin-left: 33">Host&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Owner</dd>
<dd>
<p style="margin-left: 33">host1</dd>
<dd>
<p style="margin-left: 33">host2</dd>
<dd>
<p style="margin-left: 33">Set name = diskset1, Set number = 2</dd>
<dd>
<p style="margin-left: 33">Host&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Owner</dd>
<dd>
<p style="margin-left: 33">host1</dd>
<dd>
<p style="margin-left: 33">host2</dd>
</dl>
<p><b></p>
<p><a name="6.7.2 ) Adding Drives to a Diskset">6.7.2 ) <u>Adding Drives to a Diskset</u></a><br />
</b></p>
<dl>
<dd>
<p style="margin-left: 33">host1# <b>metaset&nbsp;&nbsp;&nbsp;&nbsp; -s&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
diskset0&nbsp;&nbsp;&nbsp;&nbsp; -a&nbsp;&nbsp;&nbsp; c1t2d0&nbsp; c1t3d0&nbsp; c2t2d0&nbsp;&nbsp;<br />
c2t3d0&nbsp;&nbsp; c2t4d0&nbsp;&nbsp; c2t5d0 </b>
  </dd>
<dd>
<p style="margin-left: 33">&nbsp;</dd>
<dd>
<p style="margin-left: 33">host1# <b>metaset </b>
  </dd>
<dd>
<p style="margin-left: 33">Set name = diskset0, Set number = 1</dd>
<dd>
<p style="margin-left: 33">Host&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Owner</dd>
<dd>
<p style="margin-left: 33">host1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Yes</dd>
<dd>
<p style="margin-left: 33">host2</dd>
<dd>
<p style="margin-left: 33">&nbsp;</dd>
<dd>
<p style="margin-left: 33">Drive&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dbase</dd>
<dd>
<p style="margin-left: 33">c1t2d0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Yes</dd>
<dd>
<p style="margin-left: 33">c1t3d0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Yes</dd>
<dd>
<p style="margin-left: 33">c2t2d0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Yes</dd>
<dd>
<p style="margin-left: 33">c2t3d0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Yes</dd>
<dd>
<p style="margin-left: 33">c2t4d0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Yes</dd>
<dd>
<p style="margin-left: 33">c2t5d0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Yes</dd>
<dd>
<p style="margin-left: 33">&nbsp;</dd>
<dd>
<p style="margin-left: 33">Set name = diskset1, Set number = 2</dd>
<dd>
<p style="margin-left: 33">Host&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Owner</dd>
<dd>
<p style="margin-left: 33">host1</dd>
<dd>
<p style="margin-left: 33">host2</dd>
</dl>
<p><b></p>
<p><a name="6.7.3 ) Creating  a Mirror in a Diskset">6.7.3 ) <u>Creating&nbsp; a Mirror in a Diskset&nbsp;</u></a><br />
</b></p>
<dl>
<dd>
<p style="margin-left: 33"># <b>metainit -s diskset0 d51&nbsp;&nbsp; 1&nbsp;&nbsp;<br />
    1&nbsp;&nbsp; /dev/dsk/c0t0d0s2</dd>
<p>  </b></p>
<dd>
<p style="margin-left: 33">diskset0/d51: Concat/Stripe is setup</dd>
<dd>
<p style="margin-left: 33">&nbsp;</dd>
<dd>
<p style="margin-left: 33"># <b>metainit -s diskset0 d52&nbsp;&nbsp; 1&nbsp;&nbsp;<br />
    1&nbsp;&nbsp; /dev/dsk/c1t0d0s2</dd>
<p>  </b></p>
<dd>
<p style="margin-left: 33">diskset0/d52: Concat/Stripe is setup</dd>
<dd>
<p style="margin-left: 33">&nbsp;</dd>
<dd>
<p style="margin-left: 33"># <b>metainit -s diskset0 d50&nbsp;&nbsp; -m&nbsp;&nbsp;<br />
    d51</dd>
<p>  </b></p>
<dd>
<p style="margin-left: 33">diskset0/d50: mirror is setup</dd>
<dd>
<p style="margin-left: 33">&nbsp;</dd>
<dd>
<p style="margin-left: 33"># <b>metattach -s diskset0&nbsp;&nbsp; d50&nbsp;&nbsp;&nbsp;&nbsp;<br />
    d52</dd>
<p>  </b></p>
<dd>
<p style="margin-left: 33">diskset0/d50: Submirror d52 is attached</dd>
</dl>
<p><b></p>
<p>7.0 <a name="Trouble Shooting">Trouble Shooting </a><br />
</b></p>
<p><b>7.<a name="1.) Recovering from  Stale State Database Replicas">1 ) <u>Recovering from&nbsp; Stale State Database Replicas</u></a></b></p>
<dl>
<dd><b>Problem&nbsp;&nbsp;&nbsp; : </b>State database<br />
  corrupted or unavailable .</dd>
<dd><b>Causes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : </b>Disk failure , Disk I/O<br />
  error.</dd>
<dd><b>Symptoms :</b> Error message at the booting time if databases are &lt;=<br />
  50% of total database. System comes to Single user mode.</dd>
</dl>
<p style="margin-left: 33">ok <b><kbd>boot</kbd></b><br />
&#8230;<br />
Hostname: host1<br />
metainit: Host1: stale databases<br />
Insufficient metadevice database replicas located.<br />
Use metadb to delete databases which are broken.<br />
Ignore any &quot;Read-only file system&quot; error messages.<br />
Reboot the system when finished to reload the metadevice<br />
database.<br />
After reboot, repair any broken database replicas which were<br />
deleted.<br />
Type Ctrl-d to proceed with normal startup,<br />
(or give root password for system maintenance): &lt;<var>root-password</var>&gt;<br />
Entering System Maintenance Mode.</p>
<p>1.) Use the <tt>metadb</tt> command to look at the metadevice state database<br />
and see which state database replicas are not available. Marked by unknown and M<br />
flag.</p>
<p style="margin-left: 33"># <b><kbd>/usr/opt/SUNWmd/metadb -i</kbd></b><br />
&nbsp;&nbsp; flags&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; first blk&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
block count<br />
&nbsp;&nbsp;&nbsp; a m&nbsp; p&nbsp; lu&nbsp;&nbsp;&nbsp; 16&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
1034&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
/dev/dsk/c0t3d0s3<br />
&nbsp;&nbsp;&nbsp; a&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p&nbsp; l&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
1050&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
1034&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
/dev/dsk/c0t3d0s3<br />
&nbsp;&nbsp;&nbsp; M&nbsp;&nbsp;&nbsp; p&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
unknown&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unknown&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
/dev/dsk/c1t2d0s3<br />
&nbsp;&nbsp;&nbsp; M&nbsp;&nbsp;&nbsp; p&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
unknown&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unknown&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p>
<dl>
<dd>2.) Delete the state database replicas on the bad disk using the <kbd>-d</kbd><br />
  option to the <tt>metadb(1M)</tt> command.</dd>
<dd>
<p style="margin-left: 33">At this point, the root (<kbd>/</kbd>) file system<br />
  is read-only. You can ignore the <kbd>mddb.cf</kbd> error messages:</dd>
<dd>
<p style="margin-left: 33">&nbsp;</dd>
<dd>
<p style="margin-left: 33"># <b><kbd>/usr/opt/SUNWmd/metadb&nbsp; -d&nbsp; -f&nbsp;<br />
  c1t2d0s3</kbd></b><br />
  metadb: demo: /etc/opt/SUNWmd/mddb.cf.new: Read-only file system .</dd>
<dd>
<p style="margin-left: 33">&nbsp;</dd>
<dd>
<p style="margin-left: 22"><u>Verify deletion</u> </dd>
<dd>
<p style="margin-left: 33"># <b><kbd>/usr/opt/SUNWmd/metadb&nbsp; -i</kbd></b><br />
&nbsp;&nbsp;&nbsp; flags&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; first blk&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
  block count<br />
&nbsp;&nbsp;&nbsp;&nbsp; a m&nbsp; p&nbsp; lu&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
  16&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
  1034&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /dev/dsk/c0t3d0s3<br />
&nbsp;&nbsp;&nbsp;&nbsp; a&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p&nbsp; l&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
  1050&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1034&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
    /dev/dsk/c0t3d0s3</dd>
</dl>
<p>3.) Reboot.</p>
<p>4.) Use the <tt>metadb</tt> command to add back the state database replicas<br />
and to see&nbsp; that the state database replicas are correct.</p>
<p style="margin-left: 33"># <b><kbd>/usr/opt/SUNWmd/metadb -a -c 2 c1t2d0s3</kbd></b><br />
<br />
# <b><kbd>/usr/opt/SUNWmd/metadb</kbd></b><br />
<br />
&nbsp;&nbsp; flags&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; first blk&nbsp;<br />
block count<br />
&nbsp; a m&nbsp; p&nbsp; luo&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
16&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
1034&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dev/dsk/c0t3d0s3<br />
&nbsp; a&nbsp;&nbsp;&nbsp; p&nbsp; luo&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
1050&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
1034&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dev/dsk/c0t3d0s3<br />
&nbsp; a&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
u&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
16&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
1034&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dev/dsk/c1t2d0s3<br />
&nbsp; a&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
u&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
1050&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
1034&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dev/dsk/c1t2d0s3</p>
<p><b>7.<a name="2.) Metadevice Errors :">2 ) <u>Metadevice Errors :</u></a></b></p>
<dl>
<dd><b>Problem&nbsp; </b>&nbsp; : Sub Mirrors out of sync&nbsp; in&nbsp;<br />
  &quot;Needs maintainence&quot; state ,</dd>
<dd><b>Causes</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : Disk problem / failure ,<br />
  improper shutdown , communication problems between two mirrored disks .</dd>
<dd><b>symptoms  </b>: &quot;Needs maintainence&quot; errors in metastat output</dd>
</dl>
<p>  <TABLE cellPadding=0 width="100%" border=0 style="border-collapse: collapse" bordercolor="#111111" cellspacing="0"><br />
    <TR><br />
      <TD noWrap></p>
<dl>
<dd># <B><KBD>/usr/opt/SUNWmd/metastat</KBD></B><br />
        d0: Mirror<br />
&nbsp;&nbsp;&nbsp; Submirror 0: d10<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; State: Needs maintenance<br />
&nbsp;&nbsp;&nbsp; Submirror 1: d20<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; State: Okay<br />
        &#8230;<br />
        d10: Submirror of d0<br />
&nbsp;&nbsp;&nbsp; State: Needs maintenance<br />
&nbsp;&nbsp;&nbsp; Invoke: &quot;metareplace d0 /dev/dsk/c0t3d0s0 &lt;new device&gt;&quot;<br />
&nbsp;&nbsp;&nbsp; Size: 47628 blocks<br />
&nbsp;&nbsp;&nbsp; Stripe 0:<br />
        	Device&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Start Block&nbsp; Dbase State&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Hot Spare<br />
        	/dev/dsk/c0t3d0s0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp; No&nbsp;&nbsp;&nbsp; Maintenance<br />
        <br />
&nbsp;<br />
        d20: Submirror of d0<br />
&nbsp;&nbsp;&nbsp; State: Okay<br />
&nbsp;&nbsp;&nbsp; Size: 47628 blocks<br />
&nbsp;&nbsp;&nbsp; Stripe 0:<br />
        	Device&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Start Block&nbsp; Dbase State&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Hot Spare<br />
        	/dev/dsk/c0t2d0s0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp; No&nbsp;&nbsp;&nbsp; Okay&nbsp;</dd>
</dl>
<p>      </TD></TR></TABLE></p>
<p><b>Solution :</b></p>
<dl>
<dd>1.)&nbsp;&nbsp;&nbsp; If disk is all right&nbsp; -&nbsp; enable the&nbsp;<br />
  failed metadevice&nbsp; with metareplace command&nbsp; .</dd>
<dd>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If disk is failed &#8211; Replace<br />
  disk create similar partitions as in failed disk and enable new device with<br />
  metareplace command.</dd>
<dd>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # <B><KBD>/usr/opt/SUNWmd/metareplace -e d0 c0t3d0s0</KBD></B><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
Device /dev/dsk/c0t3d0s0 is enabled<br />
&nbsp;<br />
  2.)&nbsp; If disk has failed&nbsp; and you want to move the failed devices to<br />
  new disk with different id (CnTnDn) &#8211; add new disk ,</dd>
<dd>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; format to create&nbsp;&nbsp;&nbsp;&nbsp;<br />
  a similar partition scheme as in failed disk and use metarepalce command</dd>
<dd>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # <B><KBD>/usr/opt/SUNWmd/metareplace&nbsp; d0 c0t3d0s0&nbsp;&nbsp;<br />
  &lt;new device name&gt; </KBD></B></dd>
</dl>
<p>The metareplace command above can also be used for concate or strip&nbsp;<br />
replacement in a&nbsp; volme but that would involve restoring the backup if it<br />
is not mirrored.</p>
]]></content:encoded>
			<wfw:commentRss>http://adminschoice.com/solstice-disksuite-guide/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Veritas Volume Manager &#8211; vxassist</title>
		<link>http://adminschoice.com/veritas-volume-manager-vxassist</link>
		<comments>http://adminschoice.com/veritas-volume-manager-vxassist#comments</comments>
		<pubDate>Mon, 21 Dec 2009 06:20:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Volumes]]></category>
		<category><![CDATA[Veritas Volume Manager]]></category>
		<category><![CDATA[Volume]]></category>
		<category><![CDATA[Volume Manager]]></category>

		<guid isPermaLink="false">http://adminschoice.com/wp28/?p=93</guid>
		<description><![CDATA[Veritas Volume Manager - vxassist   covers vxassist command for volume
management]]></description>
			<content:encoded><![CDATA[<p>Veritas Volume Manager &#8211; 2  covers vxassist command for volume<br />
management .<br />
vxassist utility in Veritas Volume Manager is used to create volumes, add mirrors and logs to existing volumes, extend and shrink existing volumes, provides for the migration of data from a specified set of disks, and provides facilities for the on-line backup of existing volumes.<br />
The default behavior of vxassist is to create volumes in the rootdg diskgroup if diskgroup is not specified . The default length is taken as number of blocks but this can be specified in Kilobytes or Megabytes or Gigabytes.</p>
<pre>About Vxassist
1. Creating a Volume
    1.1 Creating a Concatenated Volume
    1.2 Creating a Striped Volume
    1.3 Creating a RAID-5 Volume
2. Extending a Volume
    2.1 Extending a volume up to certain length,
    2.2 Extending by a Given Length
3. Shrinking a Volume
    3.1 Shrinking to a Given Length
    3.2 Shrinking by a Given Length
4. Removing a Volume
5. Mirroring a Volume
    5.1 Creating &amp; Mirroring a New Volume
    5.2 Mirroring an Existing Volume
    5.3 Mirroring All Volumes
6. Removing a Mirror
7. Adding a RAID-5 Log
8. Adding a DRL Log
9.  Removing a RAID-5 Log
10.Preparing a Volume for Online Backup
11.Displaying Volume Configuration Information
12.Next Steps</pre>
<p><strong>About vxassist<br />
</strong><br />
<strong>vxassist command syntax :<br />
</strong><br />
vxassist   volume_name [attributes]</p>
<p>Commonly used options are given below (See man vxassist for complete list of supported options)<br />
-g for specifying diskgroups<br />
-b for background operation<br />
-d file containing defaults for vxassist if not specified /etc/default/vxassist is used</p>
<p>Keywords used are make , mirror , move , growto ,growby ,shrintto ,shirnkby ,snapstart , snapshot ,snapwait</p>
<p>Attributes specify volumes layout disks controllar to include exclude etc</p>
<p><strong>Device Nodes</strong><br />
Default rootdg disk group.<br />
Block Device Node /dev/vx/dsk/volume_name<br />
Raw Device Node /dev/vx/rdsk/volume_name<br />
Other DiskGroups<br />
Block Device Node /dev/vx/dsk/diskgroup_name/volume_name<br />
Raw Device Node /dev/vx/rdsk/diskgroup_name/volume_name</p>
<p>NextPage   Creating a Volume</p>
]]></content:encoded>
			<wfw:commentRss>http://adminschoice.com/veritas-volume-manager-vxassist/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Veritas Volume Manager &#8211; vxdiskadm</title>
		<link>http://adminschoice.com/veritas-volume-manager-vxdiskadm</link>
		<comments>http://adminschoice.com/veritas-volume-manager-vxdiskadm#comments</comments>
		<pubDate>Thu, 03 Dec 2009 22:54:44 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Volumes]]></category>

		<guid isPermaLink="false">http://adminschoice.com/wp28/?p=87</guid>
		<description><![CDATA[Veritas Volume Manager is used to manage disk storage spread over an array of disks. This article describes the volume manager objects and configuration of these  objects using a text menu based utility called vxdiskadm]]></description>
			<content:encoded><![CDATA[<p>About Veritas volume manager :</p>
<p>Veritas Volume Manager is used to manage disk storage spread over an array of disks.</p>
<p><strong>The main features of volume manager are following </strong></p>
<p>1. Allows creation of logical volumes spanning over multiple disks. This overcomes the physical limit of the disk .<br />
2. Provides high availability storage solutions through RAID ,Mirroring of disks .<br />
3. Provides fail over features by providing transferable disk group ownership between systems.<br />
4.  Dynamic reconfiguration of disk storage in an online system state. what is veritas volume manager .</p>
<p>The following  article describes the volume manager objects and configuration of these  objects using a text menu based utility called vxdiskadm .</p>
<p>Table of Contents :<br />
1.  Volume Manager Objects<br />
1.1  Disks<br />
1.2  Disk groups<br />
1.3  Volume Manager disks<br />
1.4  Subdisks<br />
1.5  Plexes<br />
1.6  Volumes<br />
1.7  Volume Manger Objects &amp; their Relationship</p>
<p>2.  Volume Manager Configuration ( options menu)<br />
2.1   Add or initialize one or more disks<br />
2.2   Encapsulate one or more disks<br />
2.3   Remove a disk<br />
2.4   Remove a disk for replacement<br />
2.5   Replace a failed or removed disk<br />
2.6   Mirror volumes on a disk<br />
2.7   Move volumes from a disk<br />
2.8   Enable access to (import) a disk group<br />
2.9   Remove access to (deport) a disk group<br />
2.10 Enable (online) a disk device<br />
2.11 Disable (offline) a disk device<br />
2.12 Mark a disk as a spare for a disk group<br />
2.13 Turn off the spare flag on a disk</p>
<p>1.0  Volume Manager Objects<br />
<strong>Disks</strong><br />
Disks are referred in volume manager by two terms &#8211;  device  name  and disk name . The device name specifies controller , target id and slice of  the disk . Disk name is the common name given to the device name as an easy to remember  name .</p>
<p>For example device name c2t3d0s2  represents  controller  number 2 , target id 3 , disk group 0 and slice 2 and disk01 may be its disk name . While device name is system dependent based on controller and disk id  the  disk name is user defined .</p>
<p><strong>Disk groups </strong><br />
* A disk group is a collection of volume manager disks grouped together to hold the data . All the configuration changes  made to a disk group are applied to the disks in that disk group only.<br />
* Volume Manager objects cannot span disk groups i.e. all the operations on a particular disk group remains confined to that particular group .<br />
* Disk groups enable high availability as these can be shared by two or more hosts  but can be accessed by only one host at a time. In two hosts and a shared storage situation one  host can take over the ownership of  the disk groups and drives  in case other  host fails.</p>
<p><strong>Volume Manager disks</strong><br />
* Adding physical  disks  to the volume manager results in creation of  public and private region in the disk by the volume manager .The public region is the disk space available for volume space and the private region stores the configuration information.<br />
* A Volume Manager  disks are created from the public region of a physical disk that is under Volume Manager control. Each volume manager disk corresponds to one physical disk.<br />
* A volume manager disk is given a disk media name when it is added to a disk group which can be default or unique user defined..<br />
* Once a volume manager disk is assigned a disk media name, the disk is no longer referred to by its physical address of c#t#d#. The physical address of c#t#d# becomes known as the disk access record.</p>
<p><strong>Subdisks</strong><br />
* A subdisk is a subsection of a disk&#8217;s public region  and is  the smallest unit of storage in Volume Manager.<br />
* A subdisk is defined by an offset and a length in sectors on a volume manager disk.<br />
* A volume manager disk can contain multiple subdisks  but subdisks cannot overlap or share the same portions of a volume manager disk.<br />
* volume manager disk space that is not reserved or that is not part of a subdisk is free space. You can use free space to create new subdisks.</p>
<p>A subdisk is similar to a partition but with following differences :<br />
* The maximum number of partitions to a disk is eight.<br />
* There is no theoretical limit to number of subdisks that can be attached to a single plex, but it has been limited to a default value of 4096. If required, this default can be changed, using the vol_subdisk_num tunable parameter.</p>
<p><strong>Plexes</strong></p>
<p>* A plex is a structured or ordered collection of subdisks that represents one copy of the data in a volume. A plex consists of one or more subdisks located on one or more physical disks.<br />
* A plex is also called a mirror. The terms plex and mirror can be used interchangeably, even though a plex is only one copy of the data. The terms &#8220;mirrored&#8221; or &#8220;mirroring&#8221; imply two or more copies of data.<br />
* The length of a plex is determined by the last block that can be read or written on the last subdisk in the plex.<br />
* The default naming convention for plexes in a volume is volumename-##. The default plex name consists of the volume name, a hyphen, and a two-digit number</p>
<p><strong>Volumes</strong></p>
<p>* A volume is composed of one or more plexes  not restricted by the physical size of the disk.<br />
* A volume can span across multiple disks.<br />
* Volume Manager uses the default naming convention vol## for volumes, where ## represents a two-digit number but can be user defined  as per requirement.</p>
<p align="left"><strong><a name="Volume Manager Objects and Their Relationship">Volume       Manager Objects and Their Relationship</a></strong></p>
<table style="height: 336px;" border="1" cellspacing="0" cellpadding="0" width="74%">
<tbody>
<tr>
<td width="45%" height="167" align="center" valign="middle"><img src="../../docs/vxvm1.jpg" border="0" alt="" width="87" height="151" /></td>
<td width="24%" height="167" align="center" valign="middle"><img src="../../docs/vxvm2.jpg" border="0" alt="" width="178" height="151" /></td>
</tr>
<tr>
<td colspan="2" width="110%" height="167" align="center" valign="middle"><img src="../../docs/volume.jpg" border="0" alt="" width="262" height="179" /></td>
</tr>
</tbody>
</table>
<p><strong>2.0  Volume Manager Configuration</strong></p>
<p>Volume configuration consists of adding two or more disks to form   disk group and create volume/s from this disk group. File system can be created on these volumes or these can be accessed as raw devices for some database applications. First step in volume manager configuration consists of adding and initializing disks  under volume manager  which  creates a public region which is bulk of disk space available for volume space .Private  region which is generally of a few megabytes stores the disk configuration information .</p>
<p>Most of the volume manager operation related to disks &amp;  volume can be performed by a character based menu utility call vxdiskadm</p>
<p>Following pages describes   the use of vxddiskadm to configure and manage volume manager.</p>
]]></content:encoded>
			<wfw:commentRss>http://adminschoice.com/veritas-volume-manager-vxdiskadm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
