NFS Di Solaris 11

Beberapa waktu lalu saya sempat menulis tentang Berbagi ZFS Dataset Lewat NFS. Tulisan itu menggunakan sampel dari mesin Solaris 10. Hari ini saya perlu membagi ZFS dataset di mesin Solaris 11. Ternyata teknik yang sudah saya post sebelumnya tidak bisa dipakai di mesin Solaris 11. Begini error yang muncul saat saya menggunakan perintah yang sama :

root@solaris11:~# zfs create -o mountpoint=/testnfs rpool/testnfs
root@solaris11:~# zfs set sharenfs='rw=192.168.10.99,root=192.168.10.99' rpool/testnfs
cannot set property for 'rpool/testnfs': 'share.nfs' must be one of 'on | off'
root@solaris11:~# 

Saya terus mendapat error :

cannot set property for 'rpool/testnfs': 'share.nfs' must be one of 'on | off'

Saya coba ikuti petunjuk yang ditampilkan pada error itu :

root@solaris11:~# zfs set share.nfs=on rpool/testnfs

Tapi masih tetap mendapat error yang sama seperti sebelumnya. Dari hasil pencarian di Google saya baru tahu ternyata format perintah NFS di Solaris 11 sedikit berbeda. Setelah saya ikut cara yang benar dari referensi Google, barulah saya bisa membagi ZFS dataset testnfs tadi dengan mesin lainnya :

root@solaris11:~# zfs set share=name=testnfs,path=/testnfs,prot=nfs,anon=0,sec=sys,rw=192.168.10.99 rpool/testnfs
name=testnfs,path=/testnfs,prot=nfs,anon=0,sec=sys,rw=192.168.10.99
root@solaris11:~# zfs set share.nfs=on rpool/testnfs
root@solaris11:~# 

Mesin 192.168.10.99 sekarang bisa mengakses direktori testnfs tersebut :

bash-3.00# mkdir /testnfs
bash-3.00# mount -F nfs 192.168.10.30:/testnfs /testnfs
bash-3.00# df -h | grep testnfs
192.168.10.30:/testnfs   141G    31K   141G     1%    /testnfs
bash-3.00# 

IPMP Pada Solaris 11

IPMP adalah singkatan dari IP Multi Path. Penjelasan sederhananya, IPMP menggabungkan beberapa network interface untuk mendapatkan redundansi IP. Misalnya kita punya server yang memiliki port e1000g0 & e1000g1; e1000g0 berada di system board sementara e1000g1 adalah port tambahan yang berada di PCI card. Kita bisa menggunakan 2 port tersebut untuk membuat sebuah virtual IP. Virtual IP inilah yang akan dikenal oleh dunia luar, dengan kata lain user yang ingin mengakses server ini cukup tahu virtual IP-nya.

Untuk memudahkan penamaan kita bisa mengubah nama data link masing-masing interface tersebut. Saya pernah tulis tentang fitur Solaris 11 yang bisa mengganti memisahkan interface fisik & data link di tulisan sebelumnya.

root@solaris11:~# dladm rename-link net0 onboard0
root@solaris11:~# dladm rename-link net1 pci0

Pada tulisan ini saya akan berbagi bagaimana caranya membuat IPMP interface dengan menggunakan interface onboard0pci0 tadi.

root@solaris11:~# dladm show-phys
LINK              MEDIA                STATE      SPEED  DUPLEX    DEVICE
pci0              Ethernet             unknown    0      unknown   e1000g1
net2              Ethernet             unknown    0      unknown   e1000g2
onboard0          Ethernet             unknown    0      unknown   e1000g0
net3              Ethernet             up         1000   full      e1000g3
root@solaris11:~#
root@solaris11:~# dladm show-phys -P | egrep "e1000g0|e1000g1"
pci0              e1000g1      Ethernet             -----
onboard0          e1000g0      Ethernet             -----
root@solaris11:~#

Misalkan kita ingin memiliki “virtual IP” 172.16.103.100 untuk IPMP interface tadi. Masing-masing interface yang membentuk IPMP interface juga akan memiliki IP; IP yang dipakai oleh interface onboard0 & pci0 akan dikenal sebagai test address. Dalam contoh ini interface onboard0 akan menggunakan test address 172.16.103.101 & interface pci0 akan menggunakan IP 172.16.103.102.

