Discussion Locked

HELP: File system full

0 helpful
15 replies
Closed to new repliesThis discussion is closed. It stays readable, but it takes no new replies.

I tried to change a password for a user. After I put the new password in and hit enter, I got error:

/: write fail, file system is full
password: failure rebuilding password entry, contact your system administrator.
apr. 11 ... idea kernel: uid0 on /: file system full

Note: I has been doing manually backup on tape on /var, /usr, /usr/home. My boss told me to used command: gtar czvf /dev/nrst0 /var

In general speaking, I am backing up on tape.
I could see the light on soon as I enter command. Why the file system filled up?

Any quick solution, any Expert?

Thanks

15 replies

by cjp

My guess is that the gzip option (-z) of gtar is using the same device that your root filesystem is mounted on. For example, if /tmp and / are on the same device and gzip (or gtar) needs temp space, writing to /tmp will also fill /.

Ideally, youshould not have /, /tmp and /var on the same disk partition. Check if the / filesystem shares a device with something else.

The quickest solution is to use another Unix box with a tape drive and plenty of temporary space (/tmp and /var) and mount the original box's /var onto it. Do the backup from that machine.

Clayton

by cavedweller

You are sending your backup to a file in the /dev directory, not a tape drive.

Your tape drive is possibly /dev/nrStp0 but you should verify the name. Use the command "mt -f status" and see if you get a meaningful response. Some systems use "tape status" instead of "mt".

You should also go to dev and remove the file you accidentally created. It will be quite large and not a character special file. Since it's so large that your root siak is full I woulr reboot afterwards too.

by teinfo

I use command to check tape backup status:

mt -f /dev/nrst0 status

some tape display:
------------------

...tape changed without rewind
rewinding: no
At beginning of tape: yes
Rewind Required: no
File Number: 0

This is what it displays after backup completed:

It looks nothing is backup on tape.
But some tapes showed 1 on file Number
What do it means.

How do I check out if the backup is done on hard drive?

Thanks very much

by cavedweller

You will see a large file in the /dev directory if you accidentally "miss" the device name and send the backup to a file. The regular device files show their "major, minor" device numbers instead of a size when you do "ls -l". The accidental file will have a filesize instead. You can always do a find for files > 1MB piped to more and check the found files visually.

by cavedweller

The reason your tape status showed "file number 1" is that you user the no-rewind device, indicated by the leading "n" in the name. After the backup completed the tape stayed positioned to the end of the backup instead of rewinding. This is a useful feature if you plan to put several backups on the tape and don't want to overwrite the previous files. Note that no-rewind means don't rewind when done, it won't advance to the end before writing if you rewind or eject the tape.

To check the tape contents rewind it and then do "tar tvf /dev/nrst0" to get a file listing.

by cavedweller

Back to your original problem, why is the "/" device full? One possibility is that you accidentally wrote a large file there by mistake. Another is that your messages or syslog files have gotten out of control. This can happen if there is something wrong and a process keeps logging error messages. Tail the logs and see if this is the case. If /var/spool is on the same filesystem it might be too large. I usually try to setup a seperate filesystem for spooling files so they don't crash the system. Again, try using the find command to locate large files, sometimes the culprit will show up easily. If you just made the filesystem too small you should try to relocate something to another filesystem or re-partition the disk (not trivial).

by teinfo

Now I found the system generated a file: sh.core that was big. I removed it
last week. Just over the weekend, error:
"File System is Full" came back again.
After I removed it. Error is gone.

Any idea where is this file being generated?

by ghislain.levesque

Things to check if the root file system fills up:
This is specific to 2.x solaris.
check for a .CPR file in root, this is put there by power mgt software. This
file can be removed if you don't need it to troubleshoot a power outage
problem.

ls -lL /dev - make sure all character devices or block devices, no files
Specifically check /dev/rmt directory, all the files should be links,
no large files,also do an ls -lL /dev/rst* and all of those should be
links, if there are any that are large files, delete them.
check /.wastebasket and /lost+found directory for large files.
Use "df -kl" to determine if /var is a separate file system.
If it is not a seperate file system check the following in var:
On systems that are <2.5 check the following:
/var/sadm/patch//save You can remove this but if you do you
will be unable to backout patches.
On systems 2.5 and > the "save" files can be found in
/var/sadm/pkg/ directory. The file in the save directory
can also be deleted here.
The following might gain you some space:
/var/cron/log
/var/spool/lp/logs
Note: if you zero out the utmp or utmpx file you should reboot your machine:
To zero out a file "#cat /dev/null > filename" or simply "> filename"
/var/adm/utmp
/var/adm/utmpx
/var/adm/wtmp
/var/adm/wtmpx
You can remove /var/adm/messages.*
Check /var/saf - check for _log and in tcp and zsmon directories there will
be _log files you can truncate with cat /dev/null > filename
find / -mount -name "core" -exec ls -l {} \; to locate any core files.
Normally, core files can just be removed, in most cases they are useless.

CONTINUE ON 2 ANSWER...

This discussion is closed to new replies.