#list out the ckpoint /opt/VRTSvxfs/sbin/fsckptadm list /CKPT_GEGL_u16 #turn on largefiles on a mount point /usr/lib/fs/vxfs/fsadm -o largefiles /db21 #to see if largefiles is set /usr/lib/fs/vxfs/fsadm /db21 #show defrag sizes /usr/lib/fs/vxfs/df -o s #or /usr/lib/fs/vxfs/fsadm -vDE /db12 #man page /usr/share/man/man1m/fsadm_vxfs.1m fstyp -v /dev/vx/dsk/.... fsck -F vxfs .... fsck -F vxfs ... -o delaylog|tmplog|nodatainlog|blkclear .... mount -F vxfs ... -o mincache=closesync|direct|dsync|unbuffered|tmpcache .... mount -F vxfs ... -o iconvosync=closesync|direct|dsync|unbuffered|delay .... mincache=dsync,convosync=dsync,largefiles vxdump & vxrestore fsckptadm -nruv create ckpt_name /mount_point fsckptadm -clv list mount_point fsckptadm -sv remove ckpt_name /mount_point mount -F vxfs -o ckpt=ckpt_name device /mount_point fsckptadm -sv set [nodata,nomount,remove] ckpt_name vxupgrade /mount_point load vxfs and qio packages #create qio file through symbolic link qiomkfile -a -s xxx -e|-r size [file|mtpt] qiomkfile -s 2G /dba/dbfile #ls -la total 2097154 drwxr-xr-x 3 root root 96 Feb 23 13:50 . drwxr-xr-x 40 root root 1024 Feb 23 14:04 .. -rw-r--r-- 1 root other 1073741824 Feb 23 13:50 .dbfile lrwxrwxrwx 1 root other 19 Feb 23 13:50 dbfile -> .dbfile::cdev:vxfs: drwxr-xr-x 2 root root 96 Feb 23 11:06 lost+found /dev/vx/dsk/qiodg/fastvol /dev/vx/rdsk/qiodg/fastvol /dba vxfs 3 yes qio mount -F vxfs -o qio /dba mount -F vxfs -o noqio /dba #treat a file as a raw char dev filename::cdev:vxfs: -setup qio_cache_enable vxtunefs -p /dev/vx/dsk/qiodg/fastvol #enable qio for all files in a filesystem vxtunefs -s -o qio_cache_enable=1 /dev/vx/dsk/qiodg/fastvol #disable cached qio for a file qioadmin -S filename=OFF mtpt Filesystem i/o parameters for /dba read_pref_io = 65536 read_nstream = 4 read_unit_io = 65536 write_pref_io = 65536 write_nstream = 2 write_unit_io = 65536 pref_strength = 20 buf_breakup_size = 262144 discovered_direct_iosz = 262144 max_direct_iosz = 4194304 default_indir_size = 8192 qio_cache_enable = 0 max_diskq = 2097152 initial_extent_size = 8 max_seqio_extent_size = 2048 max_buf_data_size = 8192 # vxtunefs -s -o qio_cache_enable=1 /dev/vx/dsk/qiodg/fastvol vxfs vxtunefs: Parameters successfully set for /dba /etc/vx/tunefstab /dev/vx/dsk/qiodg/fastvol qio_cache_enable=1 qiostat -i interval -c count -l -r file|mtpt /usr/lib/fs/vxfs/fsadm #view stats fsadm -DEv /mntpt #defrag report ONLY fsadm -DEvs /mntpt #defrag fsadm -DdEevs /mntpt #defrag w/o reports fsadm -devs /mntpt ------------------------------------------------------------------- To: hal.koshak@veritas.com Hi Matt, The need to defrag will totally depend upon your allocation/ deletion activity. If it has never been defragged, it's a good idea to do it. After that, you can experiment with different intervals between the defrags to see what benefit you get. An item that affects fragmentation is extent size. If you use the default, then this is less of an issue. The issue is that if one uses large extents the end result can be "internal" fragmentation, whereby large extents get allocated but only small amounts of space within them are used. This cannot be recovered without re-laying out the file system and restoring the data. Defragging will not harm QIO files. - Hal I have two technical questions. Should we, and if so how often should we, normally defragment vxfs (fsadm). Also, with qio, should that underlying vxfs be defragmented, or will that harm the database?