I am trying to understand the ZFS layout from a pdf available on Solaris site. I have couple of queries related to it. 1. Layout tells "root vdev" is th main root vdev and other vdevs (physical and top level vdevs are arranged in a tree format). So is "root vdev" is a single entity for whole ZFS? or given a ZFS if the file system is created different "root vdev" is created every time? Basically I would like to understand the tree structure with the other file systems (ex. ext2fs). 2. Also does for each physical storage there will be a mirror accociated with it?. I mean for a top level vdev there will be always two physical devices and one of them is a mirror for the other? 3. Can vdevs ( (logical or toplevel and not physical vdevs) can contains more than 2 childern?. Since zfs layout says it is a tree structure. If so I would like to know for what type ZFS uses that representation. thanks & regards, sridhar surampudi. --------------------------------- Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.opensolaris.org/pipermail/zfs-discuss/attachments/20071220/a31e465d/attachment.html>
ZFS is base in storage pool, and a pool is consist of some vdevs in tree structure. There is only one root vdev for each pool, and any number of vdevs as the root''s children. Top-level vdev can be logical vdev or physical vdev. If a top-level vdev is a logical vdev, it''s type can be mirror or raidz and so on, except disk. And if the top-level vdev is a mirror, then it can be consist of two or more device. A top-level vdev also can be a physical vdev and linked to the root vdev directly. A pool can be represented as a nvlist in implementation. A nvlist is a list of a vdev''s properties, and each property of vdev organizes as name/value pair, like (name, value). Two key properties of the tree structure are vdev_tree and chlidren. Nvlist and nvpair are all data structure which you can find in soure browser, they define as nvlist_t and nvpair_t namely. For more information about vdev and tree structure, you can see the ZFS On-disk format in http://www.opensolaris.org/os/community/zfs/docs/ondiskformat0822.pdf This message posted from opensolaris.org
Hi bu manzhao, Thank for you quick response. I have some further queries to your answer (wirtten with <sridhar> tag). It would be great if you could provide inputs for them to understand ZFS better. ZFS is base in storage pool, and a pool is consist of some vdevs in tree structure. There is only one root vdev for each pool, and any number of vdevs as the root''s children. <sridhar> 1. What exactly a Pool represents?. Let say I have a workstation with a single hard disk of a size 100Gb. If I create a zpool and then a zfs how the relation between these tow are shown with vdev ( the picture provided on ondiskformat pdf). 2. Since ZFS can have multiple pools and each pool is having its own "root vdev" then how "root vdev"s are interlinked and how ZFS maintains "root vdev" list and where exctly? Top-level vdev can be logical vdev or physical vdev. If a top-level vdev is a logical vdev, it''s type can be mirror or raidz and so on, except disk. And if the top-level vdev is a mirror, then it can be consist of two or more device. A top-level vdev also can be a physical vdev and linked to the root vdev directly. <sridhar> Thank you for the explanation. Now i have a better understanding towards Top-levev vdev and physical vdev. A pool can be represented as a nvlist in implementation. A nvlist is a list of a vdev''s properties, and each property of vdev organizes as name/value pair, like (name, value). Two key properties of the tree structure are vdev_tree and chlidren. Nvlist and nvpair are all data structure which you can find in soure browser, they define as nvlist_t and nvpair_t namely. <sridhar> If ZFS on a machine is having multiple pools (i.e multiple root vdevs) how it will be inter related?. For more information about vdev and tree structure, you can see the ZFS On-disk format in http://www.opensolaris.org/os/community/zfs/docs/ondiskformat0822.pdf <sridhar> Thank you for providing the link. I am trying to understand the layout form the same pdf only. Thanks & Regards, sridhar. --------------------------------- Never miss a thing. Make Yahoo your homepage. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.opensolaris.org/pipermail/zfs-discuss/attachments/20071220/5789d507/attachment.html>
sudarshan sridhar wrote:> Hi *bu manzhao,* > ** > * *Thank for you quick response. I have some further queries to your > answer (wirtten with <sridhar> tag). It would be great if you could > provide inputs for them to understand ZFS better. > > ZFS is base in storage pool, and a pool is consist of some vdevs in > tree structure. There is only one root vdev for each pool, and any > number of vdevs as the root''s children. > > <sridhar> 1. What exactly a Pool represents?. Let say I have a > workstation with a single hard disk of a size 100Gb. If I create a > zpool and then a zfs how the relation between these tow are shown with > vdev ( the picture provided on ondiskformat pdf).A storage pool (zpool) describes the relationship of the hardware devices to the pool. A storage pool can contain multiple file systems, by default there is a file system with the same name as the storage pool.> 2. Since ZFS can have multiple pools and each pool is having its own > "root vdev" then how "root vdev"s are interlinked and how ZFS > maintains "root vdev" list and where exctly?There is no "interlink" between storage pools. The configuration of each storage pool is stored inside the storage pool. I hope this is clear in the on-disk format description. -- richard> > > Top-level vdev can be logical vdev or physical vdev. If a top-level > vdev is a logical vdev, it''s type can be mirror or raidz and so on, > except disk. And if the top-level vdev is a mirror, then it can be > consist of two or more device. A top-level vdev also can be a physical > vdev and linked to the root vdev directly. > > <sridhar> Thank you for the explanation. Now i have a better > understanding towards Top-levev vdev and physical vdev. > > A pool can be represented as a nvlist in implementation. A nvlist is > a list of a vdev''s properties, and each property of vdev organizes as > name/value pair, like (name, value). Two key properties of the tree > structure are vdev_tree and chlidren. Nvlist and nvpair are all data > structure which you can find in soure browser, they define as nvlist_t > and nvpair_t namely. > > <sridhar> If ZFS on a machine is having multiple pools (i.e multiple > root vdevs) how it will be inter related?. > > For more information about vdev and tree structure, you can see the > ZFS On-disk format in > http://www.opensolaris.org/os/community/zfs/docs/ondiskformat0822.pdf > > <sridhar> Thank you for providing the link. I am trying to understand > the layout form the same pdf only. > > Thanks & Regards, > sridhar. > > ------------------------------------------------------------------------ > Never miss a thing. Make Yahoo your homepage. > <http://us.rd.yahoo.com/evt=51438/*http://www.yahoo.com/r/hs> > ------------------------------------------------------------------------ > > _______________________________________________ > zfs-discuss mailing list > zfs-discuss at opensolaris.org > http://mail.opensolaris.org/mailman/listinfo/zfs-discuss >