Test address digunakan oleh masing-masing interface untuk memastikan konektifitas server dengan dunia luar. Masing-masing interface akan menggunakan test address untuk memastikan koneksi ke target address 172.16.103.1. Target address yang paling mudah diset adalah IP gateway. Untuk memastikan konektifitas masing-masing interface akan mengirimkan paket ICMP menuju target address. ICMP ini sama dengan yang dipakai oleh perintah ping. Jadi bisa juga dikatakan masing-masing interface akan melakukan ping pada target address. Bila hasil testnya tidak mendapatkan jawaban, maka interface tersebut akan memberi tahu IPMP bahwa dirinya tidak punya koneksi ke dunia luar & harap jangan menggunakan dirinya untuk sementara waktu. IPMP tidak akan menggunakan interface yang bersangkutan untuk berkomunikasi dengan dunia luar. Bila kedua interface gagal mendapatkan reply, maka IPMP akan down sehingga server ini terputus koneksinya dengan dunia luar. Pada saat itu, semua user tidak bisa mengakses server ini.

Langkah pertama membuat IPMP adalah dengan membuat IPMP group; misalkan kita sebut grupnya “oam0“. Grup ini yang akan menyatukan interface onboard0 & pci0. Perintahnya untuk membuat IPMP group adalah seperti berikut ini :

root@solaris11:~# ipadm create-ipmp oam0

Lalu kita buat IP interface pada masing-masing data link (onboard0 & pci0) dengan perintah seperti berikut :

root@solaris11:~# ipadm create-ip onboard0
root@solaris11:~# ipadm create-ip pci0

Setelah masing-masing link sudah memiliki IP interface, kita perlu mendaftarkannya ke dalam IPMP group oam0 :

root@solaris11:~# ipadm add-ipmp -i onboard0 -i pci0 oam0
root@solaris11:~# ipmpstat -g
GROUP       GROUPNAME   STATE     FDT       INTERFACES
oam0        oam0        ok        --        pci0 onboard0
root@solaris11:~#

Langkah berikutnya adalah mengaktifkan virtual IP 172.16.103.100 pada interface IPMP :

root@solaris11:~# ipadm create-addr -T static -a 172.16.103.100/24 oam0/v4

Kita bisa memeriksa status interface oam0 tersebut dengan salah satu perintah berikut ini :

root@solaris11:~# ipmpstat -an
ADDRESS                   STATE  GROUP       INBOUND     OUTBOUND
::                        down   oam0        --          --
172.16.103.100            up     oam0        onboard0    pci0 onboard0
root@solaris11:~# 
root@solaris11:~# ifconfig oam0
oam0: flags=8001000843 mtu 1500 index 5
        inet 172.16.103.100 netmask ffffff00 broadcast 172.16.103.255
        groupname oam0
root@solaris11:~# 
root@solaris11:~# ipadm show-addr
ADDROBJ           TYPE     STATE        ADDR
lo0/v4            static   ok           127.0.0.1/8
net3/v4static     static   ok           172.16.103.10/24
oam0/v4           static   ok           172.16.103.100/24
lo0/v6            static   ok           ::1/128
onboard0/_a       static   ok           fe80::250:56ff:fe36:7c7c/10
pci0/_a           static   ok           fe80::20c:29ff:fe94:8526/10
root@solaris11:~#

Pada langkah ini bisa diliat virtual IP oam0 172.16.103.100 sudah aktif. IPMP hanya menggunakan interface onboard0 untuk menerima data (INBOUND) & menggunakan kedua interface fisik untuk mengirimkan data keluar (OUTBOUND).

root@solaris11:~# ipmpstat -an
ADDRESS                   STATE  GROUP       INBOUND     OUTBOUND
::                        down   oam0        --          --
172.16.103.100            up     oam0        onboard0    pci0 onboard0
root@solaris11:~#

Sampai saat ini sebenarnya IPMP sudah selesai dibuat hanya saja masih menggunakan link-based failure detection. Maksudnya IPMP hanya akan menganggap suatu interface gagal bila koneksi fisiknya putus (misalnya bila kabelnya dicabut).

Solaris 11 menggunakan link-based failure detection sebagai default. Selain link-based failure detection, kita bisa memilih untuk menggunakan probe-based failure detection. Dengan probe-based failure detection, masing-masing interface (onboard0 & pci0) secara aktif memeriksa konektifitasnya dengan dunia luar. Jadi bisa saja meskipun kabelnya tidak terputus/tercabut, gateway IPnya tidak bisa diakses sehingga interface tersebut menginformasikan gagal koneksi kepada IPMP Group.

Berikut adalah cara untuk memberi alamat IP (test address) pada masing-masing interface :

