Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: SSD a nastavení fstab  (Přečteno 9111 krát)

aaaaa

  • Aktivní člen
  • *
  • Příspěvků: 348
SSD a nastavení fstab
« kdy: 23 Listopadu 2012, 16:22:00 »
Ahoj lidi,

zakoupil jsem SSD disk Crucial m4 - 128GB. Zajímalo by mi, co z tohoto článku se dnes musí ještě dělat a co si dnešní distribuce udělá automaticky?
Tipy v tomto článku už jsou přeci jen 1,5 roku staré http://www.root.cz/clanky/optimalizace-prace-s-ssd-disky-v-linuxu/
Používám 64bit Ubuntu 12.10
Nastavujete u SSD disků nějaké parametry nebo necháváte vše tak je je nastaveno automaticky po instalaci?
Jde mi o tyto body:
1) Zarovnání oddílu
2) TRIM a parametr discard
3) Parametr noatime
4) Přemístění /tmp do paměti
5) Přemístění cache prohlížeče do paměti
6) Vypnutí výtahu


Takhle u mě vypadá fstab po instalaci:
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/sda1 during installation
UUID=2d2b4540-3581-11e2-81c1-0800200c9a66 /               ext4    errors=remount-ro  0       1
# /home was on /dev/sda5 during installation
UUID=4daf26ea-b6be-40a6-b21c-c0764118aafc /home           ext4    defaults           0       2
# swap was on /dev/sda6 during installation
#UUID=63fd6617-6992-4dbf-acdd-613c150e90e5 none            swap    sw                0       0
/dev/mapper/cryptswap1 none swap sw 0 0


Vypadá to, že TRIM je podorován automaticky i bez parametru discard v fstab?
aaaaa@aaaaa:~$ sudo  hdparm -I /dev/sda|grep TRIM
[sudo] password for aaaaa:
      *   Data Set Management TRIM supported (limit 8 blocks)
      *   Deterministic read data after TRIM

beer

  • Host
Re:SSD a nastavení fstab
« Odpověď #1 kdy: 23 Listopadu 2012, 17:10:43 »
Nedávno jsem toto také řešil. Podle fstabu není možné určit, zdali máš správně zarovnané oddíly. Možná podle fdisku nebo gdisku.

Dej sem výpis
Kód: [Vybrat]
fdisk -l /dev/sda
Ten trim by mohl sice být funkční, ale přidáním parametru discard nic určitě nezkazíš.

Parametr noatime tam nemáš. Těžko ho může systém nastavovat automaticky, když některé programy mohou vyžadovat, aby byl čas zapnutý (třeba nějaké programy, které provádějí zálohování, atd).

TMP v paměti nemáš.

Potřebuješ:
Kód: [Vybrat]
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0

Přemístění cache prohlížeče do paměti - někde jsem na to viděl nějaký deb balík, který to zařídí, ale jinak ve firefoxu se to nastavuje v about:config. V google chrome je cache někde v domovské složce. Určitě by se dalo vyřešit symbolickým odkazem do /tmp, které bude v tmpfs, tudíž v ram + swapu.

Tyto věci, včetně elevatoru, jsem řešil zde:

http://forum.ubuntu.cz/index.php?topic=65634.msg467728

Pokud máš jen ssd, tak nejjednodušší řešení nastavení elevatoru je v /etc/default/grub

Kód: [Vybrat]
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash elevator=noop"
Po úpravě je potřeba dát
Kód: [Vybrat]
sudo update-grub
« Poslední změna: 23 Listopadu 2012, 17:15:10 od beer »

aaaaa

  • Aktivní člen
  • *
  • Příspěvků: 348
Re:SSD a nastavení fstab
« Odpověď #2 kdy: 23 Listopadu 2012, 17:16:36 »
Zarovnání oddílů jsem neřešil a nechal to na instalátoru.
Parametr discard tam možná přidám, ale noatime má být jen na Home oddílu nebo i Rootovském?

Výpis sudo fdisk -lu /dev/sda

