11-30-2011 04:52 PM
I've got two questions, which I'm hoping I can get some assistance with.
Environment: RHEL Linux 5.7 server with connectivity to an EMC VNX storage array.
1) I wanted to get clarification on my understand of a particular section (highlighted in bold) of the vxdisk list <devname> output:
Device: emc_clariion0_10
devicetag: emc_clariion0_10
type: auto
hostid: xxxx
disk: name=emc_clariion0_10 id=1317280593.32.xxxx
group: name=xxxx id=1317280602.40.xxxx
info: format=cdsdisk,privoffset=208,pubslice=3,privslice=3
flags: online ready private autoconfig autoimport imported
pubpaths: block=/dev/vx/dmp/emc_clariion0_10s3 char=/dev/vx/rdmp/emc_clariion0_10s3
guid: -
udid: DGC%5FRAID%2010%5FAPM00113001727%5F600601606AA02D00BEF97BDA03E8E011
site: -
version: 4.1
iosize: min=512 (bytes) max=1024 (blocks)
public: slice=3 offset=65744 len=943652560 disk_offset=48
private: slice=3 offset=208 len=65536 disk_offset=48
update: time=1320430039 seqno=0.27
ssb: actual_seqno=0.0
headers: 0 240
configs: count=1 len=51360
logs: count=1 len=4096
Defined regions:
config priv 000048-000239[000192]: copy=01 offset=000000 enabled
config priv 000256-051423[051168]: copy=01 offset=000192 enabled
log priv 051424-055519[004096]: copy=01 offset=000000 enabled
lockrgn priv 055520-055663[000144]: part=00 offset=000000
Multipathing information:
numpaths: 8
sdr state=enabled type=primary
sdv state=enabled type=secondary
sdb state=enabled type=primary
sdf state=enabled type=secondary
sdz state=enabled type=primary
sdad state=enabled type=secondary
sdj state=enabled type=primary
sdn state=enabled type=secondary
What do the disk_offset and offset values define in this output and what units are they in? My assumption is that the disk_offset is saying that data gets written starting at block 48 on the disk device. For the offset value, does that define the block # that the region begins at also, e.g. the private region begins at block 208? The only other possibility I can think of is that the offset values are defining how many blocks beyond the disk_offset each region begins at, e.g. the private region starts at 48+208 = block 256 and public starts at 65744 + 48 = block 65792. Unfortunately, it's not real obvious to me :(
2) If I wanted to perform partition alignment of the VXVM volumes, e.g. to align on the 1 MiB EMC-recommended boundary for a CLARiiON/VNX LUNs, would I just use the puboffset switch with the vxdisksetup command and specify the block count (2048)?
Thanks,
Jeff
12-01-2011 11:29 PM
Hi Jeff
From the above output, I would understand that "offset" actually defines the offset from where the region is starting. so public offset would say that public offset is starting from 65774 & spanning to length of 943652560 ... & for private ,offset is starting from 208 & spanning to a length of 65536.
If we see the man page for vxdisksetup:
puboffset=offset
-- Sets the offset on the disk where the public region starts. By default, this is past the end of the private region.
For the sliced format, 256 blocks of disk space (rounded up to the nearest cylinder boundary) are reserved at the beginning of the public region unless this is overridden by the value of puboffset. The reserved space allows for later conversion to the cdsdisk format.
For the simple format, 256 blocks of disk space are reserved at the end of the private region unless this is overridden by the value of puboffset. The reserved space allows for later conversion to the cdsdisk format.
For cdsdisk format disks, puboffset is silently rounded up to the nearest multiple of 8KB if it is not already a multiple of 8KB.
For disk_offset, I believe it is a sector value only.... chk this e.g
# prtvtoc -h /dev/rdsk/c3t5d23s2
* First Sector Last
|
* Partition Tag Flags Sector Count Sector Mount
|
2 5 01 0 238091520 238091519
|
3 15 01 0 3840 3839
|
4 14 01 3840 238087680 238091519
|
public: slice=4 offset=0 len=238087680 disk_offset=3840
|
private: slice=3 offset=1 len=3839 disk_offset=0
|
After a successful initialization we have matching sizes:
Total available disk space using "vxdisk list " output = 238087680(len) + 3840 (disk_offset)
= 238091520 sectors
Total available disk space using "prtvtoc -h " output = 238091520 (Sector count)
Gaurav
12-02-2011 08:26 AM
Hi
Essentially these offsets are used by VxVM to identify/locate internal structures. The value is in sectors which depend on the platform (512bytes/solaris)
Am little conufused over the alignment, could you expand. Is the goal to have the public region starting on a some type of boundary ?
cheers
tony
12-13-2011 03:05 PM
Tony,
Yes, what I would like to do is make sure that the public region where the user data will be written to is aligned with the stripe boundary that the backend storage array is using. In this case, since it's an EMC CLARiiON, I'd like to start it at the 64k boundary on the disk or some multiple of it.
Jeff