Linux na IBM Z — Linux on IBM Z

Para komputerów mainframe IBM. Po lewej stronie jest IBM Z z13. Po prawej stronie jest IBM LinuxONE Rockhopper.

Linux on IBM Z (lub Linux on Z w skrócie, a wcześniej Linux on z Systems ) to zbiorcze określenie systemu operacyjnego Linux skompilowanego do działania na komputerach mainframe IBM , zwłaszcza na serwerach IBM Z i IBM LinuxONE. Podobne terminy, które implikują to samo znaczenie, to Linux on zEnterprise , Linux on zSeries , Linux/390 , Linux/390x itd. Trzy dystrybucje Linuksa certyfikowane do użytku na platformie sprzętowej IBM Z to Red Hat Enterprise Linux (opracowany przez spółkę zależną IBM , Red Hat ), SUSE Linux Enterprise i Ubuntu .

Historia

Linux na IBM Z powstał jako dwie oddzielne próby przeniesienia Linuksa na serwery IBM System/390 . Pierwszy projekt, projekt „Wielka Stopa ”, opracowany przez Linas Vepstas na przełomie 1998 i 1999 roku, był niezależną dystrybucją i od tego czasu został porzucony. IBM opublikował kolekcję łat i dodatków do jądra Linuksa 2.2.13 18 grudnia 1999 r., aby uruchomić dzisiejszą główną linię Linux na Z. W 2000 r. szybko nastąpiły oficjalne ogłoszenia produktów, w tym silniki Integrated Facility for Linux (IFL). Think Blue Linux był wczesną dystrybucją mainframe składającą się głównie z pakietów Red Hat dodanych do jądra IBM. Komercyjni dystrybutorzy Linuksa bardzo szybko wprowadzili edycje mainframe po początkowej pracy jądra.

Na początku zaangażowania IBM, łatki do systemu Linux dla IBM Z zawierały niektóre moduły tylko z kodem obiektowym (OCO), bez kodu źródłowego. Wkrótce IBM wymienił moduły OCO na moduły open source . Linux on Z jest wolnym oprogramowaniem na Powszechnej Licencji Publicznej GNU .

Według IBM do maja 2006 r. ponad 1700 klientów korzystało z Linuksa na swoich komputerach mainframe.

Wirtualizacja

Wirtualizacja jest domyślnie wymagana w IBM Z; nie ma możliwości uruchomienia Linuksa na Z bez pewnego stopnia wirtualizacji. (Tylko pierwsze 64-bitowe modele mainframe, z900 i z800, zawierały niezwirtualizowany „tryb podstawowy”). Wirtualizacja pierwszej warstwy jest zapewniana przez Processor Resource and System Manager ( PR/SM ) w celu wdrożenia jednego lub więcej logicznych Partycje (LPAR). Każda partycja LPAR obsługuje różne systemy operacyjne, w tym Linux na IBM Z. Hipernadzorcę o nazwie z/VM można również uruchomić jako wirtualizację drugiej warstwy na partycjach LPAR, aby utworzyć tyle maszyn wirtualnych (VM), ile jest zasobów przypisanych do partycji LPAR do obsługi. im. KVM na z to kolejna opcja hipernadzorcy.

Gdy aplikacje systemu Linux w partycji LPAR uzyskują dostęp do danych i aplikacji w innych partycjach LPAR, takich jak CICS , IBM Db2 , IMS , Linux i inne podsystemy mainframe działające na tym samym fizycznym komputerze mainframe, mogą korzystać z HiperSockets — szybkich połączeń TCP/IP działających tylko w pamięci . W porównaniu do TCP/IP w przypadku standardowych kart sieciowych (NIC, znanych również jako Open System Adapters (OSA) w komputerach mainframe), HiperSockets może poprawić czas reakcji użytkownika końcowego (zmniejszyć opóźnienia sieci i obciążenie przetwarzania), bezpieczeństwo (ponieważ nie ma połączenia sieciowego do przechwycenia) i niezawodność (ponieważ nie ma połączenia sieciowego do stracenia).

