SSD Nodes Learn Hosting plans →

Solaris மற்றும் illumos: இந்த fork உருவான வரலாறு என்ன?

Sun Microsystems உருவாக்கிய Solaris மற்றும் Oracle நிறுவனத்தின் மாற்றங்களுக்குப் பிறகு உருவான illumos fork பற்றிய முழுமையான வரலாறு. ZFS மற்றும் DTrace இன்றும் எப்படி இயங்குகின்றன

Solaris மற்றும் illumos என்றால் என்ன

Solaris மற்றும் illumos ஆகிய இரண்டும் ஒரே Unix source tree-ன் இரண்டு கிளைகள் ஆகும். Sun Microsystems, Solaris-ஐ உருவாக்கி அதன் source code-ன் பெரும்பகுதியை 2005-ல் வெளியிட்டது. 2010-ல் Oracle நிறுவனம் Sun-ஐ வாங்கிய பிறகு, source code வெளியீட்டை நிறுத்தியது. எனவே, Oracle நிறுவனத்திற்கு வெளியே இருந்த மென்பொருள் உருவாக்குநர்கள், அந்த open code-ஐ illumos என்ற புதிய பெயரில் தொடர்ந்து மேம்படுத்தினர். 2026-ல் இந்த operating system ஒரு குறிப்பிட்ட பயன்பாட்டிற்கான (niche) ஒன்றாக உள்ளது. ஆனால், இதில் உள்ள storage layer மற்றும் tracing tool ஆகியவை அவ்வாறு இல்லை; இதனாலேயே இந்த வரலாற்றை அறிந்துகொள்வது அவசியமாகிறது.

நீங்கள் Linux அல்லது FreeBSD-ல் ZFS-ஐப் பயன்படுத்துகிறீர்கள் என்றால், நீங்கள் Sun நிறுவனத்தில் Solaris-க்காக எழுதப்பட்ட code-ஐத்தான் இயக்குகிறீர்கள். அந்த நிறுவனம், தயாரிப்பு வரிசை மற்றும் உரிமப் போராட்டங்கள் அனைத்தையும் தாண்டி இன்றும் அந்த code இயங்குகிறது. இந்த இடுகை, சரிபார்க்கப்பட்ட தேதிகளுடன், அது எவ்வாறு நிகழ்ந்தது என்பதற்கான கதையாகும்.

Solaris-ன் தோற்றம்: BSD, System V மற்றும் SVR4

Sun Microsystems, 24 February 1982 அன்று Scott McNealy, Andy Bechtolsheim, Vinod Khosla மற்றும் Bill Joy ஆகியோரால் தொடங்கப்பட்டது. அதன் operating system-ஆன SunOS, Sun உருவாவதற்கு முன்பே Bill Joy பணியாற்றிய பல்கலைக்கழக Unix வரிசையான BSD (Berkeley Software Distribution)-லிருந்து பெறப்பட்டது. மற்றொரு Unix வரிசை, வணிக ரீதியாக விற்கப்பட்ட AT&T-ன் System V ஆகும். இந்த இரண்டு கிளைகளும் Linux-ல் முடிவடையும் Unix குடும்ப மரத்தில் விவரிக்கப்பட்டுள்ள பிரிவாகும்; Sun ஒரு தசாப்த காலம் BSD பக்கமே இருந்தது.

1987-ல், BSD, System V மற்றும் Xenix ஆகியவற்றை ஒரே release-ஆக இணைக்க Sun மற்றும் AT&T ஒரு கூட்டுத் திட்டத்தை அறிவித்தன: அதுவே UNIX System V Release 4, பொதுவாக SVR4 என்று அழைக்கப்படுகிறது. 4 September 1991 அன்று, SunOS 4-க்கு பதிலாக SVR4-லிருந்து பெறப்பட்ட Solaris 2 என்ற புதிய வணிகப் பெயரில் ஒரு system அறிமுகப்படுத்தப்படும் என்று Sun அறிவித்தது. Solaris 2.0, June 1992-ல் SPARC hardware-ல் மட்டுமே வெளியிடப்பட்டது. Sun தனது Unix பிரிவின் பக்கத்தை மாற்றிக்கொண்டது, இதனால் அதன் வாடிக்கையாளர்கள் தங்கள் software-ஐ port செய்ய வேண்டியிருந்தது.

பழைய பெயர் மறையவில்லை. Kernel, SunOS numbering முறையையே தொடர்ந்தது; எனவே Solaris 2.6, SunOS 5.6-ஐ இயக்கியது, மேலும் Oracle Solaris 11.4 இன்றும் தன்னை SunOS 5.11 என்றே காட்டிக்கொள்கிறது. 2026-ல் ஒரு illumos machine-ல் uname -a கட்டளையை இயக்கினால், திரையில் தோன்றும் முதல் வார்த்தை இன்றும் SunOS தான்; ஏனெனில் illumos அந்த code-உடன் சேர்த்து அந்தப் பெயரையும் பெற்றுள்ளது.

