Chinaunix首页 | 论坛 | 博客
  • 博客访问: 546753
  • 博文数量: 32
  • 博客积分: 5359
  • 博客等级: 大校
  • 技术积分: 1535
  • 用 户 组: 普通用户
  • 注册时间: 2005-01-04 20:39
文章分类

全部博文(32)

文章存档

2011年(1)

2010年(1)

2009年(6)

2008年(24)

我的朋友

分类:

2009-04-27 10:12:02

    最近实际工作中解决的一个问题:HBA删除重认后,其下的子设备hdisk2-hdisk44全部乱套,用下面的方法可以将“源”批量改成“目标”。

源:
08:30:32
hdisk1          00c82a80c691ee54                    rootvg          active
hdisk2          00c82a8017627c02                    None           
hdisk3          00c82a8036110994                    None           
hdisk4          00c82a803efabd77                    None           
hdisk0          none                                None           
hdisk5          00c82a403b68c3b2                    None           
hdisk6          00c82a8062c095e1                    None           
hdisk7          00c82a80638dabbd                    None           
hdisk8          00c82a80d586334d                    None           
hdisk9          00c82a80e5128bc4                    None           
hdisk10         00c82a801513f3a9                    None           
hdisk11         00c82a80299f02fa                    None           
hdisk12         00c82a80284fc95c                    None           
hdisk13         00c82a802a2b9612                    None           
hdisk14         00c82a80443cd914                    None           
hdisk15         00c82a80461f41ec                    None           
hdisk16         00c82a8092702dbb                    None           
hdisk17         00c82a80a2ffb524                    None           
hdisk18         00c82a80939cbc45                    None           
hdisk19         00c82a8093910239                    None           
hdisk20         00c82a808a5d7048                    None           
hdisk21         00c82a80b524b83e                    None           
hdisk22         00c82a40e79c563c                    None           
hdisk23         00c82a801797a7a8                    None           
hdisk24         00c82a803a952500                    None           
hdisk25         00c82a804ef9a4de                    None           
hdisk26         00c82a80277b78e5                    None           
hdisk27         005d99aca8532f6a                    None           
hdisk28         00c82a805a60c23c                    None           
hdisk29         00c82a805a5deddf                    None           
hdisk30         00c82a80788d0158                    None           
hdisk31         00c82a8072983a39                    None           
hdisk32         00c82a403cbd2cbf                    None           
hdisk33         00c82a403cbd2374                    None           
hdisk34         00c82a403ceea584                    None           
hdisk35         00c82a4083752ec8                    None           
hdisk36         00c82a80ff38e3ad                    None           
hdisk37         00c82a80001391e7                    None           
hdisk38         00c82a8011b372e8                    None           
hdisk39         00c82a80102a492e                    None           
hdisk40         00c82a80ba056fe5                    None           
hdisk41         00c82a8072be2be7                    None           
hdisk43         00c82a4091670f11                    None           
hdisk44         00c82a809e99600c                    None           
hdisk45         00c82a8072e326f7                    None           
08:31:15 ]#         

目标:
08:59:57
hdisk1          00c82a80c691ee54                    rootvg          active
hdisk0          none                                None           
hdisk2          00c82a40e79c563c                    None           
hdisk3          00c82a801797a7a8                    None           
hdisk4          00c82a8017627c02                    None           
hdisk5          00c82a8036110994                    None           
hdisk6          00c82a803a952500                    None           
hdisk7          00c82a803efabd77                    None           
hdisk8          00c82a403b68c3b2                    None           
hdisk9          00c82a4083752ec8                    None           
hdisk10         00c82a804ef9a4de                    None           
hdisk11         00c82a80277b78e5                    None           
hdisk12         00c82a805a60c23c                    None           
hdisk13         00c82a805a5deddf                    None           
hdisk14         00c82a8062c095e1                    None           
hdisk15         00c82a80638dabbd                    None           
hdisk16         00c82a80788d0158                    None           
hdisk17         00c82a80d586334d                    None           
hdisk18         00c82a8072983a39                    None           
hdisk19         00c82a80e5128bc4                    None           
hdisk20         00c82a801513f3a9                    None           
hdisk21         00c82a80299f02fa                    None           
hdisk22         005d99aca8532f6a                    None           
hdisk23         00c82a403cbd2cbf                    None           
hdisk24         00c82a403cbd2374                    None           
hdisk25         00c82a403ceea584                    None           
hdisk26         00c82a80ff38e3ad                    None           
hdisk27         00c82a80001391e7                    None           
hdisk28         00c82a80284fc95c                    None           
hdisk29         00c82a802a2b9612                    None           
hdisk30         00c82a8011b372e8                    None           
hdisk31         00c82a80102a492e                    None           
hdisk32         00c82a80443cd914                    None           
hdisk33         00c82a80461f41ec                    None           
hdisk34         00c82a80ba056fe5                    None           
hdisk35         00c82a8092702dbb                    None           
hdisk36         00c82a80a2ffb524                    None           
hdisk37         00c82a80939cbc45                    None           
hdisk38         00c82a8093910239                    None           
hdisk39         00c82a8072be2be7                    None           
hdisk40         00c82a8072e326f7                    None           
hdisk41         00c82a808a5d7048                    None           
hdisk42         00c82a80b524b83e                    None           
hdisk43         00c82a4091670f11                    None           
hdisk44         00c82a809e99600c                    None           
09:00:00 ]#


