SSD Nodes Learn Hosting plans →
Panduan Matt ConnorOleh Matt Connor

Solaris ke illumos: Fork yang Tetap Bertahan

Solaris membuka kode sumber pada 2005, lalu Oracle menutupnya setelah mengakuisisi Sun pada 2010. illumos menjaga ZFS dan DTrace tetap hidup hingga kini.

Apa itu Solaris dan illumos

Solaris dan illumos adalah dua cabang dari satu pohon sumber Unix. Sun Microsystems mengembangkan Solaris dan menerbitkan sebagian besar kode sumbernya pada 2005. Oracle mengakuisisi Sun pada 2010 dan berhenti menerbitkan kode sumber tersebut. Karena itu, pengembang di luar Oracle melanjutkan pengembangan kode terbuka tersebut dengan nama baru: illumos. Sistem operasinya sendiri memiliki penggunaan yang terbatas pada 2026. Namun, lapisan penyimpanan dan alat tracing yang dibangun di dalamnya tidak demikian. Itulah alasan sejarah ini layak Anda ketahui.

Jika Anda menjalankan ZFS di Linux atau FreeBSD, Anda menjalankan kode yang ditulis di Sun untuk Solaris dan tetap digunakan setelah perusahaan, lini produk, serta perselisihan lisensinya berakhir. Tulisan ini mengisahkan bagaimana hal itu terjadi, berdasarkan tanggal yang telah diperiksa.

Asal Solaris: BSD, System V, dan SVR4

Sun Microsystems didirikan pada 24 February 1982 oleh Scott McNealy, Andy Bechtolsheim, Vinod Khosla, dan Bill Joy. Sistem operasinya, SunOS, diturunkan dari BSD (Berkeley Software Distribution), yaitu lini Unix dari universitas yang dikerjakan Bill Joy sebelum Sun berdiri. Lini Unix lainnya adalah System V milik AT&T, yang dijual secara komersial. Kedua cabang tersebut merupakan pemisahan yang dijelaskan dalam pohon keluarga Unix yang berujung pada Linux, dan selama satu dekade Sun berada di sisi BSD.

Pada 1987, Sun dan AT&T mengumumkan proyek bersama untuk menggabungkan BSD, System V, dan Xenix menjadi satu release: UNIX System V Release 4, yang biasanya ditulis SVR4. Pada 4 September 1991, Sun mengumumkan bahwa SunOS 4 akan digantikan oleh sistem turunan SVR4 dengan nama pemasaran baru, Solaris 2. Solaris 2.0 dirilis pada June 1992, hanya untuk perangkat keras SPARC. Sun telah berpindah sisi dalam perpecahan Unix tersebut, dan pelanggannya harus mem-port software mereka.

Nama lama itu tidak pernah benar-benar hilang. Kernel tetap menggunakan penomoran SunOS, sehingga Solaris 2.6 menjalankan SunOS 5.6, dan Oracle Solaris 11.4 masih melaporkan dirinya sebagai SunOS 5.11. Jalankan uname -a pada mesin illumos pada 2026 dan kata pertama yang dicetak tetap SunOS, karena illumos mewarisi nama tersebut bersama kodenya.

Hal yang diperkenalkan Solaris 10 pada 2005

Solaris 10 dirilis pada 31 Januari 2005. Rilis ini penting dalam konteks ini karena semua teknologi yang bertahan dari perusahaan tersebut sudah ada dalam rilis itu atau hadir melalui salah satu pembaruannya.

DTrace ditulis di Sun oleh Bryan Cantrill, Mike Shapiro, dan Adam Leventhal, lalu pertama kali tersedia pada November 2003. DTrace menginstrumentasikan kernel yang sedang berjalan dan proses user yang sedang berjalan tanpa kompilasi ulang serta tanpa me-restart proses yang sedang Anda monitor. Probe yang belum diaktifkan tidak menimbulkan biaya karena instrumentasi hanya dipasang saat sebuah skrip memintanya. Karena itu, administrator bersedia menggunakannya pada mesin produksi. DTrace meraih penghargaan utama dalam The Wall Street Journal's 2006 Technology Innovation Awards dan penghargaan USENIX STUG (Software Tools User Group) pada 2008.

