Note: This is OUTDATED info – applies to VxVM5 from about 2006 running on internal disks on Linux. It may not apply to your fancy, modern VxSFHA binaries. It does not apply to Solaris.
Problem : Veritas [vxdiskadd] refuses to add disks on a Linux server (internal disks).
Symptom:
vxdisksetup ERROR V-5-2-1814 sdb: Invalid disk device for ‘cdsdisk’ format
- Attempt 0: Initial Troubleshooting
Try different similar commands. Try vxdisk init. Try vxdg init dg_ota disk=sdb. Try encapsulating the disk. These approaches failed.
- Attempt1: Is the disk labelled (with a partition table)? Is it in use by something else?
No data on the disk. One LVM partition was created. I deleted this and created a single standard DOS partition to ensure the label and put it in a commonly accepted disk layout which VxVM should recognize. This failed to resolve the problem
- Attempt2: What is unusual about these disks?
They are internal disks, no multipathing, managed by an integrated IBM-rebranded LSI RAID controller. This means that vxddladm did not recognize the “enclosure”. It saw the disk (# /etc/vx.d/diag.d/vxdmpinq sdb -> IBM ServRAID M5110e ). I tried manually adding it, but that caused it to see only a single disk. And this was overkill. I didn’t really want to define a new enclosure. I just wanted it to see the disks – skip the multipathing. So I deleted the enclosure and started looking at the ‘vxddladm addforeign’ command (which lets the enclosure handle MP). Before trying this, I noticed a different approach, which worked …
- Solution:
Create the disks NOT as the default-CDS, but instead as sliced.
The actual problem seems to be that the CDS is based on a solaris-style partition table – it assumes a partition table of 8 entries and uses the 8th one (for both private and public regions-surprisingly). This fails with a DOS-based MBR 4-partition table/label, whereas a ‘sliced’ disk uses 4th partition (for data), 5th partition as private region and 6th partition as the entire disk.
It is likely that I could have used a ‘simple’ disk instead, but a sliced is more compatible
and (apparently) could be converted to a standard CDS disk. The limitation is that sliced
disks could not be imported by a server with a very different architecture (little-endian CPU). This limitation does not apply in this case.