Solaris

Solaris10 x86 鏡像。故障時使第二個磁碟可引導

  • September 18, 2015

在 x86 中使用 Solaris 10 製作了鏡像 (RAID1)。一切都好。現在,我正在嘗試使第二個磁碟可引導,這是:從 grub 或在 disk1 發生故障的情況下。

我編輯了/boot/grub/menu.lst:

#---------- ADDED BY BOOTADM - DO NOT EDIT ----------
title Solaris 10 9/10 s10x_u9wos_14a X86 
findroot (rootfs1,0,a)
kernel /platform/i86pc/multiboot
module /platform/i86pc/boot_archive
#---------------------END BOOTADM--------------------
#---------- ADDED BY BOOTADM - DO NOT EDIT ---------- 
title Solaris failsafe
findroot (rootfs1,0,a)
kernel /boot/multiboot -s
module /boot/amd64/x86.miniroot-safe
#---------------------END BOOTADM--------------------
#---------- ADDED BY BOOTADM - DO NOT EDIT ----------
title Solaris failsafe
findroot (rootfs1,0,a)
kernel /boot/multiboot kernel/unix -s
module /boot/x86.miniroot-safe
#---------------------END BOOTADM--------------------

#Make second disk booteable!!!!!!!
title alternate boot
findroot (rootfs1,1,a)
kernel /boot/multiboot kernel/unix -s
module /boot/x86.miniroot-safe

但不工作。在 BIOS 中,當我選擇“備用啟動”時,我得到:

Error 15: 15 file not found

另外,如果disk1出錯,如何配置GRUB以使disk2啟動?

此外,我做了(但與 GRUB 無關):

eeprom altbootpath=/devices/pci@0,0/pci108e,5352@1f,2/disk@1,0:a

以下是一些可能對您有所幫助的命令的輸出:

/sbin/biosdev
0x80 /pci@0,0/pci108e,5352@1f,2/disk@0,0
0x81 /pci@0,0/pci108e,5352@1f,2/disk@1,0


ls -l /dev/dsk/c1t?d0s0
lrwxrwxrwx   1 root     root          50 Jul  7 12:01 /dev/dsk/c1t0d0s0 -> ../../devices/pci@0,0/pci108e,5352@1f,2/disk@0,0:a
lrwxrwxrwx   1 root     root          50 Jul  7 12:01 /dev/dsk/c1t1d0s0 -> ../../devices/pci@0,0/pci108e,5352@1f,2/disk@1,0:a


more /boot/solaris/bootenv.rc
setprop ata-dma-enabled '1'
setprop atapi-cd-dma-enabled '0'
setprop ttyb-rts-dtr-off 'false'
setprop ttyb-ignore-cd 'true'
setprop ttya-rts-dtr-off 'false'
setprop ttya-ignore-cd 'true'
setprop ttyb-mode '9600,8,n,1,-'
setprop ttya-mode '9600,8,n,1,-'
setprop lba-access-ok '1'
setprop prealloc-chunk-size '0x2000'
setprop bootpath '/pci@0,0/pci108e,5352@1f,2/disk@0,0:a'
setprop keyboard-layout 'US-English'
setprop console 'text'
setprop altbootpath '/pci@0,0/pci108e,5352@1f,2/disk@1,0:a'



cat /etc/vfstab 
#device         device          mount           FS      fsck    mount   mount
#to mount       to fsck         point           type    pass    at boot options
#
fd      -       /dev/fd fd      -       no      -
/proc   -       /proc   proc    -       no      -
#/dev/dsk/c1t0d0s1      -       -       swap    -       no      -
/dev/md/dsk/d1  -       -       swap    -       no      -
/dev/md/dsk/d0  /dev/md/rdsk/d0 /       ufs     1       no      -
/devices        -       /devices        devfs   -       no      -
sharefs -       /etc/dfs/sharetab       sharefs -       no      -
ctfs    -       /system/contract        ctfs    -       no      -
objfs   -       /system/object  objfs   -       no      -
swap    -       /tmp    tmpfs   -       yes     -


df -h
Filesystem             size   used  avail capacity  Mounted on
/dev/md/dsk/d0         909G    11G   889G     2%    /
/devices                 0K     0K     0K     0%    /devices
ctfs                     0K     0K     0K     0%    /system/contract 
proc                     0K     0K     0K     0%    /proc
mnttab                   0K     0K     0K     0%    /etc/mnttab
swap                    14G   972K    14G     1%    /etc/svc/volatile
objfs                    0K     0K     0K     0%    /system/object
sharefs                  0K     0K     0K     0%    /etc/dfs/sharetab
/usr/lib/libc/libc_hwcap1.so.1
          909G    11G   889G     2%    /lib/libc.so.1
fd                       0K     0K     0K     0%    /dev/fd
swap                    14G    40K    14G     1%    /tmp
swap                    14G    28K    14G     1%    /var/run

在 x86 系統上,您必須在引導到 grub 之前告訴 BIOS 使用第二個磁碟。這可以根據http://docs.oracle.com/cd/E19860-01/E21549/z40015871020900.html在 ILOM 中完成,或者您可以按 F2 鍵(或 CTRL-e,如果您通過串列控制台執行此操作)在啟動過程中進入 BIOS 設置。

在 Solaris 方面,您不需要 menu.lst 中的任何特殊條目即可從備用磁碟引導。您收到的錯誤意味著 grub在分區2上找不到引導簽名rootfs1,切片a(根分區),您可能不想這樣做。findroot的第二個參數不是驅動器號而是分區號(從 0 開始)。

現在,如果您想從主磁碟啟動 grub,然後使用它從備用磁碟啟動系統,您可以使用 menu.lst 中的root命令,它允許您設置驅動器(無恥地從http: //it.toolbox.com/wiki/index.php/Solaris_x86_root_filesystem_mirroring):

title alternate boot
root (hd1, 0, a)
kernel /boot/multiboot kernel/unix -s
module /boot/x86.miniroot-safe

引用自:https://serverfault.com/questions/406787