系统环境: hp unix 11.31
硬件环境: rp4440
故障现象: 系统重启后只能进入单用户模式,vgdisplay看不到任何系统的lvm。
物理环境: 不能接触主机,单可以远程登录MP管理。
1. 系统不能正常启动,引导后从ISL中敲"hpux -is"进入单用户模式:
NOTICE: return ramfs memory for BTL: [FREE] top 0x00000000c0400000, pages 2258
Create STCP device files
Starting the STREAMS daemons-phase 2
$Revision: vmunix: B.11.31_LR FLAVOR=perf
Memory Information:
physical page size = 4096 bytes, logical page size = 4096 bytes
Physical: 4192256 Kbytes, lockable: 2982120 Kbytes, available: 3400940 Kbytes
/sbin/ioinitrc:
Can't stat /dev/vg00/lvol1
/dev/vg00/lvol1: CAN'T CHECK FILE SYSTEM.
/dev/vg00/lvol1: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY.
mount: /dev/vg00/lvol1: No such file or directory
Unable to mount /stand - please check entries in /etc/fstab
Skipping KRS database initialization - /stand can't be mounted
INIT: Overriding default level with level 's'
INIT: SINGLE USER MODE
INIT: Running /sbin/sh
#
2. 先看一下磁盘设备是否正常:
# ioscan -funC disk
Class I H/W Path Driver S/W State H/W Type Description
=====================================================================
disk 6 0/1/1/0.0.0 sdisk CLAIMED DEVICE HP 146 GST3146707LC
/dev/dsk/c2t0d0 /dev/rdsk/c2t0d0
disk 0 0/1/1/0.1.0 sdisk CLAIMED DEVICE HP 73.4GST373453LC
/dev/dsk/c2t1d0 /dev/rdsk/c2t1d0
我的系统就在73.4GB的硬盘上。
3. 看一下vg00的逻辑卷:
# ls /dev/vg00
#
都没了。
单从/etc/lvmtab目录下找到了vg00的map文件。尝试导入。
# vgimport -s -m /etc/lvmconf/vg00.map vg00 /dev/dsk/c2t0d0 /dev/dsk/c2t1d0
vgimport: Volume group "/dev/vg00" already exists in the "/etc/lvmtab" file.
# cd /etc/
4. vg00存在多种问题。
1、不能被反激活
2、单用户模式下也不能用vgcfgrestore命令
3、不能export和import
所以决定用vg01带代替vg00做系统卷组。
# mv /etc/lvmtab /etc/lvmtab.bak
准备重新生成lvmtab文件:
# vgimport -s -m /etc/lvmconf/vg00.conf vg01 /dev/dsk/c2t0d0 /dev/dsk/c2t1d0
vgimport: "/dev/vg01/group": not a character device.
提示错误,需要先建立/dev/vg01目录和节点设备/dev/vg01/group:
# mkdir /dev/vg01
# mknod /dev/vg01/group c 64 0x010000
再次导入:
# vgimport -s -m /etc/lvmconf/vg00.conf vg01 /dev/dsk/c2t0d0 /dev/dsk/c2t1d0
vgimport: Volume group "/dev/vg01" has been successfully created.
Warning: A backup of this volume group may not exist on this machine.
Please remember to take a backup using the vgcfgbackup command after activating the volume group.
Also, upon first activation of an imported bootable volume group, make
sure to run lvlnboot(1M) command in recovery mode (-R option) to resync
the information on the disk
导入成功。
尝试激活:
# vgchange -a y vg01
Activated volume group
Volume group "vg01" has been successfully changed.
激活成功。
显示一下:
# vgdisplay -v
--- Volume groups ---
VG Name /dev/vg01
VG Write Access read/write
VG Status available
Max LV 255
Cur LV 9
Open LV 9
Max PV 16
Cur PV 2
Act PV 2
Max PE per PV 4384
VGDA 4
PE Size (Mbytes) 16
Total PE 8759
Alloc PE 4044
Free PE 4715
Total PVG 0
Total Spare PVs 0
Total Spare PVs in use 0
VG Version 1.0.0
--- Logical volumes ---
LV Name /dev/vg01/lvol1
LV Status available/syncd
LV Size (Mbytes) 1792
Current LE 112
Allocated PE 224
Used PV 2
LV Name /dev/vg01/lvol2
LV Status available/syncd
LV Size (Mbytes) 8192
Current LE 512
Allocated PE 1024
Used PV 2
LV Name /dev/vg01/lvol3
LV Status available/syncd
LV Size (Mbytes) 1024
Current LE 64
Allocated PE 128
Used PV 2
LV Name /dev/vg01/lvol4
LV Status available/syncd
LV Size (Mbytes) 512
Current LE 32
Allocated PE 64
Used PV 2
LV Name /dev/vg01/lvol5
LV Status available/syncd
LV Size (Mbytes) 112
Current LE 7
Allocated PE 14
Used PV 2
LV Name /dev/vg01/lvol6
LV Status available/syncd
LV Size (Mbytes) 4960
Current LE 310
Allocated PE 620
Used PV 2
LV Name /dev/vg01/lvol7
LV Status available/syncd
LV Size (Mbytes) 2960
Current LE 185
Allocated PE 370
Used PV 2
LV Name /dev/vg01/lvol8
LV Status available/syncd
LV Size (Mbytes) 8704
Current LE 544
Allocated PE 1088
Used PV 2
LV Name /dev/vg01/myswap
LV Status available/syncd
LV Size (Mbytes) 8192
Current LE 512
Allocated PE 512
Used PV 1
--- Physical volumes ---
PV Name /dev/dsk/c2t1d0
PV Status available
Total PE 4375
Free PE 2097
Autoswitch On
Proactive Polling On
PV Name /dev/dsk/c2t0d0
PV Status available
Total PE 4384
Free PE 2618
Autoswitch On
Proactive Polling On
vg01拥有了vg00的全部逻辑卷:
6. 显示一下boot设备:
# lvlnboot -v
Boot Definitions for Volume Group /dev/vg01:
Physical Volumes belonging in Root Volume Group:
/dev/dsk/c2t1d0 -- Boot Disk
/dev/dsk/c2t0d0 -- Boot Disk
Boot: lvol1 on: /dev/dsk/c2t1d0
/dev/dsk/c2t0d0
Root: ??? on: /dev/dsk/c2t1d0
/dev/dsk/c2t0d0
Swap: ??? on: /dev/dsk/c2t1d0
/dev/dsk/c2t0d0
Dump: ??? on: /dev/dsk/c2t1d0, 0
异常。这与vg00的lvm丢失有直接关系。
7. 查看/etc/fstab文件:
# cat /etc/fstab
# System /etc/fstab file. Static information about the file systems
# See fstab(4) and sam(1M) for further details on configuring devices.
/dev/vg00/lvol3 / vxfs delaylog 0 1
/dev/vg00/lvol1 /stand hfs defaults 0 1
/dev/vg00/lvol4 /tmp vxfs delaylog 0 2
/dev/vg00/lvol5 /home vxfs delaylog 0 2
/dev/vg00/lvol6 /opt vxfs delaylog 0 2
/dev/vg00/lvol7 /usr vxfs delaylog 0 2
/dev/vg00/lvol8 /var vxfs delaylog 0 2
/dev/vg00/myswap /myswap swap defaults 0 0
/dev/vg00/lvol3时/,能否重指定lvlnboot设备呢?
# lvlnboot -r /dev/vg01/lvol3
lvlnboot: A Logical Volume has already been assigned
to be the Root or Swap Logical Volume.
# mount /dev/vg01/lvol3 /
vxfs mount: V-3-21264: /dev/vg01/lvol3 is already mounted, / is busy,
allowable number of mount points exceeded
#
不能重建。因为单用户模式已经挂载了根。
8. 修改/etc/fstab吧,让系统启动时自动挂载/dev/vg01吧。
# cat /etc/fstab
# System /etc/fstab file. Static information about the file systems
# See fstab(4) and sam(1M) for further details on configuring devices.
/dev/vg00/lvol3 / vxfs delaylog 0 1
/dev/vg00/lvol1 /stand hfs defaults 0 1
/dev/vg00/lvol4 /tmp vxfs delaylog 0 2
/dev/vg00/lvol5 /home vxfs delaylog 0 2
/dev/vg00/lvol6 /opt vxfs delaylog 0 2
/dev/vg00/lvol7 /usr vxfs delaylog 0 2
/dev/vg00/lvol8 /var vxfs delaylog 0 2
/dev/vg00/myswap /myswap swap defaults 0 0
vi命令单用户模式下不能用。
# mv /etc/fstab /etc/fstab.bak
用echo来写入吧。
# echo /dev/vg01/lvol3 / vxfs delaylog 0 1 > fstab
# cat fstab
/dev/vg01/lvol3 / vxfs delaylog 0 1
# echo /dev/vg01/lvol1 /stand hfs defaults 0 1 >> fstab
# echo /dev/vg01/lvol4 /tmp vxfs delaylog 0 2 >> fstab
# echo /dev/vg01/lvol5 /home vxfs delaylog 0 2 >>fstab
# echo /dev/vg01/lvol6 /opt vxfs delaylog 0 2 >>fstab
# echo /dev/vg01/lvol7 /usr vxfs delaylog 0 2>>fstab
/dev/vg01/lvol7 /usr vxfs delaylog 0
# cat fstab
/dev/vg01/lvol3 / vxfs delaylog 0 1
/dev/vg01/lvol1 /stand hfs defaults 0 1
/dev/vg01/lvol4 /tmp vxfs delaylog 0 2
/dev/vg01/lvol5 /home vxfs delaylog 0 2
/dev/vg01/lvol6 /opt vxfs delaylog 0 2
# echo /dev/vg01/lvol7 /usr vxfs delaylog 0 2 >>fstab
# echo /dev/vg01/lvol8 /var vxfs delaylog 0 2 >>fstab
# pwd
/etc
# ls fstab*
fstab fstab.bak
# echo /dev/vg01/myswap /myswap swap defaults 0 0 >> fstab
写入完毕。
9. 修改/sbin/ioinitrc文件,让系统启动时激活vg01。
将"/sbin/vgchange -a y /dev/vg01" 写入/sbin/ioinitrc文件开头,我写在了BOOT_AUTH() {...}函数下面,vg01可以被激活。
# reboot
Shutdown at 22:33 (in 0 minutes)
System shutdown time has arrived
* The kernel registry database has been saved to disk.
ERROR: The system could not create the file system links needed for
proper operation of the kernel configuration.
sync'ing disks (0 buffers to flush):
0 fcache pages still dirty
0 buffers not flushed
0 buffers still dirty
Calling function a1c530 for Shutdown State 5 type 0x1
Calling function 5b3248 for Shutdown State 5 type 0x1
Closing open logical volumes...
Done
Firmware Version 44.21
Duplex Console IO Dependent Code (IODC) revision 1
Firmware Version 44.21
Duplex Console IO Dependent Code (IODC) revision 1
------------------------------------------------------------------------------
(c) Copyright 1995-2004, Hewlett-Packard Company, All rights reserved
------------------------------------------------------------------------------
Processor Speed State CoProcessor State Cache Size
Number State Inst Data
--------- -------- --------------------- ----------------- ------------
0 1000 MHz Active Functional 33554432 33554432
1 1000 MHz Idle Functional 33554432 33554432
Central Bus Speed (in MHz) : 200
Available Memory : 4194304 KB
Good Memory Required : Not initialized. Defaults to 32 MB.
Primary boot path: 0/1/1/0.1
Alternate boot path: 0/1/1/0.0
Console path: 0/0/1/1.0
Keyboard path: 0/0/4/0.0
Processor is booting from the first available device.
To discontinue, press any key within 10 seconds.
系统正常启动。
#
系统启动后:
# vgdisplay -v
--- Volume groups ---
VG Name /dev/vg01
VG Write Access read/write
VG Status available
Max LV 255
Cur LV 9
Open LV 9
Max PV 16
Cur PV 1
Act PV 1
Max PE per PV 4384
VGDA 2
PE Size (Mbytes) 16
Total PE 4375
Alloc PE 2278
Free PE 2097
Total PVG 0
Total Spare PVs 0
Total Spare PVs in use 0
VG Version 1.0.0
--- Logical volumes ---
LV Name /dev/vg01/lvol1
LV Status available/syncd
LV Size (Mbytes) 1792
Current LE 112
Allocated PE 112
Used PV 1
LV Name /dev/vg01/lvol2
LV Status available/syncd
LV Size (Mbytes) 8192
Current LE 512
Allocated PE 512
Used PV 1
LV Name /dev/vg01/lvol3
LV Status available/syncd
LV Size (Mbytes) 1024
Current LE 64
Allocated PE 64
Used PV 1
LV Name /dev/vg01/lvol4
LV Status available/syncd
LV Size (Mbytes) 512
Current LE 32
Allocated PE 32
Used PV 1
LV Name /dev/vg01/lvol5
LV Status available/syncd
LV Size (Mbytes) 112
Current LE 7
Allocated PE 7
Used PV 1
LV Name /dev/vg01/lvol6
LV Status available/syncd
LV Size (Mbytes) 4960
Current LE 310
Allocated PE 310
Used PV 1
LV Name /dev/vg01/lvol7
LV Status available/syncd
LV Size (Mbytes) 2960
Current LE 185
Allocated PE 185
Used PV 1
LV Name /dev/vg01/lvol8
LV Status available/syncd
LV Size (Mbytes) 8704
Current LE 544
Allocated PE 544
Used PV 1
LV Name /dev/vg01/myswap
LV Status available/syncd
LV Size (Mbytes) 8192
Current LE 512
Allocated PE 512
Used PV 1
--- Physical volumes ---
PV Name /dev/dsk/c2t1d0
PV Status available
Total PE 4375
Free PE 2097
Autoswitch On
Proactive Polling On
PV Name /dev/dsk/ct0d0
PV Status available
Total PE 4384
Free PE 2618
Autoswitch On
Proactive Polling On
系统正常启动。
# lvlnboot -v
Boot Definitions for Volume Group /dev/vg01:
Physical Volumes belonging in Root Volume Group:
/dev/dsk/c2t1d0 -- Boot Disk
Boot: lvol1 on: /dev/dsk/c2t1d0
Root: ??? on: /dev/dsk/c2t1d0
No Swap Logical Volume configured
No Dump Logical Volume configured
但lvlnboot的输出中依然有???。 重新指定lvlnboot -r报错,说已经指定。未解决此问题。
但系统毕竟已经可以能正常启动和工作。
先不管了吧。。。