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 для 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 на своих мейнфреймах. [6]
Виртуализация требуется по умолчанию в IBM Z; невозможно запустить Linux на IBM Z без некоторой степени виртуализации. (Только самые первые 64-битные модели мэйнфреймов, z900 и z800, включали невиртуализированный «базовый режим».) Виртуализация первого уровня обеспечивается диспетчером ресурсов процессора и системы ( PR/SM ) для развертывания одного или нескольких логических Разделы (LPAR). Каждый LPAR поддерживает различные операционные системы, включая Linux на IBM Z. Гипервизор под названием z/VM также может быть запущен в качестве второго уровня виртуализации в LPAR для создания такого количества виртуальных машин (VM), сколько ресурсов назначено LPAR для поддержки. их. KVM на IBM Z — еще один вариант гипервизора.
Когда приложения Linux в LPAR получают доступ к данным и приложениям в других LPAR, таких как CICS , IBM Db2 , IMS , Linux и другие подсистемы мэйнфреймов, работающие на том же физическом мэйнфрейме, они могут использовать HiperSockets — быстрые TCP/IP- соединения, занимающие только память. По сравнению с TCP/IP через стандартные контроллеры сетевых интерфейсов (сетевые карты, также известные как адаптеры открытой системы (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 работает на стандартных процессорах мэйнфреймов общего назначения (центральных процессорах), а также на 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 обеспечивает отказоустойчивость для всех ключевых компонентов, включая процессоры, память, межсоединение ввода-вывода, источник питания, каналы связи, сетевые карты и другие. Благодаря внутреннему мониторингу выявляются возможные проблемы, а проблемные компоненты проектируются таким образом, чтобы их можно было переключить даже без сбоя ни одной транзакции. [13] В редких случаях сбоя встроенное ПО автоматически активирует запасной компонент, отключит неисправный компонент и уведомит IBM о необходимости направить представителя сервисной службы. Это прозрачно для операционной системы, что позволяет выполнять текущий ремонт без выключения системы. Многие отрасли продолжают полагаться на мейнфреймы, поскольку они считаются лучшим вариантом с точки зрения надежности, безопасности и стоимости. [11]
Как и все другие версии Linux, Linux на IBM Z регулируется лицензией свободного программного обеспечения GPL . Полный исходный код Linux на IBM Z доступен от многих сторон на бесплатной и равноправной основе, а архитектурная поддержка является частью основной работы по ядру Linux. IBM поручает нескольким своим программистам участвовать в работе сообщества, но IBM ни в коем случае не единственный участник.
Хотя нет никаких препятствий для запуска любого Linux в дистрибутиве IBM Z в системе IBM z, IBM регулярно тестирует три конкретных Linux в дистрибутивах IBM Z: Red Hat , [14] SUSE , [15] и, начиная с 2015 года, Ubuntu от Canonical . Линукс . [16] Другие известные дистрибутивы Linux в IBM Z включают Debian (начальная версия для Ubuntu), [17] Fedora (начальная версия для RHEL), [18] Slackware , [19] CentOS , Alpine Linux [20] и Gentoo . [21]
Почти каждый бесплатный пакет программного обеспечения или пакет программного обеспечения с открытым исходным кодом, доступный для Linux, обычно доступен для Linux на IBM Z, включая HTTP-сервер Apache , Samba , JBoss , PostgreSQL , MySQL , PHP , язык программирования Python , систему параллельных версий (CVS), коллекцию компиляторов GNU. (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] и IBM's Java Developer's Kit (JDK), [31] и это лишь некоторые из них.
IBM предлагает ресурсы разработчикам, желающим использовать Linux для z:
Linux на IBM Z поддерживает Unicode и ASCII , как и любой другой дистрибутив Linux — это не операционная система на основе EBCDIC . [36] Однако для удобства Linux может читать параметры ядра в формате EBCDIC. z/VM использует эту возможность.
Перенос приложений Linux на Linux на IBM Z довольно прост. Потенциальные проблемы включают порядок байтов (Linux на IBM Z имеет обратный порядок байтов) и зависимость от непереносимых библиотек, особенно если исходный код недоступен. [37] Программы можно легко перекрестно скомпилировать в двоичные файлы z/Architecture в системах Linux, не являющихся мейнфреймами. [38]
Существует как минимум три программных эмулятора мэйнфреймов IBM Z.