Solaris 10, 2005-ல் அறிமுகப்படுத்தியவை

Solaris 10, 31 ஜனவரி 2005 அன்று வெளியிடப்பட்டது. அந்த நிறுவனத்தின் தொழில்நுட்பங்களில் எவை எஞ்சியிருந்தனவோ, அவை அனைத்தும் இந்த வெளியீட்டிலோ அல்லது அதன் மேம்படுத்தல்களிலோ (updates) இருந்ததால், இது முக்கியத்துவம் பெறுகிறது.

DTrace, Sun நிறுவனத்தில் Bryan Cantrill, Mike Shapiro மற்றும் Adam Leventhal ஆகியோரால் உருவாக்கப்பட்டது. இது நவம்பர் 2003-ல் முதன்முதலில் கிடைத்தது. இது இயங்கிக்கொண்டிருக்கும் kernel மற்றும் user processes-ஐ, எதையும் மறுதொகுப்பு (recompile) செய்யாமலும், நீங்கள் கண்காணிக்கும் process-ஐ மறுதொடக்கம் (restart) செய்யாமலும் ஆய்வு செய்கிறது. நீங்கள் ஒரு probe-ஐ enable செய்யாதவரை அதற்கு எந்தச் செலவும் (performance cost) இல்லை; ஏனெனில், ஒரு script கேட்கும்போது மட்டுமே instrumentation இணைக்கப்படுகிறது. இதனால்தான், production machines-ல் இதைப் பயன்படுத்த நிர்வாகிகள் தயங்கவில்லை. DTrace, The Wall Street Journal-ன் 2006 தொழில்நுட்ப கண்டுபிடிப்பு விருதுகளிலும், 2008-ல் USENIX STUG (Software Tools User Group) விருதையும் வென்றது.

ZFS, Sun நிறுவனத்தில் Jeff Bonwick, Bill Moore மற்றும் Matthew Ahrens ஆகியோரால் வடிவமைக்கப்பட்டு, 14 செப்டம்பர் 2004 அன்று அறிவிக்கப்பட்டது. இது volume manager மற்றும் filesystem ஆகியவற்றை ஒரே அடுக்காக இணைத்தது. இதுவே, வாசிக்கும்போது (read) ஒவ்வொரு block-ஐயும் checksum செய்யவும், பழுதடைந்த block-ஐ redundant நகலில் இருந்து சரிசெய்யவும் உதவுகிறது. இதில் எழுதும் முறை (writes) 'copy on write' ஆகும்: ஒரு block ஒருபோதும் இருந்த இடத்திலேயே மேலெழுதப்படாது (overwrite). எனவே, எழுதும் பணியின் இடையில் system crash ஏற்பட்டாலும், பாதியிலேயே எழுதப்பட்ட filesystem-க்கு பதிலாக பழைய தரவுகள் அப்படியே பாதுகாப்பாக இருக்கும். Snapshots-க்கு கிட்டத்தட்ட எந்தச் செலவும் இல்லை, ஏனெனில் ஒரு snapshot என்பது பிற்கால எழுத்துகள் (later writes) தொடாத block-களின் தொகுப்பு மட்டுமே. ZFS ஆரம்ப Solaris 10 வெளியீட்டில் இல்லை. இது ஜூன் 2006-ல் வெளியான Solaris 10 6/06 மேம்படுத்தலில் சேர்க்கப்பட்டது.

Zones மூன்றாவது முக்கிய அங்கமாகும். ஒரு zone, ஒரு kernel-க்குள் பல தனிமைப்படுத்தப்பட்ட user spaces-ஐ வழங்குகிறது. ஒவ்வொன்றும் தனக்கென தனி root filesystem, process table மற்றும் network configuration ஆகியவற்றைக் கொண்டிருக்கும். Zones, பிப்ரவரி 2004-ல் Solaris 10 beta build-ல் தோன்றியது மற்றும் முழுமையான வெளியீட்டுடன் வந்தது. FreeBSD இதே கருத்தை முன்னரே வேறு கோணத்தில் அடைந்திருந்தது. jails மற்றும் Docker containers-க்கு இடையிலான ஒப்பீடு, kernel level isolation என்றால் என்ன என்பதைப் புரிந்துகொள்ள இன்றும் தெளிவான வழியாக உள்ளது. Zones இன்று illumos-ல் உயிர்ப்புடன் உள்ளன மற்றும் கீழே குறிப்பிடப்பட்டுள்ள குறைந்தபட்சம் ஒரு distribution-ன் அடித்தளமாகவும் உள்ளன.

Sun நிறுவனம் ஏன் Solaris source code-ஐ வெளியிட்டது

