GNU/Linux >> Znalost Linux >  >> Linux

Migrace Unixu na Linux

Linux je tu už nějakou dobu. Původně ji vytvořil Linus Torvalds v roce 1991 a vyrostla ve významného hráče na poli serverových operačních systémů (OS), vedle Windows a hlavních unixových distribucí. I když na Unixu není nic špatného, ​​je poměrně „dlouho v zubech“ a je zde rostoucí trend migrace z Unixu na Linux.

Proč tedy migrovat?

Jste-li správcem existujícího datového centra (ať už on-premise nebo co-location zařízení), zejména takového, které existuje již dlouhou dobu, je pravděpodobné, že máte nějakou komerční verzi Unixu. Ty obvykle vyžadují proprietární hardware, a i když to může fungovat bez problémů, existují problémy s údržbou takových starších prostředí. Největší z těchto výzev, na které se může horní management dívat, jsou náklady na podporu jak pro hardware, tak pro samotný OS. Kromě toho může být stále obtížnější provádět rozšíření, protože starší hardware je zastaralý a součásti může být obtížné najít, a když je najdete, mohou být drahé (ach, nabídka a poptávka, jste tak drsná milenka!).

Něco, co se může objevit během tohoto přechodu, je možnost, že objevíte aplikaci, kterou nelze migrovat. Možná, že prodejce ukončil činnost nebo nepřenesl aplikaci do Linuxu. Možná ano, ale vyžadovalo by to přímé zapojení dodavatele do profesionální zakázky, která s sebou nese příliš vysoké náklady. Pokud k tomu dojde, možná budete muset zjistit, zda můžete migrovat pracovní zátěž na novou aplikaci, která je podporována v Linuxu, nebo se podívat, zda si tento konkrétní starší server budete muset ponechat.

Dalším problémem při setrvání na starších unixových systémech je nemožnost virtualizace. I když v několika unixových prostředích existuje určitá virtualizace, moderní hypervizory poskytují mnohem více funkcí a flexibility, pokud můžete přejít na operační systém, který váš vybraný hypervizor podporuje.

Dobře, jdu tedy k migraci, jak začít?

Úspěch migrace z Unixu na Linux začne důkladným vyšetřováním. Je několik věcí, na které se zaměřit. Existují dva způsoby, jak k tomu přistupovat, a zjistil jsem, že hybrid obou může přinést nejlepší výsledky. Dva přístupy, jak jsem je viděl, jsou „zdola nahoru“ a „shora dolů“. Tyto fráze jsou běžné a velmi snadno se zde používají.

U přístupu zdola nahoru začínáte na úrovni operačního systému. Začněte kontrolou aktuálního operačního systému a verze. Identifikujte nainstalované balíčky, moduly nebo další software od dodavatele OS. Dále vyhledejte software třetích stran a zachyťte dodavatele a verzi, kterou používáte. Poslední věcí je jakýkoli domácí software, který můžete mít, včetně nejen programů napsaných ve formálním jazyce, jako je C (nebo některý z jeho potomků) nebo Java , ale také skripty napsané v kterémkoli z běžných jazyků shellu (sh , ksh , csh ) nebo interpretované jazyky jako PERL , Python a podobně.

Dalším místem, kam se můžete podívat, je cron plánovač. Vše, co je tam naplánováno, ať už je to dodané dodavatelem nebo vypěstované doma, je něco, čemu chcete věnovat více času testováním.

Přístup shora dolů může být obtížnější, protože znamená začít u koncových uživatelů a zjistit od nich, co v systému provozují. Tento přístup může být zkouškou, protože uživatelé ne vždy chápou, jak něco funguje, ale jak to používají. Uživatel může například vědět, že používá webovou stránku, ale nemusí vědět, že „pod kapotou“ je Apache nebo Tomcat , bez ohledu na to, zda má nebo nemá CGI skripty, a pokud ano, v jakém jazyce jsou. Lze však získat další drobnosti, například zjistit, že server, o kterém jste si mysleli, že je víceméně samostatný, je úzce propojen s jiným serverem a že budete muset migrovat oba na ve stejnou dobu.

Preferuji obojí... Pokusím se zjistit, kdo vede firemní uživatele konkrétního systému a setkám se s nimi, abych zjistil, k čemu jej používají. Pokusím se také porovnat funkce, které používají, s identifikovatelnými systémovými komponentami. Jedním z příkladů může být webový server. Je to statický server nebo dynamický? Při kontrole balíčků nainstalovaných na serveru to možná neuvidíte. Přesto vám rozhovor s uživatelem může prozradit, že web je založen na WordPress , což znamená, že musíte najít databázi, která jej řídí, ať už je na stejném serveru nebo možná na jiném serveru, který by mohl potřebovat migrovat ve stejnou dobu.

Dobře, takže teď vím, co běží, co dál?

Musíte se rozhodnout, na jakou distribuci Linuxu přejdete. Toto rozhodnutí ovlivňuje mnoho věcí, které by upřímně měly být samostatným blogovým příspěvkem. Prozatím zdůrazním, že se musíte podívat na funkce, které jsou na serveru ve hře, a zjistit, které distribuce podporují stejné funkce. Pokud je server například jednoduchý webový nebo FTP server, bude stačit jakýkoli Linux. Pokud máte spuštěný nějaký software třetí strany, může dodavatel podporovat pouze určité distribuce, takže možná budete chtít začít s tímto softwarem a pak to zúžit.

