![]() |
![]() HP OpenVMS Systemsask the wizard |
![]() |
The Question is: I have a cluster environment with 16 individual disks. The disks report lower free space than is actually there with show device d. I found this by dir [...]/size/grand down each disk. The difference can be 1,000,000 blocks on a 4.3 gig disk. I also have DFG V2.4 running to defragment the disks. I have tried analyze/disk/repair, with no success. I dont want to backup/image each disk and then restore. Are there confused links lost somewhere ??? How do I get round this and reclaim my space ? Many thanks Doug The Answer is : On system disks and on any other disk with alias entries for files or directories, the situation where the DCL command DIRECTORY shows larger values for allocated storage than does SHOW DEVICE is entirely normal and entirely expected (mis)behaviour -- this difference has to do with the ways that the commands acquire the information displayed. The DIRECTORY command does not account for file and directory alias entries, and thus adds the storage required by alias-related file accesses, once for each alias entry. This causes erroneously high values for disk usage for disks with alias entries. Further, the DIRECTORY/SIZE=ALLOCATED command will show you the value of the amount of storage actually allocated, while the default DIRECTORY command displays the amount of storage actually used. The amount of storage allocated is at least equal to the amount actually used, and is normally rather larger than the amount actually used. (To see this difference in practice, experiment with the DIRECTORY/SIZE=ALL command.) The SHOW DEVICE command looks at a value maintained (in a lock value block) for the number of blocks used, and this value looks strictly at the block-level storage and low-level disk storage allocation and deallocation activity. This is generally the more reliable display for total storage used (when considering disks with alias entries), though there are cases where the value in the lock value block can potentially drift due to certain unrecoverable error conditions that can arise when (for instance) a cluster member exits the cluster in an abrupt fashion. The usual approach for resynchronizing the value in the lock value block with the actual storage involves the use of the DCL command ANALYZE/DISK/REPAIR and SET VOLUME/REBUILD[=FORCE] to resynchronize the lock value block and to to free up any unallocated storage embedded in the file structure (such as an extent cache -- maintained by each node accessing the volume, and an area that is not deallocated during a system crash), and dismounting and then remounting the disk to reload the lock value block.
|