Hi all,

Please keep me on cc: since I am not subscribed to either lists.


I have a weird problem with my OpenSolaris 2008.05 installation (build 
96) on my Ultra 20 workstation.
For some reason, ZFS has been confused and has recently starting to 
believe that my zpool is using a device which  does not exist !

prodigal:zfs #zpool status
  pool: rpool
 state: ONLINE
 scrub: none requested
config:

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

errors: No known data errors


The c1t0d0s0 device doesn't exist on my system. Instead, my disk is 
attached to c5t0d0s0 as shown by

prodigal:zfs #format
Searching for disks...done


AVAILABLE DISK SELECTIONS:
       0. c5t0d0 <DEFAULT cyl 30398 alt 2 hd 255 sec 63>
          /[EMAIL PROTECTED],0/pci108e,[EMAIL PROTECTED]/[EMAIL PROTECTED],0

or

prodigal:zfs #cfgadm    
Ap_Id                          Type         Receptacle   Occupant     
Condition
sata0/0::dsk/c5t0d0            disk         connected    configured   ok



What is really annoying is that I attempted to update my current 
OpenSolaris build 96 to the latest (b98)  by using

# pkg image-update

The update went well, and at the end it selected the new BE to be 
activated upon reboot, but failed when attempting to modify the grub 
entry because install_grub asks ZFS what is my boot device and gets back 
the wrong device (of course, I am using ZFS as my root filesystem, 
otherwise it wouldn't be fun).

When I manually try to run install_grub, this is the error message I get:

prodigal:zfs #/tmp/tmpkkEF1W/boot/solaris/bin/update_grub -R /tmp/tmpkkEF1W
Creating GRUB menu in /tmp/tmpkkEF1W
bootadm: fstyp -a on device /dev/rdsk/c1t0d0s0 failed
bootadm: failed to get pool for device: /dev/rdsk/c1t0d0s0
bootadm: fstyp -a on device /dev/rdsk/c1t0d0s0 failed
bootadm: failed to get pool name from /dev/rdsk/c1t0d0s0
bootadm: failed to create GRUB boot signature for device: /dev/rdsk/c1t0d0s0
bootadm: failed to get grubsign for root: /tmp/tmpkkEF1W, device 
/dev/rdsk/c1t0d0s0
Installing grub on /dev/rdsk/c1t0d0s0
cannot open/stat device /dev/rdsk/c1t0d0s2


The worst bit, is that now beadm refuses to reactivate my current 
running OS to be used upon the next reboot.
So, the next time I reboot, my system is probably never going to come 
back up.


prodigal:zfs #beadm list

BE            Active Mountpoint     Space   Policy Created         
--            ------ ----------     -----   ------ -------         
opensolaris-5 N      /              128.50M static 2008-09-09 13:03
opensolaris-6 R      /tmp/tmpkkEF1W 52.19G  static 2008-10-07 10:14


prodigal:zfs #export BE_PRINT_ERR=true
prodigal:zfs #beadm activate opensolaris-5
be_do_installgrub: installgrub failed for device c1t0d0s0.
beadm: Unable to activate opensolaris-5


So, how can I force zpool to accept that my disk device really is on 
c5t0d0s0 and forget about c1?

Since the file /etc/zfs/zpool.cache contains a reference to 
/dev/dsk/c1t0d0s0  I have rebuilt the boot_archive after removing it 
from the ramdisk, but I've got cold feet about rebooting without 
confirmation.


Has anyone seen this before or has any idea how to fix this situation ?


Thanks


Caryl


-- 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Caryl Takvorian                     [EMAIL PROTECTED]
ISV Engineering                     phone : +44 (0)1252 420 686
Sun Microsystems UK                 mobile: +44 (0)771 778 5646



_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to