root@solaris11:~# ipadm create-addr -T static -a 172.16.103.101/24 onboard0/v4
root@solaris11:~# ipadm create-addr -T static -a 172.16.103.102/24 pci0/v4

Untuk memeriksa masing-masing interface & test address-nya kita bisa menggunakan perintah berikut ini :

root@solaris11:~# ipmpstat -tn
INTERFACE   MODE       TESTADDR            TARGETS
pci0        routes     172.16.103.102      172.16.103.1
onboard0    routes     172.16.103.101      172.16.103.1
root@solaris11:~#

Mari kita periksa sekali lagi semua IP yang sudah kita aktifkan :

root@solaris11:~# ifconfig onboard0
onboard0: flags=9040843 mtu 1500 index 6
        inet 172.16.103.101 netmask ffffff00 broadcast 172.16.103.255
        groupname oam0
        ether 0:50:56:36:7c:7c 
root@solaris11:~# ifconfig pci0
pci0: flags=9040843 mtu 1500 index 7
        inet 172.16.103.102 netmask ffffff00 broadcast 172.16.103.255
        groupname oam0
        ether 0:c:29:94:85:26 
root@solaris11:~# 
root@solaris11:~# ipadm show-addr
ADDROBJ           TYPE     STATE        ADDR
lo0/v4            static   ok           127.0.0.1/8
net3/v4static     static   ok           172.16.103.10/24
oam0/v4           static   ok           172.16.103.100/24
onboard0/v4       static   ok           172.16.103.101/24
pci0/v4           static   ok           172.16.103.102/24
lo0/v6            static   ok           ::1/128
onboard0/_a       static   ok           fe80::250:56ff:fe36:7c7c/10
pci0/_a           static   ok           fe80::20c:29ff:fe94:8526/10
root@solaris11:~#

Untuk mengetahui bagaimana masing-masing test address memeriksa konektivitas dengan dunia luar, kita bisa gunakan perintah berikut ini :

root@solaris11:~# ipmpstat -p
TIME      INTERFACE   PROBE  NETRTT    RTT       RTTAVG    TARGET
0.87s     onboard0    i145   0.56ms    0.82ms    0.51ms    172.16.103.1
1.07s     pci0        i137   0.32ms    0.41ms    0.42ms    172.16.103.1
1.65s     onboard0    i146   0.34ms    0.43ms    0.50ms    172.16.103.1
1.95s     pci0        i138   0.35ms    0.45ms    0.42ms    172.16.103.1
3.02s     onboard0    i147   0.33ms    0.43ms    0.49ms    172.16.103.1
3.48s     pci0        i139   0.33ms    0.42ms    0.42ms    172.16.103.1
4.72s     onboard0    i148   0.33ms    0.42ms    0.48ms    172.16.103.1
4.81s     pci0        i140   0.31ms    0.40ms    0.42ms    172.16.103.1
6.28s     onboard0    i149   0.29ms    0.38ms    0.47ms    172.16.103.1
6.76s     pci0        i141   0.41ms    0.73ms    0.46ms    172.16.103.1
^C
root@solaris11:~#

Terlihat bahwa masing-masing test address secara aktif mengirimkan paket ICP ke target address.

Dengan pengaturan seperti di atas, IPMP akan menggunakan masing-masing interface/test address dalam konfigurasi aktif-aktif.

root@solaris11:~# ipmpstat -i
INTERFACE   ACTIVE  GROUP       FLAGS     LINK      PROBE     STATE
pci0        yes     oam0        -------   up        ok        ok
onboard0    yes     oam0        --mbM--   up        ok        ok
root@solaris11:~#

Seperti dijelaskan di atas, IPMP Group akan menggunakan menggunakan kedua interface untuk mengirimkan data.

root@solaris11:~# ipmpstat -an
ADDRESS                   STATE  GROUP       INBOUND     OUTBOUND
::                        down   oam0        --          --
172.16.103.100            up     oam0        onboard0    pci0 onboard0
root@solaris11:~#

Kita punya opsi untuk mengatur hanya salah satu interface yang dipakai & menjadikan interface lainnya dalam posisi standby. Misalnya kita ingin mengatur test address pci0 sebagai standby interface, maka perintahnya seperti berikut ini :

root@solaris11:~# ipadm set-ifprop -p standby=on -m ip pci0

Dengan perintah tersebut maka IPMP Group hanya akan menggunakan interface onboard0 untuk menerima & mengirimkan data.

