Solaris

Membuat zone di Solaris 11

Posted on

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

Posted on

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

Posted on

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

Posted on

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

Posted on

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.