Unsolved
This post is more than 5 years old
20 Posts
0
1334
How to Identify TDATA Devices for thin Pool
Hi,
We have new VMAX and we want to use the thin Pool. I would like to know when we create data devices for thin pool and add them. I want to know what details of the data devices will show that each Data device is from different physical Disk so that I will select data devices from diferent pysical devices for performance.
Is there any way we can identify the device numbers and tell that these are from diferent spindles.
Thanks
Gouda.
Sparkles1
27 Posts
0
March 28th, 2011 12:00
to list the Tdats...
#symdev list -datadev
then show the detail for each device...
#symdev show
dynamox
1 Rookie
1 Rookie
•
20.4K Posts
0
March 28th, 2011 12:00
you create data devices (TDAT) from regular disk groups so if you want to see which physical drives a partuclar TDAT resides on you can run :
symdev show -sid 0BAD
Gouda2
20 Posts
0
March 28th, 2011 14:00
thank you.
BCHANCELLOR
15 Posts
0
March 28th, 2011 14:00
If possible I would recommend having a vmax disk group dedicated to a particular virtual pool. If you create a ton of small pools you lose alot of the benifit of having those pools in the first place. It's okay for your pool to contain datadevs from the same spindles. There are alot of best practices with allocating datadevs, and almost all of them can be solved by having large "Disk groups" filled with large datadevs.
e.g.
Disk_Group 1 - 3+1 EFDs - All datadevs assinged to pool1
Disk_Group 2 - Raid 10 FC drives - All datadevs assigned to pool2
Disk_Group 3 - Raid 5 SATA - All datadevs assigned to pool3
(btw naming your pools like above is a crime in most countries)
But if you REALLY care that much then yes you can identify which tdats are on which spindles it just takes some creative programming.. I threw this together in perl, you'll have to write your own command line parsing and sub routing passing....
$SYMDISK="/path/to/symdisk";
sub getSymDisks() {
## Runs a symdisk list -v for an array, throws all lines for a disk into a parsing subroutine
## Pass this function your arrayname and serial
my ($myarray,$myserial)=@_; ## Pass in your array name and serial number
clearExistsFlag($myarray,"array_disks","disk_lun_exists");
my $runme="$SYMDISK -sid $myserial list -v 2>&1";
my @results=`$runme`;
my @thisdisk=();
my $firstdisk=1;
print "## Auditing disk info for $myarray\n";
foreach (@results) {
if(/^\s*Director\s*:/) {
## First line of a new disk
if($firstdisk) {
## We found a new disk throw the last disk to parse
parseSymDisk($myarray,@thisdisk);
undef(@thisdisk);
}
else { $firstdisk=0; }
push (@thisdisk,$_);
}
else { push(@thisdisk,$_); }
}
## Throw the last disk we found for parsing
parseSymDisk($myarray,@thisdisk);
undef(@thisdisk);
}
sub parseSymDisk() {
## Parses the symdisk lines and looks for fun and interesting stuff
## Takes arguments arrayname and an array with symdisk output
my ($myarray,@mysymdisklines) = @_;
my $dik_group="";my $disk_size = 0;my $disk_speed=0;my $disk_group=none;
my $director_name="";my $interface_name="";my $tid_name="";
foreach (@mysymdisklines) {
if(/^\s*Director\s*:\sDF\-(\w*)/) { $director_name = $1; }
if(/^\s*Interface\s*:\s(\w*)/) { $interface_name = $1; }
if(/^\s*Target ID\s*:\s(\w*)/) { $tid_name = $1; }
if(/^\s*Disk Group Name\s*:\s(\w*)/) { $disk_group = $1; }
if(/^\s*Speed \(RPM\)\s*:\s(\w*)/) { $disk_speed = $1; }
if(/^\s*Total Disk Capacity \(MB\)\s*:\s(\w*)/) { $disk_size = $1; }
if(/^.{27}\s(\w\w\w\w)\s(\S*)\s*\d\s.{13}\s*(\d*)/) {
## This saves each hyper as $1 it's Raid type as $2 and it's size as $3
## prints out comma separated info
## disk,disk_group,speed,disk size, device ID, raid level, device size
print "$director_name$interface_name:$tid_name,$disk_group,$disk_speed,$disk_size,$1,$2,$3";
}
}
}
(I wrote it in notepad only to find out you cant paste code in here, so feel free to change to your own formatting).
dynamox
1 Rookie
1 Rookie
•
20.4K Posts
0
March 28th, 2011 14:00
not that i know off, you might have to write a script to automate that.
Gouda2
20 Posts
0
March 28th, 2011 14:00
Thanks you very Much for your extended reply on this, I will take look at this.
Sparkles1
27 Posts
0
March 28th, 2011 14:00
If you can identify the various disk groups, you can reduce things down further.
#symdev list -datadev -disk_group
Gouda2
20 Posts
0
March 28th, 2011 14:00
Hi,
I would agree with your answer. If I have lot of Data Device, I would end up in spending lot of time in show command.
Is there anyway that I can say that the Device list i can identify them from diferent spindles.
Thanks
Gouda
SKT2
1.3K Posts
0
April 28th, 2011 19:00
symdisk -sid xxx show 12d,d,11 if you know the spindle and get the LUN