rmdev、chdev、reducevg、exportvg和importvg命令執行了什麼操作
rmdev -l hdisk1 物理卷hdisk1的狀態從available變為defined,物理卷hdisk1的定義還儲存在ODM中的定製裝置物件類中
rmdev -dl hdisk1 會從ODM的定製裝置物件類中刪除物理卷hdisk1的定義,-d標誌即釋放了名稱hdisk1。
PCI熱插拔的注意事項:
不要將-d標誌和 rmdev命令一起使用進行熱插拔操作,因為這樣會導致除去您的位置。
rmdev -dl hdiskX,就是清除了odm資料庫中hdisk的資訊,只和hdisk相關;但是VG資訊裡還是對應原來的hdisk8\9,所以需要更新vg在odm庫裡面的資訊,所以需要做export、import。
需要exportvg importvg,因為ODM裡記錄的PVNAME還是原來的。
需要exportvg和importvg,你rmdev以後,ODM裡面datavg資訊還是hdisk8和hdisk9的屬性,你用這個命令測試下: odmget -q "name=datavg" CuAt
如果varyonvg會報錯,這時需要使用exportvg清除ODM中vg資訊,再importvg命令把改變盤號的hdisk硬碟上的VGDA資訊寫到ODM裡面,才能varyonvg。
reducevg vgname hdiskX :
從卷組中除去物理卷。當所有的物理卷從卷組中除去後,卷組會被刪除。會更新ODM和VGDA。reducevg 時,卷組在能被減少之前必須聯機,即vg必須是varyon的。reducevg 命令提供-d,-f選項。使用-d選項是很危險的,因為它會自動刪除所有lv(在這個pv上的),如果一個lv跨多個pv,刪除它們中的任何一個,就會破壞這個lv的完整性。 注:有時候一個disk刪除,但是以前沒有執行reducevg命令,VGDA仍有該disk的附註資訊,如果想刪除可以使用 reducevg,但需用物理卷標識(PVID),而不是磁碟名稱:reducevg Vgname PVID
exportvg和importvg(不能對rootvg操作):
匯出過程從系統中除去巻組的定義,匯入過程提供將巻組引進它的新系統。所以可以利用exportvg和importvg修改使用者卷組的名稱。export VG從ODM庫中刪除VGDA的資訊,刪除檔案系統介面(/etc/FS) ,但保留mount point。Import VG可能修改lv_name(如果有相同的lv_name),並且建立fs point(如果不衝突)。
*: 如果某人對硬碟做過"chdev -l hdiskX -a pv=clear"的話,那麼即使再使用"chdev -l hdisk* -a pv=yes"也無法獲得原來的PVID了,這樣就會導致原來的VG沒法使用了。只要不clear,透過# chdev -l hdiskX -a pv=yes讀出來的還是PV頭部扇區儲存的pvid。 可以透過以下方法修改pvid
chdev -l hdisk1 -a pv=clear 清除pv 磁碟頭的pvid chdev -l hdisk1 -a pv=yes 重新定義pvid
注意修改的只是磁碟頭的pvid,並沒有修改vgda中的pvid。 # synclvodm datavg
該命令會核對ODM庫中記錄的PVID和PV(hdiskX)頭部扇區儲存的pvid,假如某個hdiskX的PVID存在於比如巻組datavg的VGDA裡,將把該hdiskX加入到巻組datavg中,(因為系統的ODM庫中,知道PVID=hdisk2是DATAVG的PV)。所以某個原來屬於datavg巻組的hdisk丟了VGDA的話,首先需要使用手工修改PVID的方法將hdisk的PVID修改為巻組datavg的VGDA中記錄的PVID值。 # importvg -y datavg hdisk1
假如巻組datavg包含兩個pv:hdisk1和hdisk2,而HDISK2的VGDA壞了的話,importvg 的時候,要指定hdisk1,而且系統會再次做synclvodm,將會把系統ODM中VGDA的資訊同步到hdisk2上,這樣可以恢復hdisk2的VGDA。
importvg的過程就是將VGDA裡的資訊讀入到ODM的過程,其中也包括PVID。但是VGDA裡沒有VG name,所以importvg時要指定VG name。因此可以利用他來改VG name。當importvg的時候,odm將讀取pv上的vgda,如果vgda上pvid與自身磁碟上的pvid不符合的話,將出現錯誤! 注意:當pv加入卷組以後,pvid在硬碟上存在於至少兩個地方,一個是在硬碟頭,一個是在vgda中。這兩個地方的pvid一般是相同的,但是由於pvid的修改,可能造成不一致,這樣就有可能丟失資料。
判斷hdiskX的VGDA資訊丟失的方法:lqueryvg -Atp hdiskX,無法得到結果! 注:
Pvid的生成原則是主機板序列號+形成pv時候的時間戳。pvid在以下三個位置存在:
1、寫入odm庫,
2、在硬碟頭資訊裡(0扇區的頭幾個位元組),
3、VGDA 也將寫入pvid(當pv加入一個卷組的時候,pvid將被寫入vgda)。
PVID是以在硬碟頭部的為準的,在VGDA的前面呢,一個硬碟可以沒有VGDA而有PVID。在VGDA裡當然也有PVID,在ODM裡當然也有,這都是以前者為基礎的。多機情況下,是先賦PVID的機器生成了PVID,其他機器都是從硬碟頭部讀取,那當然是一樣了——也應該是一樣,否則就亂套了。這就和身份證號碼一樣。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/196700/viewspace-1223776/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- []==''返回?為什麼?運算子==進行了什麼操作?
- 一起來看看Babel到底執行了什麼?Babel
- [20210401]跟蹤sqlplus登入執行了什麼.txtSQL
- IDEA小技巧:Markdown裡的命令列可以直接執行了Idea命令列
- mybatis(問題1):更改操作執行了,資料庫中卻未執行MyBatis資料庫
- Ollama 可以在 Windows 上執行了Windows
- 命令和事件有什麼區別? - Oskar事件
- 震驚,程式執行一半就不執行了
- 福利來了!MoneyPrinterPlus可以自動配置環境和自動執行了
- 為什麼用某些用git clone下載的原始碼 無法使用./configure命令和make命令執行安裝Git原始碼
- rmdir命令和rm命令是什麼?兩者有何不同之處?
- 使用 pytest-repeat 重複跑一個測試類 10 次,為什麼 setup_class () 和 teardown_class () 只執行了一次?
- 什麼是程式、執行緒和協程?執行緒
- 周線波段操作有什麼技巧,什麼是周線波段操作有什麼技巧
- DOSKEY命令是在Windows系統中用於管理和操作命令歷史記錄的實用程式。它允許使用者在命令提示符下執行各種操作,包括檢視、編輯和重新執行之前執行過的命令。Windows
- MySQL 記錄所有執行了的 sql 語句MySql
- 什麼是執行緒安全和執行緒不安全執行緒
- JavaScript中執行上下文和執行棧是什麼?JavaScript
- 什麼是如何把握波段操作?波段操作的原則是什麼
- iOS拾遺——為什麼必須在主執行緒操作UIiOS執行緒UI
- Linux配置IP地址需要什麼許可權?可以執行哪些操作?Linux
- 為什麼 響應式資料被重新賦值了三次,但是監聽回撥只執行了一次賦值
- shell 命令在終端可以執行成功,為什麼放在 groovy 指令碼中不執行?指令碼
- 快速上手Linux核心命令(三):檔案和目錄操作命令Linux
- Java編譯和執行的命令Java編譯
- SAP UI5 Tools 執行了 fiori add deploy-config 命令之後,工程檔案發生了哪些變化UI
- Array.prototype.forEach(callback) 的 callback 到底執行了幾次?
- Linux ping命令有什麼用?Linux
- 07圖形化介面和命令列介面操作命令列
- monkey操作命令
- 為什麼說DOM操作很慢
- Linux chattr命令有哪些作用?命令格式是什麼?Linux
- Git是什麼?Git基本命令+工作區命令Git
- 什麼是原子操作?Java如何實現原子操作?Java
- 類操作是什麼意思?jQuery的類操作教程jQuery
- cad拉伸命令如何使用 cad拉伸怎麼操作
- 為什麼 Go map 和 slice 是非執行緒安全的?Go執行緒
- 什麼是多執行緒?Python多執行緒有什麼優勢?執行緒Python