Sun நிறுவனம் 1 டிசம்பர் 2004 அன்று CDDL (Common Development and Distribution License)-ஐ OSI (Open Source Initiative)-விடம் சமர்ப்பித்தது, 14 ஜனவரி 2005 அன்று OSI அதற்கு ஒப்புதல் அளித்தது. CDDL என்பது MPL (Mozilla Public License)-ன் 1.1 பதிப்பை அடிப்படையாகக் கொண்டது. இதன் copyleft அம்சம் தனிப்பட்ட கோப்பு (file) அளவில் செயல்படுகிறது: ஒரு CDDL source file எப்போதும் CDDL உரிமத்திலேயே இருக்க வேண்டும், ஆனால் அதிலிருந்து உருவாக்கப்படும் binary கோப்பை பிற உரிமங்களின் கீழ் உள்ள குறியீடுகளுடன் இணைக்க முடியும்.

முதலில் DTrace வெளியிடப்பட்டது. Solaris 10 வெளியாவதற்கு ஆறு நாட்களுக்கு முன்பு, 25 ஜனவரி 2005 அன்று, புதிதாகத் தொடங்கப்பட்ட opensolaris.org தளத்தில் அதன் source code CDDL உரிமத்தின் கீழ் வெளியிடப்பட்டது. Solaris system code-ன் பெரும்பகுதி 14 ஜூன் 2005 அன்று வெளியிடப்பட்டது. ZFS, 31 அக்டோபர் 2005 அன்று Solaris-ன் முதன்மை development trunk-ல் இணைக்கப்பட்டது; 16 நவம்பர் 2005 அன்று build 27 மூலம் OpenSolaris உருவாக்குநர்களுக்குக் கிடைத்தது. OpenSolaris ஒரு நிறுவும் வசதி கொண்ட distribution-ஆகவும் மாறியது: 5 மே 2008 அன்று 2008.05 பதிப்பு live CD-ஆக வெளியானது, 1 ஜூன் 2009 அன்று SPARC ஆதரவுடன் 2009.06 பதிப்பு வெளியானது.

இன்று நீங்கள் எதை இயக்க முடியும் என்பதை இந்த உரிமத் தேர்வுதான் தீர்மானிக்கிறது. Free Software Foundation, CDDL-ஐ ஒரு free software உரிமமாக வகைப்படுத்துகிறது, ஆனால் இது GPL (GNU General Public License)-உடன் இணக்கமற்றது; இந்த இணக்கமின்மை MPL 1.1-லிருந்து பெறப்பட்டது. Linux kernel, GPLv2 உரிமத்தில் உள்ளது. இதனால்தான் Linux-ல் ZFS என்பது kernel source tree-க்குள் இணைக்கப்படாமல், அதற்கு வெளியே ஒரு kernel module-ஆக உருவாக்கப்படுகிறது; மேலும் இதனால்தான் அது mainline kernel-ல் இல்லை. ஏதேனும் ஒரு open உரிமத்தின் கீழ் வெளியிடும் முடிவுதான் இந்த வரலாற்றின் பிற பகுதிகளுக்கு மிக முக்கியமானது, மேலும் open source உரிமங்களின் வரலாறு ஒரு நிறுவனம் ஏன் இத்தகைய முடிவை எடுக்கிறது என்பதை விளக்குகிறது.

Oracle, Sun நிறுவனத்தை வாங்கியபோது என்ன நடந்தது

Oracle, Sun நிறுவனத்தை 7.4 பில்லியன் அமெரிக்க டாலருக்கு (Sun-ன் ரொக்கம் மற்றும் கடன்களைக் கழித்து 5.6 பில்லியன் அமெரிக்க டாலர்) வாங்குவதாக 20 ஏப்ரல் 2009 அன்று அறிவித்தது. இந்த ஒப்பந்தம் 27 ஜனவரி 2010 அன்று நிறைவடைந்தது.

13 ஆகஸ்ட் 2010 அன்று, Mike Shapiro, Bill Nesheim மற்றும் Chris Armes ஆகியோரால் எழுதப்பட்ட ஒரு உள்நாட்டு Oracle குறிப்பாணை நிறுவனத்திற்குள் பகிரப்பட்டு, பின்னர் கசிந்தது. அது புதிய கொள்கையை நேரடியாகக் குறிப்பிட்டது: "Solaris operating system-ன் முழுமையான source code-ஐ அது உருவாக்கப்படும்போது, தினசரி அடிப்படையில் நாங்கள் இனி விநியோகிக்க மாட்டோம்." இது மேலதிக community builds-ஐ நிராகரித்தது: "Solaris binaries-ன் nightly அல்லது bi-weekly builds போன்ற எந்தவொரு binary distributions-ஐயும், அல்லது OpenSolaris 2010.05 அல்லது அதற்குப் பிந்தைய பதிப்புகளை நாங்கள் வெளியிட மாட்டோம்." அதற்குப் பதிலாக, open source வெளியீடுகள் shipped products-ஐப் பின்பற்றும்: "எங்கள் enterprise Solaris operating system-ன் முழுமையான வெளியீடுகளுக்குப் பிறகு, அங்கீகரிக்கப்பட்ட CDDL அல்லது பிற open source-licensed code-க்கான புதுப்பிப்புகளை நாங்கள் விநியோகிப்போம்."

