After talking with Darren, he and I came up with something that should satisfy the multiple types of vdev redundancy options:

<target>
<disk>
<disk_name name="c3t0d0" name_type="ctd"/>
<partition action="create" name="1" part_type="191">
<size val="-" start_sector="-"/>
<slice name="0" action="create" force="false" zpool="rpool">
<size val="-" start_sector="-"/>
</slice> <slice name="1" action="create" force="false" zpool="rpool">
<size val="-" start_sector="-"/>
</slice>
<slice name="3" action="create" force="false" zpool="rpool" vdev="my_mirror">
<size val="-" start_sector="-"/>
</slice>
<slice name="4" action="create" force="false" zpool="rpool" vdev="my_mirror">
<size val="-" start_sector="-"/>
</slice>
<slice name="5" action="create" force="false" zpool="rpool" vdev="my_spare">
<size val="-" start_sector="-"/>
</slice>
<slice name="6" action="create" force="false" zpool="rpool" vdev="my_spare">
<size val="-" start_sector="-"/>
</slice>
</partition>
</disk>
<disk>
<disk_name name="c3t1d0" name_type="ctd" zpool="tank" />
</disk>
<disk>
<disk_name name="c3t2d0" name_type="ctd"/>
<partition action="create" name="1" part_type="-" zpool="code">
<size val="-" start_sector="-"/>
</partition>
<partition action="create" name="2" part_type="-" zpool="code" vdev="my_spare2">
<size val="-" start_sector="-"/>
</partition>
</disk>

<logical>
<zpool name="rpool" action="create" is_root="true" />
<vdev name="my_mirror" redundancy="mirror"/>
<vdev name="my_spare" redundancy="spare"/>
</zpool>

<zpool name="tank" action="create" is_root="false" />
<zpool name="code" action="create" is_root="false" />
<vdev name="my_spare2" redundancy="spare" />
</zpool>

<filesystem name="rpool/ROOT/sol155" action="create">
<filesystem name="rpool/ROOT/sol156" action="create">
<filesystem name="tank/slim_source" action="create">
<filesystem name="code/my_gate" action="create">
</logical>
</target>



This allows us to link individual physical things (disk, partition, slice) to zpools AND assign vdev redundancy.

What do people think about this version?

On 1/14/11 5:10 AM, Darren Kenny wrote:
Hi Drew,

Interesting way of looking at things - but - while this does work, there is a
gap in there, where you can have multiple<vdevs>  under the<zpool>:

        <zpool>
        <vdev redundency="mirror">
        <device_ref  .. />
        <device_ref  .. />
        </vdev>
        <vdev redundency="mirror">
        <device_ref  .. />
        <device_ref  .. />
        </vdev>
        <vdev redundency="spare">
        <device_ref  .. />
        <device_ref  .. />
        </vdev>
        </zpool>

Unfortunately I think this would be too difficult to achieve using your 
approach.



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

Reply via email to