Jakmile si vyberete svou distribuci, vytvořte si vývojové prostředí, nainstalujte základní OS a potřebné balíčky, software třetích stran a podobně. Nastavte uživatele pro testování a buď zkopírujte jejich programy a skripty, nebo se ujistěte, že to umí.

Všechno prostě poběží, že?

V dokonalém světě by to byla pravda. Všichni však víme, že svět není dokonalý. Funkce dodávané OS obecně fungují ihned po vybalení tak, jak byste očekávali. Pokud skáčete po verzích pro něco jako Apache, mohou existovat rozdíly v tom, jak to nakonfigurovat, aby vaše webové stránky běžely stejným způsobem. Dokumentace vám obvykle pomůže se tam dostat. Software třetích stran může mít někdy více problémů. Pokud se s nimi musíte vypořádat, ujistěte se, že máte potvrzené úrovně verzí operačního systému. Jeden dodavatel, se kterým jsem se zabýval, podporuje RHEL 6, ale ne RHEL 7. Někdy mohli testovat pouze do určitého bodu vydání a podporu až do tohoto, ale ne dále, jako je podpora RHEL 6.4, ale ne RHEL 6.10. Problémy mohou nastat také v případě, že jste nainstalovali 64bitovou verzi operačního systému, ale dodavatel třetí strany testoval pouze 32bitovou instalaci.

Domácí software a skripty jsou jiná věc. Je téměř zaručeno, že tam budete mít problémy, hodně záleží na tom, kdo kód napsal a jak je složitý. Formální jazyky se mohou přenášet snadněji, pokud má operační systém Linux ty správné knihovny pro podporu kompilace.

Pokud používáte starší verzi Unixu, mohou nastat problémy, protože se věci mohly změnit v jazyce. Některé výchozí hodnoty se mohly změnit a možnosti volání funkcí, zejména systémových volání, se mohou lišit. Doporučuje se provést první kompilace kódu s nejvyšším množstvím ladění, které můžete zapnout, a poté, co se problémy vypořádáte, rekompilujte s tímto laděním vypnutým, abyste ušetřili zatížení serveru do budoucna.

Pro skripty platí totéž, ale s větší pravděpodobností lichých změn. Osobní zkušenost ukázala, že standardní shell (aka sh ) skripty obvykle běží pod Bourne Again Shell (aka bash). ). Přesto mohou existovat skryté chyby, které ve skutečnosti nevyvolají chybu, ale nepřinesou očekávané výsledky. Jedním z klíčových příkladů je tento úryvek kódu, který jsem ve dnech HPUX často používal:

cat datafile.txt | while read line ; do
    set - $line
    var1 = $1
    if [ $var1 = “yes” ] ; then saved_value = “$2”
done
echo “$saved_value”

Pod HPUX to fungovalo dobře. Pod bash v RHEL je proměnná $saved_value by bylo prázdné, kvůli tomu, jak ten shell dělal rozsah oproti tomu, jak to udělal HPUX. Výše uvedené jsem musel změnit na něco takového:

while read line ; do
    set - $line
    var1 = $1
    if [ $var1 = “yes” ] ; then saved_value = “$2”
done < datafile.txt
echo “$saved_value”

Je tedy důležité provádět souběžná spouštění mezi starým a novým systémem, abyste ověřili, že stejný vstup do skriptu vytváří stejný výstup na obou systémech.

Dobře, otestovali jsme všechny věci, co teď?

Skutečný krok provedení přechodu ze starého systému na nový se může značně lišit co do složitosti v závislosti na vašem prostředí. Aby bylo téma skutečně zpracováno správně, mělo by mít vlastní blog. Poté, co jste provedli migraci, je užitečná pitva, zvláště pokud potřebujete provést další migraci. Spolehlivý přehled toho, co fungovalo a co nefungovalo tak dobře, může přinést užitečné „naučené poznatky“, které použijete ve svém dalším projektu migrace.

Zabalení

Doufám, že vám tento článek pomohl upozornit na typy věcí, které je třeba hledat, na konverzace, plány na založení a poskytne vám náskok na vaší cestě k migraci z Unixu na Linux. Doufejme, že s věcmi, které si z tohoto článku odnesete, a trochou štěstí budete mít relativně hladký přechod.

[ Chcete si vyzkoušet Red Hat Enterprise Linux? Stáhněte si ji nyní zdarma. ]


Linux
  1. Migrace linuxového serveru z příkazového řádku

  2. 10 tipů, jak zabezpečit webový server Apache v systému UNIX / Linux

  3. UNIX / Linux:Co je to Shell? Jaké jsou různé Shelly?

  1. Co je umask v UNIX/Linux

  2. Co znamená průměrná zátěž na Unix/Linux?

  3. Je Linux Unix?

  1. Linux vs. Unix:Jaký je rozdíl?

  2. Co je uživatel Linuxu?

  3. Linux – Je Linux Unix?