邏輯卷設定硬盤禁區(qū)并利用硬盤禁區(qū)備份配置信息的方法
【技術領域】
[0001]本發(fā)明涉及信息技術領域,尤其是計算機操作系統(tǒng)中數(shù)據(jù)安全,以及數(shù)據(jù)的備份和恢復領域。
【背景技術】
[0002]首先介紹下硬盤的數(shù)據(jù)存儲基本原理:硬盤的最基本組成的單位是扇區(qū)SECTOR,一塊硬盤能被操作系統(tǒng)使用,它的扇區(qū)大小SIZE必須是512字節(jié)?;旧纤胁僮飨到y(tǒng),包括WINDOWS、UNIX和LINUX,都是以512字節(jié)作為為最小的數(shù)據(jù)存取單元,這個數(shù)據(jù)單元命名為數(shù)據(jù)塊BLOCK。
[0003]以一塊希捷公司生成的型號為ST3300655LC硬盤為例,這塊硬盤是300g SCSI硬盤,它的扇區(qū)大小是512字節(jié),一共有585,937,500個扇區(qū),這樣他的實際容量是279g 左右。計算公式:512*585,937,500/1024K/1024M/1024G 差不多是 279.36g。這里585,937,500個扇區(qū)就是硬盤的實際可用容量。
[0004]在UNIX或LINUX中為了更好管理硬盤,一般采用邏輯卷方式。以下對邏輯卷管理介紹,并以AIX這個目前使用最廣的UNIX系統(tǒng)為例:
AIX中五個基本的邏輯存儲概念是:物理卷PV、卷組VG、物理分區(qū)PP、邏輯卷LV和邏輯分區(qū)LP。
[0005]物理卷:每個單獨的硬盤驅動器稱為一個物理卷physical volume,PV,并具有一個名稱,例如:hdisk0、hdiskl 或 hdisk2。
[0006]物理分區(qū):物理卷劃分為相同大小的物理分區(qū)physical partit1n,PP, 一般AIX把一塊硬盤劃分為不超過1016個的物理分區(qū)。以前面舉例的ST3300655LC硬盤為例,可以分為558個PP,每個PP大小是512M。
[0007]邏輯分區(qū):一般一個物理分區(qū)對應一個邏輯分區(qū)logical partit1n,LP,如果為邏輯卷指定了鏡像,則可以分配額外的物理分區(qū)來存儲每個邏輯分區(qū)的額外副本。
[0008]邏輯卷:每個邏輯卷logical volume,LV由一個或多個邏輯分區(qū)logicalvolume, LV組成,邏輯卷上的數(shù)據(jù)在用戶看來像是連續(xù)的,但是在物理卷上可以是不連續(xù)的。
[0009]卷組:多個邏輯卷組成卷組volume group,VG。
[0010]從以上介紹可以看出,邏輯卷管理就是把硬盤分為連續(xù)的等大小的分區(qū)來管理硬盤,其它的UNIX系統(tǒng)或LINUX系統(tǒng)也是基于上述原理。
[0011]既然把硬盤分為等大小分區(qū),就肯定有部分硬盤區(qū)域沒有分配給邏輯管理來使用。以上面硬盤為例:585,937,500 減去 558*512*1024*1024 / 512= 832092,其中585,937,500是一共扇區(qū)數(shù);558是PP數(shù),即物理分區(qū)數(shù);512是扇區(qū)大小,最后得出有832092個扇區(qū)沒有用到。這個未被分配分區(qū)在操作系統(tǒng)運行的整個生命周期都永遠不被使用。本專利區(qū)別于現(xiàn)有技術的核心原理就是利用這個區(qū)域,用來存儲和備份邏輯管理的配置信息,用于將來的數(shù)據(jù)恢復。
[0012]邏輯卷管理系統(tǒng)廣泛應用于目前絕大數(shù)的UNIX和LINUX中,更重要的是邏輯卷管理系統(tǒng)存儲的是用戶的數(shù)據(jù),甚至是核心數(shù)據(jù),一旦因為誤操作或這硬盤故障導致邏輯卷管理系統(tǒng)失敗,可能會對數(shù)據(jù)造成不可挽回的災難性后果。
[0013]目前國內和國際上大部分的行業(yè)客戶,包括銀行、保險、政府以及商業(yè)和制造業(yè)的核心系統(tǒng)基本都是采用UNIX系統(tǒng),邏輯卷管理系統(tǒng)存儲的都是他們的核心數(shù)據(jù)。發(fā)明人有著超過15年系統(tǒng)維護經驗,經常跟邏輯管理系統(tǒng)打交道,比如硬盤故障的替換、數(shù)據(jù)庫安裝,數(shù)據(jù)擴容等都需通過邏輯卷管理系統(tǒng)來實現(xiàn)。每次客戶實施上述的維護操作的時候,都非常小心謹慎。但是還是有碰到過多起因為誤操作或者硬盤故障導致的數(shù)據(jù)丟失,一旦數(shù)據(jù)丟失將對客戶業(yè)務造成非常嚴重的影響。
[0014]因此利用本發(fā)明提供的辦法,定期地備份邏輯卷配置信息,就能在誤操作或者硬盤部分故障的情況下,恢復邏輯卷管理系統(tǒng),挽回數(shù)據(jù),恢復業(yè)務的運行。
[0015]
【發(fā)明內容】
[0016]針對上述現(xiàn)有技術中存在的問題,本發(fā)明的目的是提供邏輯卷設定硬盤禁區(qū)并利用硬盤禁區(qū)備份配置信息的方法,本發(fā)明的具體實現(xiàn)包括兩部分內容,分別是通過切分機制來設定邏輯卷管理系統(tǒng)下硬盤禁區(qū)和設定所備份邏輯卷配置的數(shù)據(jù)格式并利用硬盤禁區(qū)備份邏輯卷配置,如下所示:
I)通過切分機制來設定邏輯卷管理系統(tǒng)下硬盤禁區(qū)
前提:在邏輯卷管理系統(tǒng)中存在硬盤非分配區(qū)域,但是硬盤的大小對我們是不確定的,每種硬盤都有不同扇區(qū)數(shù)目。要知道一塊硬盤實際扇區(qū)數(shù)可能需要非常特殊命令才能知道,有的操作系統(tǒng)可能還不提供類似的命令,這可能需要通過編程調用SCSi硬盤函數(shù)才能知道,本發(fā)明提供不需要編程和調用scsi硬盤函數(shù)來確定硬盤大小就可以通過切分機制來設定邏輯卷管理系統(tǒng)下硬盤禁區(qū)的方式;
另外硬盤禁區(qū)位置的設定遵循如下2個原則:
1.盡量離開硬盤的尾部,因為硬盤的尾部相當于硬盤磁片的邊緣位置,不經常訪問,可能存在磁性弱化的可能,容易造成數(shù)據(jù)丟失或數(shù)據(jù)錯誤;
i1.盡量離開最后一個PP位置,避免不可遇見的意外導致備份的數(shù)據(jù)被覆蓋。
[0017]步驟1,已知邏輯卷管理的PP SIZE用S表示和一個硬盤的pp數(shù)目用N表示。那么PP size轉換為扇區(qū)數(shù)目就是(S * 1024)*1024 /512 = 2048*S,假設硬盤禁區(qū)大小是K個扇區(qū),從最后一個PP的結尾再偏移2048*S / η個扇區(qū),η等于2,判斷這個位置沒有超出硬盤的尾部,沒有超出硬盤的尾部,這個位置作為第一個硬盤禁區(qū)的截止位置;當上述位置超出硬盤的尾部,從最后一個PP的結尾再偏移2048*S / η2個扇區(qū),判斷這個位置是否超出硬盤尾部,沒有超出硬盤的尾部,這個位置作為第一個硬盤禁區(qū)的截止位置;以此類推,通過偏移2048*S / n3,2048*S / η4等一系列操作能確定到第一個硬盤禁區(qū)的截止位置。
[0018]步驟2,在第一個硬盤禁區(qū)的起始位置確定后,假設這時第一個硬盤禁區(qū)的截止位置是l/η位置,判斷2048*S / 2n是否大于K,當2048*S / 2n大于K,從最后一個pp的結尾再偏移2048*S / 2n個扇區(qū)為第二個硬盤禁區(qū)的截止位置;當2048*S / 2n小于K,不設定第二個硬盤禁區(qū);當設定第二個硬盤禁區(qū)時第一個硬盤禁區(qū)和第二個硬盤禁區(qū)互為鏡像,確保數(shù)據(jù)可靠性;
2)設定所備份邏輯卷配置的數(shù)據(jù)格式并利用硬盤禁區(qū)備份邏輯卷配置前提:任何版本的邏輯卷管理系統(tǒng)都需要描述如下的信息:
1.硬盤的物理分區(qū)(PP)的數(shù)量;
2.每個物理分區(qū)大小,以M字節(jié)為單位;
3.硬盤上邏輯卷的數(shù)量;
4.每個邏輯卷的大小,占多少個pp;
5.邏輯卷是有作條帶化,條帶的大小,以K字節(jié)為單位;
6.每個邏輯卷在硬盤的分布;
以上就是邏輯卷管理配置的基本信息,設計備份如上信息的數(shù)據(jù)格式,必須要滿足如下條件:
1.需要能通過腳本和通用命令實現(xiàn),這就要求數(shù)據(jù)信息要用可見字符來描述;
2.備份的數(shù)據(jù)要足夠精煉,盡量少用硬盤禁區(qū)的空間;
步驟1,為了滿足上述條件,本專利特地設計了專用的備份邏輯卷配置的數(shù)據(jù)格式,具體如下:
PNUM9999 8個字節(jié),描述硬盤的物理分區(qū)數(shù)量,0001-9999 ;
SIZE9999 8個字節(jié),描述硬盤的物理分區(qū)大小,0001-9999M ;
LNUM9999 8個字節(jié),描述硬盤的邏輯卷數(shù)量,0001-9999 ;
SIZE9999 8個字節(jié),第一個邏輯卷大小,0001-9999個PP ;
STRP9999 8個字節(jié),邏輯卷條帶化大小,0001-9999K,0000表示沒有沒有條帶化;
000100020003...第一個邏輯卷包含的物理分區(qū)的序號,每4個字節(jié)描述一個物理分區(qū),具體個數(shù)由前面定義邏輯卷大小SIZE決定;
SIZE9999 8個字節(jié),第二個邏輯卷大小,0001-9999個PP ;
STRP9999 8個字節(jié),邏輯卷條帶化大小,0001-9999K,0000表示沒有沒有條帶化;
010101020103...第二個邏輯卷包含的物理分區(qū)的序號,每4個字節(jié)描述一個物理分區(qū),具體個數(shù)由前面定義邏輯卷大小SIZE決定;
END —結尾標志,ENDl表示第一個備份鏡像,END2表示第二個備份鏡像;
步驟2,按照備份邏輯卷配置的數(shù)據(jù)格式利用硬盤禁區(qū)備份邏輯卷配置,備份邏輯卷配置信息根據(jù)用戶需要通過壓縮并加密保存到硬盤禁區(qū),這樣數(shù)據(jù)內容將更小而且防止別人惡意改動,更加安全可靠。
[0019]有益效果
邏輯卷管理系統(tǒng)廣泛應用于目前絕大數(shù)的UNIX和LINUX中,更重要的是邏輯卷管理系統(tǒng)存儲的是用戶的數(shù)據(jù),甚至是核心數(shù)據(jù),一旦因為誤操作或這硬盤故障導致邏輯卷管理系統(tǒng)失敗,可能會對數(shù)據(jù)造成不可挽回的災難性后果。
[0020]目前國內和國際上大部分的行業(yè)客戶,包括銀行、保險、政府以及商業(yè)和制造業(yè)的核心系統(tǒng)基本都是采用UNIX系統(tǒng),邏輯卷管理系統(tǒng)存儲的都是他們的核心數(shù)據(jù)。發(fā)明人有著超過15年系統(tǒng)維護經驗,經常跟邏輯管理系統(tǒng)打交道,比如硬盤故障的替換、數(shù)據(jù)庫安裝,數(shù)據(jù)擴容等都需通過邏輯卷管理系統(tǒng)來實現(xiàn)。每次客戶實施上述的維護操作的時候,都非常小心謹慎。但是還是有碰到過多起因為誤操作或者硬盤故障導致的數(shù)據(jù)丟失,一旦數(shù)據(jù)丟失將對客戶業(yè)務造成非常嚴重的影響。
[0021]因此利用本發(fā)明提供的辦法,定期地備份邏輯卷配置信息,就能在誤操作或者硬盤部分故障的情況下,恢復邏輯卷管理系統(tǒng),挽回數(shù)據(jù),恢復業(yè)務的運行,并且本發(fā)明不需要編程不需要調用硬盤參數(shù),簡單易用。
【附圖說明】
[0022]圖1為本發(fā)明的通過切分機制來設定邏輯卷管理系統(tǒng)下硬盤禁區(qū)的示意圖;
圖2為本發(fā)明的實施步驟邏輯關系圖。
【具體實施方式】
[0023]參看圖1和圖2,實現(xiàn)本發(fā)明的邏輯卷設定硬盤禁區(qū)并利用硬盤禁區(qū)備份配置信息的方法包括兩部分內容,分別是通過切分機制來設定邏輯卷管理系統(tǒng)下硬盤禁區(qū)和設定所備份邏輯卷配置的