本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種硬盤數(shù)據(jù)擦除方法、服務(wù)器及系統(tǒng)。
背景技術(shù):
機(jī)械硬盤(如硬盤驅(qū)動器,harddiskdrive,hdd)和固態(tài)硬盤(solidstatedrive,ssd)是數(shù)據(jù)中心常使用的存儲部件,二者各有優(yōu)點(diǎn)。比如,固態(tài)硬盤在數(shù)據(jù)讀取速度、抗震能力、功耗、運(yùn)行聲音以及發(fā)熱方面,都較具有優(yōu)勢;而機(jī)械硬盤具有容量大、價(jià)位低的優(yōu)點(diǎn)。
因各類原因,存儲部件需要拿出數(shù)據(jù)中心。而鑒于數(shù)據(jù)安全及相關(guān)規(guī)范,該存儲部件上承載的數(shù)據(jù)必須在拿出數(shù)據(jù)中心之前有效地破壞,以避免數(shù)據(jù)泄漏。另外,在故障替換、搬遷等情況下,也需要對數(shù)據(jù)進(jìn)行擦除處理。
一些數(shù)據(jù)中心現(xiàn)行的數(shù)據(jù)銷毀采用的是永久性破壞硬盤的方式,例如對硬盤進(jìn)行永久性物理損壞。在經(jīng)過此類物理損壞后,磁盤上的已有數(shù)據(jù)固然無法恢復(fù),但同時(shí),該盤的使用壽命終結(jié),直接導(dǎo)致硬盤未能被充分利用其全部使用壽命,因而增加了數(shù)據(jù)中心的維護(hù)成本。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明解決的技術(shù)問題之一是提供一種硬盤數(shù)據(jù)擦除方法、服務(wù)器及系統(tǒng)。
根據(jù)本發(fā)明一方面的一個(gè)實(shí)施例,提供了一種硬盤數(shù)據(jù)擦除方法,所述方法包括:向所述磁盤簇設(shè)備發(fā)送數(shù)據(jù)寫入命令;通過所述數(shù)據(jù)寫入命令,向所述磁盤簇所掛載的多個(gè)硬盤寫入第一類型數(shù)據(jù),從而覆蓋原有數(shù)據(jù)。
可選的,在數(shù)據(jù)寫入操作之后,還包括:向所述磁盤簇設(shè)備發(fā)送校驗(yàn)讀出命令,發(fā)起讀校驗(yàn)操作;根據(jù)所述校驗(yàn)讀出命令,從所述磁盤簇所掛載的多個(gè)硬盤并行讀出數(shù)據(jù);判斷所讀出的數(shù)據(jù)是否為所述重復(fù)數(shù)據(jù)或隨機(jī)數(shù)據(jù),從而完成校驗(yàn)。
可選的,在發(fā)起數(shù)據(jù)寫入操作之前,還包括:控制啟動所述磁盤簇設(shè)備上所掛載的多個(gè)硬盤,并判斷是否存在無法識別的硬盤;針對無法識別的硬盤,發(fā)出進(jìn)行熱插拔更換的指示。
可選的,還包括:針對每個(gè)被控制的硬盤,生成并保存操作日志,所述操作日志記錄有該硬盤在操作過程中被執(zhí)行的命令、任務(wù)完成情況。
可選的,還包括:向用戶提供擦除配置界面;接收用戶在所述擦除配置界面上輸入的配置選項(xiàng),根據(jù)所述配置選項(xiàng)的信息進(jìn)行擦除控制;所述配置選項(xiàng)包括:是否擦除系統(tǒng)硬盤、待擦除硬盤的型號,和/或,擦除方式。
可選的,還包括:設(shè)置與所述一個(gè)或多個(gè)磁盤簇設(shè)備分別對應(yīng)的一個(gè)或多個(gè)sas控制模塊;在所述sas控制模塊中,通過sas擴(kuò)展器實(shí)現(xiàn)該sas控制模塊對應(yīng)的磁盤簇設(shè)備所掛載的多個(gè)硬盤的硬盤陣列布局。
可選的,還包括:在所述sas控制模塊中,配置sas擴(kuò)展器為多級級聯(lián)方式;通過多級級聯(lián)的多層sas擴(kuò)展器,擴(kuò)展所控制的硬盤數(shù)目和并行度。
可選的,在數(shù)據(jù)寫入操作之前或讀校驗(yàn)操作之后,還包括:根據(jù)所述多極級聯(lián)的多層sas擴(kuò)展器的級聯(lián)方式,依據(jù)從最高級sas擴(kuò)展器向第一級sas擴(kuò)展器的順序,依次啟動各級sas擴(kuò)展器對應(yīng)的硬盤。
可選的,還包括:模擬與硬盤陣列布局對應(yīng)的硬盤故障識別面板;通過所述硬盤故障識別面板,查看各個(gè)硬盤的狀態(tài)并定位狀態(tài)異常的硬盤。
可選的,所述方法通過sas協(xié)議控制一個(gè)或多個(gè)外掛的磁盤簇設(shè)備,向所述磁盤簇所掛載的硬盤并行寫入第一類型數(shù)據(jù),從而對所述磁盤簇設(shè)備上掛載的多個(gè)硬盤的數(shù)據(jù)進(jìn)行批量擦除。
可選的,所述第一類型數(shù)據(jù)為預(yù)設(shè)數(shù)據(jù)、重復(fù)數(shù)據(jù)、隨機(jī)數(shù)據(jù)或者模板類數(shù)據(jù)。
根據(jù)本發(fā)明另一方面的一個(gè)實(shí)施例,提供了一種硬盤數(shù)據(jù)擦除服務(wù)器, 所述服務(wù)器包括:寫操作控制模塊,用于向所述磁盤簇設(shè)備發(fā)送數(shù)據(jù)寫入命令;以及,通過所述數(shù)據(jù)寫入命令,控制向所述磁盤簇所掛載的多個(gè)硬盤寫入第一類型數(shù)據(jù),從而覆蓋原有數(shù)據(jù)。
可選的,還包括:讀校驗(yàn)控制模塊,用于向所述磁盤簇設(shè)備發(fā)送校驗(yàn)讀出命令,發(fā)起讀校驗(yàn)操作;根據(jù)所述校驗(yàn)讀出命令,從所述磁盤簇所掛載的多個(gè)硬盤并行讀出數(shù)據(jù);以及,判斷所讀出的數(shù)據(jù)是否為所述重復(fù)數(shù)據(jù)或隨機(jī)數(shù)據(jù),從而完成校驗(yàn)。
可選的,還包括:硬盤啟動識別模塊,用于控制啟動所述磁盤簇設(shè)備上所掛載的多個(gè)硬盤,并判斷是否存在無法識別的硬盤;以及,針對無法識別的硬盤,發(fā)出進(jìn)行熱插拔更換的指示。
可選的,還包括:操作日志模塊,用于針對每個(gè)被控制的硬盤,生成并保存操作日志,所述操作日志記錄有該硬盤在操作過程中被執(zhí)行的命令、任務(wù)完成情況。
可選的,還包括:擦除配置界面模塊,用于向用戶提供擦除配置界面;以及,接收用戶在所述擦除配置界面上輸入的配置選項(xiàng),根據(jù)所述配置選項(xiàng)的信息進(jìn)行擦除控制;所述配置選項(xiàng)包括:是否擦除系統(tǒng)硬盤、待擦除硬盤的型號,和/或,擦除方式。
可選的,還包括:一個(gè)或多個(gè)sas控制模塊,與所述一個(gè)或多個(gè)磁盤簇設(shè)備分別對應(yīng)的,用于通過sas擴(kuò)展器實(shí)現(xiàn)該sas控制模塊對應(yīng)的磁盤簇設(shè)備所掛載的多個(gè)硬盤的硬盤陣列布局。
可選的,所述sas控制模塊,還用于配置sas擴(kuò)展器為多級級聯(lián)方式,通過多級級聯(lián)的多層sas擴(kuò)展器,擴(kuò)展所控制的硬盤數(shù)目和并行度。
可選的,所述sas控制模塊,還用于根據(jù)所述多極級聯(lián)的多層sas擴(kuò)展器的級聯(lián)方式,依據(jù)從最高級sas擴(kuò)展器向第一級sas擴(kuò)展器的順序,依次啟動各級sas擴(kuò)展器對應(yīng)的硬盤。
可選的,還包括:硬盤故障識別面板模塊,用于模擬與硬盤陣列布局對應(yīng)的硬盤故障識別面板;以及,通過所述硬盤故障識別面板,查看各個(gè)硬盤的狀態(tài)并定位狀態(tài)異常的硬盤。
可選的,所述服務(wù)器通過sas協(xié)議控制一個(gè)或多個(gè)外掛的磁盤簇設(shè)備, 向所述磁盤簇所掛載的硬盤并行寫入第一類型數(shù)據(jù),從而對所述磁盤簇設(shè)備上掛載的多個(gè)硬盤的數(shù)據(jù)進(jìn)行批量擦除。
可選的,所述第一類型數(shù)據(jù)為預(yù)設(shè)數(shù)據(jù)、重復(fù)數(shù)據(jù)、隨機(jī)數(shù)據(jù)或者模板類數(shù)據(jù)。
根據(jù)本發(fā)明再一方面的一個(gè)實(shí)施例,提供了一種硬盤數(shù)據(jù)擦除系統(tǒng),該系統(tǒng)包括上述任一項(xiàng)所述的服務(wù)器以及磁盤簇設(shè)備。
可見,本發(fā)明通過應(yīng)用較為穩(wěn)定的sas互聯(lián)技術(shù),設(shè)計(jì)并構(gòu)建了一套適于硬盤原有數(shù)據(jù)的并行擦除的方案。該方案可用于數(shù)據(jù)中心的數(shù)據(jù)擦除工作。本發(fā)明具有高并行度的優(yōu)勢,通過sas擴(kuò)展,可并行寫入近千塊機(jī)械硬盤和固態(tài)硬盤,從而實(shí)現(xiàn)數(shù)據(jù)的有效快速擦除。具體的,通過擦除服務(wù)器對硬盤直接下發(fā)sas命令到磁盤簇設(shè)備,通過sas卡控制擦除過程,避免了在擦除過程中一直通過操作系統(tǒng)與盤進(jìn)行i/o通信,極大的節(jié)約了系統(tǒng)資源,也是前面提到的高并發(fā)的體現(xiàn)。
本發(fā)明只需要一臺普通服務(wù)器作為機(jī)頭,即可完成相應(yīng)的數(shù)據(jù)寫入,擦除校驗(yàn),日志分析和壞盤記錄等相應(yīng)功能。整體投入可控,且可在短時(shí)間內(nèi)完成近千塊大容量硬盤的非破壞性數(shù)據(jù)銷毀。所謂非破壞是指硬盤的非破壞,而數(shù)據(jù)是永久銷毀,不殘留任何數(shù)據(jù)片段。與現(xiàn)有永久性物理損壞硬盤的方式相比,本發(fā)明方案可保證原有數(shù)據(jù)被有效覆蓋,從而使得被擦除的機(jī)械硬盤和固態(tài)硬盤仍可使用。
本領(lǐng)域普通技術(shù)人員將了解,雖然下面的詳細(xì)說明將參考圖示實(shí)施例、附圖進(jìn)行,但本發(fā)明并不僅限于這些實(shí)施例。而是,本發(fā)明的范圍是廣泛的,且意在僅通過后附的權(quán)利要求限定本發(fā)明的范圍。
附圖說明
通過閱讀參照以下附圖所作的對非限制性實(shí)施例所作的詳細(xì)描述,本發(fā)明的其它特征、目的和優(yōu)點(diǎn)將會變得更明顯:
圖1是根據(jù)本發(fā)明實(shí)施例的硬盤數(shù)據(jù)擦除方法的流程圖;
圖2是根據(jù)本發(fā)明實(shí)施例的硬盤數(shù)據(jù)擦除方法中硬盤寫數(shù)據(jù)原理示意圖;
圖3是根據(jù)本發(fā)明實(shí)施例的硬盤數(shù)據(jù)擦除方法中數(shù)據(jù)擦除頂層架構(gòu)示意圖;
圖4是根據(jù)本發(fā)明實(shí)施例的硬盤數(shù)據(jù)擦除方法中sas控制模塊的擴(kuò)展方式示意圖;
圖5是根據(jù)本發(fā)明實(shí)施例的硬盤數(shù)據(jù)擦除方法中啟動擦除流程示意圖;
圖6是根據(jù)本發(fā)明實(shí)施例的硬盤數(shù)據(jù)擦除方法中關(guān)閉擦除流程示意圖;
圖7是根據(jù)本發(fā)明實(shí)施例的硬盤數(shù)據(jù)擦除方法中硬盤故障識別面板示意圖;
圖8是根據(jù)本發(fā)明實(shí)施例的硬盤數(shù)據(jù)擦除服務(wù)器的結(jié)構(gòu)示意圖。
本領(lǐng)域普通技術(shù)人員將了解,雖然下面的詳細(xì)說明將參考圖示實(shí)施例、附圖進(jìn)行,但本發(fā)明并不僅限于這些實(shí)施例。而是,本發(fā)明的范圍是廣泛的,且意在僅通過后附的權(quán)利要求限定本發(fā)明的范圍。
具體實(shí)施方式
在更加詳細(xì)地討論示例性實(shí)施例之前應(yīng)當(dāng)提到的是,一些示例性實(shí)施例被描述成作為流程圖描繪的處理或方法。雖然流程圖將各項(xiàng)操作描述成順序的處理,但是其中的許多操作可以被并行地、并發(fā)地或者同時(shí)實(shí)施。此外,各項(xiàng)操作的順序可以被重新安排。當(dāng)其操作完成時(shí)所述處理可以被終止,但是還可以具有未包括在附圖中的附加步驟。所述處理可以對應(yīng)于方法、函數(shù)、規(guī)程、子例程、子程序等等。
所述計(jì)算機(jī)設(shè)備包括用戶設(shè)備與網(wǎng)絡(luò)設(shè)備。其中,所述用戶設(shè)備包括但不限于電腦、智能手機(jī)、pda等;所述網(wǎng)絡(luò)設(shè)備包括但不限于單個(gè)網(wǎng)絡(luò)服務(wù)器、多個(gè)網(wǎng)絡(luò)服務(wù)器組成的服務(wù)器組或基于云計(jì)算(cloudcomputing)的由大量計(jì)算機(jī)或網(wǎng)絡(luò)服務(wù)器構(gòu)成的云,其中,云計(jì)算是分布式計(jì)算的一種,由一群松散耦合的計(jì)算機(jī)集組成的一個(gè)超級虛擬計(jì)算機(jī)。其中,所述計(jì)算機(jī)設(shè)備可單獨(dú)運(yùn)行來實(shí)現(xiàn)本發(fā)明,也可接入網(wǎng)絡(luò)并通過與網(wǎng)絡(luò)中的其他計(jì)算機(jī)設(shè)備的交互操作來實(shí)現(xiàn)本發(fā)明。其中,所述 計(jì)算機(jī)設(shè)備所處的網(wǎng)絡(luò)包括但不限于互聯(lián)網(wǎng)、廣域網(wǎng)、城域網(wǎng)、局域網(wǎng)、vpn網(wǎng)絡(luò)等。
需要說明的是,所述用戶設(shè)備、網(wǎng)絡(luò)設(shè)備和網(wǎng)絡(luò)等僅為舉例,其他現(xiàn)有的或今后可能出現(xiàn)的計(jì)算機(jī)設(shè)備或網(wǎng)絡(luò)如可適用于本發(fā)明,也應(yīng)包含在本發(fā)明保護(hù)范圍以內(nèi),并以引用方式包含于此。
后面所討論的方法(其中一些通過流程圖示出)可以通過硬件、軟件、固件、中間件、微代碼、硬件描述語言或者其任意組合來實(shí)施。當(dāng)用軟件、固件、中間件或微代碼來實(shí)施時(shí),用以實(shí)施必要任務(wù)的程序代碼或代碼段可以被存儲在機(jī)器或計(jì)算機(jī)可讀介質(zhì)(比如存儲介質(zhì))中。(一個(gè)或多個(gè))處理器可以實(shí)施必要的任務(wù)。
這里所公開的具體結(jié)構(gòu)和功能細(xì)節(jié)僅僅是代表性的,并且是用于描述本發(fā)明的示例性實(shí)施例的目的。但是本發(fā)明可以通過許多替換形式來具體實(shí)現(xiàn),并且不應(yīng)當(dāng)被解釋成僅僅受限于這里所闡述的實(shí)施例。
應(yīng)當(dāng)理解的是,雖然在這里可能使用了術(shù)語“第一”、“第二”等等來描述各個(gè)單元,但是這些單元不應(yīng)當(dāng)受這些術(shù)語限制。使用這些術(shù)語僅僅是為了將一個(gè)單元與另一個(gè)單元進(jìn)行區(qū)分。舉例來說,在不背離示例性實(shí)施例的范圍的情況下,第一單元可以被稱為第二單元,并且類似地第二單元可以被稱為第一單元。這里所使用的術(shù)語“和/或”包括其中一個(gè)或更多所列出的相關(guān)聯(lián)項(xiàng)目的任意和所有組合。
應(yīng)當(dāng)理解的是,當(dāng)一個(gè)單元被稱為“連接”或“耦合”到另一單元時(shí),其可以直接連接或耦合到所述另一單元,或者可以存在中間單元。與此相對,當(dāng)一個(gè)單元被稱為“直接連接”或“直接耦合”到另一單元時(shí),則不存在中間單元。應(yīng)當(dāng)按照類似的方式來解釋被用于描述單元之間的關(guān)系的其他詞語(例如“處于...之間”相比于“直接處于...之間”,“與...鄰近”相比于“與...直接鄰近”等等)。
這里所使用的術(shù)語僅僅是為了描述具體實(shí)施例而不意圖限制示例性實(shí)施例。除非上下文明確地另有所指,否則這里所使用的單數(shù)形式“一個(gè)”、“一項(xiàng)”還意圖包括復(fù)數(shù)。還應(yīng)當(dāng)理解的是,這里所使用的術(shù)語“包括”和/或“包含”規(guī)定所陳述的特征、整數(shù)、步驟、操作、單元和/或組 件的存在,而不排除存在或添加一個(gè)或更多其他特征、整數(shù)、步驟、操作、單元、組件和/或其組合。
還應(yīng)當(dāng)提到的是,在一些替換實(shí)現(xiàn)方式中,所提到的功能/動作可以按照不同于附圖中標(biāo)示的順序發(fā)生。舉例來說,取決于所涉及的功能/動作,相繼示出的兩幅圖實(shí)際上可以基本上同時(shí)執(zhí)行或者有時(shí)可以按照相反的順序來執(zhí)行。
首先對本發(fā)明實(shí)施例中出現(xiàn)的專業(yè)術(shù)語進(jìn)行說明:
sas(serialattachedscsi,串行連接scsi),是一種磁盤連接技術(shù),它總和了并行scsi和串行連接技術(shù)的優(yōu)勢,采用scsi-3擴(kuò)展指令集并兼容sata設(shè)備,是多層次的存儲設(shè)備連接協(xié)議棧。
sas擴(kuò)展器(sasexpander)是sas協(xié)議中的一個(gè)功能模塊,其用于將多個(gè)sas設(shè)備連接在一起,包括sas陣列卡、sas硬盤等,從而形成sas域。
磁盤文件存儲管理的最小單位叫做“簇”,磁盤簇設(shè)備(jbod設(shè)備)是在一個(gè)底板上安裝的帶有多個(gè)磁盤驅(qū)動器的存儲設(shè)備。
第一類型數(shù)據(jù),用于覆蓋原有數(shù)據(jù)實(shí)現(xiàn)數(shù)據(jù)擦除,包括但不限于預(yù)設(shè)數(shù)據(jù)、重復(fù)數(shù)據(jù)、隨機(jī)數(shù)據(jù)或者模板類數(shù)據(jù)。例如,重復(fù)數(shù)據(jù)可以是全0的數(shù)據(jù),隨機(jī)數(shù)據(jù)是機(jī)器自動隨機(jī)生成的數(shù)據(jù),預(yù)設(shè)數(shù)據(jù)是預(yù)先設(shè)置的數(shù)據(jù),模板類數(shù)據(jù)是根據(jù)預(yù)置模板生成的數(shù)據(jù)。第一類型數(shù)據(jù)一般是無意義數(shù)據(jù),只要覆蓋掉原有數(shù)據(jù)實(shí)現(xiàn)數(shù)據(jù)擦除即可,對于數(shù)據(jù)的具體形式不做限制。
下面結(jié)合附圖對本發(fā)明的技術(shù)方案作進(jìn)一步詳細(xì)描述。
圖1是根據(jù)本發(fā)明實(shí)施例的硬盤數(shù)據(jù)擦除方法的流程圖,該方法用于對多個(gè)固態(tài)硬盤或機(jī)械硬盤的數(shù)據(jù)進(jìn)行批量擦除,其中,擦除服務(wù)器通過sas(serialattachedscsi,串行連接scsi)協(xié)議控制一個(gè)或多個(gè)外掛的磁盤簇(justabunchofdisks,jbod)設(shè)備,從而對磁盤簇設(shè)備上掛載的多個(gè)硬盤的數(shù)據(jù)進(jìn)行批量擦除。
本實(shí)施例的方法主要包括如下步驟:
s100、擦除服務(wù)器控制啟動磁盤簇設(shè)備上所掛載的多個(gè)硬盤,并判 斷是否存在無法識別的硬盤;針對無法識別的硬盤,發(fā)出進(jìn)行熱插拔更換的指示;
s101、擦除服務(wù)器向磁盤簇設(shè)備發(fā)送數(shù)據(jù)寫入命令,通過數(shù)據(jù)寫入命令,向磁盤簇所掛載的多個(gè)硬盤并行寫入第一類型數(shù)據(jù),從而覆蓋原有數(shù)據(jù);
s102、擦除服務(wù)器向磁盤簇設(shè)備發(fā)送校驗(yàn)讀出命令,發(fā)起讀校驗(yàn)操作;根據(jù)校驗(yàn)讀出命令,從磁盤簇所掛載的多個(gè)硬盤并行讀出數(shù)據(jù);判斷所讀出的數(shù)據(jù)是否為第一類型數(shù)據(jù),從而完成校驗(yàn)。
本發(fā)明實(shí)施例中,硬盤包括但不限于機(jī)械硬盤(如硬盤驅(qū)動器,harddiskdrive,hdd)和固態(tài)硬盤(solidstatedrive,ssd)等高密度存儲設(shè)備。
本實(shí)施例中,擦除服務(wù)器通過sas協(xié)議與掛載硬盤的磁盤簇進(jìn)行通信,實(shí)現(xiàn)對磁盤簇所掛載的硬盤進(jìn)行數(shù)據(jù)擦除操作。sas是一種磁盤連接技術(shù),它總和了并行scsi和串行連接技術(shù)的優(yōu)勢,采用scsi-3擴(kuò)展指令集并兼容sata設(shè)備,是多層次的存儲設(shè)備連接協(xié)議棧。磁盤簇(jbod)設(shè)備是存儲領(lǐng)域中一類重要的存儲設(shè)備。jbod設(shè)備是在一個(gè)底板上安裝的帶有多個(gè)磁盤驅(qū)動器的存儲設(shè)備。通常又稱為span。和raid陣列不同,jbod沒有前端邏輯來管理磁盤上的數(shù)據(jù)分布,相反,每個(gè)磁盤進(jìn)行單獨(dú)尋址,作為分開的存儲資源,或者基于主機(jī)軟件的一部分,或者是raid組的一個(gè)適配器卡。
具體的,擦除服務(wù)器負(fù)責(zé)故障硬盤識別(s100)、發(fā)起數(shù)據(jù)寫入從而實(shí)現(xiàn)數(shù)據(jù)擦除(s101)、讀校驗(yàn)(s102)等。
步驟s100是擦除數(shù)據(jù)的準(zhǔn)備步驟,主要為了查看所有硬盤是否啟動,并確定是否有硬盤存在故障等問題而無法識別,并針對無法識別的硬盤,告知工程師進(jìn)行熱插拔更換處理??梢岳斫猓瑂100是可選的準(zhǔn)備步驟,并不是必須的,也即可以省略此步驟。
步驟s101是完成數(shù)據(jù)擦除的步驟。擦除服務(wù)器向磁盤簇設(shè)備發(fā)送數(shù)據(jù)寫入命令,發(fā)起數(shù)據(jù)寫入操作;根據(jù)數(shù)據(jù)寫入命令,向磁盤簇所掛載的多個(gè)硬盤并行寫入第一類型數(shù)據(jù),從而覆蓋原有數(shù)據(jù)。這里的第一類 型數(shù)據(jù),比如可以是全0的數(shù)據(jù),或者是隨機(jī)數(shù)據(jù),只要覆蓋掉原有數(shù)據(jù)實(shí)現(xiàn)數(shù)據(jù)擦除即可,對于第一類型數(shù)據(jù)的具體形式不做限制。
為了實(shí)現(xiàn)對硬盤進(jìn)行第一類型數(shù)據(jù)的寫入控制,可以通過在擦除服務(wù)器中設(shè)置sas控制模塊來實(shí)現(xiàn)。具體的,在擦除服務(wù)器中設(shè)置與磁盤簇設(shè)備數(shù)目對應(yīng)的一個(gè)或多個(gè)sas控制模塊(即每一個(gè)sas控制模塊控制一個(gè)磁盤簇設(shè)備);在sas控制模塊中,通過sas擴(kuò)展器(sasexpander)實(shí)現(xiàn)所對應(yīng)的磁盤簇設(shè)備所掛載的多個(gè)硬盤的硬盤陣列布局。其中,sasexpander是sas協(xié)議中的一個(gè)功能模塊,其用于將多個(gè)sas設(shè)備連接在一起,包括sas陣列卡、sas硬盤等,從而形成sas域。sasexpander可以將多個(gè)sas連接到有限數(shù)量的主機(jī)端口上。在sas域中,sasexpander可以起到中心交換作用,并可直接連接終端設(shè)備。
為了實(shí)現(xiàn)對被控硬盤數(shù)量和并行度的擴(kuò)展,可以采取多層sas擴(kuò)展器的多級級聯(lián)方式。例如,在sas控制模塊中,配置四層sas擴(kuò)展器的多級級聯(lián)方式;通過多級級聯(lián)的四層sas擴(kuò)展器,擴(kuò)展所控制的硬盤數(shù)目和并行度。在采取多層sas擴(kuò)展器的多級級聯(lián)方式中,在數(shù)據(jù)寫入操作之前或讀校驗(yàn)操作之后,啟動各級sas擴(kuò)展器及對應(yīng)硬盤的順序是:根據(jù)多極級聯(lián)的多層sas擴(kuò)展器的級聯(lián)方式,依據(jù)從最高級sas擴(kuò)展器向第一級sas擴(kuò)展器的順序,依次啟動各級sas擴(kuò)展器對應(yīng)的硬盤。例如,假設(shè)采用四層sas擴(kuò)展器:level1、level2、level3、level4,其中l(wèi)evel4為最高級,那么,啟動的順序就是,level4、level3、level2到level1的順序。
步驟s102主要是在完成數(shù)據(jù)擦除之后,為了校驗(yàn)寫入的數(shù)據(jù)是否為預(yù)先定義的第一類型數(shù)據(jù)??梢?,該步驟主要為了確定數(shù)據(jù)擦除的正確性,是可選步驟,而非必須的步驟。
可選的,還可以模擬出一個(gè)與硬盤陣列布局對應(yīng)的硬盤故障識別面板(例如軟件操控界面);通過該硬盤故障識別面板,查看各個(gè)硬盤的狀態(tài)并定位狀態(tài)異常的硬盤。
可選的,還可以針對每個(gè)被控制的硬盤,生成并保存操作日志,操作日志記錄有該硬盤在操作過程中被執(zhí)行的命令、任務(wù)完成情況等。
可選的,還可以支持用戶自定義擦除模式,用戶可以根據(jù)自己的業(yè)務(wù)場景選擇適合的擦除模式。具體的,向用戶提供擦除配置界面;接收用戶在擦除配置界面上輸入的配置選項(xiàng),所述配置選項(xiàng)包括:是否擦除系統(tǒng)硬盤、待擦除硬盤的型號,和/或,擦除方式。
本發(fā)明中的硬盤包括但不限于機(jī)械硬盤、固態(tài)硬盤等高密度存儲設(shè)備。為了直觀,下面以機(jī)械硬盤為例子,對本發(fā)明方法實(shí)施例進(jìn)行詳細(xì)介紹。
本發(fā)明以并行寫入多塊硬盤以覆蓋盤面上的已有內(nèi)容。因此,選用的固定的數(shù)據(jù)模式如全零模式或隨機(jī)數(shù)模式把磁盤記錄的內(nèi)容改變?yōu)闊o意義的數(shù)據(jù)。而此動作包括被擦除硬盤的所有扇區(qū),以避免任何內(nèi)容殘留而導(dǎo)致的信息泄露。
參見圖2,是根據(jù)本發(fā)明實(shí)施例的硬盤數(shù)據(jù)擦除方法中硬盤寫數(shù)據(jù)原理示意圖。如圖2所示,在盤面上覆蓋了軟磁性材料,該材料可將存儲介質(zhì)顆粒磁化為n->s或者s->n兩周不同的磁場走向,并以此分別表示所記錄的bit為0或1。磁化過程通過改變圖中磁頭上所纏繞的通電線圈的電流方向來實(shí)現(xiàn)不同方向的磁場。因此,機(jī)械硬盤寫數(shù)據(jù)為直接保持或翻轉(zhuǎn)介質(zhì)合理的磁化方向而直接用新數(shù)據(jù)來覆蓋原有數(shù)據(jù),整個(gè)過程無需擦除。因此,硬盤擦除就是將現(xiàn)有數(shù)據(jù)改寫為無真實(shí)意義數(shù)據(jù),例如全零數(shù)據(jù)或隨機(jī)數(shù)據(jù),就相當(dāng)于原有信息無法被恢復(fù)。當(dāng)整個(gè)硬盤的全部扇區(qū)均被改寫后,該硬盤可成功宣告已滿足數(shù)據(jù)安全的要求,不會存在數(shù)據(jù)泄露的可能。如此處理的機(jī)械硬盤,相當(dāng)于整個(gè)盤寫滿一遍,對于硬盤自身無不良損傷,從而可以保持其可用性。
參見圖3,是根據(jù)本發(fā)明實(shí)施例的硬盤數(shù)據(jù)擦除方法中數(shù)據(jù)擦除頂層架構(gòu)示意圖。
本發(fā)明提供的數(shù)據(jù)擦除頂層架構(gòu),主要由兩部分組成:
(1)擦除服務(wù)器(機(jī)頭):擦除服務(wù)器(機(jī)頭)作為數(shù)據(jù)寫入的發(fā)起端、擦除操作的控制端、校驗(yàn)管理端以及故障記錄端。本發(fā)明可僅采用一臺物理服務(wù)器,實(shí)現(xiàn)對近千塊機(jī)械硬盤的同時(shí)擦除以及相關(guān)工作,具有較高的資源利用效率。
(2)外掛jbod設(shè)備:擦除服務(wù)器通過sas線纜連接外部的jbod設(shè)備,每個(gè)jbod設(shè)備內(nèi)部掛載多塊機(jī)械硬盤。所有硬盤均以“塊”設(shè)備的形式呈現(xiàn)在服務(wù)器機(jī)頭。服務(wù)器機(jī)頭直接控制每一塊硬盤并進(jìn)行相應(yīng)操作。
在該例子中,采用雙路結(jié)構(gòu),在擦除服務(wù)器內(nèi)部安裝了兩塊sas卡(sas控制模塊)以并行拓展到各自外掛的jbod設(shè)備中的各級硬盤。sas卡通過pcie總線連接到服務(wù)器cpu和內(nèi)存系統(tǒng),單路的帶寬即為pcie總線帶寬,例如,pcie3.0x8可實(shí)現(xiàn)最高8gb/秒帶寬,對于機(jī)械硬盤此類吞吐性能較低的設(shè)備,可有效增大并發(fā)度來同時(shí)寫入大量硬盤設(shè)備。
下面取一路sas擴(kuò)展進(jìn)行介紹。
參見圖4,是根據(jù)本發(fā)明實(shí)施例的硬盤數(shù)據(jù)擦除方法中sas控制模塊的擴(kuò)展方式示意圖。圖4表示了本發(fā)明的拓展架構(gòu),圖中為了簡化,以a代表sas擴(kuò)展器a,以b代表sas擴(kuò)展器b,sas擴(kuò)展器b下面連接的是多個(gè)硬盤。通過sasexpander,本發(fā)明的互聯(lián)不斷向下延伸。單個(gè)sas控制模塊又并行驅(qū)動兩條路徑,每條路徑分四級擴(kuò)展。sasexpandera具有n路sas3.0通道,而sasexpanderb帶有m路sas3.0通道,此處,n>m。通過如圖4所示的四層sasexpander級聯(lián)方式,其目的是增大可連接的硬盤數(shù)目,從而增大并行度。
參見圖5,是根據(jù)本發(fā)明實(shí)施例的硬盤數(shù)據(jù)擦除方法中啟動擦除流程示意圖。包括以下步驟:
s501:啟動最高級即第四級(level4)的硬盤;
s502:啟動次高級即第三級(level3)的硬盤;
s503:啟動再低一級即第二級(level2)的硬盤;
s504:啟動最低級即第一級(level1)的硬盤;
s505:啟動擦除服務(wù)器;
s506:并行寫入第一類型數(shù)據(jù)至所有可見的硬盤。
參見圖6,是根據(jù)本發(fā)明實(shí)施例的硬盤數(shù)據(jù)擦除方法中關(guān)閉擦除流程示意圖。
s601:所有硬盤擦除完成且讀校驗(yàn)完成;
s602:啟動最高級即第四級(level4)的硬盤;
s603:啟動次高級即第三級(level3)的硬盤;
s604:啟動再低一級即第二級(level2)的硬盤;
s605:啟動最低級即第一級(level1)的硬盤;
s606:啟動擦除服務(wù)器。
在方法實(shí)施過程中,還有如下方面需要考慮。逐級開啟外掛的jbod設(shè)備并啟動擦除服務(wù)器后,第一輪將檢測服務(wù)器中無法識別的硬盤。如有任何盤不可操作,則做熱插拔更換,以便開始寫入數(shù)據(jù)以覆蓋原有信息。而熱插拔替換的硬盤也將做線下復(fù)盤測試,標(biāo)定為不可正常工作的壞盤。由于寫入數(shù)據(jù)為全0數(shù)據(jù),寫入數(shù)據(jù)固定,因而,從服務(wù)器的用戶數(shù)據(jù)傳輸量很低,主要傳輸信息為元數(shù)據(jù)等控制信息。寫入數(shù)據(jù)則可直接緩存在硬盤內(nèi)部的緩存模塊。
為確保全零字段順利寫入硬盤的所有扇區(qū)以覆蓋已有內(nèi)容,可在寫入數(shù)據(jù)后進(jìn)行讀校驗(yàn)操作。具體的,數(shù)據(jù)寫入后,服務(wù)器啟動讀數(shù)據(jù)操作,直接檢驗(yàn)寫入扇區(qū)的數(shù)據(jù)是否為全零。讀校驗(yàn)與寫覆蓋同步進(jìn)行,二者刻意地錯(cuò)落開一定的物理區(qū)間。因此,在寫滿全盤之后,讀校驗(yàn)也將在很短的時(shí)間內(nèi)完成。寫覆蓋和讀校驗(yàn)均采取順序?qū)懭牒晚樞蜃x出的方式,以最大限度提高被操作硬盤的吞吐,從而縮短數(shù)據(jù)擦除的時(shí)間。
在數(shù)據(jù)擦除中,對應(yīng)每個(gè)被擦除的硬盤,在擦除服務(wù)器可生成操作日志。操作日志可詳細(xì)記錄近千塊硬盤在各自擦除中所執(zhí)行的命令以及任務(wù)完成情況等信息,保證每次操作都保留有記錄。而該操作日志記錄將在后續(xù)多個(gè)環(huán)節(jié)被用到,例如,在存儲盤拿出數(shù)據(jù)中心時(shí),結(jié)合每塊硬盤的序列號(serialnumber),相關(guān)的操作日志會被掃描以確認(rèn)該硬盤已被正確有效地擦除。
為了對擦除過程進(jìn)行有效監(jiān)控,特別是識別出擦除過程中出現(xiàn)故障的硬盤,可以通過一個(gè)由軟件實(shí)現(xiàn)的硬盤故障識別面板來觀察。參見圖7,是根據(jù)本發(fā)明實(shí)施例的硬盤數(shù)據(jù)擦除方法中硬盤故障識別面板示意圖。行數(shù)nch表示通道數(shù),列數(shù)ndr表示每個(gè)通道中的被擦除硬盤的數(shù)目。 硬盤用小圓點(diǎn)表示。在整個(gè)數(shù)據(jù)擦除過程中,因?yàn)槿魏卧蛟谌魏螘r(shí)刻發(fā)生在任何硬盤上的非正常情況均會通過此面板反應(yīng)。現(xiàn)場工程師基于清晰明了的指示,可以快速定位到有問題的硬盤,做相應(yīng)替換。此故障識別面板接收來自于sas卡及其各級sasexpander所傳輸?shù)目刂菩盘?,并生成相?yīng)的動態(tài)更新的用戶界面。
可見,本發(fā)明通過應(yīng)用較為穩(wěn)定的sas互聯(lián)技術(shù),設(shè)計(jì)并構(gòu)建了一套適于硬盤原有數(shù)據(jù)的并行擦除的方案。該方案可用于數(shù)據(jù)中心的數(shù)據(jù)擦除工作。本發(fā)明具有高并行度的優(yōu)勢,通過sas擴(kuò)展,可并行寫入近千塊機(jī)械硬盤和固態(tài)硬盤,從而實(shí)現(xiàn)數(shù)據(jù)的有效快速擦除。具體的,通過擦除服務(wù)器對硬盤直接下發(fā)sas命令到磁盤簇設(shè)備,通過sas卡控制擦除過程,避免了在擦除過程中一直通過操作系統(tǒng)與盤進(jìn)行i/o通信,極大的節(jié)約了系統(tǒng)資源,也是前面提到的高并發(fā)的體現(xiàn)。
本發(fā)明具有高并發(fā)高效率的特點(diǎn),可以并行寫入近千塊硬盤。同時(shí),只需要一臺普通服務(wù)器作為機(jī)頭,即可完成相應(yīng)的數(shù)據(jù)寫入,擦除校驗(yàn),日志分析和壞盤記錄等相應(yīng)功能。整體投入可控,且可在短時(shí)間內(nèi)完成近千塊大容量硬盤的非破壞性數(shù)據(jù)銷毀。所謂非破壞是指硬盤的非破壞,而數(shù)據(jù)是永久銷毀,不殘留任何數(shù)據(jù)片段。與現(xiàn)有永久性物理損壞硬盤的方式相比,本發(fā)明方案可保證原有數(shù)據(jù)被有效覆蓋,從而使得被擦除的機(jī)械硬盤和固態(tài)硬盤仍可使用。
本發(fā)明支持用戶自定義擦除模式,用戶可以根據(jù)自己的業(yè)務(wù)場景選擇適合自己的擦除模式如:是否擦除sda系統(tǒng)盤、需要擦除盤的型號、擦除方式等。
本發(fā)明實(shí)施例提供一種與上述方法相對應(yīng)的一種硬盤數(shù)據(jù)擦除的服務(wù)器,通過sas協(xié)議控制一個(gè)或多個(gè)外掛的磁盤簇設(shè)備,從而對所述磁盤簇設(shè)備上掛載的多個(gè)硬盤的數(shù)據(jù)進(jìn)行批量擦除。
參見圖8,該服務(wù)器包括:
寫操作控制模塊801,用于向所述磁盤簇設(shè)備發(fā)送數(shù)據(jù)寫入命令,發(fā)起數(shù)據(jù)寫入操作;以及,通過所述數(shù)據(jù)寫入命令,控制向所述磁盤簇所掛載的多個(gè)硬盤并行寫入第一類型數(shù)據(jù),從而覆蓋原有數(shù)據(jù)。
可選的,該服務(wù)器還包括:
讀校驗(yàn)控制模塊802,用于向所述磁盤簇設(shè)備發(fā)送校驗(yàn)讀出命令,發(fā)起讀校驗(yàn)操作;根據(jù)所述校驗(yàn)讀出命令,從所述磁盤簇所掛載的多個(gè)硬盤并行讀出數(shù)據(jù);以及,判斷所讀出的數(shù)據(jù)是否為所述第一類型數(shù)據(jù),從而完成校驗(yàn)。
可選的,該服務(wù)器還包括:
硬盤啟動識別模塊803,用于控制啟動所述磁盤簇設(shè)備上所掛載的多個(gè)硬盤,并判斷是否存在無法識別的硬盤;以及,針對無法識別的硬盤,發(fā)出進(jìn)行熱插拔更換的指示。
可選的,該服務(wù)器還包括:
操作日志模塊804,用于針對每個(gè)被控制的硬盤,生成并保存操作日志,所述操作日志記錄有該硬盤在操作過程中被執(zhí)行的命令、任務(wù)完成情況。
可選的,該服務(wù)器還包括:
擦除配置界面模塊805,用于向用戶提供擦除配置界面;以及,接收用戶在所述擦除配置界面上輸入的配置選項(xiàng),根據(jù)所述配置選項(xiàng)的信息進(jìn)行擦除控制;所述配置選項(xiàng)包括:是否擦除系統(tǒng)硬盤、待擦除硬盤的型號,和/或,擦除方式。
可選的,該服務(wù)器還包括:
一個(gè)或多個(gè)sas控制模塊806,與所述一個(gè)或多個(gè)磁盤簇設(shè)備分別對應(yīng)的,用于通過sas擴(kuò)展器實(shí)現(xiàn)該sas控制模塊對應(yīng)的磁盤簇設(shè)備所掛載的多個(gè)硬盤的硬盤陣列布局。
可選的,
所述sas控制模塊806,還用于配置sas擴(kuò)展器為多級級聯(lián)方式,通過多級級聯(lián)的多層sas擴(kuò)展器,擴(kuò)展所控制的硬盤數(shù)目和并行度。
可選的,
所述sas控制模塊806,還用于根據(jù)所述多極級聯(lián)的多層sas擴(kuò)展器的級聯(lián)方式,依據(jù)從最高級sas擴(kuò)展器向第一級sas擴(kuò)展器的順序,依次啟動各級sas擴(kuò)展器對應(yīng)的硬盤。
可選的,該服務(wù)器還包括:
故障識別模塊807,用于模擬與硬盤陣列布局對應(yīng)的硬盤故障識別面板;以及,通過所述硬盤故障識別面板,查看各個(gè)硬盤的狀態(tài)并定位狀態(tài)異常的硬盤。
此外,本發(fā)明還提供一種硬盤數(shù)據(jù)擦除系統(tǒng),該系統(tǒng)包括圖8所述的服務(wù)器以及磁盤簇設(shè)備,其中,所述服務(wù)器通過sas協(xié)議控制一個(gè)或多個(gè)外掛的所述磁盤簇設(shè)備,從而對所述磁盤簇設(shè)備上掛載的多個(gè)硬盤的數(shù)據(jù)進(jìn)行批量擦除。
需要注意的是,本發(fā)明可在軟件和/或軟件與硬件的組合體中被實(shí)施,例如,可采用專用集成電路(asic)、通用目的計(jì)算機(jī)或任何其他類似硬件設(shè)備來實(shí)現(xiàn)。在一個(gè)實(shí)施例中,本發(fā)明的軟件程序可以通過處理器執(zhí)行以實(shí)現(xiàn)上文所述步驟或功能。同樣地,本發(fā)明的軟件程序(包括相關(guān)的數(shù)據(jù)結(jié)構(gòu))可以被存儲到計(jì)算機(jī)可讀記錄介質(zhì)中,例如,ram存儲器,磁或光驅(qū)動器或軟磁盤及類似設(shè)備。另外,本發(fā)明的一些步驟或功能可采用硬件來實(shí)現(xiàn),例如,作為與處理器配合從而執(zhí)行各個(gè)步驟或功能的電路。
另外,本發(fā)明的一部分可被應(yīng)用為計(jì)算機(jī)程序產(chǎn)品,例如計(jì)算機(jī)程序指令,當(dāng)其被計(jì)算機(jī)執(zhí)行時(shí),通過該計(jì)算機(jī)的操作,可以調(diào)用或提供根據(jù)本發(fā)明的方法和/或技術(shù)方案。而調(diào)用本發(fā)明的方法的程序指令,可能被存儲在固定的或可移動的記錄介質(zhì)中,和/或通過廣播或其他信號承載媒體中的數(shù)據(jù)流而被傳輸,和/或被存儲在根據(jù)所述程序指令運(yùn)行的計(jì)算機(jī)設(shè)備的工作存儲器中。在此,根據(jù)本發(fā)明的一個(gè)實(shí)施例包括一個(gè)裝置,該裝置包括用于存儲計(jì)算機(jī)程序指令的存儲器和用于執(zhí)行程序指令的處理器,其中,當(dāng)該計(jì)算機(jī)程序指令被該處理器執(zhí)行時(shí),觸發(fā)該裝置運(yùn)行基于前述根據(jù)本發(fā)明的多個(gè)實(shí)施例的方法和/或技術(shù)方案。
對于本領(lǐng)域技術(shù)人員而言,顯然本發(fā)明不限于上述示范性實(shí)施例的細(xì)節(jié),而且在不背離本發(fā)明的精神或基本特征的情況下,能夠以其他的具體形式實(shí)現(xiàn)本發(fā)明。因此,無論從哪一點(diǎn)來看,均應(yīng)將實(shí)施例看作是示范性的,而且是非限制性的,本發(fā)明的范圍由所附權(quán)利要求而不是上 述說明限定,因此旨在將落在權(quán)利要求的等同要件的含義和范圍內(nèi)的所有變化涵括在本發(fā)明內(nèi)。不應(yīng)將權(quán)利要求中的任何附圖標(biāo)記視為限制所涉及的權(quán)利要求。此外,顯然“包括”一詞不排除其他單元或步驟,單數(shù)不排除復(fù)數(shù)。系統(tǒng)權(quán)利要求中陳述的多個(gè)單元或裝置也可以由一個(gè)單元或裝置通過軟件或者硬件來實(shí)現(xiàn)。第一,第二等詞語用來表示名稱,而并不表示任何特定的順序。