This section describes the steps you need to take before removing Veritas Volume Manager (VxVM) to preserve the contents of the volumes.
Use the following procedure to move volumes from an encapsulated root disk.
To uninstall VxVM if root, swap, usr, or var is a volume under Volume Manager control
The plex must be contiguous, non-striped, non-spanned, and non-sparse. To obtain this information, enter the following:
# vxprint -ht rootvol swapvol usr var
If any of these volumes have more than one associated plex, remove the unnecessary plexes using the following command:
# vxplex -o rm dis plex_name
# /etc/vx/bin/vxunroot
The vxunroot command changes the volume entries in /etc/vfstab to the underlying disk partitions for rootvol, swapvol, usr, and var. It also modifies /etc/system and prompts for a reboot so that disk partitions are mounted instead of volumes for root, swap, usr, and var.
You can do this using one of the following procedures:
Back up the entire system to tape and then recover from tape.
Back up each file system individually and then recover them all after creating new file systems on disk partitions.
Move volumes incrementally to disk partitions.
Otherwise, shut down VxVM.
Use the following procedure to move volumes incrementally to disk partitions.
To move volumes incrementally to disk partitions
Evacuation moves subdisks from the specified disks to target disks. The evacuated disks provide the initial free disk space for volumes to be moved to disk partitions.
# vxdg rmdisk diskname # vxdisk rm devname
If there is not enough free space for the partition, add a new disk to the system for the first volume removed. Subsequent volumes can use the free space generated by the removal of this first volume.
# dd if=/dev/vx/dsk/diskgroup/lhome of=/dev/dsk/c2t2d2s7
where c2t2d2 is the disk outside of Volume Manager and s7 is the newly created partition.
# vxvol -g diskgroup stop volume_name # vxedit -rf rm volume_name
To check if there are still some subdisks remaining on a particular disk, use the vxprint command.
# vxprint -g diskgroup -F '%sdnum' diskname
If the output is not 0, there are still some subdisks on this disk that you need to remove. If the output is 0, remove the disk from VxVM control.
# vxdg rmdisk diskname # vxdisk rm devname
Use the free space created for adding the data from the next volume you want to remove.
# vxprint -Aht -e v_open
This example shows how to move the data on a volume to a disk partition. In the example, there are three disks: disk1 and disk2 are subdisks on volume vol01 and disk3 is a free disk. The data on vol01 is copied to disk3 using vxevac.
These are the contents of the disk group voldg before the data on vol01 is copied to disk3.
# vxprint -g voldg -ht DG NAME NCONFIG NLOG MINORS GROUP-ID DM NAME DEVICE TYPE PRIVLEN PUBLEN STATE RV NAME RLINK_CNT KSTATE STATE PRIMARY DATAVOLS SRL RL NAME RVG KSTATE STATE REM_HOST REM_DG REM_RLNK V NAME RVG KSTATE STATE LENGTH READPOL PREFPLEX UTYPE PL NAME VOLUME KSTATE STATE LENGTH LAYOUT NCOL/WID MODE SD NAME PLEX DISK DISKOFFS LENGTH [COL/]OFF DEVICE MODE SV NAME PLEX VOLNAME NVOLLAYR LENGTH [COL/]OFF AM/NM MODE DC NAME PARENTVOL LOGVOL SP NAME SNAPVOL DCO dg voldg default default 115000 1017856044.1141.hostname.veritas.com dm disk1 c1t12d0s2 sliced 2591 17900352 - dm disk2 c1t14d0s2 sliced 2591 17899056 - dm disk3 c1t3d0s2 sliced 2591 17899056 - v vol1 - ENABLED ACTIVE 4196448 ROUND - fsgen pl pl1 vol1 ENABLED ACTIVE 4196448 CONCAT - RW sd sd1 pl1 disk1 0 2098224 0 c1t12d0 ENA sd sd2 pl1 disk2 0 2098224 2098224 c1t14d0 ENA
Evacuate disk1 to disk3.
# /etc/vx/bin/vxevac -g voldg disk1 disk3 # vxprint -g voldg -ht DG NAME NCONFIG NLOG MINORS GROUP-ID DM NAME DEVICE TYPE PRIVLEN PUBLEN STATE RV NAME RLINK_CNT KSTATE STATE PRIMARY DATAVOLS SRL RL NAME RVG KSTATE STATE REM_HOST REM_DG REM_RLNK V NAME RVG KSTATE STATE LENGTH READPOL PREFPLEX UTYPE PL NAME VOLUME KSTATE STATE LENGTH LAYOUT NCOL/WID MODE SD NAME PLEX DISK DISKOFFS LENGTH [COL/]OFF DEVICE MODE SV NAME PLEX VOLNAME NVOLLAYR LENGTH [COL/]OFF AM/NM MODE DC NAME PARENTVOL LOGVOL SP NAME SNAPVOL DCO dg voldg default default 115000 1017856044.1141.hostname.veritas.com dm disk1 c1t12d0s2 sliced 2591 17900352 - dm disk2 c1t14d0s2 sliced 2591 17899056 - dm disk3 c1t3d0s2 sliced 2591 17899056 - v vol1 - ENABLED ACTIVE 4196448 ROUND - fsgen pl pl1 vol1 ENABLED ACTIVE 4196448 CONCAT - RW sd disk3-01l1 disk3 0 2098224 0 c1t3d0 ENA sd sd2 pl1 disk2 0 2098224 2098224 c1t14d0 ENA
Evacuate disk2 to disk3.
# /etc/vx/bin/vxevac -g voldg disk2 disk3 # vxprint -g voldg -ht DG NAME NCONFIG NLOG MINORS GROUP-ID DM NAME DEVICE TYPE PRIVLEN PUBLEN STATE RV NAME RLINK_CNT KSTATE STATE PRIMARY DATAVOLS SRL RL NAME RVG KSTATE STATE REM_HOST REM_DG REM_RLNK V NAME RVG KSTATE STATE LENGTH READPOL PREFPLEX UTYPE PL NAME VOLUME KSTATE STATE LENGTH LAYOUT NCOL/WID MODE SD NAME PLEX DISK DISKOFFS LENGTH [COL/]OFF DEVICE MODE SV NAME PLEX VOLNAME NVOLLAYR LENGTH [COL/]OFF AM/NM MODE DC NAME PARENTVOL LOGVOL SP NAME SNAPVOL DCO dg voldg default default 115000 1017856044.1141.hostname.veritas.com dm disk1 c1t12d0s2 sliced 2591 17900352 - dm disk2 c1t14d0s2 sliced 2591 17899056 - dm disk3 c1t3d0s2 sliced 2591 17899056 - v vol1 - ENABLED ACTIVE 4196448 ROUND - fsgen pl pl1 vol1 ENABLED ACTIVE 4196448 CONCAT - RW sd disk3-01 pl1 disk3 0 2098224 0 c1t3d0 ENA sd disk3-02 pl1 disk3 2098224 2098224 2098224 c1t3d0 ENA
Remove the evacuated disks from VxVM control.
# vxdisk -g voldg list DEVICE TYPE DISK GROUP STATUS c1t3d0s2 sliced disk3 voldg online c1t12d0s2 sliced disk1 voldg online c1t14d0s2 sliced disk2 voldg online # vxdg rmdisk disk1 # vxdg rmdisk disk2 # vxdisk rm c1t12d0 # vxdisk rm c1t14d0
Verify that the evacuated disks have been removed from VxVM control.
# vxdisk -g voldg list DEVICE TYPE DISK GROUP STATUS c1t3d0s2 sliced disk3 voldg online
Check to see whether the volume you want to move first is mounted.
# mount | grep vol1 /vol1 on /dev/vx/dsk/voldg/vol1 read/write/setuid/log/nolargefiles/dev=12dc138 on Wed Apr 3 10:13:11 2002
Create a partition on free disk space of the same size as the volume. In this example, a 2G partition is created on disk1 (c1t12d0s1).
# format Searching for disks...done AVAILABLE DISK SELECTIONS: 0. c0t0d0 <SUN9.0G cyl 4924 alt 2 hd 27 sec 133> /sbus@1f,0/SUNW,fas@e,8800000/sd@0,0 1. c1t3d0 <QUANTUM-ATLASIV9SCA-0808 cyl 13814 alt 2 hd 4 sec 324> /sbus@1f,0/SUNW,fas@2,8800000/sd@3,0 2. c1t9d0 <QUANTUM-ATLASIV9SCA-0808 cyl 13814 alt 2 hd 4 sec 324> /sbus@1f,0/SUNW,fas@2,8800000/sd@9,0 3. c1t10d0 <QUANTUM-ATLASIV9SCA-0808 cyl 13814 alt 2 hd 4 sec 324> /sbus@1f,0/SUNW,fas@2,8800000/sd@a,0 4. c1t11d0 <QUANTUM-ATLASIV9SCA-0808 cyl 13814 alt 2 hd 4 sec 324> /sbus@1f,0/SUNW,fas@2,8800000/sd@b,0 5. c1t12d0 <QUANTUM-ATLASIV9SCA-0808 cyl 13814 alt 2 hd 4 sec 324> /sbus@1f,0/SUNW,fas@2,8800000/sd@c,0 6. c1t14d0 <QUANTUM-ATLASIV9SCA-0808 cyl 13814 alt 2 hd 4 sec 324> /sbus@1f,0/SUNW,fas@2,8800000/sd@e,0 7. c1t15d0 <QUANTUM-ATLASIV9SCA-0808 cyl 13814 alt 2 hd 4 sec 324> /sbus@1f,0/SUNW,fas@2,8800000/sd@f,0 Specify disk (enter its number): 5 selecting c1t12d0 [disk formatted] FORMAT MENU: disk - select a disk type - select (define) a disk type partition - select (define) a partition table current - describe the current disk format - format and analyze the disk repair - repair a defective sector label - write label to the disk analyze - surface analysis defect - defect list management backup - search for backup labels verify - read and display labels save - save new disk/partition definitions inquiry - show vendor, product and revision volname - set 8-character volume name !<cmd> - execute <cmd>, then return quit format> p PARTITION MENU: 0 - change '0' partition 1 - change '1' partition 2 - change '2' partition 3 - change '3' partition 4 - change '4' partition 5 - change '5' partition 6 - change '6' partition 7 - change '7' partition select - select a predefined table modify - modify a predefined partition table name - name the current table print - display the current table label - write partition map and label to the disk !<cmd> - execute <cmd>, then return quit partition> 1 Part Tag Flag Cylinders Size Blocks 1 unassigned wm 0 0 (0/0/0) 0 Enter partition id tag[unassigned]: Enter partition permission flags[wm]: Enter new starting cyl[0]: Enter partition size[0b, 0c, 0.00mb, 0.00gb]: 2.00gb partition> l Ready to label disk, continue? y partition> p Current partition table (unnamed): Total disk cylinders available: 13814 + 2 (reserved cylinders) Part Tag Flag Cylinders Size Blocks 0 unassigned wm 0 0 (0/0/0) 0 1 unassigned wm 0 - 3236 2.00GB (3237/0/0) 4195152 partition> q
Copy the data on vol01 to the newly created disk partition.
# dd if=/dev/vx/dsk/voldg/vol01 of=/dev/dsk/c1t12d0s1
In the /etc/vfstab file, remove the following entry.
/dev/vx/dsk/voldg/vol1 /dev/vx/rdsk/voldg/vol1 /vol1 vxfs 4 yes rw
Replace it with an entry for the newly created partition.
/dev/dsk/c1t12d0s1 /dev/rdsk/c1t12d0s1 /vol01 vxfs 4 yes rw
Mount the disk partition.
# mount -F vxfs /dev/dsk/c1t12d0s1 /vol01
Remove vol01 from VxVM.
# vxedit -rf rm /dev/vx/dsk/voldg/vol01
To complete the procedure, follow the remaining steps.