GNU/Linux >> Znalost Linux >  >> Linux

Zvyšuje RAID1 výkon s Linuxem mdadm?

Ano, Linuxová implementace RAID1 zrychluje operace čtení disku dvojnásobně, pokud jsou současně prováděny dvě samostatné operace čtení disku . To znamená, že čtení jednoho 10GB souboru nebude na RAID1 o nic rychlejší než na jednom disku, ale čtení dvou různých 10GB souborů* bude rychlejší.

Chcete-li to demonstrovat, stačí přečíst některá data pomocí dd . Než něco provedete, vymažte mezipaměť čtení disku pomocí sync && echo 3 > /proc/sys/vm/drop_caches . Jinak hdparm bude vyžadovat super rychlé čtení.

Jeden soubor:

# COUNT=1000; dd if=/dev/md127 of=/dev/null bs=10M count=$COUNT &
(...)
10485760000 bytes (10 GB) copied, 65,9659 s, 159 MB/s

Dva soubory:

# COUNT=1000; dd if=/dev/md127 of=/dev/null bs=10M count=$COUNT &; dd if=/dev/md127 of=/dev/null bs=10M count=$COUNT skip=$COUNT &
(...)
10485760000 bytes (10 GB) copied, 64,9794 s, 161 MB/s
10485760000 bytes (10 GB) copied, 68,6484 s, 153 MB/s

Načtení 10 GB dat trvalo 65 sekund, zatímco načtení 10 GB + 10 GB =20 GB dat trvalo celkem 68,7 sekund, což znamená, že čtení z více disků výrazně těží z RAID1 na Linuxu. skip=$COUNT část je velmi důležitá. Druhý proces načte 10 GB dat z 10GB offsetu.

Jaredova odpověď a ssh komentáře odkazující na http://www.unicom.com/node/459 jsou špatné. Benchmark odtamtud dokazuje, že čtení z disku nemá prospěch z RAID1. Test byl však proveden pomocí benchmarkingového nástroje bonnie++, který neprovádí dvě samostatná čtení najednou. Autor výslovně uvádí, že bonnie++ není použitelný pro srovnávání polí RAID (viz readme).


Ano, získáte zvýšení výkonu čtení + redundanci. Můžete si snadno představit, že jak můžete číst části souborů současně ze dvou různých HDD, tak jsou soubory na obou HDD.

Takže teoreticky, pokud řadič RAID dělá svou práci správně, můžete dosáhnout zrychlení O(n).


  • man 4 md uvádí:"… Pamatujte, že vyvážení čtení provedené ovladačem nečiní profil výkonu RAID1 stejný jako u RAID0; jeden vstupní proud nebude zrychlen (např. jeden dd), ale více sekvenčních toků nebo náhodné pracovní zatížení bude používat více než jedno vřeteno. Teoreticky , mít N-disk RAID1 umožní N sekvenčnímu vláknu číst ze všech disků. …"

  • Aby toho nebylo málo — v praxi , na základě iostat výstup pozorovaný na typickém nastavení softwarového pole RAID se 2 pevnými disky, není zde žádné vyvážení . Ve skutečnosti to vypadá jako mdadm možnost --write-mostly je vždy zapnuto.


Linux
  1. Jak monitorovat výkon systému Linux pomocí Sysstat

  2. JQ Command v Linuxu s příklady

  3. Linux – Jak zvýšit Maxsymlinks?

  1. Zlepšete výkon systému Linux pomocí noatime

  2. Zaměstnavatelé zvýšit nábor IT profesionálů s open source dovednostmi

  3. Co Linux dělá s existujícími soubory v přípojném bodě?

  1. Jak zobrazit minulý výkon se sar v Linuxu

  2. Jak zvýšit uchovávání „sar“ dat na ‚N‘ dní v Linuxu

  3. dd výkon na Mac OS X vs. Linux