Disk /dev/sda: 128.0 GB, 128035676160 bytes
hlav: 255, sektorů na stopu: 63, cylindrů: 15 566, celkem 250 069 680 sektorů
Jednotky = sektory po 1 * 512 = 512 bajtech
Velikost sektoru (logického/fyzického): 512 bajtů / 512 bajtů
Velikost I/O (minimální/optimální): 512 bajtů / 512 bajtů
Identifikátor disku: 0x00084cf8

Zařízení Zavádět   Začátek       Konec    Bloky    Id  Systém
/dev/sda1   *        2048    35160063    17579008   83  Linux
/dev/sda2        35162110   250068991   107453441    5  Rozšířený
/dev/sda5        35162112   248115199   106476544   83  Linux
/dev/sda6       248117248   250068991      975872   82  Linux swap/Solaris


Jako prohlížeč používám Operu, nevíš náhodou jak se to provede v Opeře?
« Poslední změna: 23 Listopadu 2012, 17:18:38 od aaaaa »

Rover623

Re:SSD a nastavení fstab
« Odpověď #3 kdy: 23 Listopadu 2012, 17:26:27 »
Problém je jaksi v tom, že přemístit /tmp, swap a cache do paměti vyžaduje poměrně hodně paměti, řekl bych, že tak 6GB minimálně (odhad). Parametr noatime je blbost, v defaultu od 10.04 je nastaveno relatime což je rychlejší a mnohem spolehlivější metoda než noatime.

Noatime se hodí pokud máš oddíly na ext3, ale to není tvůj případ

aaaaa

  • Aktivní člen
  • *
  • Příspěvků: 348
Re:SSD a nastavení fstab
« Odpověď #4 kdy: 23 Listopadu 2012, 17:30:28 »
Já mám 8GB a tak 0,5 GB si ukousne integrovaná grafická karta Intel HD Graphics 3000. možná jsem nemusel dělat ani ten Swap v podstatě jsem ho udělal jen tak, aby se neřeklo a instalátor měl klid  ;)

beer

  • Host
Re:SSD a nastavení fstab
« Odpověď #5 kdy: 23 Listopadu 2012, 17:42:23 »
Problém je jaksi v tom, že přemístit /tmp, swap a cache do paměti vyžaduje poměrně hodně paměti, řekl bych, že tak 6GB minimálně (odhad). Parametr noatime je blbost, v defaultu od 10.04 je nastaveno relatime což je rychlejší a mnohem spolehlivější metoda než noatime.

Noatime se hodí pokud máš oddíly na ext3, ale to není tvůj případ

Swap nemá smysl přemísťovat do ram. Swap se používá, když ram dojde. To už je lepší swap nepoužívat. Nicméně určitě bych doporučil swap na ssd ponechat, případně upravit konfiguraci tak, aby se používal co nejméně.

Noatime nemůže být rychlejší než relatime. Relatime totiž zapisuje, když se nějaký soubor změní, noatime nezapisuje nic. Ano, relatime je defaultní od kernelu někdy kolem verze 2.6.3.X.

Tmpfs používám na stroji, kde mám 4 GB ram, swap mám na SSD. Pokud je tmpfs určeno bez velikosti, defaultně ukousne polovinu ram, to znamená na mém 4 GB stroji ukousne tmpfs 2 GB ram a 2 GB ram my zůstanou pro ram. A to my přijde pro mé účely dostatečné.
@aaaaa
Ten swap tam máš nějaký šifrovaný, to asi bude žrát nějaký výkon...

To rozdělení disku nevidím jako optimální pouze v tom, že máš zbytečně vytvořený rozšířený oddíl, když ho nepotřebuješ.

edit: a nemáš to stejně optimálně rozdělené:
Petr Krčmář v odkazovaném článku doporučuje 32 sektorů na stopu.
Ty máš sektorů na stopu: 63.
« Poslední změna: 23 Listopadu 2012, 17:49:15 od beer »

aaaaa

  • Aktivní člen
  • *
  • Příspěvků: 348
Re:SSD a nastavení fstab
« Odpověď #6 kdy: 23 Listopadu 2012, 17:57:36 »
Dal jsem instalaci šifrování domovského oddílu a asi to zašifrovalo i swap, jinak si to nedokážu vysvětlit.

