There are quite a few disk group types and some are similarly named between UNIX and Windows, but have different meaning, so this article aims to clarify the different types which are as follows:
- Root/Boot disk group (rootdg) in UNIX is an optional disk group containing the Operating System boot disk. Prior to Volume Manager 4.0 you had to have a rootdg which didn't have to contain the Operating System boot disk, but it did have to be the first disk group that was created and be a local disk group
- Primary dynamic disk group in Windows (sometimes the word dynamic is dropped) is like the root disk group in UNIX - it is an optional dynamic disk group (see later for definition of dynamic disk group) containing the Operating System boot disk. Prior to Volume Manager 3.0 you had to have a Primary disk group which didn't have to contain the Operating System boot disk, but it did have to be the first disk group that was created and be a local disk group
- Basic disk group in Windows is a group of all the basic disks (disks not under VxVM control). In UNIX a disk group is defined as a "collection of disks that share a common configuration, and which are managed by VxVM", so disks not under VxVM control are not called a disk group in UNIX.
- Dynamic disk group in Windows is the definition as above for a UNIX disk group - "collection of disks that share a common configuration, and which are managed by VxVM". I guess the word "dynamic is used to distinguish it from the basic disk group, but the word dynamic may be dropped and the word dynamic is not used in UNIX.
- The disk group created by default in Windows and UNIX is just called a "disk group" in UNIX, but in Windows is called a "secondary dynamic disk group", but often "dynamic" or "secondary" or both words are dropped. This disk group in all Operating systems can be moved from one system to another by deporting from one node and importing on the other node.
- Cluster dynamic disk group in Windows is a "secondary dynamic disk group" that is used with Veritas Cluster Server (VCS) or Microsoft
Cluster Service (MSCS). A Cluster disk group is created using the "-s" flag to vxdg, but the "-s" flag in UNIX creates a "Shared" disk group and this is NOT the same (see next definition). In UNIX, there is no special name for a diskgroup used in a cluster, however you should use the "-t" option to stop the diskgroup from being automatically imported when the server boots which essentially is what the "-s" flag does in Windows.
Shared disk group (or cluster-shareable) in UNIX can be simultaneously imported on several nodes so that volumes in the disk group can be written to simultaneously from different nodes. For this feature you require a separate licence for SFCFS which comprises of Cluster Volume Manager (CVM) and Cluster File System (CFS). Although the word "cluster" is used in the product name, the disk group created (with -s flag to vxdg) is called a shared disk group in the manuals as I guess calling it a "cluster disk group" would cause confusion with Windows. However I find customers often called a shared disk group a cluster diskgroup as "shared disk group" is often used to describe a disk group that is moved from one node to another via deporting or importing as oppose to a local disk group which is only ever imported on the local node.
Shared disk groups are not possible in Windows, however in UNIX, CVM is sometimes used, NOT to simultaneously write to volumes from different nodes, but to speed up failover times in a cluster by avoiding deporting & importing disk groups and mounting and umounting file systems. A feature similar to this is supported in Windows from 6.0 where a disk group can be deported read-only so that on failover the passive node is changed from Read-Only to Read/Write, rather than having to do a (slower) import.
- Private disk group in UNIX is one that is not shared as defined above, so it cannot be simultaneously imported on nodes, but it can be imported on another node by deporting on node and importing on another. The term "private disk group" is not used in Windows as all disk groups are private as shared disk groups are not possible. I find the term "Private disk group" is not used by many customers as many people would interpret the word private to be a "local" disk group which is only ever imported on the local node, especially if the customer also uses Windows as there is also a term "Private dynamic disk group protection", which is defined next.
- Private dynamic disk group protection provides hardware locking to the disks in the secondary dynamic disk group through a SCSI reservation thread to protect secondary dynamic disk groups located on shared storage from access by other hosts connected to the shared storage pool, so this essentially provides a "local" disk group. I guess this feature is available in Windows as historically Windows only used SCSI-2 reservations, where as UNIX has used SCSI-3 (persistent) reservations for a long time so the "Private dynamic disk group protection" feature is not necessary on UNIX.
This must all be very confusing for someone new to Storage Foundation, especially if they use it on both UNIX and Windows, so the following may help:
- Historically you had to have a root (UNIX) or primary (Windows) disk group and even when this became optional, customers put the Operating System under SF control to provide free mirroring, but now that you can often mirror Operating System using free or cheap tools in the O/S or hardware I think it is generally better not to put the Operating System under SF control as it makes upgrading the Operating System or SF more complicated.
- In UNIX there is no difference in the name between a disk group which is only ever imported locally and a disk group which is moved manually or by a cluster between nodes, but in Windows you can optionally use Private dynamic disk group protection for a local disk group and you must use the cluster disk group option for a disk group used in a cluster. In UNIX and Windows, by default, a disk group is automatically imported when the server boots and to prevent this you use the "-t" flag in UNIX and the "-s" (Cluster option) flag in Windows.
- You only need SFCFS (comprising of CVM or CFS), where you create a shared diskgroup using the "-s" flag to vxdg, if you want to simultaneously access the same storage from more than one node or if you want faster failover in a cluster by avoiding deporting & importing disk groups and mounting and umounting file systems when failing over.