W modelach zEC12, zBC12 i nowszych koncepcja HiperSocket została rozszerzona poza granice maszyn fizycznych za pomocą adaptera RDMA over Converged Ethernet (RoCE), aby ułatwić bezpieczną i szybką komunikację między systemami. Aplikacje na partycji LPAR A w systemie A mogą zatem używać HiperSockets do komunikowania się z aplikacjami na partycji LPAR B w systemie B, aby zapewnić atrybuty bezpieczeństwa i wydajności.

Sprzęt komputerowy

Począwszy od jądra Linux w wersji 4.1 wydanej na początku 2015 r., Linux on Z jest dostępny tylko jako 64-bitowy system operacyjny zgodny z komputerami mainframe z/Architecture . Wcześniej Linux on Z był również dostępny jako 31-bitowy system operacyjny kompatybilny ze starszymi modelami komputerów mainframe wprowadzonymi przed modelem z900 z 2000 roku. Jednak nowsze 64-bitowe dystrybucje jądra Linuksa i 64-bitowe dystrybucje Linuksa na Z są nadal kompatybilne wstecz z aplikacjami skompilowanymi dla 31-bitowego Linuksa na Z. Historycznie oznaczenia architektury jądra Linuksa to „s390” i „s390x”, aby odróżnić Odpowiednio 31-bitowy i 64-bitowy Linux na jądrach Z, ale „s390” odnosi się teraz ogólnie do jedynej architektury jądra Linux na jądrze Z.

Linux działa na standardowych, uniwersalnych procesorach mainframe CP (procesory centralne) oraz IFL ( Integrated Facility for Linux ). IFL to procesory mainframe przeznaczone do pracy z systemem Linux, natywnie lub pod hiperwizorem (z/VM lub KVM na z). Mikrokod uniemożliwia IFL uruchamianie „tradycyjnych” obciążeń, takich jak z/OS , ale fizycznie są one identyczne z innymi procesorami IBM Z. IFL są zazwyczaj tańsze do nabycia od IBM niż CP.

Zalety

Linux on Z zapewnia elastyczność działania systemu Linux z zaletami odpornego na awarie sprzętu mainframe, zdolnego do wykonywania ponad 90 000 operacji we/wy na sekundę i ze średnim czasem międzyawaryjnym (MTBF) mierzonym w dziesięcioleciach. Korzystając z wirtualizacji, wiele mniejszych serwerów można połączyć na jednym komputerze mainframe, uzyskując pewne korzyści w postaci centralizacji i redukcji kosztów, jednocześnie umożliwiając serwery wyspecjalizowane. Zamiast parawirtualizacji komputery mainframe IBM korzystają z pełnej wirtualizacji , co pozwala na znacznie większą gęstość obciążenia niż w przypadku parawirtualizacji. Połączenie pełnej wirtualizacji sprzętu z lekkimi kontenerami maszyn wirtualnych, w których działa system Linux w izolacji (coś podobnej w koncepcji do platformy Docker ), daje w rezultacie platformę, która obsługuje więcej serwerów wirtualnych niż jakakolwiek inna w jednym miejscu, co również może obniżyć koszty operacyjne. Dodatkowe oszczędności wynikają ze zmniejszonego zapotrzebowania na powierzchnię, zasilanie, chłodzenie, sprzęt sieciowy i inną infrastrukturę niezbędną do obsługi centrum danych . Komputery mainframe IBM umożliwiają przejrzyste korzystanie z etapów wykonywania nadmiarowych procesorów i sprawdzania integralności , co jest ważne w przypadku aplikacji o znaczeniu krytycznym w niektórych branżach, takich jak bankowość. Komputery typu mainframe zazwyczaj umożliwiają wymianę sprzętu podczas pracy , takiego jak procesory i pamięć. IBM Z zapewnia odporność na uszkodzenia wszystkich kluczowych komponentów, w tym procesorów, pamięci, połączeń we/wy, zasilaczy, ścieżek kanałów, kart sieciowych i innych. Dzięki wewnętrznemu monitorowaniu wykrywane są możliwe problemy, a komponenty powodujące problemy są zaprojektowane tak, aby można je było przełączać bez niepowodzenia nawet jednej transakcji. W rzadkich przypadkach awarii oprogramowanie sprzętowe automatycznie włączy zapasowy komponent, wyłączy uszkodzony komponent i powiadomi IBM, aby wysłał przedstawiciela serwisu. Jest to niewidoczne dla systemu operacyjnego, co pozwala na wykonywanie rutynowych napraw bez wyłączania systemu. Wiele branż nadal polega na komputerach typu mainframe, gdzie uważa się je za najlepszą opcję pod względem niezawodności, bezpieczeństwa lub kosztów.