Citace
Petr Krčmář v odkazovaném článku doporučuje 32 sektorů na stopu.
Otázka je kdo má pravdu jestli p. Krčmář nebo Ubuntu instalátor ;D
« Poslední změna: 23 Listopadu 2012, 17:59:34 od aaaaa »

beer

  • Host
Re:SSD a nastavení fstab
« Odpověď #7 kdy: 23 Listopadu 2012, 18:03:57 »
Jo, to bude ono. Šifrováním ale bude systém ztrácet na výkonu a v případě problémů bude znemožněna záchrana dat. Další věc je ta, že v případě změny v domovské složce se bude disk více zapisovat. K přihlédnutím k tomuto asi nemá smysl řešit moc optimalizaci rozdělení disku :).

aaaaa

  • Aktivní člen
  • *
  • Příspěvků: 348
Re:SSD a nastavení fstab
« Odpověď #8 kdy: 23 Listopadu 2012, 20:59:18 »
Jsem to šifrování nakonec vypnul.

Rover623

Re:SSD a nastavení fstab
« Odpověď #9 kdy: 23 Listopadu 2012, 21:44:26 »
Tak nějak jsem zapomněl, že swap stejně musí zůstat na disku, protože jinak nejde hibernace. Použití swapu není fixně vázáno na stav, že dojde RAM, ale pokud paměť je, bývá jeho použití minimální.

/tmp je problém, protože hodně programů do něj cpe metadata a velikost 2GB když člověk opravdu začne něco dělat ani omylem nestačí, u mě má /tmp někdy i 20GB.

noatime sice nezapisuje nic, ale občas způsobuje nežádoucí interakce programů a ztráty dat, ale je fakt, že pokud je to obyčejný domácí počítač asi k ničemu docházet nebude

jadd

  • Stálý člen
  • **
  • Příspěvků: 977
Re:SSD a nastavení fstab
« Odpověď #10 kdy: 24 Listopadu 2012, 01:00:30 »
noatime sice nezapisuje nic, ale občas způsobuje nežádoucí interakce programů a ztráty dat, ale je fakt, že pokud je to obyčejný domácí počítač asi k ničemu docházet nebude
noatime, lze použít na kterémkoliv oddíle, včetně /var ale většinou se alespoň určuje u /var (hlavně v adresáři pošty) relatime u poštovních serverů, tam je žádoucí určení času.
relatime - relativní (rel) přístupový (a) čas, ne skutečný čas (jako realtime), který je výchozí je jasné, když se implicitně musí určit nehleď na čas.
interakce programů, ztráty dat, je nesmysl.
« Poslední změna: 24 Listopadu 2012, 01:09:58 od jadd »

beer

  • Host
Re:SSD a nastavení fstab
« Odpověď #11 kdy: 24 Listopadu 2012, 01:23:42 »
@aaaa, jo, to je dobrý nápad, pokud tam nemáš nějaká super tajná data. Pokud je to notebook, tak ho hlavně nikde neztrácej.
@rover, ona u SSD při rychlosti startování v řádech vteřin nemá moc ta hibernace na disk význam, obnovení z hibernace může trvat i déle, nežli čistý start systému.. A na suspend do ram to vliv nemá.
@jadd skutečně jsem četl, že výchozí je od určité doby (jádro kolem 2.6.3.něco) relatime. Pokud to není tak, tak jsme možná s Roverem četli stejnou desinformaci. Na druhou stranu proč by to nemohla být pravda? Ten trim se má určovat parametrem discard a aaaaa jede i bez toho s trimem v defaultu, ačkoliv ho nemá zapnutý přes fstab. Prostě to, co bylo dříve feature, může být dnes bráno jako standard a implicitní určování v tom případě postrádá smysl.

Rover623

Re:SSD a nastavení fstab
« Odpověď #12 kdy: 24 Listopadu 2012, 01:53:26 »
Dokumentace pro jádra 3 a výše udává použití relatime jako default hodnotu při ext.

