Schijfruimte problemen op de Sun
Schijfruimte controleren Ruimtevreters opsporen Ruimte vrijmaken Algemeen
Over het algemeen biedt de harde schijf van de Sun een zee van ruimte, waarop alles makkelijk een plaats kan vinden. Er zijn echter uitzonderingen. Als de beschikbare schijfruimte problemen geeft, zijn die vaak op te lossen door het verwijderen van bestanden die men toch niet meer nodig heeft. Als dat niet mogelijk is, zal er niets anders opzitten dan het aanschaffen van extra schijfcapaciteit.
In dit verhaal wordt beschreven hoe u de schijfruimte kunt controleren, zodat u niet voor onverwachte verrassingen komt te staan. Verder wordt een aantal tips gegeven voor het opsporen van ruimtevreters en wordt uit de doeken gedaan op welke manieren u ruimte vrij kunt maken.
Vanuit Unix kan men met het commando df -k informatie op het scherm krijgen over de verdeling van de schijfruimte. Het is aan te raden om dit wekelijks te doen om een idee te krijgen van de ontwikkelingen op dit gebied. De makkelijkste manier is om er een blaadje papier voor te reserveren en daarop elk filesystem een eigen kolom te geven. Vervolgens voegt u wekelijks een regel met gegevens, zoals het bezettingspercentage, toe. De echte liefhebber kan in plaats van een blaadje natuurlijk ook een tekstverwerker of spreadsheet gebruiken, maar dat werkt in dit geval niet noodzakelijk beter of sneller. Na ingave van df -k krijgt u de volgende gegevens te zien:
- De naam van het filesystem, dit is een deel van de schijf voor een bepaald doel
- De totale schijfruimte (in Kbytes) voor het filesystem
- De totale, reeds gebruikte schijfruimte, voor het filesystem
- De totale, nog beschikbare schijfruimte, voor het filesystem
- De bezette ruimte, als percentage, voor het filesystem
- De directory waar het filesystem begint
Hieronder een voorbeeld van een scherm met deze informatie:
Filesystem kbytes used avail capacity Mounted on /proc 0 0 0 0% /proc /dev/dsk/c0t0d0s0 4054309 3172055 841711 80% / fd 0 0 0 0% /dev/fd /dev/dsk/c2t0d0s0 4582542 2928741 1607976 65% /usr1 /dev/dsk/c2t0d0s1 4134534 2928681 1164508 72% /usr2 swap 115392 7808 107584 7% /tmp saldata4:/usr3 963662 280330 625513 31% /usr3Normaal gesproken zou de uitvoer van df -k makkelijk op één scherm moeten passen. Als er echter nogal veel filesystems zijn, kan het noodzakelijk worden om de uitvoer na elk scherm even te stoppen. In dat geval is het waarschijnlijk ook makkelijker om de uitvoer te sorteren op de bezette ruimte. Het hiervoor te gebruiken commando is df -k ¦ sort -r +4 ¦ pg. De filesystems met de hoogste bezettingsgraad worden op deze manier als eerste getoond.
Bij de getoonde uitvoer is er meestal wel een filesystem (soms ook meer), waar men zich niet druk over hoeft te maken, zoals:
- /cdrom, voor een eventueel in het systeem aanwezige cd
- fd, voor een eventuele floppy
- swap, voor eventuele tijdelijke opslag van gegevens uit het interne geheugen
- /dev (of /devices)
- /proc
- filesystems, waarbij alle waardes op nul staan.
Van meer belang zijn de filesystems waarbij het bezettingspercentage boven de 80 begint te komen. Het gebrek aan ruimte kan dan problemen gaan geven, bijvoorbeeld als men een nieuw bedrijf wil toevoegen of als men een hele serie grote spoolfiles gaat opbouwen. Zulke filesystems moeten worden onderzocht om uit te vinden of er ruimte vrijgemaakt kan worden.
Als ruimteproblemen ontstaan wanneer men de afgelopen tijd veel grote spoolfiles heeft afgedrukt, zit het probleem waarschijnlijk in /var/spl_save. Als men onlangs een nieuw (test)bedrijf van een bestaand bedrijf heeft afgeleid, zit het probleem waarschijnlijk in /usr/bbx/*.fls. In alle andere gevallen wordt het zoeken naar de oorzaak. Gelukkig biedt Unix mogelijkheden om het zoeken naar een naald in een hooiberg te vereenvoudigen. Als u, zoals hierboven beschreven is, wekelijks bijhoudt hoe het met de beschikbare schijfruimte gesteld is, kunt u nagaan hoeveel dagen geleden die controle voor het laatst heeft plaatsgevonden. De ruimtevreter moet sindsdien ontstaan zijn. Stel dat dit betekent dat het bestand in de afgelopen vier dagen moet zijn ontstaan, dan tikt u het volgende in: find / -mtime -4 -size +5000 | pg. Dit commando gaat op de hele schijf op zoek naar grote bestanden die de afgelopen 4 dagen zijn gewijzigd. In de ontstane opsomming staan natuurlijk ook bestanden die gewoon zo groot horen te zijn, zoals bijvoorbeeld artikelbestanden, maar hopelijk ziet u een verdachte bestandsnaam langskomen.
Mocht u er nog niet aan toe gekomen zijn, om op wekelijkse basis de schijfbezetting te controleren, dan wordt het lastig, omdat de herkomstdatum van het te grote bestand in nevelen is gehuld. Gebruik in plaats van -4 in het vorige commando dan maar -30 om de afgelopen 30 dagen te controleren. De lijst met gevonden bestanden zal op deze manier waarschijnlijk wel langer worden.
Als men eenmaal een idee heeft in welke directory het probleembestand staat, kan men makkelijk achterhalen wat de grootste bestanden in die directory zijn. Ga met cd naar de gewenste directory en tik daar het volgende in: ls -lia * ¦ sort -r +5 ¦ pg . Met dit commando wordt de inhoud van de directory getoond, gesorteerd op aflopende bestandgrootte.
Als u een bestand tegenkomt met een verdachte naam, kan het met rm verwijderd worden. Indien het echter geen naam is, welke u zelf ooit heeft verzonnen, is het wel zo verstandig om eerst even met de helpdesk contact op te nemen, om te informeren of het bestand misschien ergens een cruciale rol in speelt.
Ook al is er ruimtegebrek op de schijf, meestal zijn er nog wel manieren te bedenken om wat ruimte vrij te maken. Vergeet echter niet dat die ruimte wel moet worden vrijgemaakt in de directory (of subdirectory daarvan) waar het tekort ook optreedt. De naam van die directory vormt de laatste kolom van de door df -k getoonde gegevens.
- Verwijderen van oude spoolfiles
In /var/spl_save staan de onlangs afgedrukte spoolfiles opgeslagen. Vooral rond jaarafsluitingen willen daar wel eens forse exemplaren bij staan, die men eigenlijk toch niet meer nodig heeft. Met het rm commando zijn die makkelijk te verwijderen. Indien u wilt weten wat er in een spoolfile staat, kunt u de eerste regels van het bestand te zien krijgen met head /var/spl_save/bestandsnaam.- Verwijderen van /var/adm/messages
In dit bestand worden alle probleemmeldingen vanuit Unix opgeslagen. In de loop der tijd kan dit een omvangrijk bestand worden.- Verwijderen van /var/adm/wtmp (en wtmpx)
Hier wordt informatie over het inloggen in opgeslagen. Dit kan in de loop der tijd te veel van het goede worden.- Mogelijk zijn er gegevens te verwijderen uit cd /var/tmp, maar dat moet wel met enig beleid gebeuren
- Tik in su en geef het password van de root in
- Tik in ls -liat ¦ pg
- Er wordt een aantal bestanden genoemd. Let op de datum en de tijd. Van actuele bestanden kan men beter afblijven. Voor de datum staat een getal dat de bestandsgrootte betreft. Als dit boven de 1000 komt, is het wellicht een interessant bestand om te verwijderen. Let op dat de de bestandsnaam vaak zo lang is, dat er een stukje op de volgende regel staat, bijvoorbeeld wsconAAAblablabla:0.0
- Verwijderen van .CPR
Dit bestand wordt in de root aangelegd als men de Sun, mogelijk per ongeluk, afsluit via het toetsenbord, in plaats van via een init opdracht. In dit bestand wordt de toestand van het systeem opgeslagen en die gegevens worden gebruikt bij het weer opstarten. Aangezien men nu al opgestart is, is de inhoud van het systeem verder overbodig en kan het afgevoerd worden.- Verwijderen van overbodige (test)bedrijven
In /usr/bbx/basta.fls worden meestal de bestanden van de applicatie opgeslagen. Het is handig om daar eens naar toe te gaan met cd en te kijken welke bedrijven er allemaal aanwezig zijn. Het beste kan men hiervoor kijken naar het stambestand voor debiteuren: FB?D01. U tikt dan in ls FB?D01. Vervolgens worden alle aangetroffen FB?D01 bestanden getoond, waarbij de ? vervangen is door de bijbehorende bedrijfsletter. Als daar bedrijven worden genoemd, die u onbekend voorkomen of betrekking hebben op een lang geleden gebruikt testbedrijf, kunnen die eventueel verwijderd worden. Stel dat u bedrijf Q wenst te verwijderen. Dan gaat dit als volgt :
- Tik eerst ls F?Q* in, om te zien of er inderdaad alleen namen van de applicatiebestanden worden genoemd
- Als dit inderdaad zo is, verwijder die bestanden dan met rm F?Q*
Bedenk wel: weg is weg. Het terughalen van verwijderde bestanden is niet mogelijk. Overtuig u er dus voor 101 procent van dat het bedrijf inderdaad verwijderd mag worden. Eventueel kunt u een backup op tape maken, die vervolgens controleren en de tape in de kluis opbergen. Als u dan ten onrechte iets verwijdert, is het nog wel terug te halen.
Soms worden de applicatie bestanden opgeslagen in een andere directory dan /usr/bbx/basta.fls. In zo'n geval kan men het beste met cd naar /usr/bbx gaan en met ls kijken welke andere directorynaam op '.fls' eindigt.
- Verwijderen van ALP samenvoegbestanden
Mogelijk staan er in de directory met applicatie bestanden gigantische FLAS* bestanden. Eventueel kunnen die worden verwijderd. Men kan ze later desnoods opnieuw laten opbouwen door het ALP.- Verwijderen van overbodige Windows bestanden
Het gaat hierbij om bestanden zoals Word en Excel documenten. Dit soort bestanden staat normaal gesproken in de directory /usr/dos (of /usr2/dos). Bekijk de inhoud van die directory en de onderliggende directories eens, om te zien of daar wat uit verwijderd kan worden. Misschien zijn er geen verschrikkelijk grote bestanden, maar wel extreem veel bestanden, zodat opschonen van de directories toch een gunstige invloed heeft op de beschikbare schijfruimte.- Tijdelijk bedrijven opslaan op tape
Als het probleem kan worden opgelost door tijdelijk ruimte te maken, kan men overwegen om een backup op tape te maken en een weinig gebruikt bedrijf daarna te verwijderen.- Reorganiseren
Reorganiseren, bijvoorbeeld via SUNREO, is helaas geen optie bij acuut ruimtegebrek, hoewel dat vaak gedacht wordt. Het probleem is dat er tijdens de reorganisatie van elk bestand een kopie wordt gemaakt, waarin de gereorganiseerde gegevens worden weggeschreven. Pas als die kopie klaar is, wordt het origineel van schijf verwijderd. Bij reorganisatie van een groot bestand is tijdens de reorganisatie dus ruimte nodig voor, in het ongunstigste geval, twee van die grote bestanden en deze ruimte heeft men meestal niet als het systeem juist klaagt over ruimtegebrek. Reorganisatie kan wel prima gebruikt worden als men ruimte genoeg heeft en de loze ruimte uit bestanden wil verwijderen, zodat er extra ruimte beschikbaar komt.
Terugkeren naar het hoofdmenu