Unable to update label on disk that was in use by VERITAS VxVM without having to reboot. When using fdisk utility.

book

Article ID: 100020897

calendar_today

Updated On:

Description

Error Message

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table.
The new table will be used at the next reboot.
Syncing disks

Resolution

Since device was in use by VxVM it may still be open. To resolve the issue remove the devices from the VxVM database then update the label on the disk.

Note: Please note fdisk is a Partition table manipulator. Extreme caution must be used when labeling disk(s) or re-partitioning as data on disk can be destroyed if used incorrectly.

1.Identify the disk that will be removed from VxVM database. In the example I will remove disk sdb from the VxVM database.

# vxdisk -e list
DEVICE      TYPE      DISK        GROUP        STATUS      OS_NATIVE_NAME  %
sda              auto        rootdisk    rootdg          online            sda
sdb              auto        -                -                online            sdb
sdc              auto        sdc          data            online            sdc
sdd              auto        -                -                online            sdd


2. From the above output I will be removing device sdb. Note that the OS_NATIVE_NAME matches. In some instances due to persistence naming being set, DEVICE and OS_NATIVE_NAME may differ. You would still remove sdb with `vxdisk rm`, but the fdisk operation would be done on the OS_NATIVE_NAME.

# vxdisk rm sdb

3. After removing the device from the VxVM database you now use fdisk to update the label or re-partition.

# fdisk /dev/sdb

The number of cylinders for this disk is set to 17365. There is nothing wrong with that, but this is larger than 1024, and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
  (e.g., DOS FDISK, OS/2FDISK)

Command (m for help): o
Building a new DOS disk label. Changes will remain in memory only,
until you decide to write them. After that, of course, the previous
content won't be recoverable.

The number of cylinders for this disk is set to 17365.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2)booting and partitioning software from other OSs
  (e.g., DOS FDISK,OS/2 FDISK)
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.

 

 

 

Issue/Introduction

Unable to update label on disk that was in use by VERITAS VxVM without having to reboot. When using fdisk utility.