Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations biv343 on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Hard drive full. Solaris 9 4

Status
Not open for further replies.

jhahs

Technical User
Oct 19, 2004
29
US
While transfering files to c0t9d0s7 I get "write: No space left on device". these are small 1k-2k files, the kicker is that "df -h" shows the following:
Filesystem size used avail capacity Mounted on
/dev/dsk/c0t9d0s7 8.3G 6.0G 2.3G 73% /export/home2

and "df -oi" shows the following:
Filesystem iused ifree %iused Mounted on
/dev/dsk/c0t9d0s7 610583 256745 70% /export/home2

so since I have some drive space left and some inodes left, why is it telling me I am out of space?? I have no clue..
 
The /var/adm/messages had "NOTICE: alloc: /export/home2: file system full"

Also the nbfree entry shows 0
 
I think that's your problem, then. How to go about fixing it is another matter! Perhaps you need to backup, newfs the filesystem with different parameters and then restore, but others might know in more detail.
 
The
Solaris ufs filesystem circa 2.6 and above utilizes 8K blocks for the fssize. This is quite acceptable in most cases as the number of small files (<8k) is commonly low. The Fragmentation schema used for the ufs filesysatem allows that up to 2 files may share a single fs block, the when first file allocates the entire block, but uses only 1k,2k. Then another file can use the last 1k segment of the same block, but ONLY the last 1k. Thus on a filesystem with an excess of <8k files, you can easily see a utilization 'df -k', 'du -sk' as low as 25% and yet be out of blocks. 'df -i' ouput will commonly be closer to accurate however, if I remember correclty, the fs allocates inodes equal to 2.5*fs_blocks to minimize the effect of large directory structures (as directories use inodes but no fs blocks).
One option to alleviate this is to create a new ufs filesystem with the option '-b 4096'. This will increase fs tables overhead, but also boudle the number of fs blocks and on a filsystem full of nothing but directories and 1k files leave only 2k per fs block unuseable as opposed to the 6k in the default 8k block size. However sun4u systems only support 8k fs block sizes. So with newr hardware and Solaris 8 or 9, you're rather stuck.

 
For supporting information see 'man newfs' or 'man mkfs' looking at options '-f fragsize', '-i nbpi', and '-b bsize'
 
One of the parameters you can specify when creating a filesystem is how much free space to keep. This will cause normal users to "run out" of free space before the filesystem really runs to 0 blocks free.

Look at the man page for [tt]tunefs[/tt], specifically at the "[tt]-m minfree[/tt] parameter.

You should also check to see if quotas are on. See "[tt]man quota[/tt]" for more info.
 
Thanks for all the help. Found that the "nbfree" would drop to zero, but still have indoes and disk space available. "minfree" was set to 1%. No quotas are set. Tried the newfs with b=4096, but the system would then report unknow file system. Will try to unzip a file instead of untarring a file. It took over 8 hours to untar the the file. Thanks again for the help, I now understand more on drives.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top