On 01/10/11 10:56 AM, Alok Aggarwal wrote:

On Mon, 10 Jan 2011, jean.mccormack wrote:

On 01/10/11 09:03 AM, Dave Miner wrote:
On 01/ 7/11 06:37 PM, [email protected] wrote:
   The current target schema allows for vdev specification
as follows:

<target_device>
<zpool name="mypool" is_root=true action="create">
<vdev redundancy="mirror">
<disk>
<disk_name name="c0t0d0" name_type="ctd"/>
                ...
</disk>
<disk>
<disk_name name="c0t0d1" name_type="ctd"/>
               ...
</disk>
<partition action="create" name="1" part_type="191">
<size val="5000mb"
</partition>
<partition action="create" name="2">
<size val="5000mb"
</partition>
<partition action="create" name="3">
<size val="5000mb"
</partition>
</vdev>
</zpool>
</target_device>
</target>

That is, when creating a 2 disk mirror and 3 partitions, how
does one know which disk these partitions should be created on?
There is no way of knowing as it currently stands.

It just seems that instead of having disk/partition/slice elements
embedded within vdev, it might be cleaner to simply have references
in the vdev element to a disk/partition/slice name. Thus, doing away
with needing to embed these elements within a vdev.

It would look something like this:

<target>
<target_device>
<zpool name="mypool" is_root=true action="create">
<vdev redundancy="mirror">
          disk ="c0t0d0"
          disk ="c0t0d1"
</vdev>
</zpool>
<disk>
<disk_name name="c0t0d0" name_type="ctd">
<partition action="create" name="1" part_type="191">
<size val="5000mb"
</partition>
<partition action="create" name="2">
<size val="5000mb"
</partition>
<partition action="create" name="3">
<size val="5000mb"
</partition>
<disk>
<disk_name name="c0t0d1" name_type="ctd"/>
               ...
</disk>
</target_device>
</target>

In the case a vdev is on a partition or a slice, the vdev
specification would change to something like this (totally
unrealistic but you get the idea):

<vdev redundancy="mirror">
          disk ="c0t0d0"  slice = "0"
          disk ="c0t0d1"  part = "3"
</vdev>

This would specify a mirror made from c0t0d0s0 and c0t0d1p3.


I'd be more comfortable if the references could be just full ctds or ctdp notation, rather than the split notation you're demonstrating here. Is there a reason not to do that?

Dave

The thinking I had was that since the user specifies the target as disk/slice/partition that it would be very similar to have them do the same here.
But, it is more natural to specify as you state, ctds or ctdp notation.

Yeah, I think ctds/ctdp would work just as well (we
could simply parse it internally).

I am confused by your example. Are you suggesting there we are allowing disk mirroring where one side is a slice and the other is a partition ?

For disks with GPT label, a disk is described in terms of slices (sic!) which are GPT partitions. So ctds nomenclature would be nice.

-Sanjay



Alok
_______________________________________________
caiman-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/caiman-discuss

_______________________________________________
caiman-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/caiman-discuss

Reply via email to