root@solaris11:~# ipmpstat -an
ADDRESS                   STATE  GROUP       INBOUND     OUTBOUND
::                        down   oam0        --          --
172.16.103.100            up     oam0        onboard0    onboard0
root@solaris11:~#

Sekarang mari kita coba untuk mencabut kabel pada interface onboard0 & melihat apa yang terjadi pada IPMP Group.

root@solaris11:~# tail -0f /var/adm/messages 

Feb  4 22:54:24 solaris11 mac: [ID 486395 kern.info] NOTICE: onboard0 link down
Feb  4 22:54:24 solaris11 in.mpathd[155]: [ID 215189 daemon.error] The link has gone down on onboard0
Feb  4 22:54:24 solaris11 in.mpathd[155]: [ID 968981 daemon.error] IP interface failure detected on onboard0 of group oam0

^C
root@solaris11:~# ipmpstat -an
ADDRESS                   STATE  GROUP       INBOUND     OUTBOUND
::                        down   oam0        --          --
172.16.103.100            up     oam0        pci0        pci0
root@solaris11:~#

Ketika IPMP mendeteksi putusnya koneksi pada interface onboard0, maka secara otomatis IPMP akan mengalihkan koneksi ke interface pci0.

Saat kita menyambungkan kembali kabel pada interface onboard0, IPMP akan mengembalikan koneksi seperti kondisi semula. Lihat contoh log yang muncul & bagaimana IPMP mengembalikan koneksi ke interface onboard0.

root@solaris11:~# tail -0f /var/adm/messages 
Feb  4 22:55:39 solaris11 mac: [ID 435574 kern.info] NOTICE: onboard0 link up, 1000 Mbps, full duplex
Feb  4 22:55:39 solaris11 in.mpathd[155]: [ID 820239 daemon.error] The link has come up on onboard0
Feb  4 22:55:54 solaris11 in.mpathd[155]: [ID 341557 daemon.error] IP interface repair detected on onboard0 of group oam0
^C
root@solaris11:~# ipmpstat -an
ADDRESS                   STATE  GROUP       INBOUND     OUTBOUND
::                        down   oam0        --          --
172.16.103.100            up     oam0        onboard0    onboard0
root@solaris11:~#

Butuh waktu sekitar 15 detik bagi IPMP untuk menyadari bahwa koneksi pada interface onboard0 sudah kembali normal.

Lalu bagaimana bila pada suatu waktu kabel pada standby interface (pci0) terputus? Meskipun IPMP tidak sedang menggunakan pci0, tapi IPMP tetap mendeteksi gagalnya koneksi pada pci0 sehingga IPMP tahu bahwa dia tidak lagi memiliki backup.

root@solaris11:~# tail -0f /var/adm/messages 

Feb  4 23:01:42 solaris11 mac: [ID 486395 kern.info] NOTICE: pci0 link down
Feb  4 23:01:42 solaris11 in.mpathd[155]: [ID 215189 daemon.error] The link has gone down on pci0
Feb  4 23:01:42 solaris11 in.mpathd[155]: [ID 968981 daemon.error] IP interface failure detected on pci0 of group oam0
^C
root@solaris11:~# ipadm show-if
IFNAME     CLASS    STATE    ACTIVE OVER
lo0        loopback ok       yes    --
net3       ip       ok       yes    --
oam0       ipmp     ok       yes    onboard0 pci0
onboard0   ip       ok       yes    --
pci0       ip       failed   no     --
root@solaris11:~#

Bisa dilihat bahwa koneksi in & out tetap aktif melalui interface onboard0.

root@solaris11:~# ipmpstat -an
ADDRESS                   STATE  GROUP       INBOUND     OUTBOUND
::                        down   oam0        --          --
172.16.103.100            up     oam0        onboard0    onboard0
root@solaris11:~#

Tapi IPMP Group menyadari bahwa dia sudah kehilangan backup interface & menyatakan status dirinya DEGRADED :

We can see that the IPMP group marked as degraded :
root@solaris11:~# ipmpstat -g
GROUP       GROUPNAME   STATE     FDT       INTERFACES
dodol2      dodol2      failed    --        --
oam0        oam0        degraded  10.00s    onboard0 [pci0]
root@solaris11:~#

Bila koneksi kabel pada interface pci0 sudah disambungkan kembali, IPMP akan mendeteksinya juga seperti terlihat pada contoh log berikut ini :

root@solaris11:~# tail -0f /var/adm/messages 