23 ஆகஸ்ட் 2010 அன்று, OpenSolaris Governing Board ஒரு தீர்மானத்தை நிறைவேற்றியது. அதில், Oracle வாரியத்திற்கு ஒரு தொடர்பாளரை (liaison) நியமிக்கவில்லை என்றும், 13 ஆகஸ்ட் அன்று மேம்பாட்டுப் பங்களிப்பை (development partnership) முடித்துவிட்டதாக அறிவித்ததையும் பதிவு செய்தது. Sun நிறுவனம் முதலில் எழுதிய சாசனத்தின்படி, சமூகத்தின் கட்டுப்பாட்டை Oracle-இடம் திரும்ப ஒப்படைக்க வாரியம் வாக்களித்தது, இதன் மூலம் அந்த வாரியம் கலைக்கப்பட்டது.

Oracle Solaris 11, 9 நவம்பர் 2011 அன்று வெளியிடப்பட்டது. 2 செப்டம்பர் 2017 அன்று, Solaris குழுக்களில் பெரும்பாலானோரை Oracle பணிநீக்கம் செய்தது. Oracle Solaris 11.4, 28 ஆகஸ்ட் 2018 அன்று வெளியிடப்பட்டது, அதுவே தற்போதைய வெளியீடாக உள்ளது. Oracle-ன் lifetime support policy-ன் கீழ், 11.4-க்கான Premier Support நவம்பர் 2031 வரையிலும், Extended Support நவம்பர் 2037 வரையிலும் நீடிக்கும். எனவே, Solaris என்பது 2018 முதல் தற்போதைய நிலையில் உள்ள ஒரு வெளியீட்டில், வெளியிடப்பட்ட காலாவதி தேதியைக் கொண்ட ஒரு ஆதரவு அளிக்கப்படும் வணிக ரீதியான தயாரிப்பு (supported commercial product) ஆகும்.

illumos எவ்வாறு தொடங்கியது மற்றும் அது ஏன் fork என்று அழைக்கப்படுகிறது

ஆகஸ்ட் 3, 2010 அன்று, அந்த குறிப்பாணை கசிவதற்கு பத்து நாட்களுக்கு முன்பு, Garrett D'Amore என்பவர் illumos-ஐ அறிவித்தார். லத்தீன் மொழியில் ஒளி என்று பொருள்படும் illum மற்றும் operating system என்பதன் சுருக்கமான OS ஆகியவற்றை இணைத்து இந்த பெயர் உருவாக்கப்பட்டது. இந்தத் திட்டத்தின் பெயரில் முதல் எழுத்து மட்டுமே பெரிய எழுத்தாக (capital) எழுதப்படுகிறது.

இதன் இலக்கு OS/Net ஆகும், இது பொதுவாக ON என்று குறிப்பிடப்படுகிறது: இது kernel மற்றும் அடிப்படை system utilities-ஐ உள்ளடக்கிய தொகுப்பாகும். OpenSolaris ஒருபோதும் முழுமையாக திறந்த நிலையில் (open) இருந்ததில்லை. Sun நிறுவனத்திற்கு வெளியே எவராலும் மீண்டும் உருவாக்க முடியாத (rebuild) பல பகுதிகள் closed binaries-ஆகவே விநியோகிக்கப்பட்டன. இதில் C library-க்குள் இருந்த internationalisation code (libc_i18n), NFS lock manager, cryptographic framework, LSI host bus adapters-க்கான mpt driver போன்ற drivers மற்றும் சில SPARC platform code ஆகியவை அடங்கும். இவற்றை மாற்றுவதே இந்தத் திட்டத்தின் முதல் பணியாக இருந்தது, ஏனெனில் source code-லிருந்து உருவாக்க முடியாத ஒரு operating system-ஐ பராமரிக்க முடியாது.

fork என்ற வார்த்தையைப் பயன்படுத்துவதில் D'Amore கவனமாக இருந்தார். "நாங்கள் OS/Net-ஐப் பின்தொடரும் விதம் காரணமாக, இன்று நாங்கள் ஒரு fork அல்ல," என்று அவர் எழுதினார். Oracle-ன் tree-ஐப் பின்பற்றி, மாற்றங்களை மீண்டும் upstream-க்கு அனுப்பக்கூடிய ஒரு downstream repository-ஐ அவர் விவரித்தார். பத்து நாட்களுக்குப் பிறகு, upstream பதிப்பிப்பதை நிறுத்திவிட்டது. பின்தொடர்வதற்கு வேறு எதுவும் இல்லாததால், illumos இயல்பாகவே ஒரு fork ஆக மாறியது. இதன் மையப்பகுதியான illumos-gate, ஆகஸ்ட் 2026 நிலவரப்படி 23,000 commits-ஐக் கடந்து, இப்போதும் தொடர்ந்து வளர்ந்து வருகிறது.

எந்தெந்த distributions illumos-லிருந்து வருகின்றன