ZFS dirancang di Sun oleh Jeff Bonwick, Bill Moore, dan Matthew Ahrens, lalu diumumkan pada 14 September 2004. ZFS menggabungkan volume manager dan filesystem ke dalam satu lapisan. Hal ini memungkinkan ZFS memeriksa checksum setiap block saat dibaca dan memperbaiki block yang rusak dari salinan redundan. Penulisan menggunakan copy on write: block tidak pernah ditimpa di lokasi yang sama. Dengan demikian, crash di tengah penulisan tetap mempertahankan data lama, bukan menghasilkan filesystem yang hanya tertulis sebagian. Snapshot hampir tidak memerlukan ruang tambahan karena snapshot pada dasarnya hanya merupakan kumpulan block yang tidak disentuh oleh penulisan berikutnya. ZFS belum termasuk dalam rilis awal Solaris 10. ZFS dirilis dalam pembaruan Solaris 10 6/06 pada Juni 2006.

Zones adalah komponen ketiga. Sebuah zone menyediakan beberapa user space yang terisolasi pada satu kernel. Setiap user space memiliki root filesystem, process table, dan konfigurasi jaringan sendiri. Zones muncul dalam build beta Solaris 10 pada Februari 2004 dan dirilis bersama versi lengkapnya. FreeBSD telah mencapai konsep yang sama lebih dahulu melalui pendekatan yang berbeda, dan perbandingan antara jail dan container Docker masih menjadi cara paling jelas untuk memahami isolasi pada level kernel. Zones masih digunakan di illumos saat ini dan menjadi fondasi setidaknya satu distribusi yang dibahas di bawah.

Mengapa Sun membuka kode sumber Solaris

Sun mengajukan CDDL (Common Development and Distribution License) kepada OSI (Open Source Initiative) pada 1 December 2004, dan OSI menyetujuinya pada 14 January 2005. CDDL didasarkan pada MPL (Mozilla Public License) versi 1.1. Ketentuan copyleft-nya berlaku pada tingkat file individual: file sumber CDDL harus tetap menggunakan CDDL, tetapi binary yang dibangun dari file tersebut dapat digabungkan dengan kode yang menggunakan ketentuan lain.

DTrace menjadi yang pertama. Kode sumbernya dirilis di bawah CDDL pada 25 January 2005, di situs opensolaris.org yang baru diluncurkan, enam hari sebelum Solaris 10 sendiri dirilis. Sebagian besar kode sistem Solaris menyusul pada 14 June 2005. ZFS diintegrasikan ke trunk pengembangan utama Solaris pada 31 October 2005 dan diterima oleh pengembang OpenSolaris dalam build 27 pada 16 November 2005. OpenSolaris juga menjadi distribusi yang dapat diinstal: 2008.05 hadir pada 5 May 2008 sebagai live CD, sedangkan 2009.06 hadir pada 1 June 2009 dengan dukungan SPARC.

Pilihan lisensi tersebut masih menentukan hal yang dapat Anda jalankan saat ini. Free Software Foundation menggolongkan CDDL sebagai lisensi perangkat lunak bebas yang tidak kompatibel dengan GPL (GNU General Public License), dan ketidakcocokan ini diwarisi dari MPL 1.1. Kernel Linux menggunakan GPLv2. Karena itu, ZFS on Linux dibangun sebagai kernel module di luar source tree kernel, bukan digabungkan ke dalamnya, dan tidak terdapat di kernel mainline. Keputusan untuk menerbitkan kode di bawah lisensi terbuka apa pun adalah hal yang paling menentukan bagi bagian cerita selanjutnya, dan sejarah lisensi open source menjelaskan alasan perusahaan mengambil keputusan tersebut.

Apa yang terjadi ketika Oracle membeli Sun

