蘭州亚游平台電子科技有限公司
  • 首頁
  • 公司簡介
  • 新聞中心
  • 亚游平台产品
  • 解決方案
  • 成功案例
  • 合作夥伴
  • 聯係我們
當前位置:首頁 » 解決方案 » AIX係統 修改EMC hdiskpower PVID

網站導航

公司簡介
新聞中心
亚游平台产品
解決方案
成功案例
合作夥伴
聯係我們

聯係我們

地址:蘭州市城關區科技街88號

電話:(86)0931-8265989

傳真:(86)0931-8260768

手機:13909315556

郵箱:ygb@jrhdec.com

AIX係統 修改EMC hdiskpower PVID

在AIX係統使用EMC盤陣的環境下,你可能會遇到hdiskpower與hdisk同時出現認到PVID的情況。這種情況的出現比較偶然,但也有一定的必然性。大多情況是由於使用了 chdev -l hdiskX -a pv=yes這樣的命令誤操作。
在這種情況下,你在importvg、varyonvg時候是會報pvid重複,從而報錯,存儲無法使用。

這時候需要使用一個比較笨的辦法,直接在ODM庫中的hdisk pvid信息改為none即可。辦法雖然較笨,但是相對安全,不用對hdiskpower盤進行操作。

修改方法如下(以hdisk9為例):

1. odmget命令先拿到現有的pvid屬性值的信息:

#odmget -q "name=hdisk9 and attribute=pvid" CuAt

CuAt:
        name = "hdisk9"
        attribute = "pvid"
        value = "000181cfdfdec9960000000000000000"
        type = "R"
        generic = "D"
        rep = "s"
        nls_index = 15

2. 將上麵的輸入寫入一個文件中,然後在文件中修改pvid的值,如新的PVID為none,則文件的內容就是

CuAt:
        name = "hdisk9"
        attribute = "pvid"
        value = "none"
        type = "R"
        generic = "D"
        rep = "s"
        nls_index = 15

3. odmchange命令來更新ODM
假設文件放在/tmp/a
則 odmchange -o CuAt -q "name=hdisk9 and attribute=pvid" /tmp/a

此時hdisk9的PVID就會變成none,這樣你去做hdiskpower的importvg時就不會再有報錯。

同理你也可以將ODM庫中錯誤的PVID信息修改成你想要的。但是這就存在很大的風險,謹慎。

在這裏普及一個概念。

什麽是PVID,個人理解PVID就是一個PV在ODM信息庫中的唯一標識,hdiskX卻不是,一塊相同的盤,可以是hdisk9/hdisk10/hdisk100000 但是隻要使用chdev命令第一次認到這塊盤以後,他的pvid就固定下來了。一塊盤的pvid生成原則是 主板序列號+形成pv時候的時間戳。這個信息是寫在物理硬盤頭信息裏的。同時AIX ODM庫裏也存在。同時VGDA信息裏也是存在的。這三個信息相互吻合,印證。走遍天下,都可以使用importvg來導入原有的VG信息,同時數據也都是有保障的。

在AIX操作係統中,絕對不能對於已有數據的EMC盤包括hdisk hdiskpower使用 chdev -l hdiskX -a pv=clear命令。絕對不能。為什麽呢?接下來詳細解釋。

你對一塊盤執行pv=clear後,物理硬盤頭信息的pvid就會被清除,重新 pv=yes之後,生成,認到的就是一個全新的PVID,同時這個PVID是會直接寫入到物理硬盤的頭信息裏。此時,悲劇來了,VGDA信息裏依舊保留的是之前老的pvid信息,而AIX ODM與硬盤上記錄的PVID已經是完全不一樣一個新的PVID。操作係統就認為這塊硬盤就是一塊全新的硬盤,不存在於任何已知的VG中。同時你對原有的VG進行importvg varyonvg時候均會提示你VG信息不完整而報錯。數據這時候就離丟不遠了。

再次嘮叨一下,絕對不能對於已有數據的EMC盤包括hdisk hdiskpower使用 chdev -l hdiskX -a pv=clear命令。絕對不能。

但是,如果出現這種情況,就是說,硬盤現有的pvid,AIX ODM記錄的PVID信息與硬盤中記錄的VGDA信息PVID不一致的時候,數據還有的救麽?答案是:有的。

此時,你需要仔細核對EMC盤陣的物理信息,每一塊emc的hdiskpower都是由若幹個hdisk組成。但是相同物理設備的hdisk與hdiskpower都是有唯一的識別碼,一個4位的16進製數,使用EMC的命令可以查看。通過這個數你可以確定他們物理關係。然後在原有的主機下得到原來的那個正確的pvid,然後使用如下方法將出錯的pvid直接寫回到硬盤的頭信息裏去,然後rmdev -Rdl hdiskpower,然後cfgmgr就可以恢複原有的PVID信息。下麵要說的這個方法是直接修改硬盤頭上記錄的pvid信息,使用重認後,係統會自動更新pvid信息。同理,你也可以直接修改VGDA裏麵的pvid信息,但這將是一種將錯就錯的方法,個人認為風險較大。

具體方法如下:

1. 首先一定備份好VGDA信息和ODM信息:

(1) 備份VGDA信息:
   # dd if=/dev/hdiskpower9 of=/tmp/vgda/hdiskpower9.dd bs=1024 count=10000
   # readvgda /dev/hdiskpower9 > /tmp/vgda/readvgda.hdiskpower9
   # lqueryvg -Atp hdiskpower9 > /tmp/vgda/lqueryvg.hdiskpower9.out
   # lquerypv -h /dev/hdiskpower9 > /tmp/vgda/lquerypv.hdiskpower9.out
   # tar -cvf vgda.tar vgda
   # gzip vgda.tar
  
(2) 收集一份snap:
 # snap -gfLc

2. 用腳本修複pvid的方法:

(1) 將腳本chpvid,以bin方式上傳到服務器.

(2) 給chpvid腳本加上可執行權限(-rwxr-xr-x):
 # chmod +x chpvid
 # ls -al | grep chpvid
  -rwxr-xr-x   1 root     system          330 Sep 30 16:59 chpvid

(3) 下麵我們以hdiskpower9和testvg為例,您可以參考如下的步驟:

 hdiskpower9屬於testvg,現在的pvid為3039333337323037,把它修複為005d25cf4ffeaf14.

 #script /tmp/chpvid.script (開啟一個script,所有操作完畢,執行exit.隻在一個session有效.)
     
 #lspv
  hdiskpower7          none                None
  hdiskpower8          none                None
  hdiskpower9          3039333337323037    None
  hdiskpower10         none                None
 
 #./chpvid 005d25cf4ffeaf14 hdiskpower9 (將hdiskpower9的pvid修複為005d25cf4ffeaf14)

然後使用rmdev -Rdl hdiskpower9,然後cfgmgr就可以恢複原有的PVID信息。至此原有的VG就可以正常importvg了。

這個分享查看VGDA信息命令

lqueryvg -Atp hdiskpower9 可以看到VGDA信息,這個信息是直接寫在硬盤頭信息裏的。包含了這個硬盤所在的VG所有相關的盤的PVID信息。

這個命令的輸出需要與lspv中的顯示的PVID信息完全一致。

  • 上一篇:AIX tar命令詳解
  • 下一篇:淺析磁盤陣列最大可用容量等內容
更新時間:2015-10-12 11:16:45

www.jrhdec.com 蘭州亚游平台電子科技有限公司 © 版權所有 製作維護

地址:甘肅省蘭州市城關區科技街88號 電話:(86)0931-8265989 郵箱:ygb@jrhdec.com