Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people, just like you, are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
Solved

Determine actual file size across Netware Tree

Posted on 2009-05-12
3
550 Views
Last Modified: 2012-05-06
I am trying to determine the actual total file size by volume across our Netware estate. As the volumes are compressed, none of the tools I have tried to use are accurate.

Can someone tell me how I can achieve this?

I am looking for something that will interrogate the Tree to determine all the servers and volumes then enumerate the total size of files on these. I know that the tools I have used previously have been inaccurate as if I right click within windows explorer then the file information is drastically different. I have also verified this by copying the data to an uncompressed location.

Thanks

Aidan
0
Comment
Question by:aideb
3 Comments
 
LVL 28

Accepted Solution

by:
Bill Bach earned 450 total points
ID: 24370256
Therte may be no way to "easily" walk all the volumes, but the first question to be answered is how to determine the "correct" disk space that you expect to see.   Keep in mind that a compressed volume will be not only compressing the disk space, but also can be using a very small block size (512 bytes) and possibly storing full blocks in a different location that partially-filled blocks.  This will tend to make the numbers show differently depending on your display mechanism.

A standard DIR command will give you the file size in bytes, and a DIR /S will attempt to locate for you ALL files in the directory structure (i.e. volume) and sum their sizes.  However, DIR knows nothing about actual block size, which is an indication of how much storage space can be used up.

In a Windows OS, or on a NetWare volume without compress or block suballocation, you must first determine your block size.  Let's say that your block size is 32K.  This means that ALL files less than 32768 bytes will take up exactly 32K of storage, regardless of whether there is one byte in there or 32767.  This makes the reported sizes from DIR a bit less useful.  In fact, you must tally each file separately like this:
    Blocks = FileSize / 32K
    If FileSize % 32K > 0 then Blocks = Blocks + 1
    SizeOnDisk = Blocks * 32K
And them sum all of these for EVERY file in the directory list.   Ouch.  You can get a feel for this by creating a small file on your Windows HDD, then right-clicking it and selecting Properties.  Compare the value for "Size" versus "Size on Disk" and you'll see the difference.

On a compressed NetWare volume with block suballocation enabled (which IIRC is the default), the data is compressed, then stored on a 32K block, and if there are "extra" bytes left over, then these are stored in their own 512-byte block inside a larger 32K block -- making for more efficient disk space usage to be sure.  This means that copying data from a NetWare server with block suballoc enabled) to a Windows server will almost ALWAYS take up more space on the physical disk.  

The NDIR command can give you more information if you include the /VOL or /COMP options -- try "NDIR /VOL /COMP" and see what you get.  Notice, though, that the size reported may or may not be what you want.  You may still have to run the entire directory structure with something like "NDIR /SUB /COMP /C" and let it run to completion.


Anyway -- once you get this figured out for a single given volume, you can then replicate it to all other volumes in a big batch file.  I think you can include a servername and volume in the NDIR command IIRC, so you should be able to build one big batch file with all of your data volumes in it.
0
 
LVL 10

Assisted Solution

by:elf_bin
elf_bin earned 50 total points
ID: 24383771
Use the inventory function of Novell Remote Manager on a per volume basis (I'm assuming NetWare 6.5 here).  That'll list things like: total subdirectories, total files file types, space used, space free, space changes (last day, week , month), ownership, modified times and so on.
0
 
LVL 2

Author Comment

by:aideb
ID: 24439143
We have a mixture of 4 - 6.5. Netware only shows the compressed size of volumes. I have managed to get the information required. Thanks for all the help.
0

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

This is an addendum to the following article: Acitve Directory based Outlook Signature (http://www.experts-exchange.com/Programming/Languages/Visual_Basic/VB_Script/Q_24950055.html) The script is fine, and works in normal client-server domains…
This script will sweep a range of IP addresses (class c only, 255.255.255.0) and report to a log the version of office installed. What it does: 1.)      Creates log file in the directory the script is run from (if it doesn't already exist) 2.)      Sweep…
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

789 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question