- Community Home
- >
- Storage
- >
- Midrange and Enterprise Storage
- >
- HPE EVA Storage
- >
- Re: Automating SAN docs: WMI, Win32_DiskPartition,...
HPE EVA Storage
1753481
Members
4929
Online
108794
Solutions
Forums
Categories
Company
Local Language
юдл
back
Forums
Discussions
Forums
- Data Protection and Retention
- Entry Storage Systems
- Legacy
- Midrange and Enterprise Storage
- Storage Networking
- HPE Nimble Storage
Discussions
Discussions
Discussions
Forums
Forums
Discussions
юдл
back
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
- BladeSystem Infrastructure and Application Solutions
- Appliance Servers
- Alpha Servers
- BackOffice Products
- Internet Products
- HPE 9000 and HPE e3000 Servers
- Networking
- Netservers
- Secure OS Software for Linux
- Server Management (Insight Manager 7)
- Windows Server 2003
- Operating System - Tru64 Unix
- ProLiant Deployment and Provisioning
- Linux-Based Community / Regional
- Microsoft System Center Integration
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Blogs
Information
Community
Resources
Community Language
Language
Forums
Blogs
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО02-21-2006 03:36 AM
тАО02-21-2006 03:36 AM
Automating SAN docs: WMI, Win32_DiskPartition, Win32_Volume
RE: WMI, Win32_Volume, Win32_DiskPartition and finding which goes with which
With Windows2003 Server, how can I determine which Win32_DiskPartition(s) a Win32_Volume is made from/contains?
Motivation: Automating SAN documenation:
=> Win32_DiskDrive,Win32_DiskPartition give me WWID and Basic disk capacity
=> Win32_Volume gives me mount point and freespace/capacity of a filesystem
... How can I link these together? I just need the link/key... not really needing the code.
I want to be able to say "volume{...}" lives on "disk #__, partition #__"
Assume:
(1) My volumes-of-interest are not found as Win32_LogicalDisk(s) instances!; i.e. the volumes are mounted at non-root locations like M:\some\path\here vs. just being "M:\".
(2) We only use basic disks (no dynamic disks), so 1 partition => 1 volume. (But this shouldn't matter if you can find somewhere in WMI that allows linking volumes to their partitions... I can figure out the rest).
#--------------------------------
Before you answer "use Win32_LogicalDisks, Win32_LogicalDiskToParition, please see #1", here is more information to prevent this incorrect answer:
If I query all the Win32_LogicalDisk(s), I only see an instance when a partition is associated with the root drive (e.g. M:)... but not when I have volumes mounted on sub-trees (i.e. UNIX style); e.g.
M:\ <= one volume is mounted here (this partition has a Win32_LogicalDisk)
M:\foo\bar <= another volume mounted to this point in the tree (this partition does not have a Win32_LogicalDisk)
M:\foo\dar <= another volume (living on a disk partition, e.g.)
....
Each volume wraps around one basic disk partition. In otherwords, it is true that I can get everything I need when all my partitions are mapped to drives (D:,E:,...,etc) via Win32_LogicalDisk, however, __IF__ my volumes are __NOT__ mapped to drives and instead are mounted to subtrees then Win32_LogicalDisk instances do not seem to exist (for the volumes in question).
#--------------------------------
I am talking about local basic disks this discussion has nothing to do with network mapped drives.
#--------------------------------
Win32_MountPoint doesn't add anything that I don't already know from Win32_Volume. i.e. I am trying to link the volume to the physical partition (disk #X, paritition #Y), I already know the mount location (Z:\some\path).
With Windows2003 Server, how can I determine which Win32_DiskPartition(s) a Win32_Volume is made from/contains?
Motivation: Automating SAN documenation:
=> Win32_DiskDrive,Win32_DiskPartition give me WWID and Basic disk capacity
=> Win32_Volume gives me mount point and freespace/capacity of a filesystem
... How can I link these together? I just need the link/key... not really needing the code.
I want to be able to say "volume{...}" lives on "disk #__, partition #__"
Assume:
(1) My volumes-of-interest are not found as Win32_LogicalDisk(s) instances!; i.e. the volumes are mounted at non-root locations like M:\some\path\here vs. just being "M:\".
(2) We only use basic disks (no dynamic disks), so 1 partition => 1 volume. (But this shouldn't matter if you can find somewhere in WMI that allows linking volumes to their partitions... I can figure out the rest).
#--------------------------------
Before you answer "use Win32_LogicalDisks, Win32_LogicalDiskToParition, please see #1", here is more information to prevent this incorrect answer:
If I query all the Win32_LogicalDisk(s), I only see an instance when a partition is associated with the root drive (e.g. M:)... but not when I have volumes mounted on sub-trees (i.e. UNIX style); e.g.
M:\ <= one volume is mounted here (this partition has a Win32_LogicalDisk)
M:\foo\bar <= another volume mounted to this point in the tree (this partition does not have a Win32_LogicalDisk)
M:\foo\dar <= another volume (living on a disk partition, e.g.
....
Each volume wraps around one basic disk partition. In otherwords, it is true that I can get everything I need when all my partitions are mapped to drives (D:,E:,...,etc) via Win32_LogicalDisk, however, __IF__ my volumes are __NOT__ mapped to drives and instead are mounted to subtrees then Win32_LogicalDisk instances do not seem to exist (for the volumes in question).
#--------------------------------
I am talking about local basic disks this discussion has nothing to do with network mapped drives.
#--------------------------------
Win32_MountPoint doesn't add anything that I don't already know from Win32_Volume. i.e. I am trying to link the volume to the physical partition (disk #X, paritition #Y), I already know the mount location (Z:\some\path).
3 REPLIES 3
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО05-27-2009 09:10 AM
тАО05-27-2009 09:10 AM
Re: Automating SAN docs: WMI, Win32_DiskPartition, Win32_Volume
Adam,
Did you ever figure out the answer to your issue here? The reason I ask is that it looks like I am attempting to do the exact same thing and I'm currently stumped on the exact same issue.
I thought about grabbing the list of GUIDs from Win32_Volume, creating a new partition on an iSCSI mounted drive, and then grabbing the list of GUIDs again to determine the new one and associate it to the disk via code. Did you ever come up with a better solution? I'm not sure if there's a way to lock the machine down to prevent another process from creating a drive and partitioning, thus breaking this rather clunky algorithm, but if not, that would be a potentially problematic fail point.
Thanks,
~Drew
Did you ever figure out the answer to your issue here? The reason I ask is that it looks like I am attempting to do the exact same thing and I'm currently stumped on the exact same issue.
I thought about grabbing the list of GUIDs from Win32_Volume, creating a new partition on an iSCSI mounted drive, and then grabbing the list of GUIDs again to determine the new one and associate it to the disk via code. Did you ever come up with a better solution? I'm not sure if there's a way to lock the machine down to prevent another process from creating a drive and partitioning, thus breaking this rather clunky algorithm, but if not, that would be a potentially problematic fail point.
Thanks,
~Drew
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО05-27-2009 09:51 AM
тАО05-27-2009 09:51 AM
Re: Automating SAN docs: WMI, Win32_DiskPartition, Win32_Volume
Actually, I should correct myself. I'm trying to do something very similar.
I'm attaching SAN volumes to Windows Server 2003 machines. I want the mount path folder to have the same name as the SAN volume name. I can query MSiSCSIInitiator_SessionClass and grab the MSiSCSIInitiator_DeviceOnSession object from the Devices array property. That has the information that maps the SAN volume to the physical disk. As you know though, the MSDN says, "No direct relationship exists between Win32_Volume and Win32_DiskDrive." I need this association though so I know which mount point to mount the volume to based on which physical disk it is associated with.
I understand why this cross-reference isn't easy to make. The relationship between physical disks and volumes is M:N so there's no way to directly link them, but I'm not quite sure why there isn't an association class between the two.
I'm attaching SAN volumes to Windows Server 2003 machines. I want the mount path folder to have the same name as the SAN volume name. I can query MSiSCSIInitiator_SessionClass and grab the MSiSCSIInitiator_DeviceOnSession object from the Devices array property. That has the information that maps the SAN volume to the physical disk. As you know though, the MSDN says, "No direct relationship exists between Win32_Volume and Win32_DiskDrive." I need this association though so I know which mount point to mount the volume to based on which physical disk it is associated with.
I understand why this cross-reference isn't easy to make. The relationship between physical disks and volumes is M:N so there's no way to directly link them, but I'm not quite sure why there isn't an association class between the two.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО05-27-2009 09:59 AM
тАО05-27-2009 09:59 AM
Re: Automating SAN docs: WMI, Win32_DiskPartition, Win32_Volume
One more thing to add:
I noticed that within ISCSI Initiator, if you go to the Bound Volumes/Devices tab and hit "Bind All", it will bring up a list of the Volume DeviceIDs (GUIDs) of only the iSCSI attached volumes (it ignores internal drives). So the Initiator has some way of knowing which volumes belong to it. The drive type on the ones it ignores match the iSCSI drives (type 3), and I've bound one of the iSCSI volumes to a drive path so it's not looking for ones that haven't been bound. I've combed through the remaining iSCSI WMI objects in the WMI Object Browser and can't seem to find anything that would provide this.
If I can just find some way to reliably map volume to drive, then I can use SetVolumeMountPath, determine which volume to mount to which path, and be done.
I noticed that within ISCSI Initiator, if you go to the Bound Volumes/Devices tab and hit "Bind All", it will bring up a list of the Volume DeviceIDs (GUIDs) of only the iSCSI attached volumes (it ignores internal drives). So the Initiator has some way of knowing which volumes belong to it. The drive type on the ones it ignores match the iSCSI drives (type 3), and I've bound one of the iSCSI volumes to a drive path so it's not looking for ones that haven't been bound. I've combed through the remaining iSCSI WMI objects in the WMI Object Browser and can't seem to find anything that would provide this.
If I can just find some way to reliably map volume to drive, then I can use SetVolumeMountPath, determine which volume to mount to which path, and be done.
The opinions expressed above are the personal opinions of the authors, not of Hewlett Packard Enterprise. By using this site, you accept the Terms of Use and Rules of Participation.
News and Events
Support
© Copyright 2024 Hewlett Packard Enterprise Development LP