Masalah Dengan BOOTFS Pada Solaris 11

Tadi pagi rekan saya mengajak diskusi tentang masalah bootfs di Solaris 11. Ceritanya rekan saya sedang melakukan recovery boot disk server Solarisnya yang bermasalah. Cara recovery-nya adalah dengan melakukan restore dari ZFS snapshot. Setelah boot servernya dengan menggunakan DVD Solaris, rekan saya sudah melakukan partisi root disk seperti ini :

partition> label
[0] SMI Label
[1] EFI Label
Specify Label type[0]: 0
Ready to label disk, continue? y

partition> p
Current partition table (unnamed):
Total disk cylinders available: 14087 + 2 (reserved cylinders)

Part      Tag    Flag     Cylinders         Size            Blocks
  0       root    wm       0 - 14085      136.70GB    (14086/0/0) 286678272
  1 unassigned    wu       0                0         (0/0/0)             0
  2     backup    wu       0 - 14086      136.71GB    (14087/0/0) 286698624
  3 unassigned    wm       0                0         (0/0/0)             0
  4 unassigned    wm       0                0         (0/0/0)             0
  5 unassigned    wm       0                0         (0/0/0)             0
  6 unassigned    wm       0                0         (0/0/0)             0
  7 unassigned    wm       0                0         (0/0/0)             0

partition> label
[0] SMI Label
[1] EFI Label
Specify Label type[0]: 0
Ready to label disk, continue? y

partition>

Harddisk yang dialokasikan sebagai boot device di Solaris 11 harus menggunakan label SMI. Tapi rekan saya keliru saat membuat rpool, dia membuat rpool tanpa mendefinisikan slice 0. Perintah yang dia pakai adalah seperti berikut ini :

root@solaris:/# zpool create -o version=33 -f -o failmode=continue -R /a -m legacy -o cachefile=/etc/zfs/zpool.cache rpool c3t0d0

Karena argumen yang dipakai hanya c3t0d0 (keseluruhan harddisk) hasil rpool-nya menjadi seperti berikut ini :

root@solaris:/root# zpool status
  pool: rpool
 state: ONLINE
  scan: none requested
config:

        NAME      STATE     READ WRITE CKSUM
        rpool     ONLINE       0     0     0
          c3t0d0  ONLINE       0     0     0

errors: No known data errors
root@solaris:/root#

Akibatnya rekan saya menemukan masalah saat mendefinisikan bootfs, dia mendapatkan error seperti berikut ini :

root@solaris:/root# zpool set bootfs=rpool/ROOT/solaris rpool
cannot set property for 'rpool': property 'bootfs' not supported on EFI labeled devices
root@solaris:/root#

Ternyata walaupun di awal tadi harddisk c3t0d0 sudah diberi label SMI, labelnya berubah lagi karena penggunaan perintah zpool yang kurang tepat. Pembuatan rpool tanpa mendefinisikan slice, mengakibatkan Solaris melabel ulang harddisk tersebut dengan label EFI. Harddisk dengan label EFI ditandai dengan adanya partisi nomor 8, ini bisa dilihat dengan menggunakan perintah prtvtoc seperti contoh berikut ini :

root@solaris:/root# prtvtoc /dev/rdsk/c3t0d0
* /dev/rdsk/c3t0d0 partition map
*
* Dimensions:
*     512 bytes/sector
* 286739329 sectors
* 286739262 accessible sectors
*
* Flags:
*   1: unmountable
*  10: read-only
*
* Unallocated space:
*       First     Sector    Last
*       Sector     Count    Sector
*          34       222       255
*
*                          First     Sector    Last
* Partition  Tag  Flags    Sector     Count    Sector  Mount Directory
       0      4    00        256 286722656 286722911
       8     11    00  286722912     16384 286739295
 root@solaris:/root#

Di akhir diskusi saya sarankan untuk menghapus saja rpool yang sudah dibuat. Setelah dihapus, saya sarankan untuk membuat rpool dengan mendefinisikan harddisk lengkap sampai slice-nya (c3t0d0s0). Contoh perintahnya seperti berikut ini :

root@solaris:/root# zpool create -o version=33 -f -o failmode=continue -R /a -m legacy -o cachefile=/etc/zfs/zpool.cache rpool /dev/dsk/c3t0d0s0
root@solaris:/root#

root@solaris:/root# zpool status
  pool: rpool
 state: ONLINE
  scan: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        rpool       ONLINE       0     0     0
          c3t0d0s0  ONLINE       0     0     0

errors: No known data errors
root@solaris:/root#

Sampai saat ini saya tidak tahu apakah ada caranya supaya boot disk di mesin Sparc (dengan Solaris 11) bisa menggunakan harddisk dengan EFI label.