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á jakomdadm
možnost--write-mostly
je vždy zapnuto.