illumos என்பது நீங்கள் நேரடியாக install செய்யும் ஒன்றல்ல. இது ஒரு core tree ஆகும்; இதன் மேல் தான் distributions ஒரு பயன்படுத்தக்கூடிய system-ஐ உருவாக்குகின்றன. தற்போது பயன்பாட்டில் உள்ள distributions கீழே கொடுக்கப்பட்டுள்ளன:

  • OpenIndiana, 14 September 2010 அன்று லண்டனில் உள்ள JISC Centre-ல் அதிகாரப்பூர்வமாகத் தொடங்கப்பட்டது. இது பழைய OpenSolaris desktop மற்றும் server distribution-ன் நேரடி வாரிசு ஆகும். இது Hipster என்று அழைக்கப்படும் ஒரு rolling release ஆகும்; இதன் 2026.04 snapshot 5 May 2026 அன்று வெளியிடப்பட்டது.
  • OmniOS ஒரு server distribution ஆகும். இதன் அசல் vendor பணியை நிறுத்திய பிறகு, தற்போது இது OmniOS CE என்ற பெயரில் அதன் community-ஆல் பராமரிக்கப்படுகிறது.
  • SmartOS என்பது zones-ஐ அடிப்படையாகக் கொண்ட ஒரு hypervisor platform ஆகும். இதை Joyent உருவாக்கியது. SmartOS மற்றும் Triton ஆகியவை MNX Solutions-க்கு மாற்றப்படுவதாக ஏப்ரல் 2022-ல் அறிவிக்கப்பட்டது; இது 1 May 2022 முதல் நடைமுறைக்கு வந்தது.
  • NexentaStor, storage appliances-க்காக இதே base-ஐப் பயன்படுத்தியது. இதுவே illumos உருவான வணிக ரீதியான தயாரிப்பு வரிசையாகும்.
  • Tribblix என்பது Peter Tribble என்பவரால் பராமரிக்கப்படும் ஒரு சிறிய distribution ஆகும்; இது கீழே விவரிக்கப்பட்டுள்ளது.
  • DilOS, Debian-ன் package tooling-ஐ illumos kernel-ன் மேல் அமைக்கிறது.

இன்றைய காலகட்டத்தில் ஒரு illumos system-ஐ நிறுவுதல்

Tribblix ஒரு பயனுள்ள உதாரணம், ஏனெனில் இது சிறியது, பொதுவெளியில் ஆவணப்படுத்தப்பட்டுள்ளது மற்றும் தொடர்ந்து புதிய releases-ஐ வெளியிட்டு வருகிறது. x86-க்கான Milestone 41, 5 ஆகஸ்ட் 2026 அன்று வெளியிடப்பட்டது, மேலும் SPARC வரிசை 21 ஏப்ரல் 2026 அன்று Milestone 34-ஐ எட்டியது. இந்தத் திட்டம் தன்னை நவீனக் கூறுகளைக் கொண்ட ஒரு retro பாணி என்று விவரிக்கிறது, மேலும் இது புதிய package system-க்கு மாறாமல், Solaris பயன்படுத்திய SVR4 package வடிவத்தையே தக்கவைத்துள்ளது.

நிறுவல் ஒரு live image மூலம் நடைபெறுகிறது. நீங்கள் ISO-வை boot செய்து, jack பயனராக jack கடவுச்சொல்லைக் கொண்டு login செய்ய வேண்டும், root உரிமைகளைப் பெற வேண்டும், பின்னர் ஒரு disk device-க்கு எதிராக installer-ஐ இயக்க வேண்டும். திட்டத்தின் சொந்த நிறுவல் ஆவணங்கள் வழங்கும் கட்டளை இதுதான்:

./live_install.sh -G c1t0d0

-G flag ஒரு EFI (extensible firmware interface) partition அமைப்பை எழுதுகிறது, மேலும் -b அதற்குப் பதிலாக legacy MBR (master boot record) அமைப்பைத் தேர்ந்தெடுக்கிறது. Disk பெயர்கள் Linux-லிருந்து வருபவர்களுக்குப் பழக்கமில்லாத வகையில், /dev/sda-க்கு பதிலாக Solaris cXtYdZ மரபைப் பின்பற்றுகின்றன. மென்பொருள் தொகுப்புகள் overlays என்று அழைக்கப்படுகின்றன, அவற்றை ஒரே வரியில் குறிப்பிடலாம்:

./live_install.sh -G c1t0d0 develop desktop

நிறுவிய பின், package கருவி zap ஆகும். இது overlays-ல் செயல்படுவதால், dependencies தானாகவே கையாளப்படுகின்றன:

zap refresh
zap install-overlay develop
zap update-overlay -a

இவை Tribblix வெளியிடும் கட்டளைகள். இவை நீங்கள் கட்டுப்படுத்தும் hardware அல்லது hypervisor-ல் இயங்குகின்றன. இவை VPS control panel-ல் உள்ள ஒரு click image-க்கு பின்னால் நீங்கள் காணக்கூடியவை அல்ல. 2026-ல் illumos deployment-ன் உண்மையான நிலை இதுதான்.

