# SSD: TRIM, filesystem, Partitionen, Kernel Scheduler

## SvenFischer

Hallo,

ich habe heute die 160GB SSD von Intel bestellt, lange genug gewartet finde ich   :Very Happy: 

Nun habe ich mal die Infos zum Unstieg gesammelt und möchte das zur Diskussion stellen. Da ich auch die eine oder andere Frage habe, darf sich aber jeder bessere Linux Admin hier angesprochen fühlen.

Kernel:

- Erst ab 2.6.33 soll TRIM funktionieren, also werde ich den demaskieren, ich hoffe er verträgt sich mit dem ati-drivers 10.4

- Die Trim Funktion soll bei "ATA-> trim white blocks" aktiviert werrden

Kernel Scheduler:

- perfekt für die SSD ist der "noob", der wohl nicht plant. Was tun, wenn ich aber zusätzlich noch HDD habe? Ich meine, man kann den Scheduler ja nicht je nach lese/schreibzugriff wechseln!? Wenn also die Daten der SSD mir wichtiger sind und da auch am meisten Zugriffe erfolgen, dann eben "noob" und fertig - die HDD Zugriffe werden dadurch sicher langsamer, oder?

mount:

- nicht auf die SSD kommen /tmp & /var & /usr/portage & /usr/local/portage, wegen der vielen Schreibzugriffen. /tmp ins RAM macht bei 4GB sicher Sinn...

- hier die entscheidende Frage: Wenn ich einen Teil des /usr auf HDD habe und die portage Sachen auf SSD, wie mounte ich die richtig hin und wie haben die auf der SSD zu sein. Wären die Unterverzeichnisse auf einzelnen Partitionen, dann würde ich das ja verstehen, aber in diesem Fall macht man das wie? Bsp. /usr mit vieln Dateinen und Verzeichnissen auf HDD /usr/local/portage (ganzer Pfad oder?) so auf der SSD?

- /boot fällt flach auf SSD, da Grub2 noch nicht stable.

Filesystem:

- empfohlen werden für den TRIM-Betrieb ext4 und btrfs, nur ext4 ist stable und ist deshalb meine Wahl

- ext4 mit oder ohne journal? Ich meine die Datensicherheit ist doch mit Journal höher, wenn auch langsamer, oder ist das zu 99% unnötig auf SSD

- mount option soll noatime und discard sein, richtig?

----------

## Hollowman

Hi

Ich hab das so:

Super Talend SSD mit 64GB

Kernel 2.6.33: keine Probleme mit irgendwas. Ich hab aber ne Intel Graka. Es gibt keine Trim Option. Das ist automatisch mit drin. musst beim mounten nur discard mit angeben.

Scheduler: CFQ

Ich hab alles auf der SSD bis auf /tmp und /var/tmp. Das liegt im tmpfs

/boot auf der ssd geht prima. /boot partition machst du ext2. Kernel zeile in der grub.conf sieht dann so aus

```
title=Gentoo 64Bit

root (hd0,0)

kernel /boot/gentoo root=/dev/sda3 rw rootfstype=ext4 quiet
```

ext4 hab ich mit journal. Eben wegen der Sicherheit

mount Optionen: Bei den ext4 Partitionen brauchst du auf jedenfall discard.

```
/dev/sda1      /boot      ext2      noauto,noatime   1 2

/dev/sda3      /      ext4      relatime,noatime,discard      0 1

/dev/sda2      none      swap      sw      0 0

tmpfs         /tmp      tmpfs      rw,noatime      0 0

tmpfs         /var/tmp   tmpfs      rw,noatime   0 0

```

Ich hab nur die eine SSD in dem Rechner da es ein Laptop ist.

Leseraten:

```
# hdparm -Tt /dev/sda

/dev/sda:

 Timing cached reads:   2414 MB in  2.00 seconds = 1207.81 MB/sec

 Timing buffered disk reads:  600 MB in  3.00 seconds = 199.91 MB/sec
```

Sebastian

----------

## py-ro

Den Scheduler kann man übrigens per Blockdevice Einstellen.

Py

----------

## SvenFischer

 *Quote:*   

> Den Scheduler kann man übrigens per Blockdevice Einstellen. 

 

Wie????

----------

## py-ro

```
/sys/class/block/sda/queue/scheduler
```

Mehr oder minder aus dem Kopf heraus.

Py

----------

## Josef.95

 *SvenFischer wrote:*   

>  *Quote:*   Den Scheduler kann man übrigens per Blockdevice Einstellen.  
> 
> Wie????

 

Und ihn auch im laufenden Betrieb wechseln,

schau zb mal hier https://forums.gentoo.org/viewtopic-t-619496.html

----------

## slick

 *SvenFischer wrote:*   

> Wären die Unterverzeichnisse auf einzelnen Partitionen, dann würde ich das ja verstehen, aber in diesem Fall macht man das wie? Bsp. /usr mit vieln Dateinen und Verzeichnissen auf HDD /usr/local/portage (ganzer Pfad oder?) so auf der SSD?

 

Gibt grob 2 Möglichkeiten.

1) Du mountest zuerst deine beiden Platten und dann mountest du mit mount -o bind ... das  Verzeichnis von der HDD über die SSD

Beispiel: mount -o bind /mnt/hda/portage /usr/portage

2) 

Du arbeitest einfach mit symbolischen Links die z.B. von /usr/portage auf /mnt/hda/portage zeigen.

Noch ein allgemeiner Hinweis ...

Wenn du das System soweit laufen hast, mach mal nach dem Systemstart ein:

find / -newer /etc/mtab

Das findet alle Dateien die nach dem "booten" (eigentlich seit dem letzten mount) geändert wurden. Wirst u.U. überrascht sein was da so alles kommt. Ganz vorsichtigen würde ich sogar raten die SDD als readonly / einzusetzen. Möglich ists und schaden kanns ja nicht  :Wink: 

Wo hast du dein /home? Auf der HDD oder der SSD? Je nach Programmen schreiben diese recht viel in /home (KDE z.B. schreibt da z.B. sehr gern und viel.). Aber gerade das /home auf der SSD würde unter KDE das System subjektiv gefühlt flüssiger machen. Auch immer ein Zwiespalt.

----------

