没有简介就是最好的简介
分类: 其他UNIX
2013-04-12 11:41:02
转载请在文首保留原文出处:EMC中文支持论坛 -
本文主要介绍了HP-UX系统故障磁盘移除的步骤。
如果用户对故障盘做了数据备份,或可以将数据搬移到另一块磁盘,则用户可选择从系统中移除磁盘而不用更换。
从磁盘中移除镜像复制:
如果用户已有一份数据的镜像复制,可以通过减少镜像数量使LVM停止使用故障磁盘的备份。使用lvreduce命令移除磁盘的镜像复制,并指定要移除镜像复制的磁盘。例如:
# lvreduce -m 0 -A n /dev/vgname/lvname pvname (单个镜像复制)
或
# lvreduce -m 1 -A n /dev/vgname/lvname pvname (两个镜像复制)
使用-A n选项是为了防止lvreduce命令执行自动vgcfgbackup操作,该操作可能导致访问故障磁盘时挂起。
如果用户只有一份镜像复制并想要保持冗余,可在运行lvreduce命令之前,在另一块磁盘上创建第二份镜像数据。
用户有可能会碰到这样一种情况:当用户从卷组中移除实际上并没有连接在系统中的物理卷,但该卷在LVM配置文件中有记录。这样的物理卷通常称为ghost盘或是phantom盘。如果磁盘在卷组激活之前已发生故障,则用户将会看见ghost盘,ghost盘可能是系统在故障发生后重启造成的。
ghost盘可通过vgdisplay命令来显示,LVM命令报告丢失物理卷如下所示:
# vgdisplay vg01
vgdisplay: Warning: couldn't query physical volume "/dev/dsk/c5t5d5":
The specified path does not correspond to physical volume attached to this volume group
vgdisplay: Couldn't query the list of physical volumes.
--- Volume groups ---
VG Name /dev/vg01
VG Write Access read/write
VG Status available
Max LV 255
Cur LV 3
Open LV 3
Max PV 16
Cur PV 2 (#No. of PVs belonging to vg01)
Act PV 1 (#No. of PVs recorded in the kernel)
Max PE per PV 4350
VGDA 2
PE Size (Mbytes) 8
Total PE 4341
Alloc PE 4340
Free PE 1
Total PVG 0
Total Spare PVs 0
Total Spare PVs in use 0
在系统启动时磁盘不可用,或卷组激活前磁盘发生故障的情况下,lvreduce命令将会返回无法查询物理卷的错误信息。用户还是可以移除镜像复制,但必须指定物理卷key而不是卷名。
磁盘的物理卷key指明了其在卷组中的顺序。第一个物理卷是key 0,第二个是key 1……该值可能与/etc/lvmtab文件中显示的序列值有所不同。用户可使用物理卷key对不在卷组中的物理卷进行寻址。通常发生在激活时磁盘不可用的情况下,比如硬件或配置的原因。可通过lvdisplay命令的-k选项获取key值:
# lvdisplay -v –k /dev/vg00/lvol1
--- Logical extents ---
LE PV1 PE1 Status 1 PV2 PE2 Status 2
00000 0 00000 stale 1 00000 current
00001 0 00001 stale 1 00001 current
00002 0 00001 stale 1 00002 current
00003 0 00001 stale 1 00003 current
00004 0 00001 stale 1 00004 current
将该输出与lvdisplay命令没有-k选项的输出做比较,包含故障磁盘(或‘???’)的列显示了key值。本例中key值是0。将key值应用于lvreduce命令中:
# lvreduce -m 0 -A n –k /dev/vgname/lvname key (单个镜像复制)
或:
# lvreduce -m 1 -A n –k /dev/vgname/lvname key (两个镜像复制)
将物理区域迁移到另一磁盘:
如果磁盘还可以读出,用户可通过将物理区域移至另一磁盘上将数据移出。
pvmove命令可将逻辑卷或逻辑卷的特定区域从一个物理卷移至另一个。通常用来释放磁盘,即,将物理卷上的所有数据移出以使其能够从卷组中移除。例如:
# pvmove pvname
如果逻辑卷是striped则pvmove命令将会失败。
需要的情况下,用户可选择指定目标磁盘设备。例如,将物理卷c0t5d0上的所有物理区域移至物理卷c0t2d0,输入以下命令:
# pvmove /dev/dsk/c0t5d0 /dev/dsk/c0t2d0
只有在目标物理卷上有足够空间以存放源物理卷上所有已分配区域时,pvmove命令才会成功。用户使用pvmove命令之前,应当检查pvdisplay source_pv_path命令输出的“Total PE”字段,以及pvdisplay dest_pv_path命令输出的“Free PE”字段。
用户可选择只迁移属于指定逻辑卷的区域。如果磁盘上只有特定扇区可读,或只需迁移未镜像保护的逻辑卷,可使用该选项。例如,迁移物理卷c0t5d0上lvol4的所有物理区域至c1t2d0,输入以下命令:
# pvmove -n /dev/vg01/lvol4 /dev/dsk/c0t5d0 /dev/dsk/c1t2d0
注意pvmove并不是原子的操作,也不是一个区域一个区域地迁移。如果系统crash或通过kill -9终止了pvmove命令,将会造成物理卷配置不一致的情况,显示移除区域有一个额外的伪镜像复制。用户可对受到影响的逻辑卷执行lvreduce命令-m选项将多余镜像移除,无需指定磁盘。
When Good Disks Go Bad: Dealing with Disk Failures Under LVM
HP-UX系统