Konfigurace softwarového RAID v Linuxu
Běžným scénářem je použití softwarového RAID na virtuálních počítačích s Linuxem v Azure k prezentaci několika připojených datových disků jako jednoho zařízení RAID. Obvykle se to dá použít ke zvýšení výkonu a zvýšení propustnosti v porovnání s používáním jenom jednoho disku.
Připojení datových disků
Ke konfiguraci zařízení RAID jsou potřeba dva nebo více prázdných datových disků. Primárním důvodem pro vytvoření zařízení RAID je zlepšení výkonu vstupně-výstupních operací disku. V závislosti na vašich potřebách vstupně-výstupních operací můžete připojit disky, které jsou uložené ve službě Standard Storage s až 500 vstupně-výstupními operacemi za sekundu na disk, nebo úložiště premium s až 5 000 vstupně-výstupními operacemi za sekundu na disk. Tento článek se podrobně nezabíná o tom, jak zřídit a připojit datové disky k virtuálnímu počítači s Linuxem. Podrobné pokyny k připojení prázdného datového disku k virtuálnímu počítači s Linuxem v Azure najdete v článku Připojení disku v Microsoft Azure.
Důležité
Nekombinujte disky různých velikostí, což by vedlo k omezení výkonu sady raidset na nejpomalejší disk.
Instalace nástroje mdadm
Ubuntu
sudo apt-get update sudo apt-get install mdadm
CentOS & Oracle Linux
sudo yum install mdadm
SLES a openSUSE
zypper install mdadm
Vytvoření diskových oddílů
V tomto příkladu vytvoříme jeden diskový oddíl na /dev/sdc. Nový oddíl disku bude mít název /dev/sdc1.
Začněte
fdisk
vytvářet oddíly.sudo fdisk /dev/sdc Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel Building a new DOS disklabel with disk identifier 0xa34cb70c. Changes will remain in memory only, until you decide to write them. After that, of course, the previous content won't be recoverable. WARNING: DOS-compatible mode is deprecated. It's strongly recommended to switch off the mode (command 'c') and change display units to sectors (command 'u').
Stisknutím klávesy n na příkazovém řádku vytvořte oddíl NEW:
Command (m for help): n
Potom stisknutím klávesy p vytvořte oddíl primary:
Command action e extended p primary partition (1-4)
Stisknutím tlačítka 1 vyberte číslo oddílu 1:
Partition number (1-4): 1
Vyberte výchozí bod nového oddílu nebo stisknutím přijměte
<enter>
výchozí nastavení a umístěte oddíl na začátek volného místa na jednotce:First cylinder (1-1305, default 1): Using default value 1
Vyberte velikost oddílu, například zadejte +10G a vytvořte oddíl o velikosti 10 gigabajtů. Nebo stiskněte vytvořit
<enter>
jeden oddíl, který pokrývá celou jednotku:Last cylinder, +cylinders or +size{K,M,G} (1-1305, default 1305): Using default value 1305
Dále změňte ID a type oddílu z výchozího ID 83 (Linux) na ID "fd" (Linux raid auto):
Command (m for help): t Selected partition 1 Hex code (type L to list codes): fd
Nakonec na jednotku zapište tabulku oddílů a ukončete fdisk:
Command (m for help): w The partition table has been altered!
Vytvoření pole RAID
Následující příklad bude "stripe" (RAID úroveň 0) tři oddíly umístěné na třech samostatných datových discích (sdc1, sdd1, sde1). Po spuštění tohoto příkazu se vytvoří nové zařízení RAID s názvem /dev/md127 . Všimněte si také, že pokud jsme tyto datové disky dříve součástí jiného nefunkčního pole RAID, může být nutné přidat
--force
parametr domdadm
příkazu:sudo mdadm --create /dev/md127 --level 0 --raid-devices 3 \ /dev/sdc1 /dev/sdd1 /dev/sde1
Vytvoření systému souborů na novém zařízení RAID
CentOS, Oracle Linux, SLES 12, openSUSE a Ubuntu
sudo mkfs -t ext4 /dev/md127
SLES 11
sudo mkfs -t ext3 /dev/md127
SLES 11 – povolení boot.md a vytvoření souboru mdadm.conf
sudo -i chkconfig --add boot.md sudo echo 'DEVICE /dev/sd*[0-9]' >> /etc/mdadm.conf
Poznámka
Po provedení těchto změn v systémech SUSE může být vyžadováno restartování. Tento krok není ve službě SLES 12 povinný.
Přidání nového systému souborů do souboru /etc/fstab
Důležité
Nesprávná úprava souboru /etc/fstab může vést k neschválitelnému systému. Pokud si nejste jistí, podívejte se do dokumentace k distribuci, kde najdete informace o tom, jak soubor správně upravit. Před úpravami se také doporučuje vytvořit zálohu souboru /etc/fstab.
Vytvořte požadovaný přípojný bod pro nový systém souborů, například:
sudo mkdir /data
Při úpravách souboru /etc/fstab by se k odkazování na systém souborů místo názvu zařízení mělo použít UUID . Pomocí nástroje
blkid
určete UUID nového systému souborů:sudo /sbin/blkid ........... /dev/md127: UUID="aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" TYPE="ext4"
Otevřete soubor /etc/fstab v textovém editoru a přidejte položku pro nový systém souborů, například:
UUID=aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee /data ext4 defaults 0 2
Nebo na SLES 11:
/dev/disk/by-uuid/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee /data ext3 defaults 0 2
Pak soubor /etc/fstab uložte a zavřete.
Otestujte správnost položky /etc/fstab:
sudo mount -a
Pokud výsledkem tohoto příkazu bude chybová zpráva, zkontrolujte syntaxi v souboru /etc/fstab.
Dále spusťte příkaz a
mount
ujistěte se, že je systém souborů připojený:mount ................. /dev/md127 on /data type ext4 (rw)
(Volitelné) Parametry spouštění bez selhání
konfigurace fstab
Mnoho distribucí zahrnuje parametry
nobootwait
nofail
nebo připojení, které mohou být přidány do souboru /etc/fstab. Tyto parametry umožňují selhání při připojování konkrétního systému souborů a umožňují systému Linux pokračovat ve spouštění, i když není schopen správně připojit systém souborů RAID. Další informace o těchto parametrech najdete v dokumentaci k vaší distribuci.Příklad (Ubuntu):
UUID=aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee /data ext4 defaults,nobootwait 0 2
Parametry spuštění Linuxu
Kromě výše uvedených parametrů může parametr
bootdegraded=true
jádra "" umožnit spuštění systému i v případě, že je pole RAID vnímáno jako poškozené nebo degradované, například pokud je z virtuálního počítače neúmyslně odebrána datová jednotka. Ve výchozím nastavení to může vést také k nespouštětelnému systému.Informace o správné úpravě parametrů jádra najdete v dokumentaci k vaší distribuci. Například v mnoha distribucích (CentOS, Oracle Linux, SLES 11) mohou být tyto parametry přidány ručně do souboru "
/boot/grub/menu.lst
". Na Ubuntu lze tento parametr přidat doGRUB_CMDLINE_LINUX_DEFAULT
proměnné na "/etc/default/grub".
Podpora funkce TRIM/UNMAP
Některá linuxová jádra podporují operace TRIM/UNMAP, které zahodí nepoužívané bloky na disku. Tyto operace jsou primárně užitečné v úložišti úrovně Standard, aby informovaly Azure, že odstraněné stránky už nejsou platné a je možné je zahodit. Zahození stránek může ušetřit náklady, pokud vytvoříte velké soubory a pak je odstraníte.
Poznámka
Raid nemusí vydávat příkazy pro zahození, pokud je velikost bloků dat pro pole nastavená na menší než výchozí (512 kB). Důvodem je to, že členitost nemapování na hostiteli je také 512 kB. Pokud jste upravili velikost bloku dat pole pomocí parametru mdadm --chunk=
, může jádro ignorovat požadavky TRIM/unmap.
Na virtuálním počítači s Linuxem můžete podporu TRIM povolit dvěma způsoby. Jako obvykle se poraďte s doporučeným postupem ve své distribuci:
discard
Použijte možnost připojení v/etc/fstab
nástroji , například:UUID=aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee /data ext4 defaults,discard 0 2
V některých případech
discard
může mít tato možnost vliv na výkon. Případně můžete příkaz spustitfstrim
ručně z příkazového řádku nebo ho přidat do crontab a spouštět ho pravidelně:Ubuntu
# sudo apt-get install util-linux # sudo fstrim /data
RHEL/CentOS
# sudo yum install util-linux # sudo fstrim /data