ZFS மற்றும் DTrace ஏன் Solaris-ஐ விட நீண்ட காலம் நிலைத்தன

ZFS-ன் source code வெளியிடப்பட்ட உடனேயே அது Solaris-லிருந்து வெளியேறியது. Pawel Jakub Dawidek அதை FreeBSD-க்கு port செய்தார்; 2008-ல் FreeBSD 7.0 பதிப்பிலிருந்து அது அந்த அமைப்பின் ஒரு பகுதியாக உள்ளது. Linux-க்கான native ZFS பணிகள் 2008-ல் தொடங்கப்பட்டு, 2013-ல் அதன் முதல் stable release வெளியிடப்பட்டது. 2010 முதல் 2013 வரை, illumos ZFS source-ன் முதன்மை நகலைப் பராமரித்தது. ஏனெனில், Oracle-ன் source tree மூடப்பட்டுவிட்டதால், மற்ற அனைத்து port-களும் தரவுகளைப் பெறுவதற்கு ஒரு பொதுவான ஆதாரம் தேவைப்பட்டது. இதுவே fork-ன் உண்மையான மதிப்பு: அது இல்லையென்றால், port-கள் ஒன்றிணைவதற்கு பொதுவான அடிப்படை இருந்திருக்காது.

அந்த port-களை ஒருங்கிணைக்க 2013 செப்டம்பர் 17 அன்று OpenZFS திட்டம் அறிவிக்கப்பட்டது. ZFS-ன் அசல் ஆசிரியர்களில் ஒருவரான Matt Ahrens இதன் நிறுவனர்களில் ஒருவர். 2020 நவம்பர் 30 அன்று OpenZFS 2.0 வெளியிடப்பட்டது. அதன் release notes-ல் முடிவுகள் தெளிவாகக் குறிப்பிடப்பட்டுள்ளன: "ZFS on Linux திட்டம் OpenZFS எனப் பெயர் மாற்றப்பட்டுள்ளது! இப்போது Linux மற்றும் FreeBSD ஆகிய இரண்டுமே ஒரே repository-லிருந்து ஆதரிக்கப்படுகின்றன, இதனால் OpenZFS-ன் அனைத்து வசதிகளும் இரு தளங்களிலும் கிடைக்கின்றன." FreeBSD 13.0 தனது சொந்த illumos வழித்தோன்றல் நகலைக் கைவிட்டு, அந்தப் பகிரப்பட்ட tree-க்கு மாறியது.

இரண்டு ZFS வரிசைகளும் disk நிலையில் பிரிந்துவிட்டன. open வரிசை, Sun வெளியிட்ட கடைசிப் பதிப்பான pool version 28-ல் நின்றுவிட்டது. பின்னர், placeholder version 5000-ன் கீழ் named feature flags முறைக்கு மாறியது. இதனால், ஒரு pool ஒற்றை எண்ணிற்குப் பதிலாக, தான் பயன்படுத்தும் வசதிகளை விளம்பரப்படுத்துகிறது. Oracle தனது சொந்த version எண்களை மூடிய source-க்குள் தொடர்ந்து அதிகரித்தது. ஒரு பக்கத்தில் version 28-க்கு மேல் உருவாக்கப்பட்ட pool-ஐ மறுபக்கத்தில் import செய்ய முடியாது. நீங்கள் எங்கு இயக்க வேண்டும் என்பதைத் தீர்மானிக்கிறீர்கள் என்றால், FreeBSD மற்றும் Linux-ல் OpenZFS எவ்வாறு செயல்படுகிறது என்ற பகுதி இரண்டுக்கும் இடையே உள்ள உண்மையான வேறுபாடுகளை விளக்குகிறது.

DTrace குறைந்த தூரமே பயணித்தது. 2009 ஜனவரியில் FreeBSD 7.1-ல் இது standard ஆக இருந்தது, Apple இதை Mac OS X 10.5 Leopard-ல் சேர்த்தது. 2017 ஆகஸ்டில் Oracle, DTrace kernel code-ஐ GPLv2 உரிமத்தின் கீழ் வெளியிட்டது. இது 2018 பிப்ரவரியில் பரவலாகக் கவனிக்கப்பட்டது, இது Linux-க்கான உரிமத் தடையை நீக்கியது. இது mainline kernel-ல் ஒருபோதும் இணைக்கப்படவில்லை. நடைமுறையில் Linux tracing என்பது eBPF-ல் இயங்குகிறது, மேலும் bpftrace அதற்கு DTrace-ன் D மொழியைப் போன்றே வடிவமைக்கப்பட்ட ஒரு scripting மொழியை வழங்குகிறது.

