Operating System - OpenVMS
1753523 Members
8752 Online
108795 Solutions
New Discussion юеВ

Set Vol / Rebuild - Lock disk ?

 
SOLVED
Go to solution
VMS Support
Frequent Advisor

Set Vol / Rebuild - Lock disk ?

When we mount disks, we currently mount with the /norebuild switch. A batch job is then later run to perform a /Rebuild on the shadow sets. Under 7.2-1H1 and prior I never remember this locking disks. Like ANA/DISK/REPAIR would.
However today I ran this comand against some shadow sets on our 7.3-2 system (I crashed a couple of servers earlier - forced crash - testing) it locked the disk.
First login:
$set vol/rebuild dsa2:
Took approx 2 minutes (36GB shadow set).
Second login:
$dir dsa2:[0,0]
Froze until rebuild completed on first login.

Maybe its always done this and I have just never noticed the disk lock before.

Also noticed.
When you have to rebuild a dirty disk ...you have lost some free blocks.
$show dev DSA = xx blocks
Set vol/rebuild
Free blocks now gained due to rebuild of Bitmaps.

However on 7.3-2 ...I lost blocks after rebuild.
See below:
I seen it where a rebuild gets back lost blocks.. marking bitmap.sys busy for cached bitmap.sys on different nodes in cluster ....etc etc ...But first time I have seen a gain in blocks !!!
This was after I crashed VLCPR1/VLCPR2.

Directory DSA999:[000,000]

DSA0.BCK;1 File ID: (12,5,0)
Size: 21505554/21505554 Owner: [SYSTEM]
Created: 19-APR-2006 14:24:06.75
Revised: 19-APR-2006 14:48:59.54 (1)
Expires:
Backup:
Effective:
Recording:
Accessed:
Attributes:
Modified:
Linkcount: 1
File organization: Sequential
Shelved state: Online
Caching attribute: No_caching
File attributes: Allocation: 21505554, Extend: 0, Global buffer count: 0
No version limit
Record format: Fixed length 32256 byte records
Record attributes: None
RMS attributes: None
Journaling enabled: None
File protection: System:RWED, Owner:RWED, Group:RE, World:
Access Cntrl List: None
Client attributes: None

DSA99.BCK;1 File ID: (11,19,0)
Size: 28095543/28095543 Owner: [SYSTEM]
Created: 19-APR-2006 13:51:43.66
Revised: 19-APR-2006 14:24:06.52 (1)
Expires:
Backup:
Effective:
Recording:
Accessed:
Attributes:
Modified:
Linkcount: 1
File organization: Sequential
Shelved state: Online
Caching attribute: No_caching
File attributes: Allocation: 28095543, Extend: 0, Global buffer count: 0
No version limit
Record format: Fixed length 32256 byte records
Record attributes: None
RMS attributes: None
Journaling enabled: None
File protection: System:RWED, Owner:RWED, Group:RE, World:
Access Cntrl List: None
Client attributes: None

Total of 2 files, 49601097/49601097 blocks.
VLCPR1 $sh dev dsa999

Device Device Error Volume Free Trans Mnt
Name Status Count Label Blocks Count Cnt
DSA999: Mounted 0 VLCPR_BCKUP 70385085 1 3
$1$DGA6154: (VLCPR1) ShadowSetMember 0 (member of DSA999:)
VLCPR1 $set vol/rebuild dsa999
VLCPR1 $sh dev dsa999

Device Device Error Volume Free Trans Mnt
Name Status Count Label Blocks Count Cnt
DSA999: Mounted 0 VLCPR_BCKUP 21510639 1 3
$1$DGA6154: (VLCPR1) ShadowSetMember 0 (member of DSA999:)
VLCPR1 $



3 REPLIES 3
Ian Miller.
Honored Contributor
Solution

Re: Set Vol / Rebuild - Lock disk ?

IIRC volume rebuild always has to lock the disk. As the rebuild resolves inconsistancies between cached data and reality it is possible to lose or gain free blocks. Usually you gain.
____________________
Purely Personal Opinion
Volker Halle
Honored Contributor

Re: Set Vol / Rebuild - Lock disk ?

SET VOL/REBUILD (as well as ANAL/DISK/REPAIR, a volume Mount and SYSMAN DISKQUOTA operations) locks the volume by requesting an EX mode lock on the volume blocking lock F11B$b

This will stall all disk IO operations to that disk, which involve the XQP (file system).

The volume free space is stored in the VCB (in the memory of each node) and also in the lock value block of the volume allocation lock (F11B$v
VMS Support
Frequent Advisor

Re: Set Vol / Rebuild - Lock disk ?

Thanks for clearing that up.

All those years of Set Vol/Rebuild and I had never noticed the volume being locked.

Only ever noticed it when doing:

$ana/disk/repair
and
$mc sysgen create/size=xxxxxx dsax:[dir]filename.xxx

Thanks
For the quick responses.