Linux на IBM Z или Linux на zSystems — это собирательный термин для операционной системы Linux , скомпилированной для работы на мэйнфреймах IBM , особенно на серверах IBM Z / IBM zSystems и IBM LinuxONE. Аналогичные термины, которые подразумевают то же значение, — Linux/390 , Linux/390x и т. д. Три дистрибутива Linux, сертифицированные для использования на аппаратной платформе IBM Z, — это Red Hat Enterprise Linux , SUSE Linux Enterprise Server и Ubuntu .
Linux на IBM Z возник как две отдельные попытки портировать Linux на серверы IBM System/390 . Первая попытка, проект "Bigfoot", разработанный Линасом Вепстасом в конце 1998 - начале 1999 года, был независимым дистрибутивом и с тех пор был заброшен. [1] IBM опубликовала коллекцию исправлений и дополнений к ядру Linux 2.2.13 18 декабря 1999 года, чтобы начать сегодняшнюю основную ветку Linux на IBM Z. [2] Официальные анонсы продуктов последовали быстро в 2000 году, включая движки Integrated Facility for Linux (IFL). Think Blue Linux был ранним дистрибутивом для мэйнфреймов, состоящим в основном из пакетов Red Hat , добавленных к ядру IBM. [3] Коммерческие дистрибьюторы Linux представили редакции для мэйнфреймов очень быстро после первоначальной работы над ядром.
Менеджер IBM Карл-Хайнц Штрассемейер из Бёблингена (Германия) был главным организатором запуска Linux на S/390. [4]
В начале участия IBM исправления Linux для S/390 включали некоторые модули только объектного кода (OCO) без исходного кода. [5] Вскоре IBM заменила модули OCO на модули с открытым исходным кодом . Linux на IBM Z является свободным программным обеспечением под лицензией GNU General Public License .
По данным IBM, по состоянию на май 2006 года [update]более 1700 клиентов использовали Linux на своих мэйнфреймах; некоторые примеры — Nomura Securities , Home Depot и Университет Питтсбурга . [6]
Виртуализация требуется по умолчанию на IBM Z; нет возможности запустить Linux на IBM Z без некоторой степени виртуализации. (Только самые первые 64-разрядные модели мэйнфреймов, z900 и z800, включали невиртуализированный «базовый режим».) Виртуализация первого уровня обеспечивается Processor Resource and System Manager ( PR/SM ) для развертывания одного или нескольких логических разделов (LPAR). Каждый LPAR поддерживает различные операционные системы, включая Linux на IBM Z. Гипервизор , называемый z/VM, также может быть запущен в качестве виртуализации второго уровня в LPAR. Это позволяет LPAR запускать столько виртуальных машин (VM), сколько могут поддерживать ресурсы, назначенные LPAR. KVM на IBM Z — еще один вариант гипервизора.
Когда приложения Linux в LPAR получают доступ к данным и приложениям в других LPAR, таких как CICS , IBM Db2 , IMS , Linux и другие подсистемы мэйнфреймов, работающие на том же физическом мэйнфрейме, они могут использовать HiperSockets — быстрые соединения TCP/IP , работающие только с памятью . По сравнению с TCP/IP через стандартные контроллеры сетевых интерфейсов (NIC, также известные как адаптеры открытых систем (OSA) в мэйнфреймах), HiperSockets может улучшить отзывчивость конечного пользователя (уменьшить задержку сети и накладные расходы на обработку), безопасность (поскольку нет сетевого соединения, которое можно перехватить) и надежность (поскольку нет сетевого соединения, которое можно потерять). [7]
С zEC12, zBC12 и более поздними моделями концепция HiperSocket распространяется за пределы физической границы машины с помощью адаптера RDMA over Converged Ethernet (RoCE) для обеспечения безопасной и высокоскоростной межсистемной связи. Таким образом, приложения в LPAR A в системе A могут использовать HiperSockets для связи с приложениями в LPAR B в системе B для обеспечения атрибутов безопасности и производительности. [ необходима цитата ]
Начиная с версии ядра Linux 4.1, выпущенной в начале 2015 года, Linux на IBM Z доступен только как 64-разрядная операционная система, совместимая с мэйнфреймами z/Architecture . Ранее Linux на IBM Z был также доступен как 32-разрядная операционная система с 31-разрядной адресацией, совместимая со старыми моделями мэйнфреймов, представленными до модели z900 2000-х годов. Однако более новое 64-разрядное ядро Linux и 64-разрядные дистрибутивы Linux на IBM Z по-прежнему обратно совместимы с приложениями, скомпилированными для 32-разрядного Linux на IBM Z. Исторически обозначения архитектуры ядра Linux были «s390» и «s390x», чтобы различать 32-разрядные и 64-разрядные ядра Linux на IBM Z соответственно, но «s390» теперь также относится в целом к одной архитектуре ядра Linux на IBM Z.
Linux работает на стандартных универсальных мэйнфреймах CP (центральных процессорах), а также на IFL ( интегрированных устройствах для Linux ). IFL — это мэйнфреймовые процессоры, предназначенные для работы Linux, как изначально, так и под управлением гипервизора (z/VM или KVM на IBM Z). Микрокод ограничивает IFL в запуске «традиционных» рабочих нагрузок, таких как z/OS , но они физически идентичны другим процессорам IBM Z. IFL обычно дешевле приобретать у IBM, чем CP. [8]
Linux на IBM Z обеспечивает гибкость работы Linux с преимуществами отказоустойчивого оборудования мэйнфрейма, способного выполнять более 90 000 операций ввода-вывода в секунду [9] и со средним временем между отказами (MTBF) [10], измеряемым десятилетиями. [11] Используя виртуализацию, можно объединить множество небольших серверов на одном мэйнфрейме, что дает некоторые преимущества централизации и снижения затрат, при этом все еще позволяя использовать специализированные серверы. Вместо паравиртуализации мэйнфреймы IBM используют полную виртуализацию , что позволяет достичь гораздо большей плотности рабочей нагрузки, чем паравиртуализация. [ требуется цитата ] Объединение полной виртуализации оборудования и легких контейнеров виртуальных машин , которые запускают Linux изолированно (что-то похожее по концепции на Docker ), приводит к созданию платформы, которая поддерживает больше виртуальных серверов, чем любая другая, в одном месте, [12] [ неудачная проверка ], что также может снизить эксплуатационные расходы. Дополнительная экономия может быть получена за счет снижения потребности в площади пола, питании, охлаждении, сетевом оборудовании и другой инфраструктуре , необходимой для поддержки центра обработки данных . [ требуется цитата ]
Мейнфреймы IBM позволяют прозрачно использовать избыточные этапы выполнения процессора и проверку целостности , что важно для критически важных приложений в определенных отраслях, таких как банковское дело. [ требуется ссылка ] Мейнфреймы обычно позволяют производить горячую замену оборудования , такого как процессоры и память. IBM Z обеспечивает отказоустойчивость для всех ключевых компонентов, включая процессоры, память, I/O Interconnect, блок питания, пути каналов, сетевые карты и другие. Благодаря внутреннему мониторингу выявляются возможные проблемы, а проблемные компоненты проектируются так, чтобы их можно было переключать без сбоя транзакции. [13] В редких случаях сбоя встроенное ПО автоматически включит запасной компонент, отключит неисправный компонент и уведомит IBM о необходимости отправки сервисного представителя. Это прозрачно для операционной системы, что позволяет выполнять плановый ремонт без выключения системы. Многие отрасли продолжают полагаться на мейнфреймы, где они считаются лучшим вариантом с точки зрения надежности, безопасности или стоимости. [11]
Как и все другие версии Linux, Linux на IBM Z регулируется лицензией свободного программного обеспечения GPL . Полный исходный код Linux на IBM Z доступен от многочисленных сторон на бесплатной и равной основе, а архитектурная поддержка является частью основных усилий по ядру Linux. IBM назначает нескольких своих программистов для работы в сообществе, но IBM ни в коем случае не является единственным участником.
Хотя нет никаких препятствий для запуска любого дистрибутива Linux на IBM Z на IBM z System, IBM регулярно тестирует три конкретных дистрибутива Linux на IBM Z: Red Hat , [14] SUSE , [15] и, начиная с 2015 года, Ubuntu Linux от Canonical . [16] Другие известные дистрибутивы Linux на IBM Z включают Debian (upstream для Ubuntu), [17] Fedora (upstream для RHEL), [18] Slackware , [19] CentOS , Alpine Linux [20] и Gentoo . [21]
Почти каждый бесплатный или открытый исходный программный пакет, доступный для Linux, доступен для Linux на IBM Z, включая Apache HTTP Server , Samba , JBoss , PostgreSQL , MySQL , PHP , язык программирования Python , Concurrent Versions System (CVS), GNU Compiler Collection (GCC), LLVM , Perl и Rust , [22] и многие другие. [23]
Red Hat и SUSE предлагают основную поддержку для своих дистрибутивов, работающих под управлением Linux на IBM Z. [24] [25] В 2015 году Canonical объявила о планах предложить официальную поддержку для своего дистрибутива, начиная с начала 2016 года . IBM Global Services также предлагает контракты на поддержку, включая круглосуточное обслуживание. [26] Некоторые стандартные приложения Linux доступны в предварительно скомпилированном виде, включая популярные пакеты корпоративного программного обеспечения с закрытым исходным кодом, такие как WebSphere , [27] базы данных и приложения IBM Db2 [28] и Oracle [29] , SAP R/3 , SAP ERP , [30] и комплект разработчика Java (JDK) от IBM , [31] и это лишь некоторые из них.
IBM предлагает ресурсы разработчикам, желающим использовать Linux для z:
Linux на IBM Z поддерживает Unicode и ASCII , как и любой другой дистрибутив Linux — это не операционная система на основе EBCDIC . [36] Однако для удобства Linux может считывать параметры ядра в формате EBCDIC. z/VM использует эту возможность.
Перенос приложений Linux на Linux на IBM Z довольно прост. Возможные проблемы включают порядок байтов (Linux на IBM Z — big-endian) и зависимость от непереносимых библиотек, особенно если исходный код недоступен. [37] Программы можно легко кросс-компилировать в двоичные файлы z/Architecture на не-мэйнфреймовых системах Linux. [38]
Существует как минимум три программных эмулятора мэйнфреймов IBM Z.