இந்த முறை Solaris-க்கு மட்டும் உரியதல்ல, இது ஒரு பொதுவான பாணி. Sun நிறுவனம் ZFS மற்றும் DTrace-ஐ மற்றவர்கள் நகலெடுத்துப் பணியாற்றும் உரிமத்தின் கீழ் வெளியிட்டது. அந்தப் பணிக்காக முதலீடு செய்த நிறுவனம் நின்றபோது, பணி தொடர்ந்தது. ஏனெனில், அந்த code ஏற்கனவே பிற tree-களிலும் பிறரின் கைகளிலும் இருந்தது. Solaris-ல் திறக்கப்படாத பகுதிகள், illumos மீண்டும் எழுத வேண்டியிருந்த closed binaries உட்பட, அந்த நிறுவனத்துடனேயே மறைந்துவிட்டன. open sourcing மாற்றும் விஷயம் இதுதான். Linux distributions ஒன்றிலிருந்து மற்றொன்று உருவான விதம் என்பதன் பின்னணியிலும் இதே நுட்பம்தான் உள்ளது.

VPS-ல் illumos-ஐ இயக்க வேண்டுமா?

பெரும்பாலானோருக்கு இதற்குப் பதில் 'இல்லை' என்பதே. மேலே உள்ளவை எதையும் முயற்சி செய்யுமாறு பரிந்துரைக்கவில்லை. illumos மிகக் குறைந்த அளவிலான hardware-ஐ மட்டுமே ஆதரிக்கிறது. இதற்குக் காரணம், Sun நிறுவனம் வழங்கிய driver தொகுப்புடன், சிறிய சமூகம் உருவாக்கிய சில driver-கள் மட்டுமே இதில் உள்ளன. VPS வழங்குநர்கள் Linux மற்றும் BSD images-ஐ மட்டுமே வழங்குகிறார்கள். எனவே, illumos-ஐ நிறுவ வேண்டுமெனில், custom images-ஐ அனுமதிக்கும் ஒரு வழங்குநரிடம் உங்கள் சொந்த ISO-வை பதிவேற்ற வேண்டும். அதன் பிறகு, virtual disk மற்றும் network devices கண்டறியப்படுகின்றனவா என்பதைச் சரிபார்க்க வேண்டும். மூன்றாம் தரப்பு மென்பொருள்கள் அந்த distribution-ன் சொந்த package தொகுப்பிலிருந்தோ அல்லது உங்கள் சொந்த compiler மூலமாகவோ கிடைக்கின்றன.

இதை இயக்குவதற்குச் சில உண்மையான காரணங்கள் இருக்கலாம்: நீங்கள் தொடர்ந்து பராமரிக்க வேண்டிய Solaris workload, நீங்கள் ஏற்கனவே இயக்கும் zones deployment, அல்லது அதன் source code-ஐப் படிப்பதில் உள்ள ஆர்வம். மேலே பட்டியலிடப்பட்டுள்ள distributions பராமரிக்கப்படுகின்றன, அவற்றின் mailing lists-ல் கேள்விகளுக்குப் பதில்கள் கிடைக்கும். இது ஒரு புதிய server-க்கான இயல்பான தேர்வாக இருக்க முடியாது.

நீங்கள் ZFS-க்காக இங்கு வந்திருந்தால், அதைப் பெற illumos தேவையில்லை. OpenZFS-ஐ Linux அல்லது FreeBSD-ல் இயக்கவும்; அங்கு அது தொகுக்கப்பட்டு (packaged), ஆவணப்படுத்தப்பட்டு (documented), பரவலாகப் பயன்படுத்தப்படுகிறது. ஒரு server-க்காக அதே குடும்பத்தைச் சேர்ந்த BSD-ஐப் பரிசீலிக்கிறீர்கள் என்றால், server platform-ஆக Linux மற்றும் FreeBSD-ன் நடைமுறை ஒப்பீடு தினசரி செயல்பாட்டில் என்ன மாற்றங்கள் இருக்கும் என்பதை விளக்குகிறது. illumos என்பது இந்த கருவிகளின் தொடக்கப்புள்ளி ஆகும். அவை எங்கிருந்து வந்தன என்பதை அறிந்துகொள்வது, அவற்றின் செயல்பாட்டைப் புரிந்துகொள்ள உதவும். குறிப்பாக, zpool மற்றும் zfs ஆகியவை ஏன் மற்ற Linux storage stack-களிலிருந்து முற்றிலும் மாறுபட்டு இருக்கின்றன என்பதற்கான காரணத்தை இது விளக்குகிறது.

FAQ

illumos மற்றும் OpenSolaris இரண்டும் ஒன்றா?

இல்லை. OpenSolaris என்பது Sun நிறுவனத்தின் திட்டம் மற்றும் விநியோகம் ஆகும். இது Oracle நிறுவனத்திற்குச் சென்றது, 2010-ல் Oracle இதை நிறுத்திவிட்டது. illumos என்பது 2010 ஆகஸ்ட் 3 அன்று அறிவிக்கப்பட்ட ஒரு தனித் திட்டமாகும். இது கடைசியாக வெளியிடப்பட்ட OpenSolaris core source-ஆன OS/Net consolidation-லிருந்து உருவாக்கப்பட்டது. இதன் முதல் பணி, OpenSolaris-ல் இருந்த மூடிய binary கூறுகளை (libc_i18n, NFS lock manager, cryptographic framework மற்றும் பல drivers) மாற்றுவதாகும். 2010-க்கு பிறகு Oracle எந்தவொரு illumos code-ஐயும் வெளியிடவில்லை, ஏனெனில் Oracle அதன் வெளியீட்டை நிறுத்திவிட்டது.