Oracle mengumumkan pada 20 April 2009 bahwa mereka akan mengakuisisi Sun senilai US$7.4 miliar, atau US$5.6 miliar setelah dikurangi kas dan utang Sun. Akuisisi tersebut selesai pada 27 January 2010.

Pada 13 August 2010, memo internal Oracle yang ditulis oleh Mike Shapiro, Bill Nesheim, dan Chris Armes diedarkan di dalam perusahaan, lalu bocor. Memo tersebut menyatakan kebijakan baru secara langsung: "Kami tidak akan lagi mendistribusikan kode sumber untuk keseluruhan sistem operasi Solaris secara real-time selama proses pengembangannya, setiap malam." Kebijakan tersebut meniadakan build komunitas berikutnya: "Kami tidak akan merilis distribusi biner lain, seperti nightly build atau build dua mingguan biner Solaris, maupun distribusi OpenSolaris 2010.05 atau versi setelahnya." Rilis open source selanjutnya akan mengikuti produk yang dirilis: "Kami akan mendistribusikan pembaruan untuk kode berlisensi CDDL atau lisensi open source lainnya setelah full release sistem operasi Solaris enterprise kami."

Pada 23 August 2010, OpenSolaris Governing Board mengesahkan resolusi yang mencatat bahwa Oracle belum menunjuk liaison untuk board tersebut dan telah mengumumkan berakhirnya kemitraan pengembangan pada 13 August. Board tersebut memilih untuk mengembalikan kendali komunitas kepada Oracle berdasarkan charter yang sebelumnya ditulis oleh Sun. Langkah ini membubarkan board tersebut.

Oracle Solaris 11 dirilis pada 9 November 2011. Pada 2 September 2017, Oracle memberhentikan sebagian besar tim Solaris. Oracle Solaris 11.4 dirilis pada 28 August 2018 dan masih menjadi rilis terbaru saat ini. Berdasarkan kebijakan lifetime support Oracle, Premier Support untuk 11.4 berlaku hingga November 2031 dan Extended Support hingga November 2037. Dengan demikian, Solaris adalah produk komersial yang masih didukung dan memiliki tanggal akhir dukungan yang dipublikasikan, dengan rilis yang telah menjadi rilis terbaru sejak 2018.

Bagaimana illumos dimulai dan mengapa disebut fork

Pada 3 August 2010, sepuluh hari sebelum memo tersebut bocor, Garrett D'Amore mengumumkan illumos. Nama ini menggabungkan illum, bahasa Latin untuk cahaya, dengan OS, singkatan dari operating system. Proyek ini menuliskannya sebagai satu kata dengan hanya huruf pertama yang menggunakan kapital.

Sasarannya adalah OS/Net, yang biasanya ditulis ON: konsolidasi yang memuat kernel dan utilitas sistem inti. OpenSolaris tidak pernah sepenuhnya terbuka. Beberapa bagian dirilis sebagai binary tertutup yang tidak dapat dibangun ulang oleh siapa pun di luar Sun. Bagian tersebut mencakup kode internasionalisasi di dalam pustaka C (libc_i18n), NFS lock manager, cryptographic framework, driver seperti mpt untuk LSI host bus adapter, serta sebagian kode platform SPARC. Mengganti bagian-bagian tersebut adalah tugas pertama proyek ini, karena sistem operasi yang tidak dapat dibangun dari source bukanlah sistem yang dapat dipelihara.

D'Amore berhati-hati dalam menggunakan kata fork. "Kami belum menjadi fork saat ini karena cara kami mengikuti OS/Net," tulisnya. Ia menjelaskan repository downstream yang akan mengikuti tree Oracle dan dapat mengirimkan perubahan kembali ke upstream. Sepuluh hari kemudian, upstream berhenti menerbitkan pembaruan. illumos secara otomatis menjadi fork karena tidak ada lagi yang dapat diikuti. Core tree, illumos-gate, telah melampaui 23,000 commit per August 2026 dan masih terus menerima commit.

Distribusi apa yang berasal dari illumos

