ลินุกซ์บน IBM Z
Linux บน IBM Z , Linux บน zSystemsหรือzLinuxเป็นคำเรียกโดยรวมของระบบปฏิบัติการLinux ที่คอมไพล์เพื่อใช้งานบน เมนเฟรมของ IBMโดยเฉพาะอย่างยิ่ง เซิร์ฟเวอร์ IBM Z , zSystems และLinuxONEคำอื่นๆ ที่มีความหมายเดียวกัน ได้แก่Linux/390 , Linux/390x เป็นต้น ระบบปฏิบัติการ Linuxสามรุ่นที่ได้รับการรับรองให้ใช้งานบนแพลตฟอร์มฮาร์ดแวร์ IBM Z ได้แก่Red Hat Enterprise Linux , SUSE Linux Enterprise ServerและUbuntu
ประวัติศาสตร์
Linux บน IBM Z มีต้นกำเนิดมาจากความพยายามแยกกันสองครั้งในการพอร์ต Linux ไปยัง เซิร์ฟเวอร์ System/390 ของ IBM ความพยายามครั้งแรกคือโครงการ "Bigfoot" ซึ่งพัฒนาโดยLinas Vepstasในช่วงปลายปี 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 เชิงพาณิชย์ได้เปิดตัวเวอร์ชันเมนเฟรมอย่างรวดเร็วหลังจากงานเคอร์เนลเริ่มต้น เมนเฟรมรุ่นแรกๆ ที่ได้รับการสนับสนุนโดยการแจกจ่าย Linux ระดับองค์กร ได้แก่System/390 G5, G6และMultiprise 3000 [ 4 ]
Karl-Heinz Strassemeyer ผู้จัดการของ IBM จาก Böblingen ในเยอรมนี เป็นผู้นำในการทำให้ Linux ทำงานบน S/390 [ 5 ]
ในช่วงเริ่มต้นของการมีส่วนร่วมของ IBM แพตช์ Linux สำหรับ S/390 ประกอบด้วย โมดูล ออบเจ็กต์โค้ดเท่านั้น (OCO) บางส่วน โดยไม่มีซอร์สโค้ด[ 6 ]ไม่นานหลังจากนั้น IBM ได้แทนที่โมดูล OCO ด้วย โมดูลโอ เพนซอร์ส Linux บน IBM Z เป็นซอฟต์แวร์ฟรีภายใต้ใบอนุญาตสาธารณะทั่วไปของ GNU
ตามข้อมูลของ IBM ณ เดือนพฤษภาคม2549 ลูกค้ากว่า 1,700 รายใช้ Linux บนเมนเฟรมของตน ตัวอย่างเช่นNomura Securities , Home Depotและมหาวิทยาลัยพิตต์สเบิร์ก[ 7 ]
เวอร์ชวลไลเซชัน
โดยค่าเริ่มต้นแล้ว IBM Z จำเป็นต้องใช้ การจำลองเสมือน (Virtualization ) ไม่มีตัวเลือกใดที่จะใช้งาน Linux บน IBM Z ได้โดยปราศจากการจำลองเสมือน (เฉพาะเมนเฟรม 64 บิตรุ่นแรกสุด คือ z900 และ z800 เท่านั้นที่มี "โหมดพื้นฐาน" ที่ไม่ใช้การจำลองเสมือน) การจำลองเสมือนระดับแรกนั้นจัดทำโดย Processor Resource and System Manager ( PR/SM ) เพื่อใช้งาน Logical Partitions (LPARs) หนึ่งหรือหลายตัว แต่ละ LPAR รองรับระบบปฏิบัติการที่หลากหลาย รวมถึง Linux บน IBM Z นอกจากนี้ ยังสามารถใช้งาน ไฮเปอร์ไวเซอร์ที่เรียกว่า z/VM เป็นการจำลองเสมือนระดับที่สองใน LPARs ได้ ซึ่งช่วยให้ LPAR สามารถใช้งานเครื่องเสมือน (VMs) ได้มากเท่าที่ทรัพยากรที่จัดสรรให้กับ LPAR นั้นรองรับได้KVMบน IBM Z เป็นอีกหนึ่งตัวเลือกของไฮเปอร์ไวเซอร์
เมื่อแอปพลิเคชัน Linux ใน LPAR เข้าถึงข้อมูลและแอปพลิเคชันใน LPAR อื่นๆ เช่นCICS , IBM Db2 , IMS , Linuxและระบบย่อยเมนเฟรมอื่นๆ ที่ทำงานบนเมนเฟรมทางกายภาพเดียวกัน แอปพลิเคชันเหล่านั้นสามารถใช้HiperSocketsซึ่งเป็นการ เชื่อมต่อ TCP/IP เฉพาะหน่วยความจำได้ เมื่อเปรียบเทียบกับ TCP/IP ผ่านตัวควบคุมอินเทอร์เฟซเครือข่าย มาตรฐาน (NIC หรือที่รู้จักกันในชื่อ Open System Adapters (OSA) ในเมนเฟรม) HiperSockets สามารถปรับปรุงการตอบสนองของผู้ใช้ปลายทาง (ลดความหน่วงของเครือข่ายและภาระการประมวลผล) ความปลอดภัย (เนื่องจากไม่มีการเชื่อมต่อเครือข่ายให้ดักฟัง) และความน่าเชื่อถือ (เนื่องจากไม่มีการเชื่อมต่อเครือข่ายให้สูญหาย) [ 8 ]
ในรุ่น zEC12, zBC12 และรุ่นต่อๆ มา แนวคิดของ HiperSocket ได้ขยายออกไปนอกขอบเขตของเครื่องคอมพิวเตอร์โดยใช้ ตัวแปลง RDMA over Converged Ethernet (RoCE) เพื่ออำนวยความสะดวกในการสื่อสารระหว่างระบบที่มีความปลอดภัยและรวดเร็ว แอปพลิเคชันใน LPAR A ในระบบ A จึงสามารถใช้ HiperSockets เพื่อสื่อสารกับแอปพลิเคชันใน LPAR B ในระบบ B เพื่อให้มั่นใจในความปลอดภัยและประสิทธิภาพ
ฮาร์ดแวร์
นับตั้งแต่ Linux kernel เวอร์ชัน 4.1 ที่วางจำหน่ายในช่วงต้นปี 2015 เป็นต้นมา Linux บน IBM Z มีให้ใช้งานเฉพาะในรูปแบบระบบปฏิบัติการ64 บิต ที่เข้ากันได้กับเมนเฟรมสถาปัตยกรรม z/Architectureเท่านั้น ก่อนหน้านี้ Linux บน IBM Z ยังมีให้ใช้งานในรูปแบบระบบปฏิบัติการ32 บิต ที่ใช้การกำหนดแอดเดรส แบบ 31 บิตซึ่งเข้ากันได้กับเมนเฟรมรุ่นเก่าที่เปิดตัวก่อนรุ่น z900 ในช่วงปี 2000 อย่างไรก็ตาม Linux kernel 64 บิตรุ่นใหม่และ Linux บน IBM Z เวอร์ชัน 64 บิต ยังคงสามารถใช้งานร่วมกับแอปพลิเคชันที่คอมไพล์สำหรับ Linux บน IBM Z เวอร์ชัน 32 บิตได้ ในอดีต การกำหนดสถาปัตยกรรมของ Linux kernel จะใช้คำว่า "s390" และ "s390x" เพื่อแยกความแตกต่างระหว่าง Linux kernel 32 บิตและ 64 บิตบน IBM Z ตามลำดับ แต่ปัจจุบัน "s390" ยังหมายถึงสถาปัตยกรรมของ Linux บน IBM Z โดยทั่วไปอีกด้วย
Linux ทำงานบน CP (Central Processor) เมนเฟรมมาตรฐานทั่วไป รวมถึง IFL ( Integrated Facility for Linux ) ด้วย IFL เป็นโปรเซสเซอร์เมนเฟรมที่ออกแบบมาเพื่อรัน Linux โดยเฉพาะ ไม่ว่าจะรันโดยตรงหรือผ่านไฮเปอร์ไวเซอร์ (z/VM หรือ KVM บน IBM Z) ไมโครโค้ดจำกัดไม่ให้ IFL รันเวิร์กโหลดแบบ "ดั้งเดิม" เช่นz/OSแต่มีลักษณะทางกายภาพเหมือนกับโปรเซสเซอร์ IBM Z อื่นๆ โดยทั่วไปแล้ว IFL จะมีราคาถูกกว่า CP ในการจัดหาจาก IBM [ 9 ]
Linux บน IBM Z ให้ความยืดหยุ่นในการใช้งาน Linux พร้อมข้อดีของฮาร์ดแวร์เมนเฟรมที่ทนต่อความผิดพลาดได้ซึ่งสามารถรองรับการทำงาน I/O มากกว่า 90,000 ครั้งต่อวินาที[ 10 ]และมีเวลาเฉลี่ยระหว่างความล้มเหลว (MTBF) [ 11 ]ที่วัดได้เป็นทศวรรษ[ 12 ]การใช้เวอร์ชวลไลเซชันช่วยให้สามารถรวมเซิร์ฟเวอร์ขนาดเล็กจำนวนมากเข้าไว้ในเมนเฟรมเดียว ทำให้ได้รับประโยชน์จากการรวมศูนย์และการลดต้นทุน ในขณะที่ยังคงอนุญาตให้มีเซิร์ฟเวอร์เฉพาะทาง การรวมเวอร์ชวลไลเซชันเต็มรูปแบบของฮาร์ดแวร์เข้า กับคอนเทนเนอร์ เครื่องเสมือน น้ำหนักเบา ที่รัน Linux แยกต่างหาก (คล้ายกับแนวคิดของDocker ) ส่งผลให้แพลตฟอร์มรองรับเซิร์ฟเวอร์เสมือนได้มากกว่าแพลตฟอร์มอื่น ๆ ในพื้นที่เดียว[ 13 ]ซึ่งยังสามารถลดต้นทุนการดำเนินงานได้อีกด้วย ประหยัดได้มากขึ้นจากการลดความต้องการพื้นที่ พลังงาน การระบายความร้อนฮาร์ดแวร์เครือข่ายและโครงสร้างพื้นฐาน อื่น ๆ ที่จำเป็นในการสนับสนุนศูนย์ข้อมูล
เมนเฟรมของ IBM อนุญาตให้ใช้ขั้นตอนการประมวลผลที่ซ้ำซ้อนและการตรวจสอบความสมบูรณ์ได้อย่างโปร่งใส ซึ่งมีความสำคัญต่อแอปพลิเคชันที่สำคัญในอุตสาหกรรมบางประเภท เช่น การธนาคาร โดยทั่วไปแล้วเมนเฟรมจะอนุญาตให้เปลี่ยนฮาร์ดแวร์ได้ขณะทำงาน เช่น โปรเซสเซอร์และหน่วยความจำ IBM Z ให้ความทนทานต่อความผิดพลาดสำหรับส่วนประกอบหลักทั้งหมด รวมถึงโปรเซสเซอร์ หน่วยความจำ การเชื่อมต่อ I/O แหล่งจ่ายไฟ เส้นทางช่องสัญญาณ การ์ดเครือข่าย และอื่นๆ ผ่านการตรวจสอบภายใน ปัญหาที่อาจเกิดขึ้นจะถูกตรวจพบ และส่วนประกอบที่มีปัญหาจะได้รับการออกแบบให้สามารถสลับได้โดยไม่ทำให้ธุรกรรมล้มเหลว[ 14 ]ในกรณีที่เกิดความล้มเหลวที่เกิดขึ้นได้ยากเฟิร์มแวร์จะเปิดใช้งานส่วนประกอบสำรองโดยอัตโนมัติ ปิดใช้งานส่วนประกอบที่ล้มเหลว และแจ้งให้ IBM ส่งตัวแทนบริการมา ซึ่งโปร่งใสต่อระบบปฏิบัติการ ทำให้สามารถซ่อมแซมตามปกติได้โดยไม่ต้องปิดระบบ อุตสาหกรรมหลายแห่งยังคงพึ่งพาเมนเฟรมอยู่ เนื่องจากถือว่าเป็นตัวเลือกที่ดีที่สุดในแง่ของความน่าเชื่อถือ ความปลอดภัย หรือต้นทุน[ 12 ]
สนับสนุน
เช่นเดียวกับลินุกซ์เวอร์ชันอื่นๆ ลินุกซ์บน IBM Z อยู่ภายใต้ สัญญาอนุญาต ซอฟต์แวร์เสรี GPL ซอร์สโค้ดทั้งหมดของลินุกซ์บน IBM Z มีให้ใช้งานจากหลายฝ่ายโดยไม่เสียค่าใช้จ่ายและเท่าเทียมกัน และการสนับสนุนด้านสถาปัตยกรรมเป็นส่วนหนึ่งของความพยายามหลักในการพัฒนาเคอร์เนลลินุกซ์ IBM ได้มอบหมายโปรแกรมเมอร์หลายคนให้เข้าร่วมในความพยายามของชุมชน แต่ IBM ไม่ใช่ผู้เข้าร่วมเพียงรายเดียว
แม้ว่าจะไม่มีอุปสรรคใดๆ ในการใช้งาน Linux บนระบบ IBM Z บนระบบ IBM z แต่ IBM จะทำการทดสอบ Linux บนระบบ IBM Z สามระบบโดยเฉพาะเป็นประจำ ได้แก่Red Hat [ 15 ] SUSE [ 16 ]และตั้งแต่ปี 2015 เป็นต้นมาUbuntu LinuxของCanonical [ 17 ] Linuxบนระบบ IBM Z ที่น่าสนใจอื่นๆ ได้แก่Debian (ต้นทางสำหรับ Ubuntu) [ 18 ] Fedora (ต้นทางสำหรับ RHEL) [ 19 ] Slackware [ 20 ] CentOS Stream , Alpine Linux [ 21 ]และGentoo [ 22 ]
ซอฟต์แวร์ฟรีหรือโอเพนซอร์สเกือบทุกแพ็กเกจที่มีให้ใช้งานสำหรับ Linux โดยทั่วไปมีให้ใช้งานสำหรับ Linux บน IBM Z รวมถึงApache HTTP Server , Samba , JBoss , PostgreSQL , MySQL , PHP , ภาษาโปรแกรม Python , Concurrent Versions System (CVS), GNU Compiler Collection (GCC), LLVM , PerlและRust [ 23 ]และอื่นๆ อีกมากมาย[ 24 ]
Red Hat และ SUSE ให้การสนับสนุนหลักสำหรับระบบปฏิบัติการ Linux บน IBM Z [ 25 ] [ 26 ]ในปี 2015 Canonical ประกาศแผนการที่จะให้การสนับสนุนอย่างเป็นทางการสำหรับระบบปฏิบัติการของตน โดยเริ่มตั้งแต่ต้นปี 2016 IBM Global Servicesยังเสนอสัญญาการสนับสนุน รวมถึงการให้บริการตลอด 24 ชั่วโมง 7 วันต่อ สัปดาห์ [ 27 ]แอปพลิเคชันซอฟต์แวร์ Linux มาตรฐานบางรายการมีให้ใช้งานในรูปแบบที่คอมไพล์ไว้ล่วงหน้าแล้ว รวมถึงแพ็กเกจซอฟต์แวร์องค์กรแบบปิดแหล่งที่มาที่เป็นที่นิยม เช่นWebSphere [ 28 ] ฐานข้อมูลและแอปพลิ เคชัน IBM Db2 [ 29 ]และOracle [ 30 ] , SAP R/3 , SAP ERP [ 31 ] และ Java Developer's Kit (JDK) ของ IBM [ 32 ]เป็นต้น
แหล่งข้อมูลสำหรับนักพัฒนา
IBM มีแหล่งข้อมูลสำหรับนักพัฒนาที่ต้องการกำหนดเป้าหมายไปที่ Linux สำหรับ z:
- Linux Test Drive เป็นโปรแกรมฟรีที่ให้ใช้งาน Linux บนเครื่องเสมือน IBM Z เพียงเครื่องเดียวเป็นเวลา 30 วัน[ 33 ]
- IBM Systems Application Advantage for Linux ( Chiphopper ) เป็นโปรแกรมสำหรับนักพัฒนาซอฟต์แวร์เพื่อช่วยให้นักพัฒนาสามารถเขียนและเผยแพร่ซอฟต์แวร์ Linux ข้ามแพลตฟอร์มได้[ 34 ]
- โปรแกรม Community Development System for Linux on IBM Z (CDSL) เป็นแพลตฟอร์มสำหรับจัดหา แพลตฟอร์มให้กับนักพัฒนา โอเพนซอร์สเพื่อพอร์ตไปยัง Linux บน System z [ 35 ]
- โปรแกรมการพัฒนา Linux ระยะไกล ซึ่งเป็นโปรแกรมสนับสนุนนักพัฒนาแบบขยายที่มีค่าธรรมเนียม[ 36 ]
Linux บน IBM Z รองรับUnicodeและASCIIเช่นเดียวกับการแจกจ่าย Linux อื่นๆ—ไม่ใช่ระบบปฏิบัติการที่ใช้EBCDIC [ 37 ]อย่างไรก็ตาม เพื่อความสะดวก Linux สามารถอ่านพารามิเตอร์เคอร์เนลในรูปแบบ EBCDIC ได้ z/VM ใช้ประโยชน์จากความสามารถนี้
การพอร์ตแอปพลิเคชัน Linux ไปยัง Linux บน IBM Z นั้นค่อนข้างตรงไปตรงมา ปัญหาที่อาจเกิดขึ้นได้แก่ลำดับไบต์ (Linux บน IBM Z เป็นแบบ big-endian) และการพึ่งพาไลบรารีที่ไม่สามารถพอร์ตได้ โดยเฉพาะอย่างยิ่งหากไม่มีซอร์สโค้ด[ 38 ]โปรแกรมสามารถคอมไพล์ข้ามแพลตฟอร์มไปยังไบนารี z/Architecture บนระบบ Linux ที่ไม่ใช่เมนเฟรม ได้อย่างง่ายดาย [ 39 ]
โปรแกรมจำลอง
มีโปรแกรม จำลองเมนเฟรม IBM Z ที่ ใช้ซอฟต์แวร์อย่างน้อยสามโปรแกรม
- FLEX-ES จาก Fundamental Software เป็นตัวเลือกที่มีให้ใช้งานในเชิงพาณิชย์ โดยจำกัดเฉพาะการกำหนดแอดเดรส 31 บิต[ 40 ]
- โปรแกรมจำลอง Herculesแบบโอเพนซอร์สรองรับ Linux บน IBM Z (และยังสามารถทำงานบน Linux บน System z ได้อีกด้วย)
- ในปี 2010 IBM ได้เปิดตัว Rational Developer for System z Unit Test Feature (ปัจจุบันเรียกว่า Rational Development and Test Environment for z หรือเรียกสั้นๆ ว่า RDTz) ซึ่งเป็นสภาพแวดล้อมการทำงานแบบจำกัดการใช้งานที่สามารถทำงานบนฮาร์ดแวร์ X86 ได้ ข้อกำหนดใบอนุญาตของ IBM จำกัดการใช้งาน RDTz ไว้เฉพาะงานพัฒนาแอปพลิเคชันบางอย่างเท่านั้น ไม่รวมถึงการคอมไพล์ก่อนการผลิตขั้นสุดท้ายหรือการทดสอบก่อนการผลิต (เช่น การทดสอบความเครียด) RDTz ประกอบด้วย z/OS (พร้อมมิดเดิลแวร์ทั่วไป) และยังเข้ากันได้กับ Linux บน IBM Z อีกด้วย[ 41 ]
ดูเพิ่มเติม
ลิงก์ภายนอก
- ระบบปฏิบัติการ Linux บนเมนเฟรม IBM Z
- ไอบีเอ็ม ลินุกซ์วัน
- โครงการเมนเฟรมแบบเปิด
- เอกสารเกี่ยวกับ Linux บน IBM Z และ LinuxONE
- ลินุกซ์บน z/VM
- เว็บไซต์นักพัฒนาLinux บน IBM Z
- เว็บไซต์Linux สำหรับ S/390 และ zSeries
- วิกิชุมชน Linux สำหรับ S/390 และ zSeries บนWayback Machine (เก็บถาวรเมื่อ 7 สิงหาคม 2023)
- linux-390รายชื่อผู้ใช้
- linux-s390รายชื่อผู้รับจดหมายสำหรับการพัฒนาเคอร์เนล
- ความรู้ทางเทคนิคเกี่ยวกับเอกสารIBM Redbooks สำหรับ Linux บน IBM Z
- คู่มือการสร้างเวอร์ชวลไลเซชันสำหรับ Linux บน IBM Z และ LinuxONEครอบคลุม Red Hat Enterprise Linux (REL), SUSE Linux Enterprise Server (SLES) และ Ubuntu Server
- การพอร์ต GCC ไปยังแพลตฟอร์ม IBM S/390