Solaris
Membuat zone di Solaris 11
Ini adalah contoh cara membuat zone di Solaris 11 dimana pada proses pembuatannya dibutuhkan adanya repositori, pembuatan repositori sendiri sudah dibahas di tulisan sebelumnya.
Persiapkan satu mountpoint untuk lokasi dimana zone tersebut akan di-install, kemudian buat satu virtual nic yang nantinya akan di-assign kedalam zone tersebut.
# zfs create -o mountpoint=/zones rpool/zones # zfs list rpool/zones # dladm create-vnic -l net0 vnic1
Buat zone baru (zone1)
# zonecfg -z zone1 # zonecfg:zone1> create # create: Using system default template 'SYSdefault' # zonecfg:zone1> set zonepath=/zones/zone1 # zonecfg:zone1> add net # zonecfg:zone1:net> set physical=vnic1 # zonecfg:zone1:net> end # zonecfg:zone1> exit
Periksa status zone1 yang barusan dibuat, statusnya seharusnya masih “configured”
# zoneadm list -cv ID NAME STATUS PATH BRAND IP 0 global running / solaris shared - zone1 configured /zones/zone1 solaris excl
Buat system profile untuk zone1, kemudian install…. jangan lupa untuk mengarahkan ke profile yang sudah kita buat.
# sysconfig create-profile -o zone1.profile.xml # zoneadm -z zone1 install -c /root/zone1.profile.xml The following ZFS file system(s) have been created: rpool/zones/zone1 Progress being logged to /var/log/zones/zoneadm.20130719T022204Z.zone1.install Image: Preparing at /zones/zone1/root. AI Manifest: /tmp/manifest.xml.qQaqej SC Profile: /root/zone1.profile.xml Zonename: zone1 Installation: Starting ... Creating IPS image Startup linked: 1/1 done Installing packages from: solaris origin: http://10.87.17.250/ origin: http://localhost:1008/solaris/bbb612b800c4a05fe489e22179376fa4cb0b1970/ origin: http://localhost:1008/solaris/d360067de7dce7593b27cca30a0eef0cbb0f4039/ DOWNLOAD PKGS FILES XFER (MB) SPEED Completed 183/183 33556/33556 222.2/222.2 261k/s PHASE ITEMS Installing new actions 46825/46825 Updating package state database Done Updating image state Done Creating fast lookup database Done Installation: Succeeded Note: Man pages can be obtained by installing pkg:/system/manual done. Done: Installation completed in 1403.715 seconds. Next Steps: Boot the zone, then log into the zone console (zlogin -C) to complete the configuration process. Log saved in non-global zone as /zones/zone1/root/var/log/zones/zoneadm.20130719T022204Z.zone1.install
Nyalakan zone1 dan periksa kembali status zone1, seharusnya statusnya adalah “running”
# zoneadm -z zone1 boot # zoneadm list -cv ID NAME STATUS PATH BRAND IP 0 global running / solaris shared 1 zone1 running /zones/zone1 solaris excl
Proses pembuatan zonenya sudah selesai 🙂
Membuat Repositori Lokal Solaris 11
Seperti diketahui bahwa Oracle 11 rilis dengan salah satu fitur baru yaitu “IPS repository” dimana IPS ini memungkinkan kita dengan mudah memasang paket, memperbarui paket, serta melakukan patching terhadap aplikasi serta paket yang ada. IPS ini sangat fleksibel karena dapat disiapkan dalam bentuk antarmuka file (NFS) atau antarmuka HTTP.
Repositori ini tersedia online di Oracle buat Anda yang punya koneksi tingkat dewa, jika tidak; berarti kita butuh repositori lokal.
IPS mendukung dua jenis repositori: repositori “origin” dan repositori “mirror”. Untuk alasan performance dan tujuan keamanan, repository “origin” adalah pilihan yang harus dipilih.
Repositori origin berisi semua metadata (seperti katalog, manifes, dan indeks pencarian) dan isi (file) untuk satu atau lebih paket. Sebuah repositori cermin hanya berisi paket konten (file). Klien yang menginstal dan memperbarui paket dari repositori cermin masih harus men-download metadata dari repositori “origin”.
Cukuplah sudah basa-basinya, langsung saja kita lakukan proses pembuatan repositori lokal nya.
Disini saya menggunakan disk tersendiri (c8t1d0) yang saya dedikasikan hanya untuk menampung paket-paket repositori.
# echo | format Searching for disks...done AVAILABLE DISK SELECTIONS: 0. c8t0d0 <VMware,-VMware Virtual S-1.0-20.00GB> /pci@0,0/pci15ad,1976@10/sd@0,0 1. c8t1d0 <VMware,-VMware Virtual S-1.0 cyl 2608 alt 2 hd 255 sec 63> /pci@0,0/pci15ad,1976@10/sd@1,0 Specify disk (enter its number): Specify disk (enter its number):
Buat zfs pool tersendiri (ipsrepo) menggunakan disk yang tadi sudah ditentukan.
# zpool create ipspool c8t1d0 # zpool status ipspool pool: ipspool state: ONLINE scan: none requested config: NAME STATE READ WRITE CKSUM ipspool ONLINE 0 0 0 c8t1d0 ONLINE 0 0 0 errors: No known data errors
Buat mountpoint repo pada pool ipsrepo, kemudian periksa menggunakan “df -h”.
# zfs create -o mountpoint=/repo ipspool/repo # df -h Filesystem Size Used Available Capacity Mounted on ... ipspool 20G 31K 20G 1% /ipspool ipspool/repo 20G 31K 20G 1% /repo
Untuk bisa membuat repositori lokal ada dua cara, melakukannya online ke oracle atau menggunakan iso, dalam tulisan ini kita akan melakukannya menggunakan iso.
Unduh terlebih dahulu Oracle Solaris 11.1 Repository Image di website Oracle, dibutuhkan akun login untuk mengunduhnya, atau Anda bisa dateng ke rumah/kantor saya jika mau menyalin :).
Dikarenakan iso nya terdiri dari dua file, maka tahapan setelah mendownload adalah menggabungkannya, mount iso hasil penggabungan ke “/mnt”, kemudian lakukan rsync untuk menyalin isi repo di iso ke mountpoint “/repo” yang tadi sudah kita siapkan.
# cat sol-11_1-repo-full.iso-a sol-11_1-repo-full.iso-b > sol-11_1-repo-full.iso # mount -F hsfs /repo/sol-11_1-repo-full.iso /mnt # rsync -aP /mnt/repo/ /repo
Membuat repositori dengan menggunakan antarmuka file [ Repository via NFS ]
# zfs set share=name=ipsrepo,path=/repo,prot=nfs ipspool/repo name=ipsrepo,path=/repo,prot=nfs # zfs set sharenfs=on ipspool/repo # grep repo /etc/dfs/sharetab /repo ipsrepo nfs sec=sys,rw
Dari sisi client tinggal jalankan :
# pkg set-publisher -g /net/10.87.17.250/repo solaris
Opsi yang biasa digunakan : -g, –add-origin, -G, –remove-origin, -m, –add-mirror, -M, –remove-mirror.
# pkg publisher PUBLISHER TYPE STATUS P LOCATION solaris origin online F file:///net/10.87.17.250/repo/
Membuat repositori dengan menggunakan antarmuka Web [ Repository via HTTP ]
# svccfg -s application/pkg/server setprop pkg/inst_root=/repo # svccfg -s application/pkg/server setprop pkg/readonly=true # svcadm refresh application/pkg/server # svcadm enable application/pkg/server # svcprop -p pkg/inst_root application/pkg/server /repo
Dari sisi client tinggal jalankan :
# pkg set-publisher -g http://10.87.17.250 solaris # pkg publisher PUBLISHER TYPE STATUS P LOCATION solaris origin online F http://10.87.17.250
Port yang digunakan defaultnya adalah 80, jika hendak menggunakan custom port (misal : 8080), jalankan perintah berikut :
# svccfg –s application/pkg/server setprop pkg/port=8080
Agar proses pencarian lebih cepat, maka lakukan rebuild index pencarian
# pkgrepo -s /repo refresh Initiating repository refresh.
Update Repository
Seiring waktu tentulah paket-paket yang ada di repo harus di-update, cara meng-updatenya juga bisa dilakukan dengan SRU iso, download dan lakukan update repo menggunakan SRU iso image.
# mount -F hsfs /repo/sol-11_1_6_4_0-incr-repo.iso /mnt # pkgrecv -s /mnt/repo -d file:///net/10.87.17.250/repo '*' Processing packages for publisher solaris ... Retrieving and evaluating 197 package(s)... PROCESS ITEMS GET (MB) SEND (MB) Completed 197/197 2133/2133 4601/4601 # pkgrepo rebuild -s /repo Initiating repository rebuild.
Jika hendak memperbarui paket-paket yang ada di repo, dan Anda punya koneksi yang lumayan, silakan lakukan update repo secara online, caranya :
# pkgrecv -s http://pkg.oracle.com/solaris/release/ -d /repo/ solaris
Lakukan test dengan meng-install salah satu paket menggunakan perintah “pkg install” atau dengan cara membuat zone.
Ubah Alamat IP di Solaris 11
Belajar lagi Solaris 11, karena Solaris 11 ini beda jauh dengan Solaris versi sebelumnya, dan ini adalah catatan pertama tentang Solaris 11 tentang cara mengubah alamat IP di Solaris 11
Konfigurasi sebelumnya :
# ipadm show-addr ADDROBJ TYPE STATE ADDR lo0/v4 static ok 127.0.0.1/8 net0/v4 static ok 10.87.17.253/24 lo0/v6 static ok ::1/128 net0/v6 addrconf ok fe80::20c:29ff:fe41:4860/10
Proses penggantian :
# ipadm delete-addr net0/v4 # ipadm create-addr -T static -a 10.87.17.251/24 net0/v4
Konfigurasi sesudahnya :
# ipadm show-addr ADDROBJ TYPE STATE ADDR lo0/v4 static ok 127.0.0.1/8 net0/v4 static ok 10.87.17.251/24 lo0/v6 static ok ::1/128 net0/v6 addrconf ok fe80::20c:29ff:fe41:4860/10
Sekian kapan-kapan disambung kembali 🙂
Ubah kepemilikan berkas symlink
Baru tau ternyata ada cara untuk mengubah “User Owner” maupun “Group Owner” dari berkas symlink.
chown -h user:group symlink
Jika file yang mau diubah terlalu banyak bisa kombinasikan dengan “find”, contoh ingin mengubah owner dari beberapa berkas yang tadinya milik user “103” menjadi milik user “oracle”
find / -user 103 -exec chown -h oracle {} ;
Semoga bermanfaat…
Clonning zone/container Solaris
Ini adalah langkah-langkah cara melakukan clonning terhadap zone/container di Solaris, dalam tulisan ini dicontohkan bahwa kita akan melakukan clonning dari zone “sumber” menjadi zone “tujuan”.
root@globalzone # zoneadm list -cv ID NAME STATUS PATH BRAND IP 0 global running / native shared 1 sumber running /zone/sumber native shared
Terlihat hanya ada satu non-global zone yaitu zone “sumber”
Matikan zone “sumber” dan export konfigurasi zone “sumber”
root@globalzone # zoneadm -z sumber halt root@globalzone # zonecfg -z sumber export -f /zone/tujuan.cfg
Sesuaikan dengan konfigurasi zone Anda, dalam contoh ini hanya zonepath serta alamat ip yang disesuaikan.
root@globalzone # cat /zone/tujuan.cfg create -b set zonepath=/zone/tujuan set autoboot=true set ip-type=shared add net set address=10.87.2.20 set physical=bge0 end add dedicated-cpu set ncpus=1-2 end
Buat zone kosong berdasarkan dari konfigurasi yang tadi kita export.
root@globalzone # zonecfg -z tujuan -f /zone/tujuan.cfg
Lakukan clonning
root@globalzone # # zoneadm -z tujuan clone sumber Copying /zone/sumber... root@globalzone # zoneadm list -cv ID NAME STATUS PATH BRAND IP 0 global running / native shared - sumber installed /zone/sumber native shared - tujuan installed /zone/tujuan native shared
Jika sudah seperti ini tinggal nyalakan zone “tujuan” dan ikuti step-step yang muncul dilayar hingga finish.
root@globalzone # zoneadm -z tujuan boot root@globalzone # zlogin -C tujuan
Selamat, proses clonning berhasil dan saatnya berexperimen.