illumos bukan sesuatu yang Anda instal. illumos adalah pohon kode inti, dan distribusi membangun sistem yang dapat digunakan di atasnya. Berikut distribusi yang masih dirilis.

  • OpenIndiana diluncurkan secara resmi pada 14 September 2010 di JISC Centre, London, dan merupakan turunan yang paling dekat dengan distribusi desktop dan server OpenSolaris yang lama. OpenIndiana adalah rolling release bernama Hipster, dan snapshot 2026.04 dipublikasikan pada 5 May 2026.
  • OmniOS adalah distribusi server yang kini dikelola oleh komunitasnya sebagai OmniOS CE setelah vendor asalnya berhenti mengembangkannya.
  • SmartOS adalah platform hypervisor yang dibangun di atas zones. Joyent membuatnya dan mengumumkan pada April 2022 bahwa SmartOS dan Triton akan dialihkan ke MNX Solutions, efektif 1 May 2022.
  • NexentaStor menggunakan basis yang sama untuk storage appliance. NexentaStor merupakan lini komersial yang menjadi asal illumos.
  • Tribblix adalah distribusi kecil yang dikelola oleh Peter Tribble dan dijelaskan di bawah.
  • DilOS menempatkan tooling paket Debian di atas kernel illumos.

Seperti apa instalasi sistem illumos saat ini

Tribblix merupakan contoh yang berguna karena sistem ini berukuran kecil, dokumentasinya tersedia untuk publik, dan masih dirilis. Milestone 41 untuk x86 diterbitkan pada 5 August 2026, sedangkan lini SPARC mencapai Milestone 34 pada 21 April 2026. Proyek ini mendeskripsikan dirinya sebagai sistem bergaya retro dengan komponen modern. Proyek ini tetap menggunakan format paket SVR4 yang digunakan Solaris, bukan beralih ke sistem paket yang lebih baru.

Instalasi dijalankan dari live image. Anda mem-boot ISO, login sebagai pengguna jack dengan password jack, beralih ke root, lalu menjalankan installer terhadap perangkat disk. Berikut perintah yang dicantumkan dalam dokumentasi instalasi resmi proyek:

./live_install.sh -G c1t0d0

Flag -G menulis tata letak partisi EFI (extensible firmware interface), sedangkan -b memilih tata letak MBR (master boot record) legacy. Penamaan disk mengikuti konvensi Solaris cXtYdZ, bukan /dev/sda. Hal ini merupakan perbedaan pertama yang akan terasa asing jika Anda terbiasa menggunakan Linux. Set perangkat lunak disebut overlay dan dapat dicantumkan pada baris yang sama:

./live_install.sh -G c1t0d0 develop desktop

Setelah instalasi, tool paket yang digunakan adalah zap. Tool ini bekerja pada overlay sehingga dependensi ditangani secara otomatis:

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

Itulah perintah yang dipublikasikan oleh Tribblix. Perintah tersebut dijalankan pada hardware atau hypervisor yang Anda kendalikan. Anda tidak akan menemukannya di balik image sekali klik pada panel kontrol VPS. Kesenjangan ini menggambarkan kondisi deployment illumos yang sebenarnya pada 2026.

Mengapa ZFS dan DTrace bertahan lebih lama daripada Solaris

ZFS meninggalkan Solaris hampir segera setelah source code-nya dipublikasikan. Pawel Jakub Dawidek mem-porting-nya ke FreeBSD, dan ZFS menjadi bagian dari sistem sejak FreeBSD 7.0 pada 2008. Pengerjaan ZFS native untuk Linux dimulai pada 2008 dan menghasilkan rilis stabil pertamanya pada 2013. Antara 2010 dan 2013, illumos menyimpan salinan referensi source code ZFS karena source tree Oracle tertutup dan setiap port lain memerlukan sumber untuk melakukan pull. Di situlah nilai konkret fork tersebut: tanpa fork itu, port-port tersebut tidak memiliki ancestor bersama untuk menjadi dasar merge.