Feb  4 23:02:22 solaris11 mac: [ID 435574 kern.info] NOTICE: pci0 link up, 1000 Mbps, full duplex
Feb  4 23:02:23 solaris11 in.mpathd[155]: [ID 820239 daemon.error] The link has come up on pci0
Feb  4 23:02:38 solaris11 in.mpathd[155]: [ID 341557 daemon.error] IP interface repair detected on pci0 of group oam0
^C
root@solaris11:~# ipadm show-if
IFNAME     CLASS    STATE    ACTIVE OVER
lo0        loopback ok       yes    --
net3       ip       ok       yes    --
oam0       ipmp     ok       yes    onboard0 pci0
onboard0   ip       ok       yes    --
pci0       ip       ok       no     --
root@solaris11:~#

Jadi bisa disimpulkan bahwa IPMP sangat berguna untuk mendapatkan koneksi yang lebih handal (reliable). Semua user sedang mengakses server ini tidak akan mendapat gangguan bila salah satu interface gagal beroperasi, atau bila salah satu kabel terputus.

UPDATE : semua perintah di atas akan langsung tersimpan secara permanen, artinya konfigurasinya tidak akan berubah meskipun kita reboot servernya.

Rename Data Link Solaris 11

Biasanya nama network interface merupakan simbol dari driver yang dipakai :

root@testbed:# ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
igb0: flags=9040843<UP,BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4,NOFAILOVER> mtu 1500 index 2
inet 10.23.103.60 netmask ffffff80 broadcast 10.23.103.127
groupname CBTEAXCDR
ether 0:21:28:b3:46:68
igb0:1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
inet 10.23.103.62 netmask ffffff80 broadcast 10.23.103.127
nxge0: flags=69040843<UP,BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4,NOFAILOVER,STANDBY,INACTIVE> mtu 1500 index 3
inet 10.23.103.61 netmask ffffff80 broadcast 10.23.103.127
groupname CBTEAXCDR
ether 0:21:28:b8:c3:24
root@testbed:#

Misalnya igb (Intel Gigabit Ethernet), nxge (Sun 10/1 Gigabit Ethernet), bge (Broadcom Gigabit Ethernet), atau e1000g (Intel PRO/1000 Gigabit). Jadi seperti contoh di atas, interface pertama akan menggunakan nama igb0. Sementara interface lain diberi nama nxge0

Solaris 11 menggunakan konsep datalink yang terpisah dengan physical datalink (network interface). Dengan demikian nama datalink tidak lagi tergantung pada hardware driver. Kita jadi punya keleluasaan untuk mengganti nama link dari network interface tadi dengan nama yang lebih mudah dipahami. Default-nya, nama link adalah net0, net1, net2, dst. Misalnya seperti contoh berikut ini :

root@solaris11:~# dladm show-phys -P
LINK DEVICE MEDIA FLAGS
pci0 e1000g1 Ethernet -----
net2 e1000g2 Ethernet -----
onboard0 e1000g0 Ethernet -----
net3 e1000g3 Ethernet -----
root@solaris11:~#
root@solaris11:~# dladm show-link
LINK CLASS MTU STATE OVER
pci0 phys 1500 up --
net2 phys 1500 unknown --
onboard0 phys 1500 up --
net3 phys 1500 up --
root@solaris11:~#

Pada contoh di atas datalink net0 menggunakan driver e1000g. Misalnya kita ingin mengubah nama link net2 menjadi management0, kita bisa menggunakan perintah dladm :

root@solaris11:~# dladm rename-link net2 management0
root@solaris11:~# dladm show-phys -P
LINK DEVICE MEDIA FLAGS
pci0 e1000g1 Ethernet -----
management0 e1000g2 Ethernet -----
onboard0 e1000g0 Ethernet -----
net3 e1000g3 Ethernet -----
root@solaris11:~# dladm show-link
LINK CLASS MTU STATE OVER
pci0 phys 1500 up --
management0 phys 1500 unknown --
onboard0 phys 1500 up --
net3 phys 1500 up --
root@solaris11:~#

Selanjutnya kita bisa bekerja dengan nama link management0 :

