Booting E3500 off an A1000 array?

From: Patrick M. Hausen (hausen@punkt.de)
Date: Wed Nov 19 2003 - 11:46:13 EST


Hi all!

I'm trying to have an E3500 system with Solaris 2.7 installed
boot off an A1000 array. The A1000 contained one big UFS
partition with database files that I moved to a subdirectory
resembling the former mount point of the fs.

Repartition and reinstall is not an option for availability
reasons. I didn't install the machine but kind of inherited it.
The OS is installed on an single internal drive with no
redundancy - the cheapest and quickest solution to provide
some failure resistance would be to move the OS to the A1000
and dedicate the internal disk to something else. So the
customer and I figured ;-) Sun support confirmed that booting
off an A1000 was possible since it contained its own processor
and presented a single disk to the machine.

It's not the first time I moved a Solaris OS to a new hard disk
so I went to work rather naively:

- cpio root fs from interal hard drive to /data
  (former mount point of A1000)
  The internal HD contained only root and swap, so the entire OS and
  applications are copied in this single step

- umount /data

- format, partition, change partition 6 that contains the fs to
  partition 0, set type of partition to "root"

- installboot /dev/rdsk/c1t0d0s0

- remount, test, everything looks OK. We have an A1000 with c1t0d0s0
  containing an OS, the aforementioned database files, bootblocks.

- adjust /temporary_mount_of_A1000/etc/vfstab to resemble the new
  layout, swap is still on c0t0d0s1 (internal HD) for now, will be
  moved to a swap file later

As I said I have done this quite a couple of times when only
internal hard disks were involved (e.g. replace system disk with a
bigger drive without reinstall), so I think there's no mistake
so far.

- reboot into Openbootrom, add devalias:
  nvramrc=devalias (a1000) /sbus@2,0/QLGC,isp@1,10000/sd@0,0
  boot-device=(a1000)

- boot

- great, the kernel is loading

But after the kernel load the rw-remount of the root fs fails
with a message "c1t0d0s0 is of different fs type".

Now, what is this supposed to mean? The system gets "almost" up and
running with c1t0d0s0 (the A1000) mounted read-only.

At first I suspected my fstab entries but after double-checking
I googled a little and with the information I found, I checked
/temporary_mount_of_A1000/kernel/drv/rdriver.conf to find:

        name="rdriver" target=1 parent="/pseudo/rdnexus@0" probe=1 qtime=5;
        name="rdriver" module=1 lun=0 target=0 parent="/pseudo/rdnexus@1" mname="cl301_001" nexusbus=1 path="A";
        name="rdriver" module=1 lun=1 target=0 parent="/pseudo/rdnexus@1" mname="cl301_001" nexusbus=1 path="A";
        name="rdriver" module=1 lun=2 target=0 parent="/pseudo/rdnexus@1" mname="cl301_001" nexusbus=1 path="A";
        name="rdriver" module=1 lun=3 target=0 parent="/pseudo/rdnexus@1" mname="cl301_001" nexusbus=1 path="A";
        name="rdriver" module=1 lun=4 target=0 parent="/pseudo/rdnexus@1" mname="cl301_001" nexusbus=1 path="A";
        name="rdriver" module=1 lun=5 target=0 parent="/pseudo/rdnexus@1" mname="cl301_001" nexusbus=1 path="A";
        name="rdriver" module=1 lun=6 target=0 parent="/pseudo/rdnexus@1" mname="cl301_001" nexusbus=1 path="A";
        name="rdriver" module=1 lun=7 target=0 parent="/pseudo/rdnexus@1" mname="cl301_001" nexusbus=1 path="A";
        name="rdriver" class="scsi" target=0 lun=0;
        name="rdriver" class="scsi" target=0 lun=1;
        name="rdriver" class="scsi" target=0 lun=2;
        name="rdriver" class="scsi" target=0 lun=3;
        name="rdriver" class="scsi" target=0 lun=4;
        name="rdriver" class="scsi" target=0 lun=5;
        name="rdriver" class="scsi" target=0 lun=6;
        name="rdriver" class="scsi" target=0 lun=7;
        name="rdriver" class="scsi" target=4 lun=0;
        name="rdriver" class="scsi" target=4 lun=1;
        name="rdriver" class="scsi" target=4 lun=2;
        name="rdriver" class="scsi" target=4 lun=3;
        name="rdriver" class="scsi" target=4 lun=4;
        name="rdriver" class="scsi" target=4 lun=5;
        name="rdriver" class="scsi" target=4 lun=6;
        name="rdriver" class="scsi" target=4 lun=7;
        name="rdriver" class="scsi" target=5 lun=0;
        name="rdriver" class="scsi" target=5 lun=1;
        name="rdriver" class="scsi" target=5 lun=2;
        name="rdriver" class="scsi" target=5 lun=3;
        name="rdriver" class="scsi" target=5 lun=4;
        name="rdriver" class="scsi" target=5 lun=5;
        name="rdriver" class="scsi" target=5 lun=6;
        name="rdriver" class="scsi" target=5 lun=7;

Then I added to /temporary_mount_of_A1000/etc/system:

        rootdev:/pseudo/rdnexus@0/rdriver@0,0:a

Now, when I rebooted off the A1000 again, after the kernel
loading, the graphical console turns black shortly and the
system reboots into an endless load-kernel-reset-reboot loop.

This is where I'm kind of stuck now - any hints would be
greatly appreciated.

Thanks in advance,

Patrick M. Hausen
Leiter Netzwerke und Sicherheit

-- 
punkt.de GmbH         Internet - Dienstleistungen - Beratung
Vorholzstr. 25        Tel. 0721 9109 -0 Fax: -100
76137 Karlsruhe       http://punkt.de
_______________________________________________
sunmanagers mailing list
sunmanagers@sunmanagers.org
http://www.sunmanagers.org/mailman/listinfo/sunmanagers


This archive was generated by hypermail 2.1.7 : Wed Apr 09 2008 - 23:27:31 EDT