SUMMARY: Veritas Resize Command Line in blocks Update

From: Carlos Sevillano (carlos_sevillano@ureach.com)
Date: Wed Oct 02 2002 - 15:07:39 EDT


SUMMARY2:

I just realized that Ken had indicated to
use vxresize which does the fsadm work for
you:

chico# ./vxresize -g rootdg carlos1 150m
vxvm:vxresize: INFO: vxfs fsadm:
/dev/vx/rdsk/rootdg/carlos1 is currently
409600 sectors - size will be reduced
vxvm:vxresize: INFO: vxfs fsadm: allocations
found in shrink range, moving data

Thanks to all who replied:

chris@shoeys.com
joe.fletcher@btconnect.com
ken@slis.indiana.edu

Chris and Joe had what I was looking for.
See
the replies below:

"Chris Shoesmith" <chris@shoeys.com>

Carlos,

 To "growto" the Filesystem ONLY use the
volume size. Volumes under VXVM
 require 2 things to be satisfied.
 1. Cylinder bounded subdisks.
 2. Size of the volume is the same as that
at creation time.

 Most people create volumes in terms of megs
or gigs. This means that the
 plexes and/or subdisks end up larger than
the volume.
 In a simple concat volume, you could grow
the volume to the cumulative size
 of it's subdisks to recover the small % of
space.

 I always recommend using blocks when
growing volumes and filesystems.

 I'd also STRONGLY recommend that you
upgrade both VRTSvxvm and vxfs as they
 are old and don't run the best under
Solaris 8.

 I use fstyp to check out the filesystem
size:
 eg.
 root@sydsup02 $ df -k /pub
 Filesystem kbytes used
avail capacity Mounted on
 /dev/vx/dsk/fservdg/pub
                      157271040 118352210
36504482 77% /pub
 root@sydsup02 $ fstyp -v
/dev/vx/dsk/fservdg/pub
 vxfs
 magic a501fcf5 version 4 ctime Thu Sep 27
10:27:49 2001
 logstart 0 logend 0
 bsize 1024 size 157271040 dsize
157271040 ninode 0 nau 0
 defiextsize 0 ilbsize 0 immedlen 96
ndaddr 10
 aufirst 0 emap 0 imap 0 iextop 0 istart
0
 bstart 0 femap 0 fimap 0 fiextop 0
fistart 0 fbstart 0
 nindir 2048 aulen 32768 auimlen 0
auemlen 8
 auilen 0 aupad 0 aublocks 32768 maxtier
15
 inopb 4 inopau 0 ndiripau 0 iaddrlen 8
bshift 10
 inoshift 2 bmask fffffc00 boffmask 3ff
checksum f37826d9
 oltext1 34 oltext2 16642 oltsize 1
checksum2 422c
 free 38918830 ifree 0
 efree 9252 10929 12398 4284 4633 3878 3561
3050 2488 1986 1410 442 351 203
 101
 174 81 43 16 6 3 1 0 0 0 0 0 0 0 0 0 0

 To determine size: (size * bsize / 1024)
 root@sydsup02 $ expr 157271040 \* 1024 /
1024
 157271040

 This trick above is good for determining
failed resizes where mounts come
 back with "filesystem is larger than
device" errors.

 Regards,
 Chris.

Ken Zachmann <ken@slis.indiana.edu>

Hi Carlos,

 I see two easy ways:

 1) Use vxresize instead of vxassist and
fsadm. It lets you resize the
 volume and file system at the same time,
e.g.:

 /etc/vx/bin/vxresize DUMP 8G

 will grow DUMP to 8GB (or shrink it if it
is already bigger than 8GB) AND
 resize the file system in one step.

 or

 2) run vxprint -Ath DUMP and take the plex
size (of the smallest plex) for
 the number of blocks needed for fsadm.

 Did you notice how all of your subdisk
sizes added up to equal your plex
 size? No need to do the math when it's
already done for you.

 hope this helps,

 ken

####################
ORIGINAL POSTING:
####################

Date Tue, 1 Oct 2002 11:05:16am
>From Carlos Sevillano
<carlos_sevillano@ureach.com> Add to
address book
To sunmanagers@sunmanagers.org
Subject Veritas Resize Command Line in
blocks

 Solaris 8
 VxVM 3.04
 VxFS 3.3.3

 Using command-line to resize a
 file-system... Is there an "easy" way to
 determine the blocks size of the
 file-system? Is there a way to tell
 veritas to grow a file-system to the space
 left on the volume?

 Currently what I do is to covert the new
 size I want in MB to blocks ei:

 Grow by 3072m (grow volume first then
 file-system):

 /usr/sbin/vxassist -g rootdg growby DUMP
 3072m
 /usr/lib/fs/vxfs/fsadm -b 16734208 -r
 /dev/vx/rdsk/rootdg/DUMP /DUMP

 3072 * 1024 * 2 = 6291456 (3072m in
blocks)

 to figure out the -b value (blocks) value
of
 the fsadm command I take the 6th field of
 the
 vxprint command and add those up:

 # vxprint -Ath | grep DUMP
 v DUMP fsgen ENABLED
 ACTIVE 10442752 SELECT -
 pl DUMP-01 DUMP ENABLED
 ACTIVE 10443992 CONCAT - RW
 sd disk02-03 DUMP-01 disk02
 8396784 4198392 0 c0t3d0 ENA
 sd disk01-07 DUMP-01 disk01
 34915920 442928 4198392 c0t2d0 ENA
 sd disk02-07 DUMP-01 disk02
 20549032 2530344 4641320 c0t3d0 ENA
 sd disk02-08 DUMP-01 disk02
 31579824 1738728 7171664 c0t3d0 ENA
 sd disk04-13 DUMP-01 disk04
 1609920 1533600 8910392 c2t0d65 ENA

 bc -l
 4198392 + 442928 + 2530344 + 1738728 +
 1533600 = 10443992 (in blocks)

 Then I add the old size in blocks to the
new
 size to get the -b value for the fsadm
 command:

 10443992 + 6291456 = 16735448 (blocks -b
for
 fsadm).

 /usr/lib/fs/vxfs/fsadm -b 16734208 -r
 /dev/vx/rdsk/rootdg/DUMP /DUMP

 Am I making mistakes? Do I end-up with
gaps
 of un-used disk-space on my volume?.... is
 there any easy way of doing this without
 using the vmsa or vxva GUIs??

 Carlos

________________________________________________
Get your own "800" number
Voicemail, fax, email, and a lot more
http://www.ureach.com/reg/tag
_______________________________________________
sunmanagers mailing list
sunmanagers@sunmanagers.org
http://www.sunmanagers.org/mailman/listinfo/sunmanagers



This archive was generated by hypermail 2.1.7 : Wed Apr 09 2008 - 23:25:01 EDT