Možnosti ztráty dat a interakce programů při použití noatime zmiňuje sám i Linus Torvalds a pár dalších vývojářů jádra, takže z mé hlavy to není

jadd

  • Stálý člen
  • **
  • Příspěvků: 977
Re:SSD a nastavení fstab
« Odpověď #13 kdy: 24 Listopadu 2012, 02:18:02 »
Citace
@jadd skutečně jsem četl, že výchozí je od určité doby (jádro kolem 2.6.3.něco) relatime. Pokud to není tak, tak jsme možná s Roverem četli stejnou desinformaci.
já to tedy nečetl, ale nic to nemění na tom, že to bude výchozí (důvod je důležitý).

Roman Vacho

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 6029
Re:SSD a nastavení fstab
« Odpověď #14 kdy: 24 Listopadu 2012, 10:01:31 »
Tak když si přečtete jak fungují atime,noatime a realtime... tak je jasné, že při souhře by někdy mohla být některá volba náchylnější na nekonzistenci dat. Nicménně tu máme ještě parametr commit, který udává jistou dobu. Je krásné, jak se všechno dá poštelovat. ;-)
Vyřešená vlákna je vhodné uzavřít "Topic Solved" dole pod vláknem. Děkujeme.

beer

  • Host
Re:SSD a nastavení fstab
« Odpověď #15 kdy: 26 Listopadu 2012, 01:44:45 »
Kód: [Vybrat]
beer@ubuntu-desktop:~$ sudo  hdparm -I /dev/sda|grep TRIM
   * Data Set Management TRIM supported (limit 8 blocks)
   * Deterministic read data after TRIM

Pro jistotu jsem zkusil ještě hdd disk:

Kód: [Vybrat]
beer@ubuntu-desktop:~$ sudo  hdparm -I /dev/sdb|grep TRIM
beer@ubuntu-desktop:~$

Vzhledem k tomu, že u mne automatická detekce ssd také funguje out of the box a trim je zapnutý na správném disku, je tedy potvrzeno, že nastavování parametrem discrad je zbytečné, minimálně tedy od verze 12.04.

Z důvodu nadbytečnosti jsem u sebe v /etc/fstab tedy parametry discard a noatime odebral, když i ten noatime není podle všeho ideální. Relatime ten počet zápisů zas tak extrémně nezvýší.

Roman Vacho

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 6029
Re:SSD a nastavení fstab
« Odpověď #16 kdy: 26 Listopadu 2012, 09:53:51 »
No jo, jenže hdparm pouze přímo čte informace ze zařízení. Což samo o sobě neznamená, že se trim používá.
Vyřešená vlákna je vhodné uzavřít "Topic Solved" dole pod vláknem. Děkujeme.

beer

  • Host
Re:SSD a nastavení fstab
« Odpověď #17 kdy: 26 Listopadu 2012, 10:04:36 »
No jo, jenže hdparm pouze přímo čte informace ze zařízení. Což samo o sobě neznamená, že se trim používá.

A jak bys tedy ověřil, zda-li se trim používá?

Jo a ještě jsou tu jiné aspekty, které je potřeba ověřit. Jak zjistit, jestli automaticky jsou v ubuntu SSD disky vyloučeny z entropie/generování náhodných čísel? Je nutné toto vyloučení udělat nějak ručně?

beer

  • Host
Re:SSD a nastavení fstab
« Odpověď #18 kdy: 26 Listopadu 2012, 10:32:56 »
Jinak, to vyloučení z entropie se dělá dle webu http://support.zcu.cz/index.php/Public:Svamberg/SSD ručně prý takto:

Citace
vyřadit disk ze seznamu pro vytváření entropie (od jádra 2.6.36), disk už nemá přístupové doby různé:

Kód: [Vybrat]
echo 0 > /sys/block/sda/queue/add_random


a je tam spousta zajímavých dalších tipů, nevím, jestli jsou v ubuntu potřeba, například:

Citace
nastavit frontu na přímo (pokud to jádro umožňuje)

Kód: [Vybrat]
echo 1 > /sys/block/sda/queue/iosched/fifo_batch