Ceny i koszty

Linux on Z generalnie nie jest odpowiedni dla małych firm, które mają mniej niż około 10 rozproszonych serwerów Linux, chociaż niektóre drogie licencjonowane oprogramowanie na procesor może szybko zmniejszyć tę zasadę . Większość dostawców oprogramowania, w tym IBM, traktuje wysoce zwirtualizowane IFL tak samo jak niezwirtualizowane procesory na innych platformach dla celów licencjonowania. Innymi słowy, pojedyncza IFL z uruchomionymi punktami instancji Linuksa nadal zwykle liczy się jako jeden „zwykły” procesor, w tej samej cenie procesora, w przypadku licencjonowania oprogramowania. Testowe, programistyczne, zapewnianie jakości, szkolenia i nadmiarowe produkcyjne instancje serwera mogą być uruchamiane na jednym IFL (lub większej liczbie IFL, ale tylko wtedy, gdy jest to potrzebne do wydajności w szczytowym zapotrzebowaniu). W ten sposób, po przekroczeniu pewnego minimalnego progu, Linux on Z może szybko stać się opłacalny, jeśli weźmie się pod uwagę koszty pracy i oprogramowania.

Równanie kosztów dla Linuksa na Z nie zawsze jest dobrze zrozumiane i jest kontrowersyjne, a wiele firm i rządów ma trudności z pomiarem, a tym bardziej z podejmowaniem decyzji na podstawie oprogramowania, pracy i innych kosztów (takich jak koszty przestojów i naruszeń bezpieczeństwa). Koszty akwizycji są często bardziej widoczne, a małe, nieskalowalne serwery są „tanie”. Niemniej jednak koszty niezwiązane z nabyciem są nie mniej realne i zazwyczaj znacznie wyższe niż ceny zakupu sprzętu. Ponadto indywidualni użytkownicy i wydziały w większych firmach i rządach mają czasami trudności ze współdzieleniem infrastruktury obliczeniowej (lub jakichkolwiek innych zasobów), powołując się na utratę kontroli. Centralizacja serwerów, jaką zapewnia Linux on Z, może nagradzać współpracę lepszą obsługą i niższymi kosztami, ale nie oznacza to, że współpraca jest zawsze łatwa do osiągnięcia w ramach korporacyjnej biurokracji.

Linux on Z obsługuje również tańsze urządzenia pamięci dyskowej niż z/OS, ponieważ Linux nie wymaga przyłączenia FICON ani ESCON, chociaż system z/OS może wykorzystywać przestrzeń dyskową bardziej efektywnie, w równowadze, ze względu na typową w systemie z/OS wspomaganą sprzętowo kompresję bazy danych oraz mniejsza liczba instancji systemu operacyjnego, których zwykle wymaga system z/OS. Korzystanie z niektórych pamięci masowych dołączonych do systemu FICON w systemie Linux na Z wiąże się również z pewnymi korzyściami operacyjnymi, na przykład obsługa relokacji gości na żywo z/VM.

Odpowiednie obciążenia

