How to calculate the size of a VxFS filesystem from fstyp

book

Article ID: 100064251

calendar_today

Updated On:

Description

Description

The size of a VxFS filesystem can be calculated by looking at the output of the fstyp command.

# /opt/VRTS/bin/fstyp -v /dev/vx/rdsk//
 

va820a-01:~ # fstyp -t vxfs -v /dev/vx/rdsk/sfsdg/bs8192test
vxfs
magic a501fcf5  version 17  ctime Thu Mar 14 07:56:26 2024
volguid 07ec50ee-e213-11ee-9e2e-21d8db19cce9
uuid 1a10f365-932a-0b00-0a41-2a001e783974
logstart 0  logend 0
bsize  8192 size  1310720 dsize  1310720  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 1
auilen 0  aupad 0  aublocks 32768  maxtier 15
inopb 32  inopau 0  ndiripau 0  iaddrlen 1   bshift 13
inoshift 5  bmask ffffe000  boffmask 1fff  checksum 10b00788b
oltext1 11  oltext2 8364  oltsize 1  checksum2 0
free 1277750  ifree 0
efree  0 3 2 3 3 1 1 1 2 2 2 2 2 2 2 1 0 1 2 1 0 0 0 0 0 0 0 0 0 0 0 0


In the line starting with bsize, we can see the block size of 8192 (8k) and the size value of 1310720.

To calculate the filesystem size from these two values, take the block size (bsize) and divide it by 512.  

The result will be a value that you can then multiply the size value by to calculate the filesystem size in sectors.  This value should match the output from vxprint for that specified volume.

8192 / 512 = 16

16 x 1310720 = 20971520

20971520 is the filesystem size in sectors.

 

# vxprint -g  sfsdg -htrqv  bs8192test_1
dm vrts_appliances0_1 vrts_appliances0_1 auto 65536 104791760 -

v  bs8192test_1 bs8192test   ENABLED  ACTIVE   20971520 SELECT    -        fsgen
pl bs8192test_1-01 bs8192test_1 ENABLED ACTIVE 20971520 CONCAT    -        RW
sd vrts_appliances0_1-02 bs8192test_1-01 vrts_appliances0_1 2097152 20971520 0 vrts_appliances0_1 ENA


Note that this matches the value of 20971520 shown for the size of the volume in vxprint, which corresponds to 10GB.

To convert from sectors to gigabytes, divide this value by 2/1024/1024:

20971520 / 2 / 1024 / 1024 = 10

Adding the -u H option to the vxprint output will show the results in "human readable" format, printing the values in megabytes, gigabytes, and terabytes as appropriate:
 

 # vxprint -g  sfsdg -htrqv -u H  bs8192test_1
dm vrts_appliances0_1 vrts_appliances0_1 auto 32.00m 49.96g -

v  bs8192test_1 bs8192test   ENABLED  ACTIVE   10.00g   SELECT    -        fsgen
pl bs8192test_1-01 bs8192test_1 ENABLED ACTIVE 10.00g   CONCAT    -        RW
sd vrts_appliances0_1-02 bs8192test_1-01 vrts_appliances0_1 1.00g 10.00g 0.00 vrts_appliances0_1 ENA

 

The vxfs block size can either be 1024 (1k), 2048 (2k), 4096 (4k), or 8192 (8k).  The formula for calculating the size stays the same, but the multiplier will change:


1024 / 512 = 2

2048 / 512 = 4

4096 / 512 = 8

8192 / 512 = 16
 

 

Issue/Introduction

How to calculate the size of a VxFS filesystem from fstyp