Proyek OpenZFS diumumkan pada 17 September 2013 untuk mengoordinasikan port-port tersebut. Matt Ahrens, salah satu penulis asli ZFS, termasuk di antara pendirinya. OpenZFS 2.0 dirilis pada 30 November 2020. Catatan rilisnya menjelaskan hasilnya secara langsung: "The ZFS on Linux project has been renamed OpenZFS! Both Linux and FreeBSD are now supported from the same repository making all of the OpenZFS features available on both platforms." FreeBSD 13.0 menghapus salinan turunannya sendiri dari illumos dan beralih ke tree bersama tersebut.

Kedua lini ZFS telah berbeda pada format disk. Lini terbuka berhenti pada pool version 28, versi terakhir yang dipublikasikan Sun, lalu beralih ke named feature flags di bawah placeholder version 5000. Dengan demikian, pool mengiklankan fitur yang digunakannya, bukan satu angka versi. Oracle terus menaikkan nomor versinya sendiri dalam source code tertutup. Pool yang dibuat pada version di atas 28 di satu sisi tidak dapat diimpor di sisi lain. Jika Anda memilih tempat untuk menjalankannya, perbandingan perilaku OpenZFS pada FreeBSD dan Linux menjelaskan perbedaan aktual antara kedua host tersebut.

DTrace menempuh perjalanan yang lebih singkat. DTrace sudah menjadi fitur standar di FreeBSD pada 7.1 pada Januari 2009, dan Apple menambahkannya ke Mac OS X 10.5 Leopard. Oracle merilis kernel code DTrace di bawah GPLv2 pada Agustus 2017. Perubahan ini banyak diperhatikan pada Februari 2018 dan menghapus hambatan lisensi untuk Linux. DTrace tidak pernah di-merge ke kernel mainline. Dalam praktiknya, tracing Linux berjalan menggunakan eBPF, dan bpftrace menyediakan bahasa scripting yang sengaja dibuat mirip dengan D milik DTrace.

Pola ini adalah inti persoalannya secara umum, bukan hanya persoalan Solaris. Sun memublikasikan ZFS dan DTrace di bawah lisensi yang memungkinkan pihak lain menyimpan salinan dan terus mengembangkannya. Ketika perusahaan yang membiayai pekerjaan tersebut berhenti, pengembangannya tetap berlanjut karena code-nya sudah berada di tree dan dikelola oleh pihak lain. Bagian Solaris yang tidak pernah dibuka, termasuk binary tertutup yang harus ditulis ulang oleh illumos, ikut berhenti bersama perusahaan tersebut. Itulah perubahan yang dihasilkan oleh open source, dan mekanisme yang sama juga mendasari cara distribusi Linux diturunkan satu sama lain.

Apakah illumos sebaiknya dijalankan pada VPS?

Bagi hampir semua orang, jawabannya adalah tidak. Penjelasan di atas bukan rekomendasi untuk mencobanya. illumos hanya mendukung rentang perangkat keras yang terbatas karena kumpulan drivernya terdiri atas driver yang didukung Sun serta driver yang ditulis komunitas kecil sejak saat itu. Penyedia VPS menyediakan image Linux dan BSD. Karena itu, instalasi illumos biasanya berarti mengunggah ISO sendiri ke penyedia yang mengizinkan image kustom, lalu memeriksa apakah disk virtual dan perangkat jaringan dikenali. Perangkat lunak pihak ketiga berasal dari kumpulan paket distribusi itu sendiri atau dari compiler yang Anda miliki.

Ada alasan yang valid untuk menjalankannya: workload Solaris yang harus tetap aktif, deployment zones yang sudah Anda operasikan, atau ketertarikan untuk membaca source code. Distribusi yang tercantum di atas dikelola secara aktif, dan milisnya menjawab pertanyaan. Namun, itu berbeda dari menjadikannya pilihan default untuk server baru.