方法:
#要在任意机器上使用,只有前三行需要根据实际修改
#CFGMGR说明:我的环境里fcs0、fcs1的父设备的父设备都是pci12。也可以直接用cfgmgr不指定-l。
#MKDEV_FAKE说明:VIO SERVER 1.5下,可以这样做出一块假的磁盘。
#RMDEV_ALL_FAKE说明:作用是删除所有的假磁盘,注意 $1前有个“\”。也可以通过使用函数的方式避免这个问题。
CFGMGR='cfgmgr -l pci12'
MKDEV_FAKE='mkdev -p scsi0 -w 1,0 -c disk -s scsi -t scsd -d'
RMDEV_ALL_FAKE="lsdev -Ccdisk | awk '/Other SCSI Disk Drive/ {print \$1}' | xargs -I {} rmdev -dl {}"

#写个函数,方便重复调用。作用是将大盘号改小,如:将hdisk18改成hdisk7。
Big2Small() {
SDISK=hdisk$1
DDISK=hdisk$2
#cat <rmdev -dl $DDISK
$MKDEV_FAKE
$CFGMGR
rmdev -dl $DDISK
rmdev -dl $SDISK
$CFGMGR
$MKDEV_FAKE
#!!
}

#第一次批量执行Big2Small()
lspv >source
awk 'NR==FNR{a[$2]=$1}NR>FNR&&substr(a[$2],6)>substr($1,6){print substr(a[$2],6),substr($1,6)}' source target |\
sort -n | while read Snumber Tnumber; do Big2Small $Snumber $Tnumber; done
eval $RMDEV_ALL_FAKE

#第二次批量执行Big2Small()
lspv >source2
awk 'NR==FNR{a[$2]=$1}NR>FNR&&substr(a[$2],6)>substr($1,6){print substr(a[$2],6),substr($1,6)}' source2 target |\
sort -n +1 | while read Snumber Tnumber; do Big2Small $Snumber $Tnumber; done
eval $RMDEV_ALL_FAKE

#第三次批量执行Big2Small()
lspv >source3
awk 'NR==FNR{a[$2]=$1}NR>FNR&&substr(a[$2],6)>substr($1,6){print substr(a[$2],6),substr($1,6)}' source3 target |\
sort -n | while read Snumber Tnumber; do Big2Small $Snumber $Tnumber; done
eval $RMDEV_ALL_FAKE

#最后对比下“源”与“目标”是否有异
lspv | tee source4
diff source4 target


========================================================================
任何形式的转载,请写明出处:
email:
blog:    http://www.cublog.cn/u/739/
========================================================================

阅读(2673) | 评论(3) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2009-06-26 13:23:29

回楼上,我的例子里的hdisk2-hdisk44都是存储上映射过来的。不是DS存储,不过什么存储都一样的。

chinaunix网友2009-06-17 17:21:59

如果hdisk2,hdisk3是DS存储上映射过来的pv该怎么操作呢?

chinaunix网友2009-04-29 19:59:35

http://www.loveunix.net/thread-99001-1-1.html 11楼的方法看起来效率更高,但估计作者king_ni 写得有点小错误,不太好懂,特帮他修改了一下: 欲实现如下两盘符对调 hdisk2 000a8fcc48cb34ce None hdisk3 000d078ce4232371 None 可用下面的步骤 # lsdev -Cl hdisk2 -Fconnwhere 0,0 # lsdev -Cl hdisk2 -Ftype osdisk # lsdev -Cl hdisk3 -Ftype osdisk # lsdev -Cl hdisk3 -Fconnwhere 8,0 # rmdev -dl hdisk2 # rmdev -dl hdisk3 # mkdev -c disk -s 'scsi' -p 'scsi1' -w '0,0' -t 'osdisk' -l hdisk3