Veritas Disk Expansion

Notes for disk expansion when storage may be managed by Veritas.

Important: do not run these commands blindly. Veritas disk expansion can affect clustered applications, disk groups, volumes, mounts, filesystems, and service groups.


Strong warning

This page is not a production procedure.

Veritas disk expansion depends on the exact environment, disk group, volume layout, filesystem, cluster ownership, active node, and company procedure.

Use this page only for:

checking
learning
asking better questions
documenting verified internal procedures

Do not use this page as a blind command recipe.

Only run expansion commands after confirming:

1. Correct server
2. Correct active node
3. Correct service group
4. Correct disk group
5. Correct volume
6. Correct filesystem
7. Correct mount point
8. Correct approved size
9. Correct rollback or recovery plan
10. Approval from the responsible team

Safety rule

Before doing anything with Veritas storage, check:

1. Am I on the correct server?
2. Is this production or test?
3. Is the system clustered?
4. Which service group owns the disk, mount, or application?
5. Which node is active?
6. Is the service group online, offline, partial, or faulted?
7. Is the disk group imported?
8. Is the filesystem mounted?
9. Is the volume managed by Veritas?
10. Do I have approval and a rollback plan?

If unsure, stop and ask.


First cluster checks

Check cluster summary

hastatus -sum

Check service groups

hagrp -state

Check resources

hares -state

Check one service group

hagrp -state SERVICE_GROUP
hagrp -display SERVICE_GROUP

Check if service group is frozen

hagrp -display SERVICE_GROUP | grep -i frozen

First OS/storage checks

hostnamectl
df -h
df -Th
findmnt
lsblk
lsblk -f
blkid

Veritas disk group checks

Show disk groups

vxdg list

Show one disk group

vxdg list DISK_GROUP

Show disks

vxdisk list

Rescan Veritas disks

Use only if storage was added or changed and this is part of the approved procedure.

vxdctl enable
vxdisk scandisks
vxdisk list

Show Veritas volumes and objects

vxprint -ht

For a specific disk group:

vxprint -g DISK_GROUP -ht

Check volume and filesystem

Check mounted filesystem

df -h /mount/point
df -Th /mount/point
findmnt /mount/point

Check Veritas volume

vxprint -g DISK_GROUP -ht

Look for the volume name connected to the mount or application.

Example placeholders:

Disk group: dg_example
Volume:     vol_example
Mount:      /data

Typical high-level flow

This is a general flow only.

1. Confirm affected filesystem.
2. Confirm whether it is Veritas-managed.
3. Confirm disk group.
4. Confirm volume.
5. Confirm service group and active node.
6. Confirm if free space already exists in the disk group.
7. Confirm if new storage/LUN was added instead.
8. Extend Veritas volume using approved procedure.
9. Grow filesystem if required.
10. Verify filesystem size.
11. Verify application/service group health.
12. Check logs.

If free space already exists in the Veritas disk group

First verify available space and layout:

vxdg list DISK_GROUP
vxprint -g DISK_GROUP -ht
df -h /mount/point
df -Th /mount/point

Then use the approved internal procedure to grow the volume.

Generic command patterns may look like:

vxassist -g DISK_GROUP growto VOLUME_NAME NEW_SIZE

or:

vxassist -g DISK_GROUP growby VOLUME_NAME SIZE_TO_ADD

Example with placeholders:

vxassist -g dg_example growby vol_example 10g

Do not use this without verifying:

correct disk group
correct volume
correct current size
correct target size
correct filesystem
correct active node
approved change window

Grow filesystem after volume expansion

After the Veritas volume is expanded, the filesystem may still need to be grown.

Check filesystem type:

df -Th /mount/point

Grow XFS filesystem

For XFS:

xfs_growfs /mount/point

Example:

xfs_growfs /data

Grow ext4 filesystem

For ext4:

resize2fs /dev/vx/dsk/DISK_GROUP/VOLUME_NAME

Example:

resize2fs /dev/vx/dsk/dg_example/vol_example

Verify:

df -h /mount/point

If new storage or LUN was added

General checking commands:

lsblk
vxdisk list
vxdctl enable
vxdisk scandisks
vxdisk list

Then follow approved procedure to initialize or add the new disk to the correct disk group.

Generic command pattern:

vxdg -g DISK_GROUP adddisk DISK_NAME=DEVICE_NAME

Do not run this without confirming the exact disk and disk group.

Danger: adding the wrong disk can cause data loss or storage problems.


Verify after expansion

df -h /mount/point
df -Th /mount/point
findmnt /mount/point
vxprint -g DISK_GROUP -ht
vxdg list DISK_GROUP
hastatus -sum
hagrp -state SERVICE_GROUP
hares -state

Also check logs:

journalctl -xe
sudo tail -n 100 /var/log/messages

Common mistakes

Expanding the wrong volume
Using the wrong disk group
Working on the passive node instead of the active node
Forgetting to grow the filesystem after growing the volume
Ignoring cluster ownership
Changing storage while service group is faulted
Running OS LVM commands on Veritas-managed disks
Using a size in the wrong unit
Running storage commands without approval

Dangerous commands

Be careful with:

vxdisksetup
vxdg adddisk
vxdg deport
vxdg import
vxassist growto
vxassist growby
vxedit
vxvol
mkfs
resize2fs
xfs_growfs
manual mount/umount of cluster-managed filesystems
hagrp -offline
hagrp -online
hagrp -switch

These can affect production data and availability.


Safe first command set

When I only need to check:

hastatus -sum
hagrp -state
hares -state
df -h
df -Th
findmnt
vxdg list
vxdisk list
vxprint -ht

Questions to ask before change

Which filesystem needs expansion?
Which application uses it?
Is the mount cluster-managed?
Which service group owns it?
Which node is active?
Which disk group contains it?
Which Veritas volume contains it?
Is there already free space in the disk group?
Was a new LUN added?
What is the approved new size?
Who approved the change?
What is the rollback/recovery plan?

Personal notes

Use this page as a checklist, not as a direct recipe.

Add sanitized environment-specific notes here only after verifying them at work.

Examples:

- Filesystem was Veritas-managed, not LVM-managed.
- Volume was expanded but filesystem still needed xfs_growfs.
- Active node had to be confirmed before checking the mount.
- Disk group free space was checked before any grow command.