Charakterystyki komputerów mainframe są przeznaczone do takich obciążeń biznesowych, jak przetwarzanie transakcyjne (szczególnie w połączeniu ze współbieżnym przetwarzaniem wsadowym o dużej objętości) i zarządzanie dużymi bazami danych. Konstrukcja mainframe tradycyjnie kładzie nacisk na „zrównoważoną” wydajność dla wszystkich elementów obliczeniowych, w tym wejścia/wyjścia, zaimplementowanych przez kanał I/O . Komputery typu mainframe maksymalnie odciążają operacje we/wy, rozliczanie systemu i inne zadania obliczeniowe niezwiązane z rdzeniem od głównych procesorów, a rozwiązanie z/Architecture dodatkowo odciąża obliczenia kryptograficzne. Na przykład w pojedynczej maszynie IBM z13 można skonfigurować do 141 rdzeni procesorów jako IFL. Jednak każda taka maszyna ma również 27 dodatkowych głównych rdzeni: 2 jako zapasowe, 1 do obsługi oprogramowania układowego, a pozostała część obsługuje zadania związane z rozliczaniem systemu i obsługą operacji we/wy. Ponadto każdy adapter we/wy zazwyczaj ma dwa procesory PowerPC , a z13 obsługuje setki adapterów we/wy. Istnieją również oddzielne procesory obsługujące zadania kontroli pamięci i pamięci podręcznej, monitorowanie środowiska i wewnętrzne połączenia jako przykłady.

Historycznie rzecz biorąc, komputery mainframe ogólnie, a Linux na Z w szczególności, nie wykonywały jednozadaniowych obliczeń intensywnie wykorzystujących procesor ze szczególnie wysoką wydajnością w porównaniu z niektórymi innymi platformami, z kilkoma godnymi uwagi wyjątkami, takimi jak obliczenia kryptograficzne. Przykłady obejmowały większość symulacji naukowych, prognozowanie pogody i modelowanie molekularne . Superkomputery , w tym superkomputery oparte na systemie Linux, doskonale radzą sobie z tymi obciążeniami. Ta bifurkacja między komputerami mainframe i innymi platformami znacznie się zatarła w ostatnich latach, począwszy od wprowadzenia w 2008 roku System z10, maszyny opartej na czterordzeniowych procesorach 4,4 GHz ze sprzętowym zmiennoprzecinkowym dziesiętnym . Ponieważ technologia procesorów mainframe wciąż ewoluuje, a zwłaszcza wraz z wprowadzeniem modeli IBM LinuxONE i IBM z13 w 2015 r., IBM zaczął promować swoje komputery mainframe jako idealne platformy do wykonywania analiz w czasie rzeczywistym i innych zadań wymagających dużej mocy obliczeniowej, których w przeszłości nie wykonywały komputery mainframe biegać dobrze.

Komputery typu mainframe nie zapewniają adapterów graficznych ani dźwiękowych i jako takie nie nadają się do edycji multimediów cyfrowych lub projektowania wspomaganego komputerowo (CAD), z wyjątkiem być może pełnienia funkcji pomocniczych (np. przechowywanie treści, inwentaryzacje części, zarządzanie metadanymi, usługi bezpieczeństwa itp.)

Wsparcie

Podobnie jak wszystkie inne wersje Linuksa, Linux on Z podlega licencji wolnego oprogramowania GPL . Kompletny kod źródłowy Linux on Z jest udostępniany przez wiele stron za darmo i na równych zasadach, a wsparcie architektoniczne jest częścią głównego wysiłku jądra Linuksa. IBM przydziela kilku swoich programistów do działań społeczności, ale IBM nie jest bynajmniej jedynym uczestnikiem.