Roman Vacho

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 6029
Re:SSD a nastavení fstab
« Odpověď #19 kdy: 26 Listopadu 2012, 10:43:51 »
Citace

A jak bys tedy ověřil, zda-li se trim používá?
https://sites.google.com/site/lightrush/random-1/checkiftrimonext4isenabledandworking
Vyřešená vlákna je vhodné uzavřít "Topic Solved" dole pod vláknem. Děkujeme.

beer

  • Host
Re:SSD a nastavení fstab
« Odpověď #20 kdy: 26 Listopadu 2012, 10:49:44 »

Roman Vacho

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 6029
Re:SSD a nastavení fstab
« Odpověď #21 kdy: 26 Listopadu 2012, 10:54:40 »
Entropii mám výstup 1. Čili zaplá. Ale systém ví, že tam má SSD, protože fronta je napřímo(pro HDD zapnutá), a rotace vypnutá.

A jelikož to dává teoreticky toto:
Kód: [Vybrat]
Timing cached reads:   10170 MB in  2.00 seconds = 5087.09 MB/sec
 Timing buffered disk reads: 1282 MB in  3.01 seconds = 426.34 MB/sec
Nic neřeším.

S nastavením entropie se mi nic zdánlivě nemění. Ale praktickými testy jsem to neověřoval. SSD je u svého maxima.
Ale pro lepší pocit, jsem dal:
Kód: [Vybrat]
echo 0 > /sys/block/sda/queue/add_randomNa druhou stranu nejsem vývojář nebo do hloubky vydící člověk, takže je možné, že už s tím nějak počítají. A naopak by to mohlo něco rozhodit. Plánovač, kdo ví.
« Poslední změna: 26 Listopadu 2012, 11:19:07 od Roman "Rovano" Vacho »
Vyřešená vlákna je vhodné uzavřít "Topic Solved" dole pod vláknem. Děkujeme.

libor007

  • Stálý člen
  • **
  • Příspěvků: 875
Re:SSD a nastavení fstab
« Odpověď #22 kdy: 26 Listopadu 2012, 21:44:39 »
A jde nějak ověřit, jestli se opravdu používá relatime? Jak jsem teď zapátral po netu, taky noatime z fstabu vyhodím...
Kubuntu 20.04

beer

  • Host
Re:SSD a nastavení fstab
« Odpověď #23 kdy: 27 Listopadu 2012, 02:40:44 »
Takže ověřeno, že trim se musí u ubuntu zapnout ručně. Přesto, že systém detekuje, že se jedná o SSD, nerotační disk a že má podporu trim, tak je trim ve výchozím nastavení vypnutý.

Nevím, jak ověřit, zdali je fronta na přímo, požadovaný soubor nemám a nejde ani vytvořit, složka /sys/block/sda/queue/iosched/ je prázdná.

Kód: [Vybrat]
root@ubuntu-desktop:/# echo 1 > /sys/block/sda/queue/iosched/fifo_batch
bash: /sys/block/sda/queue/iosched/fifo_batch: Adresář nebo soubor neexistuje

Entropie je pro SSD stále zaplá, snižuje to bezpečnost systému:
Kód: [Vybrat]
root@ubuntu-desktop:/# cat /sys/block/sda/queue/add_random
1

Oprava je jednoduchá, stačí změnit 1 na 0.

Roman Vacho

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 6029
Re:SSD a nastavení fstab
« Odpověď #24 kdy: 27 Listopadu 2012, 13:20:31 »
Nevím, jak ověřit, zdali je fronta na přímo, požadovaný soubor nemám a nejde ani vytvořit, složka /sys/block/sda/queue/iosched/ je prázdná.

Kód: [Vybrat]
root@ubuntu-desktop:/# echo 1 > /sys/block/sda/queue/iosched/fifo_batch
bash: /sys/block/sda/queue/iosched/fifo_batch: Adresář nebo soubor neexistuje
[/code]
U HDD soubor existuje, u SSD nikoliv :-)
Vyřešená vlákna je vhodné uzavřít "Topic Solved" dole pod vláknem. Děkujeme.

 

Provoz zaštiťuje spolek OpenAlt.