root@solaris11:~# ipadm create-ip management0
root@solaris11:~# ipadm create-addr -T static -a 172.16.103.37/24 management0/v4static
root@solaris11:~# ipadm show-addr
ADDROBJ TYPE STATE ADDR
lo0/v4 static ok 127.0.0.1/8
net3/v4static static ok 172.16.103.30/24
oam0/link static ok 172.16.103.100/24
onboard0/onboard0 static ok 172.16.103.101/24
pci0/pci0 static ok 172.16.103.102/24
management0/v4static static ok 172.16.103.37/24
lo0/v6 static ok ::1/128
onboard0/_a static ok fe80::a00:27ff:feea:c690/10
pci0/_a static ok fe80::a00:27ff:fe77:60d1/10
root@solaris11:~# ifconfig management0
management0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 7
inet 172.16.103.37 netmask ffffff00 broadcast 172.16.103.255
ether 8:0:27:14:4d:92
root@solaris11:~#

Dengan kemampuan mengubah nama link, kita jadi lebih leluasa untuk menggunakan nama yang lebih informatif sesuai fungsi & peruntukan link tersebut.

Set IP Address Solaris 11

Mengganti IP address di Solaris 10 relatif mudah & praktis. Cukup dengan 1 perintah, tidak perlu mengedit beberapa file & perubahannya langsung permanen tanpa perlu reboot. Misalnya kita punya 1  network interface net2 yang belum diberi IP :

root@solaris:~# ifconfig net2
net2: flags=1000842<BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 11
inet 0.0.0.0 netmask ffffff00 broadcast 0.0.0.255
ether 0:c:29:94:85:30
root@solaris:~#

Kita ingin menggunakan interface tersebut dengan IP statis 172.16.103.222/24. Cukup jalankan perintah ipadm untuk mengaktifkan IPnya :

root@solaris:~# ipadm create-addr -T static -a 172.16.103.222/24 net2/v4static

Maka interface net2 akan aktif seketika dengan IP tersebut :

root@solaris:~# ifconfig net2
net2: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 11
inet 172.16.103.222 netmask ffffff00 broadcast 172.16.103.255
ether 0:c:29:94:85:30
root@solaris:~#

IP tersebut tidak akan hilang walaupun kita restart mesinnya.

UPDATE :

Misalnya kita coba jalankan perintah ipadm untuk mengaktifkan IP address tapi mendapat error seperti ini :

root@solaris:~# ipadm create-addr -T static -a 172.16.103.222/24 net2/v4static
ipadm: cannot create address: No such interface
root@solaris:~#

Ini artinya belum ada IP interface pada link net2, kita perlu membuat IP interface terlebih dulu sebelum menambahkan IP address :

root@solaris:~# ipadm create-ip net2
root@solaris:~# ipadm create-addr -T static -a 172.16.103.222/24 net2/v4static
root@solaris:~#

Ganti Hostname Solaris 11

Saya baru tahu ada banyal hal yang baru dari sistem operasi Solaris 11. Salah satunya adalah hal sederhana seperti mengganti hostname sebuah server.

solaris11_logo

Misalnya saya punya server Solaris 11 dengan hostname seperti ini :

root@solaris11:~# uname -n
solaris11
root@solaris11:~# hostname
solaris11
root@solaris11:~#

Untuk mengganti hostname dari “solaris11” menjadi “sol11_testbed01” saya perlu menggunakan perintah svccfg seperti berikut ini :

root@solaris11:~# svccfg -s svc:/system/identity:node setprop config/nodename="sol11_testbed01"
root@solaris11:~# svcadm refresh svc:/system/identity:node
root@solaris11:~# svcadm restart svc:/system/identity:node

Perubahannya instant, saya cukup relogin dan hostname-nya sudah berubah :

root@solaris11:~# su -
Oracle Corporation      SunOS 5.11      11.0    November 2011
root@sol11_testbed01:~# uname -a
SunOS sol11_testbed01 5.11 11.0 i86pc i386 i86pc
root@sol11_testbed01:~# uname -n
sol11_testbed01
root@sol11_testbed01:~# hostname 
sol11_testbed01
root@sol11_testbed01:~#

Solaris 11 langsung memperbaiki file /etc/hosts juga :

root@sol11_testbed01:~# more /etc/hosts
#
# Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
# Use is subject to license terms.
#
# Internet host table
#
::1 sol11_testbed01 localhost 
127.0.0.1 sol11_testbed01 localhost loghost

Tentu ini suatu kemajuan dari apa yang dimiliki oleh Solaris 10. Di Solaris 10 saya perlu mengedit secara manual beberapa file berikut :

  • /etc/hosts
  • /etc/nodaname
  • /etc/hostname.ce0 (untuk semua interface yang ada)

Dan untuk mengaktifkan hostname baru di Solaris 10, saya perlu lakukan reboot server; tentu ini sangat tidak praktis. Solaris 11 rupanya sudah menjawab keterbatasan tersebut.