# Wat is een inode? Uitleg over de functie en het gebruik ervan

Inodes zijn een beheersstructuur voor bestandssystemen in Unix-achtige besturingssystemen. In deze context zijn inodes gegevensheaders in inodelijsten of andere soortgelijke gegevenssets die metagegevens over opgeslagen bestanden bevatten. Deze metagegevens bevatten informatie zoals toegangsrechten, opslaglocatie, groepen, gebruikers-ID’s of het tijdstip waarop wijzigingen zijn aangebracht of het bestand is geopend.

## Wat is een inode?

Inode is een afkorting van ‘index node’. Het wordt gebruikt als een vorm van bestandsbeheer dat een belangrijke rol heeft gespeeld sinds de introductie van de Unix-besturingssystemen en de daarop gebaseerde besturingssystemen zoals Linux of macOS. De belangrijkste functie van inodes in bestandssystemen is het **verwijzen naar, beheren en lokaliseren van bepaalde bestanden** in het systeem door gebruik te maken van unieke en onveranderlijke inode-nummers. Als gedefinieerde gegevensstructuur beschrijven en beheren inodes specifieke bestanden met behulp van metagegevens. Het type bestandssysteem bepaalt welke metagegevens worden gebruikt.

Hoewel ze zelf geen informatie over de bestandsnaam bevatten, bevatten inodes over het algemeen de volgende **informatie over bestanden en bestandsblokken**:

- Type en toegangsrechten
- Aantal hardlinks
- Gebruikers-ID (UID)
- Groeps-ID (GID) of GUI
- Grootte van het bestand in bytes
- Datum van de laatste wijziging (mtime)
- Datum van de laatste statuswijziging (ctime)
- Datum van de laatste toegang (atime)
- Adres van gegevensblokken
- Adres van het indirecte blok
- Aantal links
- Versienummer

## Hoe werken inodes?

Unix-systemen beheren de sectoren van schijfpartities niet met behulp van clustering, maar gebruiken gegevensblokken. In tegenstelling tot DOS-systemen die FAT-tabellen gebruiken, worden inodes gebruikt om **de directorygegevens te beheren en te refereren**. Als gegevens in vaste gegevensblokken op de harde schijf worden opgeslagen, kan dit er snel toe leiden dat het bestand het geheugen van het blok overschrijdt. Het systeem zoekt dan een ander beschikbaar blok om de rest van het bestand op te slaan. Hier komen inodes om de hoek kijken.

Inodes zorgen ervoor dat gegevens die in het systeem zijn opgeslagen, kunnen worden gevonden met behulp van referentie- en directorygegevens, evenals de **inodes en het unieke inode-nummer**. Een groot voordeel hiervan is dat ze niet afhankelijk zijn van de bestandsnaam. Als een bestand wordt gekopieerd en hernoemd, kan het nog steeds worden teruggevonden met hetzelfde inode-nummer als het oorspronkelijke bestand. Dit is het geval bij hardlinks, die door gebruikers worden aangemaakt met het Linux-commando in. Deze vorm van **interne boekhouding** heeft als voordeel dat inodes zowel naar originele bestanden als naar back-ups kunnen verwijzen zonder extra geheugen in beslag te nemen.

Aangezien inodes per systeem verschillend zijn ingesteld, kan een bestand groter zijn dan de beschikbare inodes. In dat geval verwijst de oorspronkelijke inode naar een andere inode, ook wel indirectieblok genoemd, die de rest van de metagegevens bevat.

Opmerking Aangezien u de omvang van de inodes vanaf het begin hebt ingesteld, zijn de beschikbare inodes in bepaalde omstandigheden mogelijk niet voldoende voor een groot aantal bestanden. In dat geval moet het bestandssysteem worden geherstructureerd met een groter aantal inodes.

## Wanneer gebruik je inodes?

Inodes worden gebruikt om bestandssystemen te beheren en te structureren en worden zowel in **particuliere Linux-systemen als in beheerde serviceoplossingen** gebruikt. Gebruikers en bedrijven die op zoek zijn naar cloudoplossingen voor servers met Unix-achtige besturingssystemen hebben toegang tot inode-gegevensstructuren. Zoals bij de meeste clouddiensten en afhankelijk van het gebruik kunt u kiezen voor een publieke cloud of een private cloud.

