• Vastliggende pagina
  • Info
  • Bijlages

SSD (Solid State Disk)

Een SSD-schijf (Engels: Solid State Disk) is een zeer snelle computerschijf die bestaat uit geheugenchips in plaats van een ronddraaiende schijf.

Een SSD-schijf kan op dezelfde manier worden ingebouwd en gebruikt als een normale (2e) harde schijf.

Een SSD-schijf is veel sneller dan een normale, draaiende harde schijf.

In de praktijk zal een SSD schijf zonder enige aanpassing met Ubuntu goed functioneren en een normale levensduur hebben.

fijnslijperij

Dit artikel geeft mogelijkheden Ubuntu nog meer af te stemmen op het gebruik van een SSD-schijf. Geen van de stappen zijn noodzakelijk voor het gebruik van een SSD en zijn optioneel.

  • Info (!) In dit artikel wordt aangenomen dat de SSD-schijfeenheid de 2e schijf is en apparaatnaam /dev/sdb heeft.

relatime

Ubuntu gebruikt standaard de optie relatime. In de praktijk is het verschil tussen relatime en noatime niet te merken en is er geen reden de standaard instelling te wijzigen.

Door de atime-optie wordt bijgehouden wanneer een bestand voor de laatste keer is gelezen. Dit veroorzaakt extra schrijfacties en zelden functioneel gebruikt. Met de relatime optie gebeurt het bijwerken van de datum waarop een bestand werd gelezen alleen wanneer het bestand ondertussen gewijzigd werd. Met de noatime optie wordt niet bijgehouden wanneer een bestand wordt gelezen.

trim

Automatische ondersteuning van trim is mogelijk door toevoegen van de discard optie in /etc/fstab.

Voorbeeld:

  • /dev/sdb3 / ext4 discard,noatime,errors=remount-ro 0 1
  • De ondersteuning van trim is mede afhankelijk van de software(versie) op de SSD.

  • Alternatief is een fstrim opdracht.

  • Zie deze wiki voor het toevoegen van een parameter in /etc/fstab.

Staat de rootpartitie ook op de SSD, dan kan het nodig zijn een kleine wijziging aan te brengen in /etc/default/grub voordat trim op deze partitie kan werken.

  • Zoek de regel die begint met GRUB_CMDLINE_LINUX_DEFAULT=

    • In de meeste installaties zal die er ongeveer zo uitzien:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
  • Voeg nu op het eind de optie rootfstype=ext4 toe.

  • Na deze wijziging moet GRUB geüpdate worden met de opdracht:

sudo update-grub

Een Engelstalige handleiding en een manier om te controleren of trim ook daadwerkelijk werkt staat hier.

I/O scheduler

Mogelijk kan de I/O scheduler (de "regelaar" van de lees- en schrijfacties) beter worden ingesteld. Kijk welke instellingen mogelijk zijn:

  • $ cat /sys/block/sdb/queue/scheduler 
    noop anticipatory deadline [cfq]

Info <!> Gebruik GEEN anticipatory voor een SSD schijf!

Door het gebruik van deadline zullen lees acties voorrang krijgen op schrijf acties omdat lees acties vaak een vertragend effect hebben.

  • Met de instelling noop wordt de regelaar uitgeschakeld. In uitzonderlijke gevallen kan dit de gewenste instelling zijn bijvoorbeeld als de (RAID) hardware deze functie heeft of als het doel is minimale stroomafname voor een klein netbookje.

Om de deadline scheduler eenmalig uit te proberen:

  • sudo -i
    echo deadline > /sys/block/sdb/queue/scheduler
    exit

Om deze instelling definitief te maken kan de regel echo deadline > /sys/block/sdb/queue/scheduler worden toegevoegd aan bestand /etc/rc.local.

wisselgeheugen

Voor het wisselgeheugen kan een partitie op een draaiende harde schijf worden gebruikt om slijtage aan de SSD-schijfeenheid maximaal te beperken.

RAM disk

  • Info (!) probeer dit alleen uit als de computer voldoende (> 4GB RAM) geheugen heeft.

Ubuntu kan tijdelijke bestanden opslaan in de map /tmp. Om slijtage tot een minimum te beperken kan deze map in het geheugen op een RAM-disk worden geplaatst. Open bestand /etc/fstab en voeg de volgende regel toe:

  • tmpfs   /tmp    tmpfs   defaults,noatime,mode=1777      0       0

Herstart de computer.

ext2/ext3/ext4

Een regelmatig gegeven advies is om voor een SSD-schijf het ext2-bestandssysteem te gebruiken. Het ext2-bestandssysteem is per definitie sneller dan ext3 en heeft minder schrijf acties (nadeel: ext2 moet na een stroomuitval hersteld worden met e2fsck).

