本發(fā)明屬于計(jì)算機(jī)系統(tǒng)備份技術(shù)領(lǐng)域,具體涉及一種基于Btrfs文件系統(tǒng)的系統(tǒng)備份還原方法。
背景技術(shù):
目前已有的備份還原工具,不管是全備份,還是增量備份,都是把系統(tǒng)文件和用戶(hù)文件拷貝到一個(gè)存儲(chǔ)區(qū)域中,還原系統(tǒng)就是將之前存儲(chǔ)的數(shù)據(jù)拷貝回原處,替換現(xiàn)有文件。這種做法占用大量磁盤(pán)空間,并且耗費(fèi)大量時(shí)間。系統(tǒng)崩潰時(shí),用戶(hù)需要有一定的技術(shù)基礎(chǔ),進(jìn)行系統(tǒng)的還原,對(duì)用戶(hù)并不友好。且存儲(chǔ)起來(lái)的備份數(shù)據(jù),只是一部分系統(tǒng)數(shù)據(jù),并不是一個(gè)完整的系統(tǒng),同一時(shí)刻,用戶(hù)只擁有一個(gè)完整的操作系統(tǒng)?,F(xiàn)有技術(shù)的缺陷在于:現(xiàn)有的備份工具,備份系統(tǒng)時(shí)間長(zhǎng),需要額外的空間來(lái)存放備份的數(shù)據(jù);備份和還原對(duì)于普通用戶(hù),使用需要一定技術(shù)基礎(chǔ),尤其是系統(tǒng)崩潰后還原系統(tǒng);現(xiàn)有的備份,其實(shí)是操作系統(tǒng)的增量數(shù)據(jù)備份,而不是一個(gè)完整的操作系統(tǒng),備份的數(shù)據(jù)對(duì)當(dāng)前系統(tǒng)是不可見(jiàn)的,即在當(dāng)前的系統(tǒng)內(nèi)不能訪問(wèn)其他備份的數(shù)據(jù),必須還原系統(tǒng)到該備份才能訪問(wèn)。
技術(shù)實(shí)現(xiàn)要素:
針對(duì)上述現(xiàn)有技術(shù)中存在的問(wèn)題,本發(fā)明的目的在于提供一種可避免出現(xiàn)上述技術(shù)缺陷的基于Btrfs文件系統(tǒng)的系統(tǒng)備份還原方法。
為了實(shí)現(xiàn)上述發(fā)明目的,本發(fā)明提供的技術(shù)方案如下:
一種基于Btrfs文件系統(tǒng)的系統(tǒng)備份還原方法,包括系統(tǒng)備份和系統(tǒng)還原兩個(gè)過(guò)程的步驟。
進(jìn)一步地,所述系統(tǒng)備份包括以下步驟:
利用Btrfs文件系統(tǒng)特性備份初始操作系統(tǒng),創(chuàng)建多個(gè)快照;所述多個(gè)快照存放在初始操作系統(tǒng)所在的分區(qū)第一目錄下,每個(gè)快照都是一個(gè)獨(dú)立的系統(tǒng);在所述分區(qū)第一層目錄下還存放有default鏈接和數(shù)據(jù)庫(kù)文件,其中:default鏈接指向初始安裝的系統(tǒng),數(shù)據(jù)庫(kù)文件用于儲(chǔ)存用戶(hù)數(shù)據(jù);
初始操作系統(tǒng)啟動(dòng)后,先去讀取所述分區(qū)第一層目錄下的default鏈接;
讀取default鏈接指向快照的boot/refind_linux.conf文件,形成進(jìn)入多個(gè)快照的順序,再次啟動(dòng)計(jì)算機(jī)后,默認(rèn)進(jìn)入初始操作系統(tǒng)中。
進(jìn)一步地,所述系統(tǒng)還原包括以下步驟:
在defualt鏈接指向的默認(rèn)系統(tǒng)中,修改boot/refind_linux.conf文件中的引導(dǎo)記錄,并修改etc/default/grub文件中的啟動(dòng)項(xiàng),下次啟動(dòng)計(jì)算機(jī)時(shí),根據(jù)這兩個(gè)文件的引導(dǎo),進(jìn)入之前所創(chuàng)建的位于第一順序的快照中,實(shí)現(xiàn)操作系統(tǒng)的還原。
進(jìn)一步地,所述用戶(hù)數(shù)據(jù)包括快照名稱(chēng)和描述。
本發(fā)明提供的基于Btrfs文件系統(tǒng)的系統(tǒng)備份還原方法,利用了Btrfs文件系統(tǒng)特性創(chuàng)建新的備份系統(tǒng),所需時(shí)間短,在2秒鐘內(nèi),且不需要額外的空間來(lái)存儲(chǔ)備份的數(shù)據(jù),還原系統(tǒng)也是在1-2秒時(shí)間內(nèi)完成,還原后重啟即可進(jìn)入備份的系統(tǒng),不需要用戶(hù)做其他操作;每一個(gè)備份都是一個(gè)完整的操作系統(tǒng),而不是增量數(shù)據(jù),用戶(hù)可以在當(dāng)前系統(tǒng)進(jìn)入備份系統(tǒng),通過(guò)掛載卷,訪問(wèn)備份系統(tǒng)中的數(shù)據(jù);同一時(shí)刻,用戶(hù)可以擁有多個(gè)完整的操作系統(tǒng),用戶(hù)在計(jì)算機(jī)上操作的所有文件,除非用戶(hù)自己刪除,都會(huì)保存在相應(yīng)的備份系統(tǒng)中,可以隨時(shí)查看,不會(huì)因還原系統(tǒng)被刪除或覆蓋,因此用戶(hù)數(shù)據(jù)的安全得到保障,可以很好地滿(mǎn)足實(shí)際應(yīng)用的需要。
附圖說(shuō)明
圖1為本發(fā)明的系統(tǒng)備份過(guò)程的流程圖;
圖2為本發(fā)明的系統(tǒng)還原過(guò)程的示意圖。
具體實(shí)施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明做進(jìn)一步說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
如圖1所示,一種基于Btrfs文件系統(tǒng)的系統(tǒng)備份還原方法,包括系統(tǒng)備份和系統(tǒng)還原兩個(gè)過(guò)程的步驟,其中:
如圖1所示,所述系統(tǒng)備份過(guò)程包括以下步驟:
利用Btrfs文件系統(tǒng)特性備份初始操作系統(tǒng),創(chuàng)建多個(gè)快照;所述多個(gè)快照存放在初始操作系統(tǒng)所在的分區(qū)第一目錄下,每個(gè)快照都是一個(gè)獨(dú)立的系統(tǒng);在所述分區(qū)第一層目錄下還存放有default鏈接和數(shù)據(jù)庫(kù)文件,其中:default鏈接指向初始安裝的系統(tǒng),數(shù)據(jù)庫(kù)文件用于儲(chǔ)存用戶(hù)數(shù)據(jù),如快照名稱(chēng)、描述等;每個(gè)快照都是一個(gè)獨(dú)立的備份操作系統(tǒng);
初始操作系統(tǒng)啟動(dòng)后,先去讀取所述分區(qū)第一層目錄下的default鏈接;
讀取default鏈接指向快照的boot/refind_linux.conf文件,形成進(jìn)入多個(gè)快照的順序,再次啟動(dòng)計(jì)算機(jī)后,默認(rèn)進(jìn)入初始操作系統(tǒng)中。
利用btrfs文件系統(tǒng)特性,創(chuàng)建快照的時(shí)間極短,不占用額外空間,且每一個(gè)快照本身都是一個(gè)完整的、可以使用的操作系統(tǒng),不是一塊增量數(shù)據(jù)。
參照?qǐng)D2所示,所述系統(tǒng)還原過(guò)程包括以下步驟:
在defualt鏈接指向的默認(rèn)系統(tǒng)中,修改boot/refind_linux.conf文件中的引導(dǎo)記錄,并修改etc/default/grub文件中的啟動(dòng)項(xiàng),下次啟動(dòng)計(jì)算機(jī)時(shí),根據(jù)這兩個(gè)文件的引導(dǎo),進(jìn)入之前所創(chuàng)建的位于第一順序的快照中(在圖2中不同順序的快照用不同的字母做了標(biāo)記),實(shí)現(xiàn)操作系統(tǒng)的還原。默認(rèn)情況下,引導(dǎo)程序進(jìn)入初始的操作系統(tǒng),而還原的過(guò)程,就是改變引導(dǎo)程序要進(jìn)入的系統(tǒng);執(zhí)行還原到某快照(一般為位于第一順序的快照)的操作后,引導(dǎo)程序啟動(dòng)后,進(jìn)入該快照,即將系統(tǒng)還原到該快照的狀態(tài);由于該快照是一個(gè)完整的操作系統(tǒng),因此用戶(hù)無(wú)需做其他的操作,且此時(shí)初始操作系統(tǒng)仍在磁盤(pán)上,用戶(hù)以后可以還原到初始操作系統(tǒng),或在該快照的系統(tǒng)中,掛載上初始操作系統(tǒng),訪問(wèn)其中的數(shù)據(jù);初始操作系統(tǒng)的數(shù)據(jù)不會(huì)丟失或被覆蓋,極大的保障了數(shù)據(jù)的安全。
Btffs文件系統(tǒng)基于其BTree結(jié)構(gòu)和子卷的概念,提供了快速建立快照的機(jī)制,為子卷建快照只要幾秒的時(shí)間,并且在建快照的那個(gè)時(shí)刻,不占用系統(tǒng)空間額外。如果在子卷中安裝完整的操作系統(tǒng),那么對(duì)該子卷建立的每一個(gè)快照都是一個(gè)獨(dú)立的、完整的、可用的操作系統(tǒng)。
本發(fā)明提供的基于Btrfs文件系統(tǒng)的系統(tǒng)備份還原方法,利用了Btrfs文件系統(tǒng)特性創(chuàng)建新的備份系統(tǒng),所需時(shí)間短,在2秒鐘內(nèi),且不需要額外的空間來(lái)存儲(chǔ)備份的數(shù)據(jù),還原系統(tǒng)也是在1-2秒時(shí)間內(nèi)完成,還原后重啟即可進(jìn)入備份的系統(tǒng),不需要用戶(hù)做其他操作;每一個(gè)備份都是一個(gè)完整的操作系統(tǒng),而不是增量數(shù)據(jù),用戶(hù)可以在當(dāng)前系統(tǒng)進(jìn)入備份系統(tǒng),通過(guò)掛載卷,訪問(wèn)備份系統(tǒng)中的數(shù)據(jù);同一時(shí)刻,用戶(hù)可以擁有多個(gè)完整的操作系統(tǒng),用戶(hù)在計(jì)算機(jī)上操作的所有文件,除非用戶(hù)自己刪除,都會(huì)保存在相應(yīng)的備份系統(tǒng)中,可以隨時(shí)查看,不會(huì)因還原系統(tǒng)被刪除或覆蓋,因此用戶(hù)數(shù)據(jù)的安全得到保障,可以很好地滿(mǎn)足實(shí)際應(yīng)用的需要。
以上所述實(shí)施例僅表達(dá)了本發(fā)明的實(shí)施方式,其描述較為具體和詳細(xì),但并不能因此而理解為對(duì)本發(fā)明專(zhuān)利范圍的限制。應(yīng)當(dāng)指出的是,對(duì)于本領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保護(hù)范圍。因此,本發(fā)明專(zhuān)利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。