我正在尝试对镜像 lvm 进行热插拔。
$ vgdisplay -v /dev/vg00
--- Physical volumes ---
PV Name /dev/dsk/c2t0d0s2
PV Status unavailable
Total PE 4318
Free PE 845
Autoswitch On
Proactive Polling Off
PV Name /dev/dsk/c2t1d0s2
PV Status available
Total PE 4318
Free PE 845
Autoswitch On
Proactive Polling Off
交换磁盘后,我运行 ioscan 来查找新设备,然后执行 insf。我知道这是新磁盘,因为它显示为 HP 而不是 Seagate。
$ ioscan -C disks
disk 1 0/1/1/0.0.0 sdisk CLAIMED DEVICE HP 36.4GMAP3367NC
/dev/dsk/c2t0d0 /dev/dsk/c2t0d0s2 /dev/rdsk/c2t0d0
/dev/rdsk/c2t0d0s2 /dev/dsk/c2t0d0s1 /dev/dsk/c2t0d0s3
/dev/rdsk/c2t0d0s1 /dev/rdsk/c2t0d0s3
disk 2 0/1/1/0.1.0 sdisk CLAIMED DEVICE SEAGATE ST373307LC
/dev/dsk/c2t1d0 /dev/dsk/c2t1d0s2 /dev/rdsk/c2t1d0
/dev/rdsk/c2t1d0s2 /dev/dsk/c2t1d0s1 /dev/dsk/c2t1d0s3
/dev/rdsk/c2t1d0s1 /dev/rdsk/c2t1d0s3
到目前为止一切进展顺利。然后我遇到了第一个障碍。
$ vgcfgrestore -n /dev/vg00 /dev/rdsk/c2t0d0s2
vgcfgrestore: Could not open Physical Volume "/dev/rdsk/c2t0d0s2".
也许我需要先减少卷组。
$ vgreduce /dev/vg00 /dev/dsk/c2t0d0s2
vgreduce: Physical volume "/dev/dsk/c2t0d0s2" could not be removed since some of its
physical extents are still in use.
某些物理范围如何被使用?我拉了旧驱动器。
所以我想也许我需要先创建一个物理卷。
$ pvcreate -f -B /dev/rdsk/c2t0d0s2
pvcreate: Couldn't open physical volume "/dev/rdsk/c2t0d0s2":
I/O error
我无法从驱动器的该分区创建 pv,但它会让我从主分区创建 pv。
$ pvcreate -f -B /dev/rdsk/c2t0d0
Physical volume "/dev/rdsk/c2t0d0" has been successfully created.
有人可以告诉我我错过了什么吗?为什么新磁盘仍显示 c2t0d0s1、c2t0d0s2 和 c2t0d0s3?为什么我不能在 c2t0d0s2 上执行 pvcreate?为什么我不能执行“vgcfgrestore”或“vgreduce”?
答案1
您首先需要停用物理卷:
# pvchange -an /dev/dsk/c2t0d0s2
在那之后,
# vgcfgrestore -n /dev/vg00 /dev/rdsk/c2t0d0s2
# pvchange -ay /dev/dsk/c2t0d0s2
不要在整个磁盘上执行 pvcreate,这会破坏磁盘布局。