Het ext4-systeem is weer sneller dan ext3 en concurrerend met ext2, mede afhankelijk van de toepassing. De overhead door het gebruik van een journaled bestandssysteem bij ext3/ext4 is zo beperkt dat eigenlijk alle (ext2/3/4) bestandssystemen bruikbaar zijn voor een modern model/type SSD-schijfeenheid. bron

iostat

Na installeren van het pakket sysstat toont het terminalvenster via de opdracht iostat -m /dev/sdb de gelezen en geschreven data (in MB).

partities

Vanaf Ubuntu Lucid Lynx 10.04 LTS is de uitlijning (Engels: Alignment) van partities geschikt voor gebruik met een SSD. Dit hoofdstuk kan dan worden overgeslagen.

Bij eerdere versies kan het bestandssysteem zelf worden uitgelijnd op de blokken die de SSD intern gebruikt. Een veel gegeven advies is partities te laten beginnen op een veelvoud van 128K.

Door fdisk in te stellen voor een schijf met 224 leeskoppen ofwel 56 sectoren per track, beginnen de partities op de grens van 128K.

  • fdisk -S 56 /dev/sdb

Dit zal niet zomaar werken voor de 1e partitie, die start nu op een 4K grens. De blog van Theodore Ts'o geeft hiervoor een praktische tip om de 1e partitie als /boot-partitie te gebruiken.

Voorbeeld:

  • $ sudo fdisk -S 56 /dev/sdb
    
    Het aantal cilinders van deze schijf is ingesteld op 4985.
    Hier is niets mis mee, maar het is groter dan 1024 en kan
    bij bepaalde instellingen problemen veroorzaken met:
    1) opstartsoftware (bijvoorbeeld oude versies van LILO),
    2) partitioneringssoftware van andere besturingssytemen
       (bijvoorbeeld DOS FDISK of OS/2 FDISK).
    
    Opdracht (m voor hulp): n
    Opdracht  Actie
       e      uitgebreide partitie
       p      primaire partitie (1-4)
    p
    Partitienummer (1-4): 1
    Eerste cilinder (1-4985, standaard 1): 
    Standaardwaarde 1 wordt gebruikt
    Laatste cilinder, +cilinders of +grootte{K,M,G} (1-4985, standaard 4985): +100M
    
    Opdracht (m voor hulp): a
    Partitienummer (1-4): 1
    
    Opdracht (m voor hulp): n
    Opdracht  Actie
       e      uitgebreide partitie
       p      primaire partitie (1-4)
    p
    Partitienummer (1-4): 2
    Eerste cilinder (18-4985, standaard 18): 
    Standaardwaarde 18 wordt gebruikt
    Laatste cilinder, +cilinders of +grootte{K,M,G} (18-4985, standaard 4985): +1G
    
    Opdracht (m voor hulp): t
    Partitienummer (1-4): 2
    Hex-code (typ L om alle codes te tonen): 82
    Systeemtype van partitie 2 is veranderd naar 82 (Linux wisselgeheugen)
    
    Opdracht (m voor hulp): n
    Opdracht  Actie
       e      uitgebreide partitie
       p      primaire partitie (1-4)
    p
    Partitienummer (1-4): 3
    Eerste cilinder (186-4985, standaard 186): 
    Standaardwaarde 186 wordt gebruikt
    Laatste cilinder, +cilinders of +grootte{K,M,G} (186-4985, standaard 4985): 
    Standaardwaarde 4985 wordt gebruikt
    
    Opdracht (m voor hulp): p
    
    Schijf /dev/sdb: 32.0 GB, 32017047552 bytes
    224 koppen, 56 sectoren/spoor, 4985 cilinders
    Eenheid = cilinders van 12544 * 512 = 6422528 bytes
    Schijf-ID: 0x94c58d79
    
     Apparaat Opstart   Begin       Einde     Blokken   ID  Systeem
    /dev/sdb1   *           1          17      106596   83  Linux
    /dev/sdb2              18         185     1053696   82  Linux wisselgeheugen
    /dev/sdb3             186        4985    30105600   83  Linux
    
    Opdracht (m voor hulp): w

    Info (!) Als een andere swap-partitie gebruikt wordt kan het aanmaken van de 1G wisselgeheugen-partitie worden overgeslagen.

  • Kies bij de installatie van Ubuntu voor handmatig partitioneren.
  • Koppel en formatteer de partities als respectievelijk /boot, wisselgeheugen en / (root-)partitie.

Meer informatie

Engelstalig:


CC-BY-SA

CategoryHardware

community/SSD (laatst bewerkt op 2013-06-01 21:00:57 door testcees)