Chociaż nie ma żadnych przeszkód do prowadzenia żadnej dystrybucji Linuksa na Z. w sprawie System z IBM, IBM rutynowo testuje trzech konkretnych dystrybucjach Linuksa na Z: Red Hat , Suse , a począwszy od roku 2015, Canonical „s Ubuntu Linux . Inne godne uwagi dystrybucje Linuksa na Z to Debian , Fedora , Slackware , CentOS , Alpine Linux i Gentoo .

Prawie każdy darmowy lub open-source pakiet oprogramowania dostępny dla systemu Linux jest ogólnie dostępny dla systemu Linux na Z, w tym Apache HTTP Server , oprogramowanie Samba , JBoss , PostgreSQL , MySQL , PHP , język programowania Python , Concurrent Versions System (CVS), GNU Compiler Collection (GCC), LLVM i Perl , Rust , między innymi.

Red Hat i SUSE oferują wsparcie dla swoich dystrybucji działających pod kontrolą systemu Linux on Z. W 2015 roku firma Canonical ogłosiła plany oferowania oficjalnego wsparcia dla swojej dystrybucji na początku 2016 roku. IBM Global Services oferuje również umowy wsparcia, w tym usługi 24x7. Niektóre standardowe aplikacje dla systemu Linux są łatwo dostępne i wstępnie skompilowane, w tym popularne pakiety oprogramowania dla przedsiębiorstw o ​​zamkniętym kodzie źródłowym, takie jak bazy danych i aplikacje WebSphere , DB2 i Oracle , SAP R/3 , SAP ERP i IBM Java Developer's Kit (JDK), aby wymienić tylko kilka.

Zasoby dla programistów

IBM oferuje zasoby programistom, którzy chcą korzystać z systemu Linux for z:

  • Linux Test Drive, darmowy program przyznający pojedynczemu Linuksowi na maszynie wirtualnej IBM Z na 30 dni.
  • IBM Systems Application Advantage for Linux ( Chiphopper ), program dla programistów, który pomaga programistom pisać i publikować międzyplatformowe oprogramowanie dla systemu Linux.
  • Program Community Development System for Linux on IBM Z (CDSL), platforma zapewniająca programistom typu open source platformę do przenoszenia na system Linux on System z.
  • Linux Remote Development Program, płatny program rozszerzonej pomocy programistycznej.

Linux on Z obsługuje Unicode i ASCII, tak jak każda inna dystrybucja Linuksa — nie jest to system operacyjny oparty na EBCDIC . Jednak dla wygody Linux może odczytywać parametry jądra w EBCDIC. z/VM korzysta z tej możliwości.

Przenoszenie aplikacji Linuksa do Linuksa na Z jest dość proste. Potencjalne problemy obejmują endianowość (Linux na Z to big-endian) i poleganie na nieprzenośnych bibliotekach, szczególnie jeśli kod źródłowy nie jest dostępny. Programy można łatwo skompilować krzyżowo do plików binarnych z/Architecture w systemach Linux innych niż mainframe.

Emulatory

Istnieją co najmniej trzy programowe emulatory komputerów mainframe IBM Z .

  • FLEX-ES firmy Fundamental Software to oferowana komercyjnie opcja, ograniczona do adresowania 31-bitowego.
  • Emulator Hercules o otwartym kodzie źródłowym obsługuje system Linux na IBM Z (i może nawet działać na samym systemie Linux na System z).
  • W 2010 r. firma IBM wprowadziła funkcję Rational Developer for System z Unit Test Feature (obecnie nazywaną Rational Development and Test Environment for z lub w skrócie RDTz), która zapewnia ograniczone środowisko wykonywania, które może działać na sprzęcie X86. Warunki licencyjne IBM ograniczają używanie RDTz do określonych zadań związanych z tworzeniem aplikacji, z wyłączeniem ostatecznej kompilacji przedprodukcyjnej lub testów przedprodukcyjnych (takich jak testy warunków skrajnych). RDTz zawiera system z/OS (ze wspólnym oprogramowaniem pośredniczącym) i jest również zgodny z systemem Linux on Z.

Zobacz też

Bibliografia

Zewnętrzne linki