this is obsolete doc -- see http://doc.nethence.com/ instead

Veritas Storage Foundation Cluster File System v4.1 administration 

 

 

Monitoring 

Happy happy 

Check everything's fine, 

ps ax | grep vx
hastatus -summary
cfscluster status
vxdctl -c mode

Note. all systems should be RUNNING 

Note. all systems of the cvm group should be ONLINE 

Note. other possible commands, 

#vxparms
#hares -display | grep -i state
#hasys -display | grep -i sysstate

 

 

Initialize Disk Group 

Quoting /etc/vx/bin/vxdisksetup, 

# Determine if the device is a SCSI device or not; only SCSI devices are
# supported as CDS disks. Determine the starting disk address and size
# of the disk (for use as the WHOLEDISK slice on Solaris labeled disks
# or the extended partition on non-Solaris disks), including any CDS
# disk restrictions for non-Solaris disks.

Note. you need e.g. SAN or vmware shared raw disk. Software iSCSI may not work. 

 

Check you've got a shared disk available among the nodes, 

#find /sys/devices/platform/host* -name "block*"
fdisk -l

 

Check the shared disk is 'online' on all the nodes, 

vxdisk scandisks
vxdctl enable
vxdisk -o alldgs list
#vxdisk -eo alldgs list

 

On only one node, check disk geometry and make sure ncyl isn't equal to zero (which may happen with software iscsi), 

/usr/lib/vxvm/diag.d/vxscsi -g sdc
#hdparm  -i /dev/sdb | grep SCSI

 

On the master node, initialize a disk, 

vxdctl -c mode
vxdisksetup -i sdc

Note. format=cdsdisk is the default 

Note. '-f' forces a disk to be initialized even if it is a member of a deported disk group 

 

On the master node, create a disk group with it, 

vxdg -s init group0 sdc
#vxdg -g group0 set activation=sharedwrite
vxdg list
vxdisk -o alldgs list
#vxdisk -eo alldgs list
#vxdisk -g group0 list
#vxdisk -eg group0 list

Note. alternatively, 

#vxdg init group0 group0_disk1=sdb

Note. to add disks to the disk group, 

#vxdg -g ABCdg adddisk ABCdg02=c0t0d2
#vxdg -g ABCdg adddisk ABCdg09=c0t0d9

Note. we could also use vxdiskadd interactively for that, but heh, the hard way is always better, 

#vxdiskadd sdc

Note. vxdg list should return e.g. this for group0, 

group0       enabled,shared,cds   1279463494.34.vrts1.example.net

Note. vxdisk list should return e.g. this for group0, 

sdc          auto:cdsdisk    sdc          group0       online shared

Note. to destroy a DG, 

#vxdg destroy group0

 

 

Create a volume 

On only one node, create a new volume with that disk (50GB here), 

vxassist maxsize
vxassist make vol0 104820736

Note. other example, 

#vxassist make mirvol 500m layout=mirror,log mirror=ctlr \!ctlr:c1

Note. to remove a volume, 

#vxassist remove volume vol0

 

You should now be able to access the volume from any node in the cluster. 

 

 

Filesystem 

On the master node, 

ls -l /dev/vx/dsk/group0/vol0
mkfs.vxfs /dev/vx/dsk/group0/vol0
mkdir -p /mnt/vxfs
mount.vxfs -o log,rw,cluster,crw /dev/vx/dsk/group0/vol0 /mnt/vxfs

Note. -o largefiles (>1TB file capable) is the default, check with, 

fsadm /dev/vx/dsk/group0/vol0

 

On the other nodes, 

ls -l /dev/vx/dsk/group0/vol0
mkdir -p /mnt/vxfs
mount.vxfs -o log,rw,cluster,crw /dev/vx/dsk/group0/vol0 /mnt/vxfs

 

Ref. http://seer.entsupport.symantec.com/docs/300537.htm 

 

 

Usage 

Start/stop a volume, 

vxvol start vol0
vxvol stop vol0

 

Start/stop all volumes, 

vxvol startall
vxvol stopall

 

Make sure the disk group is imported, 

vxdg import group0

 

Make sure all volumes on the disk group are started, 

vxvol -g group0 startall

 

To remove a volume and recursively (-r) its plexes and subdisks, 

umount ...
vxvol stop vol0
vxedit -r rm vol0

 

To remove a disk group, 

vxdg list
vxdg destroy group0

 

 

Misc 

Note. to uninstall SFCFS, 

cd /opt/VRTS/install
./uninstallinfr

 

 

Troubbleshooting 

Watch the logs, 

cd /var/VRTSvcs/log
ls -ltr
tail -n 500 -F engine_A.log

 

VxVM vxdisksetup ERROR V-5-2-3461 sdb: Disk does not have enough cylinders for 'cdsdisk' format 

The 'vxdisksetup' scripts calls vxscsi, which returns ncyl=0 (cylinders), check yourself, 

/usr/lib/vxvm/diag.d/vxscsi -g sdc

You're proably using software iSCSI which doesn't seem to be enought. Try with a real SAN or with VMware shared raw disks. 

 

VxVM vxdg ERROR V-5-1-585 Disk group group0: cannot create: Cannot find disk on slave node. 

Here's the workaround. On the failing node (vxdisk list show an error on the disk), 

vxdisk offline sdc
blockdev --rereadpt /dev/vx/dmp/sdc
vxdisk online sdc
vxdisk scandisks

check again (should be online), 

vxdisk list

Ref. http://seer.entsupport.symantec.com/docs/282930.htm 

 

ERROR: V-3-24996 

Disassociate the volume, 

vxvol -g dg -f dis vol

Make the volume active by starting it, 

vxvol -g dg start vol

Run a consistency check on the existing filesystem, 

fsck -F vxfs /dev/vx/rdsk/dg/vol

Reassociate the volume to the root volume group, 

vxvol -g dg assoc rvg vol

Mount the filesystem within the Operating System, 

mount -F vxfs /dev/vx/dsk/dg/vol /mntpt 

 

Ref. http://seer.entsupport.symantec.com/docs/311556.htm 

 

 

Tuning 

Note. mount option for applications that O_SYNC but only require write data sync, 

-o convosync=dsync

 

Refs. 

http://www.mail-archive.com/veritas-vx@mailman.eng.auburn.edu/msg02378.html 

 

 

References 

http://sfdoccentral.symantec.com/ 

http://sfdoccentral.symantec.com/Storage_Foundation_HA_41_Linux.html 

 

Cheatsheets 

http://www.cuddletech.com/veritas/vxcheatsheet.txt 

http://www.blight.com/~rick/veritas/cheat.html 

 

Usage references 

http://uw714doc.sco.com/en/ODM_VMadmin/sag-6.html 

http://www.darklab.net/resources/veritas-cluster-server-debug.html 

http://cortiz.org/2008/08/13/veritas-storage-creating-dg-volumes-and-filesystem/ 

http://www.camelrichard.org/topics/VeritasVM/Volume_Manager_CLI_Examples 

http://adminschoice.com/veritas-volume-manager-vxassist 

http://www.cuddletech.com/veritas/vxassist/x41.html