## Welke bestandssystemen ondersteunen inodes?

Alle **Unix-achtige besturingssystemen, zoals Linux of MacOS**, maken gebruik van inodes. Afhankelijk van het ondersteunde bestandssysteem kunnen de structuur en samenstelling van de inodes echter veranderen. Hier worden **ext2/ext3/ext4-systemen** in de vorm van inode-lijsten of -tabellen gebruikt als beschrijvende gegevensheaders. De inode-lijst wordt aangemaakt wanneer het systeem wordt opgezet en kan daarna niet meer worden gewijzigd. Bovendien nemen ext4-inodes met 256 bytes ruimte in beslag op de harde schijf en kunnen ze niet op een andere manier worden gebruikt. In dit gegevenssysteem beschrijft een inode telkens een bestand of een map in het systeem aan de hand van de bijbehorende metagegevens.

Daarnaast zijn er **complexere bestandssystemen zoals xfs of btrfs**, waarin inodes pas worden aangemaakt wanneer ze nodig zijn om bestanden te vinden. In dit geval worden er geen lijsten of tabellen met inodes aangemaakt. Een ander verschil in de werking ervan is te vinden in schijf-inodes en inodes die worden gebruikt om Linux-geheugen te verwerken (in-core inodes).

## Overzicht van belangrijke inode-commando’s

Aangezien er een limiet is aan het aantal beschikbare inodes, afhankelijk van het bestandssysteem, moet u weten **hoe u de gebruikte inodes of de door inodes bezette gebieden in het systeem kunt weergeven**. Dit is soms nodig als er niet genoeg inodes beschikbaar zijn in het systeem voor andere bestanden.

### Commando om gebruikte gebieden in het bestandssysteem weer te geven

Als u wilt weergeven welke gebieden door inodes in het bestandssysteem worden gebruikt, kunt u de volgende opdracht gebruiken:

```shell
~ find /home /tmp -xdev -printf ´%h \n´ | sort | uniq -c | sort -k 1 -nr | head -n 20
```

### Commando om een overzicht te krijgen van het huidige gebruik van inodes

Gebruik deze opdracht om de inodes te bekijken die momenteel in het systeem worden gebruikt:

```shell
df -ih
```

Voor een overzicht van het gebruik van inodes, inclusief welk bestandssysteem, het totale aantal inodes, het huidige gebruik en welke inodes worden gebruikt, voert u deze opdracht in:

```shell
df -i
```

### Commando om specifieke inode-nummers weer te geven

Om het specifieke inode-nummer van een bestand weer te geven, kunt u deze opdracht gebruiken:

```shell
ls -i
```

### Commando om alle bestanden van een inode weer te geven

Als u wilt weten naar welke bestanden (inclusief originelen, kopieën of back-ups) door een inode wordt verwezen, gebruikt u het volgende:

```shell
-inum
```

## Tips als inodes overbelast zijn

Een hoge belasting van inodes betekent niet altijd dat uw geheugen bijna vol is. Soms kan een toegenomen gebruik van inodes worden verklaard door te kleine hoeveelheden gegevens, zoals tijdelijke TMP-bestanden, caches of sessies. Het probleem kan meestal worden opgelost door alle bestanden die ouder zijn dan 14 dagen automatisch te verwijderen. Hiervoor kunt u een cron-taak uitvoeren met de volgende opdracht:

```shell
03 *** /usr/bin/find /path/to/files/* -type f – mtime +14 -delete > /dev/null 2>&1
```

## Wat gebeurt er als ik te weinig inodes heb?

Als u niet genoeg inodes hebt voor andere bestanden, kunt u onder bepaalde omstandigheden het volgende gaan merken:

- Applicaties crashen
- Gegevens gaan verloren
- Ongeplande herstarts
- Processen crashen en starten niet opnieuw op
- Geplande processen starten niet automatisch

Als uw inode-capaciteit daadwerkelijk op is, raden we u aan **meer vrije capaciteit te creëren**. Als alternatief kunt u het relatief arbeidsintensieve proces van het herstructureren van het bestandssysteem uitvoeren en het maximale aantal inodes verhogen.


This is a markdown version of: [https://www.ionos.com/nl-be/digitalguide/server/knowhow/inode/](https://www.ionos.com/nl-be/digitalguide/server/knowhow/inode/) for AI/LLM consumption.