Soubor „rescan-scsi-bus.sh“ lze použít ke skenování nových LUN v počítači CentOS/RHEL. Při spuštění 'rescan-scsi-bus.sh -i' se skript spustí také LIP_RESET (ISSUE_LIP), což může způsobit narušení I/O na serveru a dokonce způsobit výpadek v případě, že systém běží na velké zatížení. .
Co je LIP (Loop Initialization Protocol)?
LIP prohledá propojení a způsobí aktualizaci vrstvy SCSI tak, aby odrážela zařízení aktuálně na sběrnici. LIP je v podstatě reset sběrnice a způsobí přidání a odebrání zařízení. Tento postup je nezbytný pro konfiguraci nového cíle SCSI na propojení Fibre Channel. Mějte na paměti, že issue_lip je asynchronní operace. Příkaz může být dokončen před dokončením celého skenování.
Co může způsobit resetování LIP?
Metoda Loop Initialization Protocol pro skenování HBA může způsobit zpoždění a časové limity I/O, pokud se HBA/zařízení používá, a může také neočekávaně odebrat zařízení. Provádění skenování pomocí této metody se proto nedoporučuje na žádném produkčním serveru, kde jsou zařízení SAN již nakonfigurována k použití. Tento typ skenování se doporučuje na nově postaveném serveru ke skenování všech LUNS/zařízení. LIP se normálně spouští při spouštění serveru.
Kdy použít issu_lip
Použijte prosím standardní příkaz rescan-scsi-bus.sh bez příznaku -i, rescan-scsi-bus.sh pouze ‚vyhledá‘ nové logické jednotky. Věnujte prosím maximální pozornost při provádění rescan-scsi-bus.sh -i v živém/produkčním prostředí, může to způsobit vážné problémy.
Problém může být ještě horší, když je rescan-scsi-bus.sh spuštěn na skutečném uzlu RAC nebo na jakémkoli Clustering Software, který používá proces Eviction Process, je to kvůli I/O aktivitě, která bude blokována na Node, kde je rescan-scsi-bus. Provede se sh -i, což způsobí, že ani disk-heartbeat selže při zápisu 'informace o tepu'.
Resetování LIP lze také provést bez rescan-scsi-bus.sh -i pomocí příkazu:
# echo "1" > /sys/class/fc_host/host/issue_lip
Tato metoda se nedoporučuje . Příkaz LIP je asynchronní, takže se tento příkaz může vrátit před dokončením operace LIP. Musíte sledovat systémový protokol /var/log/messages, abyste zjistili, kdy byla operace LIP dokončena. Toto je v podstatě reset sběrnice, takže jakékoli I/O operace za letu mohou být narušeny. Použijte místo toho skript rescan-scsi-bus.sh.
Když je potřeba objevit nové LUN, můžete provést:
# echo "1" > /sys/class/fc_host/host/issue_lip
To by mělo pomoci, aby se v systému objevily nové LUN, aniž by bylo nutné spouštět příkaz rescan-scsi-bus.sh -i.
Tato metoda se nedoporučuje. Příkaz LIP je asynchronní, takže se tento příkaz může vrátit před dokončením operace LIP. Musíte sledovat systémový protokol /var/log/messages, abyste zjistili, kdy byla operace LIP dokončena. Toto je v podstatě reset sběrnice, takže jakékoli I/O operace za letu mohou být narušeny. Místo toho použijte skript rescan-scsi-bug.sh.
Závěr
Když je potřeba rescan-scsi-bus.sh -i skutečně provést v produkčním prostředí, zastavte všechny instance aplikací/databází a poté pokračujte příkazem rescan-scsi-bus.sh -i. Nejbezpečnějším způsobem by bylo právě plánované restartování serveru, jako když se resetování LIP zavádění serveru provádí automaticky.
Mějte prosím také na paměti, že rescan-scsi-bus.sh -i nemusí být proveden, když je ztracena vícecestná cesta, bude obnovena, když bude obnovena back-end Storage Path (toto se provádí volbou path_checker v multipath .conf).