Linux kernel-ல் ஏன் ZFS-ஐ சேர்க்க முடியாது?

அவற்றின் உரிமங்கள் (licences) ஒத்துப்போவதில்லை. ZFS என்பது CDDL உரிமம் கொண்டது. Free Software Foundation இதை GPL-உடன் இணக்கமற்ற ஒரு free software உரிமமாகக் கருதுகிறது. இந்த இணக்கமின்மை MPL 1.1-லிருந்து CDDL-க்கு வந்தது. Linux kernel GPLv2 உரிமம் கொண்டது. இதன் நடைமுறை விளைவு என்னவென்றால், OpenZFS on Linux ஒரு out-of-tree kernel module-ஆகவே விநியோகிக்கப்படுகிறது. இது பொதுவாக நீங்கள் நிறுவும் ஒவ்வொரு kernel-க்கும் DKMS மூலம் உருவாக்கப்படுகிறது அல்லது prebuilt module package-ஆக கிடைக்கிறது. இது நன்றாக வேலை செய்கிறது, ஆனால் ஒவ்வொரு புதிய kernel-க்கும் இந்த module மீண்டும் உருவாக்கப்பட வேண்டும். எனவே, புதிய kernel வெளியான சில நாட்கள் அல்லது வாரங்களுக்குப் பிறகுதான் இது கிடைக்கும்.

Oracle Solaris இன்னும் ஆதரவில் உள்ளதா?

ஆம். Oracle Solaris 11.4, 2018 ஆகஸ்ட் 28 அன்று வெளியிடப்பட்டது, இதுவே தற்போதைய வெளியீடு. Oracle-ன் வாழ்நாள் ஆதரவு கொள்கையின்படி, Premier Support 2031 நவம்பர் வரையிலும், Extended Support 2037 நவம்பர் வரையிலும் உள்ளது. 2017 செப்டம்பர் 2 அன்று Solaris குழுவின் பெரும்பாலான பணியாளர்களை Oracle பணிநீக்கம் செய்தது. அதன் பிறகு 11.4 பதிப்பிற்கு புதிய major version-க்கு பதிலாக, support repository updates மட்டுமே வழங்கப்படுகின்றன. OpenSolaris வெளியிட்டது போல இதன் முழு source code-ம் வெளியிடப்படுவதில்லை.

VPS-ல் illumos-ஐ நிறுவ முடியுமா?

சில நேரங்களில் முடியும், ஆனால் provider-ன் image பட்டியலில் இது அரிதாகவே இருக்கும். பொதுவாக, custom ISO-வை இணைக்கவும் console-ஐப் பயன்படுத்தவும் அனுமதிக்கும் ஒரு provider தேவை. பின்னர், illumos tree-ல் உள்ள virtual disk மற்றும் network drivers அந்த hypervisor-ன் சாதனங்களை அடையாளம் காண்கிறதா என்று சரிபார்க்க வேண்டும். பொதுவான பயன்பாட்டிற்கான நிறுவலுக்கு OpenIndiana மற்றும் Tribblix ஆகியவை சிறந்த தொடக்க புள்ளிகள். SmartOS என்பது ஒரு guest-ஆக இல்லாமல், ஒரு hypervisor host-ஆக செயல்பட வடிவமைக்கப்பட்டுள்ளது. எதற்கும் பணம் செலுத்தும் முன், உள்ளூர் virtual machine-ல் சோதித்துப் பார்க்கவும்.

நான் Linux மட்டுமே பயன்படுத்துபவன் என்றால் DTrace கற்றுக்கொள்வது பயனுள்ளதா?

கருவி (tool) பெரும்பாலும் மாறினாலும், அதன் மாதிரி (model) அப்படியே பொருந்தும். Oracle, DTrace kernel code-ஐ 2017 ஆகஸ்டில் GPLv2 உரிமத்தின் கீழ் வெளியிட்டது மற்றும் Oracle Linux-க்காக ஒரு port-ஐ பராமரிக்கிறது. ஆனால் அது mainline kernel-ல் சேர்க்கப்படவில்லை. Linux-ல் tracing நடைமுறையில் eBPF மூலம் இயங்குகிறது. bpftrace பயன்படுத்தும் மொழி DTrace-ன் D மொழியைப் போலவே வடிவமைக்கப்பட்டுள்ளது. எனவே, probes, predicates மற்றும் aggregations ஆகிய இரண்டும் ஒரே பொருளைத் தருகின்றன. DTrace-ன் சிந்தனை முறையைக் கற்றுக்கொள்வது, bpftrace scripts-ஐ முதல் முயற்சியிலேயே புரிந்துகொள்ள உதவும்.

#solaris#illumos#unix-history#zfs#dtrace