Jika Anda datang ke sini karena ZFS, Anda tidak memerlukan illumos untuk menggunakannya. Jalankan OpenZFS pada Linux atau FreeBSD, yang menyediakan paket, dokumentasi, dan deployment luas untuknya. Jika Anda sedang mempertimbangkan sisi BSD dari keluarga yang sama untuk server, perbandingan praktis Linux dan FreeBSD sebagai platform server membahas perubahan dalam pengoperasian sehari-hari. illumos adalah asal-usul tools tersebut. Memahami asalnya membantu menjelaskan banyak perilakunya, termasuk alasan zpool dan zfs terasa sangat berbeda dari bagian lain stack storage Linux.

FAQ

Apakah illumos sama dengan OpenSolaris?

Tidak. OpenSolaris adalah proyek dan distribusi Sun yang kemudian diwarisi Oracle, dan Oracle menghentikannya pada 2010. illumos adalah proyek terpisah yang diumumkan pada 3 August 2010. Proyek ini dibangun dari source core OpenSolaris terakhir yang dipublikasikan, yaitu konsolidasi OS/Net. Tugas pertamanya adalah mengganti komponen biner tertutup yang disertakan OpenSolaris, termasuk libc_i18n, NFS lock manager, cryptographic framework, dan beberapa driver. Tidak ada kode illumos yang berasal dari Oracle setelah 2010 karena Oracle berhenti memublikasikannya.

Mengapa Linux tidak dapat menyertakan ZFS di kernelnya?

Lisensinya tidak kompatibel. ZFS menggunakan CDDL, yang dikategorikan Free Software Foundation sebagai lisensi free software yang tidak kompatibel dengan GPL. Ketidakcocokan ini diwarisi CDDL dari MPL 1.1. Linux kernel menggunakan GPLv2. Akibatnya, OpenZFS on Linux didistribusikan sebagai kernel module out of tree. Module ini biasanya dibangun oleh DKMS untuk setiap kernel yang Anda instal, atau disediakan sebagai prebuilt module package. Module tersebut berfungsi dengan baik, tetapi harus dibangun ulang untuk setiap kernel baru. Karena itu, module ini dapat tertinggal beberapa hari atau minggu dari rilis kernel terbaru.

Apakah Oracle Solaris masih didukung?

Ya. Oracle Solaris 11.4 dirilis pada 28 August 2018 dan merupakan rilis saat ini. Premier Support berlaku hingga November 2031, sedangkan Extended Support berlaku hingga November 2037 berdasarkan kebijakan lifetime support Oracle. Oracle memberhentikan sebagian besar tim Solaris pada 2 September 2017. Sejak itu, 11.4 menerima pembaruan support repository, bukan versi major baru. Source lengkapnya tidak dipublikasikan seperti saat OpenSolaris memublikasikannya.

Dapatkah saya menginstal illumos pada VPS?

Terkadang, tetapi jarang tersedia langsung dalam daftar image provider. Anda umumnya memerlukan provider yang mengizinkan pemasangan custom ISO dan menyediakan console. Selanjutnya, periksa apakah virtual disk dan network driver dalam tree illumos mengenali perangkat milik hypervisor. OpenIndiana dan Tribblix biasanya menjadi titik awal untuk instalasi general purpose. SmartOS dirancang sebagai host hypervisor, bukan guest. Lakukan pengujian dalam virtual machine lokal sebelum membayar layanan apa pun.

Apakah DTrace layak dipelajari jika saya hanya menggunakan Linux?

Modelnya tetap dapat diterapkan, meskipun tool-nya sebagian besar tidak dapat digunakan di Linux. Oracle merilis kode kernel DTrace di bawah GPLv2 pada August 2017 dan memelihara port untuk Oracle Linux. Namun, kode tersebut tidak pernah digabungkan ke mainline kernel. Dalam praktiknya, tracing di Linux menggunakan eBPF. Bahasa bpftrace dirancang agar menyerupai D milik DTrace. Karena itu, probes, predicates, dan aggregations memiliki arti yang sama pada keduanya. Mempelajari cara berpikir DTrace membuat script bpftrace dapat dibaca sejak percobaan pertama.

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