一種部署和更新Linux系統的方法
2023-05-04 19:19:06 2
專利名稱:一種部署和更新Linux系統的方法
技術領域:
本申請涉及計算機作業系統技術領域,尤其涉及一種部署和更新Linux系統的方法。
背景技術:
當前,隨著信息化技術的推進,無論是企業還是其他組織都越來越依賴於計算機系統。對計算機系統的維護是保證現代企業或組織工作順利開展的基本條件。無論是計算機系統的升級換代或者其他方面的原因,企業或組織的技術維護人員每天都會面臨著重新安裝系統、升級系統等例行工作。其次,對於一些軟體開發的部門,除了以上類型的維護工作以外,更重要的是維護全體研發部門開發環境的一致性,使得開發出來的產品能夠保證 運行平臺的統一和穩定。出於生產、開發、運營等需要,批量部署和更新Linux系統是系統管理員或系統維護人員經常遇到的事項。如何有效地來執行這些工作則成為部門工作效率提升的關鍵。對於部署或者更新Linux系統,現有技術中通常有如下三種方法第一種方法是依次逐臺部署,即為每一臺機器單獨進行部署和更新。這種方法對於小規模的組織部門是有效的。但是,當涉及的計算系統過多,達到百臺甚至千臺,這種方法則成為一種低效的做法。為了提高效率,則可能需要增加系統維護人員的人數或者工作量。因此在人力成本上會有較大的增加。其次,多人維護時,同時也增加了溝通與協調的時間,因此可能導致增加人力卻並不能實際解決生產效率的問題。由於機器數量較多,按照系統一致性的要求,新系統的配置工作也將會非常繁重。因為重新部署每臺計算機都需要重新配置。這種方法的缺點是部署效率低下,不適用於大規模的系統部署與維護,僅適合於極少量計算機系統的維護工作,且更新不方便。第二種方法是系統克隆,即使用系統克隆工具,如GhostClonezilla等。部署時,先在一臺計算機上安裝並配置好作業系統,然後使用克隆工具製作作業系統鏡像,然後再到目標機器上執行系統還原完成部署。而更新時,則使用克隆工具重新製作更新後系統的系統鏡像,依新建系統一樣的方法進行更新。因此很明顯,這種方法解決了第一種方法中需要逐臺配置設備的缺點,但是其維護的效率也並沒有很大的改善。同時克隆工具增加了維護的複雜度,而且每次更新系統需要重新製作系統鏡像,操作較為繁瑣,對於系統更新非常不便。第三種是自動化部署。即使用一些自動部署工具,如Kickstart、Cobbler、Puppet,先安裝和配置自動化部署工具,制定自動部署規則,然後實施安裝。這種方式部署效率較高,但這類自動部署工具往往僅適用於特定的Linux發行版,缺乏通用性。而且安裝、配置均較複雜,難以為普通系統管理人員使用。以上三種方法在進行系統部署與更新時為了不破壞既有的數據,在進行維護時還需要將這些既有數據先遷移到目標系統之外,等維護成功後再遷移回原來的數據。如果數據量巨大,將使得部署與更新操作耗用過長的時間,不利於批量規模化的維護工作。
發明內容
本申請提供了一種部署和更新Linux系統的方法,能夠集中、快速、批量地部署各種基於Linux作業系統的運行環境,使維護工作大大減輕,提高部門的生產效率。本申請實施例提供的一種部署和更新Linux系統的方法,包括A、在第一計算機系統中安裝和配置Linux系統,並安裝目標計算機系統所需要的應用程式;B、利用Linux系統啟動盤啟動目標計算機系統;C、確定目標計算機系統中的目標介質,計算目標介質中的文件與第一計算機系統的文件的差異數據,並將差異數據通過第一計算機系統與目標計算機系統之間的網絡連接
從第一計算機系統傳輸到目標介質;D、判斷目標介質上是否存在作業系統的啟動代碼,若是,直接執行步驟E,否則,在目標介質上安裝作業系統的啟動代碼後執行步驟E ;E、目標計算機系統關閉後,利用目標介質重新啟動目標計算機系統。較佳地,所述Linux系統啟動盤為光碟或U盤。較佳地,步驟A進一步包括利用第一計算機系統上安裝的Linux系統以及應用程式製作生成Linux系統啟動盤。較佳地,步驟C所述計算Linux系統啟動盤中的文件與目標介質中的文件的差異數據的步驟中忽略預先定義的排除列表中的目錄以及文件。較佳地,所述排除列表包括Linux系統運行時動態生成的文件以及目錄,以及用戶自定義的文件以及目錄。較佳地,步驟C進一步包括若目標介質中存在第一計算機系統中不存在的文件時,將所述文件從目標介質中刪除。較佳地,所述目標計算機系統為PC機、筆記本電腦,伺服器平臺或虛擬機。較佳地,步驟C所述確定目標計算機系統中的目標介質之後進一步包括對目標介質進行格式化及分區。較佳地,步驟C之前進一步包括將第一計算機系統和目標計算機系統的時間同步為標準時間。從以上技術方案可以看出,通過利用Linux系統啟動盤系統啟動目標計算機系統,並利用差異同步技術從第一計算機系統中同步所有根文件系統的文件到目標計算機系統的目標介質上。由於使用了差異同步技術,對於更新系統時,只需要傳輸數據不同的部分,因此對於系統的更新維護非常的高效快速。同時在更新時,只需要更新第一計算機系統後再對目標計算機系統進行同步,因此極大地降低了維護難度,加快了更新速度,目標計算機系統的部署與更新可以多臺同時進行,因此可以加快部署與更新的效率。本申請技術方案不僅適用於普通桌面PC機、筆記本電腦,也適用於伺服器平臺,對於各種虛擬機平臺也可以使用本方法進行部署與更新,因此具有很好的軟硬體平臺適應性。
圖I為本申請提供的部署和更新Linux系統的方法流程圖2為差異同步的示意圖;圖3為本申請實施例針對圖I中的步驟103提供了具體實現流程圖;圖4為系統隨時間變更與同步的示意圖。
具體實施例方式本發明通過利用Linux系統啟動盤啟動目標計算機系統,並利用差異同步技術從第一計算機系統中同步所有根文件系統的文件到目標計算機系統的目標介質上。在本申請中,需要安裝部署或者更新的系統為目標系統。第一計算機系統是一臺已經安裝並且配置成功,並運行Linux的適用於具體需求的標準的參考計算機系統。目標計算機系統是需要安裝部署Linux作業系統的個人計算機、伺服器以及在虛擬化平臺中的虛擬計算機。第一計算機系統和目標計算機系統之間通過網絡實現數據傳輸。系統同步成功後,即可從目標介質啟動目標計算機系統。本申請提供的部署和更新Linux系統的方法流程如圖I所示,包括如下步驟步驟101 :安裝配置第一計算機系統。確定Linux的發行版,並按照相應的發行版的安裝流程安裝並配置作為基準的第一計算機系統,然後在第一計算機系統中安裝目標計算機系統所需要的應用程式,並確保正常運行。利用第一計算機系統上安裝的Linux系統以及應用程式製作生成Linux系統啟動盤。為保證啟動盤與第一計算機系統的一致,我們將製作過程編寫成電腦程式,並在更新系統後調用此電腦程式自動生成Linux系統啟動盤。步驟102 :利用Linux系統啟動盤啟動目標計算機系統。·如步驟101所述,Linux系統啟動盤是一種由第一計算機系統生成並安裝在光碟、U盤等可移動的存儲介質上的系統,以便於在部署時方便地與目標計算機系統進行連接並引導該計算機系統。利用Linux系統啟動盤啟動目標計算機系統是為了給差異同步工具提供獨立的運行環境。步驟103 :利用差異同步工具安裝及更新目標計算機系統。系統的安裝與更新均執行相同的差異同步過程,並且在執行差異同步的過程當中,會忽略排除列表中的目錄以及文件。包括如下子步驟子步驟103-1 :選擇目標介質。在啟動同步過程前,首先需要選定啟動目標計算機系統的目標介質。目標介質用於存儲Linux根文件系統中所有的文件。子步驟103-2 :啟動差異同步。利用差異同步工具同步母系統第一計算機系統與目標計算系統中的文件數據。差異同步工具能夠通過計算第一計算機系統中的文件與目標計算機系統中的文件的差異數據,並將這些差異數據通過第一計算機與目標計算機系統之間的網絡連接從第一計算機系統傳輸到目標計算機系統。當目標計算機系統不存在相應的文件時,則差異的部分為整個文件,因此整個文件將會被傳輸到目標計算機系統上。另一種差異的表現為第一計算機系統中不存在某個文件,而目標計算機系統存在該文件,則差異同步時會將這個文件從目標計算機系統中刪除。
差異同步的示意圖如圖2所示,其中方格表示文件,而標有陰影的方格表示第一計算機系統與目標計算機系統存在差異的文件。同步過程中僅傳輸這些差異文件,通過同步過程,使得目標計算機系統的目標介質上的文件與第一計算機系統的文件一致。子步驟103-3 :安裝啟動代碼。當差異同步完成後,使得目標計算機系統的目標介質上的文件與第一計算機系統的文件一致。為了目標介質能夠啟動計算機系統,還需要在目標介質上安裝作業系統的啟動代碼。如果目標介質上已經存在啟動代碼,則無需此步驟。步驟104 目標計算機系統關閉後,利用目標介質重新啟動目標計算機系統。當完成了以上的所有工作後,第一計算機系統上的Linux系統則被部署到了新的目標計算系統之上。當需要在所有的目標計算機系統進行軟體模塊的更新、刪除,或者增加新的軟體模塊時,首先在第一計算機系統上進行更新、刪除或者增加後,再重新執行步驟102到步驟104的過程,即可將變動的模塊同步到目標計算機系統上。由於以差異同步的方式進行的,即只有變動的部分才會進行同步,因此更新的過程會非常高效。 無論是重新部署系統或者更新系統,多臺目標計算機系統可以同時與第一計算機系統進行同步,因此這種方案可以加快系統部署與更新的效率。為使本申請技術方案的技術原理、特點以及技術效果更加清楚,以下結合具體實施例對本申請技術方案進行詳細闡述。步驟101,安裝和配置第一計算機系統過程中,需要選擇某個具體的Linux發行版本,在本實施例中選擇Red Hat Enterprise Linux發行版,並按照安裝嚮導及說明安裝第一計算機系統。並按照實際要求安裝必要的系統組件和軟體模塊。作好相應的配置工作,並驗證第一計算機系統是否安裝和配置正確,然後進入步驟102。步驟102中,利用Linux系統啟動盤啟動目標計算機系統。為了保證平臺一致性以及啟動盤系統中包含在安裝與更新系統時所需要用到的軟體工具模塊,本申請實施例中的Linux系統啟動盤由第一計算機系統製作生成,這樣的啟動盤一般稱之為LiveCD。本申請實施例針對步驟103提供了具體實現流程,如圖3所示,包括步驟301 :同步系統時間。將第一計算機系統和目標系統時間同步為標準時間,同步系統時間可保持目標系統的系統時間與第一計算機系統一致,避免時間不一致帶來的幹擾。時間同步完成後,進入步驟302。步驟302 :定義排除列表。由於Linux系統中某些目錄下的文件是運行時生成的,並未在磁碟文件系統中存在,因此需要將這些文件從同步的列表中排除。位於此排除文件列表中的文件以及目錄將不會進行同步。默認排除的目錄,包括/proc、/sys、/tmp、/mnt。同時也可以定義自己的排除列表,使得在更新系統時不同步已經部署的計算機系統上生成的獨立數據。然後將這些排除項寫入到記錄文件中,以備使用。如果是第一次部署系統,則進入步驟303,否則即是對原有的系統進行更新操作,因此跳過步驟303直接執行步驟304。步驟303 目標介質分區及格式化。將目標計算機系統的目標介質根據要求創建分區,並在分區上創建文件系統,使得同步工具能夠向目標介質上寫入文件數據。然後進行入步驟304。步驟304 :選擇目標介質分區。指定目標介質的分區,在這個分區上將存儲整個Linux同步過來的文件。選定介質分區後,將這個分區掛載到目錄/mnt下。然後進入步驟305。步驟305 :同步系統文件。利用差異同步工具,如rsync,指定源端為第一計算機系統的網絡地址,而目標端為步驟304所掛載的分區所在的掛載目錄,在本例中即為/mnt目錄,同時指定rsync在同步時排除的文件為步驟302所指定的文件以及目錄。差異同步工具會檢查欲更新的系統與第一計算機系統文件的差異,然後同步差異的部分。
當多臺目標計算機需要同時部署或者更新目標計算機系統時,只需要利用Linux系統啟動盤啟動多臺目標計算機系統,並同時啟動差異同步工具進行同步,從而達到多臺設備快速部署與更新的效果,提高系統部署與更新的效率。步驟103-3所述安裝啟動代碼的具體實現中,本申請實施例採用Grub工具將引導代碼寫入目標介質的引導扇區。只有安裝了引導代碼才能夠使系統引導進入Linux作業系統。如果是更新目標計算機系統,則不需要安裝啟動代碼。步驟104所述重啟目標計算機系統的過程中,需要進行系統配置。由於同步時,會將第一計算機系統的所有配置內容同步到目標計算機系統上,有些配置需要根據實際情況進行修改,如主機名、IP位址等。在修改完成這些參數之後,取出Linux系統啟動盤,然後重啟目標計算機系統,即可從新部署或者更新啟動介質上引導進入Linux作業系統。當系統完成了部署後,如果第一計算機系統有更新,只要按照上面相同的步驟,對目標計算機系統執行相同的步驟,將第一計算機系統中有差異的數據同步到目標計算機系統即可。系統隨時間變更與同步的示意圖如圖4所示。通過應用本申請技術方案,可以達到如下效果I.由於使用了差異同步技術,對於更新系統時,只需要傳輸數據不同的部分,因此對於系統的更新維護非常的高效快速。同時在更新時,只需要更新第一計算機系統後再對目標計算機系統進行同步,因此極大地降低了維護難度,加快了更新速度,使系統維護對企業或者組織的業務造成的影響降到最小。2.目標計算機系統的部署與更新可以多臺同時進行,因此可以加快部署與更新的效率。當大規模地進行計算機系統維護與管理時,這種優勢非常明顯。3.在部署與更新時,只需要安裝並配置好第一計算機系統,並利用Linux系統啟動盤啟動目標系統後,就可以對目標計算機系統進行部署和更新,而不需要複雜的配置和額外的工具,因此本方案具有方便操作、方便維護的優點。4.只要是Linux作業系統,而不用關心具體的發行版,都可以利用本方法進行部署與更新,而不需要像集中部署工具需要與特定的發行版本進行綁定。同時,本發明不僅適用於普通桌面PC機、筆記本電腦,也適用於伺服器平臺,對於各種虛擬機平臺也可以使用本方法進行部署與更新,因此具有很好的軟硬體平臺適應性。5.在系統進行同步更新時,由於可以指定排除列表,因此可以將已經存在目標系統上的數據排除在同步處理之外,可以保留已經在目標系統上生成的數據,而不需要在更新系統時將這些數據時行遷移操作。即先遷移出系統,等同步完成後再遷移回系統。這樣可以給系統的維護帶來極大的便利,極大的簡化了系統維護工作的複雜度。以上所述僅為本申請的較佳實施例而已,並不用以限制本申請的保護範圍,凡在本申請技術方案的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本申請保護的範圍之內。
權利要求
1.一種部署和更新Linux系統的方法,其特徵在於,包括 A、在第一計算機系統中安裝和配置Linux系統,並安裝目標計算機系統所需要的應用程式; B、利用Linux系統啟動盤啟動目標計算機系統; C、確定目標計算機系統中的目標介質,計算目標介質中的文件與第一計算機系統的文件的差異數據,並將差異數據通過第一計算機系統與目標計算機系統之間的網絡連接從第一計算機系統傳輸到目標介質; D、判斷目標介質上是否存在作業系統的啟動代碼,若是,直接執行步驟E,否則,在目標介質上安裝作業系統的啟動代碼後執行步驟E ; E、目標計算機系統關閉後,利用目標介質重新啟動目標計算機系統。
2.根據權利要求I所述的方法,其特徵在於,所述Linux系統啟動盤為光碟或U盤。
3.根據權利要求I所述的方法,其特徵在於,步驟A進一步包括利用第一計算機系統上安裝的Linux系統以及應用程式製作生成Linux系統啟動盤。
4.根據權利要求I所述的方法,其特徵在於, 步驟C所述計算Linux系統啟動盤中的文件與目標介質中的文件的差異數據的步驟中忽略預先定義的排除列表中的目錄以及文件。
5.根據權利要求4所述的方法,其特徵在於,所述排除列表包括Linux系統運行時動態生成的文件以及目錄,以及用戶自定義的文件以及目錄。
6.根據權利要求I至5任一項所述的方法,其特徵在於,步驟C進一步包括若目標介質中存在第一計算機系統中不存在的文件時,將所述文件從目標介質中刪除。
7.根據權利要求I至5任一項所述的方法,其特徵在於,所述目標計算機系統為PC機、筆記本電腦,伺服器平臺或虛擬機。
8.根據權利要求I至5任一項所述的方法,其特徵在於,步驟C所述確定目標計算機系統中的目標介質之後進一步包括對目標介質進行格式化及分區。
9.根據權利要求I至5任一項所述的方法,其特徵在於,步驟C之前進一步包括將第一計算機系統和目標計算機系統的時間同步為標準時間。
全文摘要
本申請公開了一種部署和更新Linux系統的方法,在第一計算機系統中安裝和配置Linux系統,並安裝目標計算機系統所需要的應用程式;利用Linux系統啟動盤啟動目標計算機系統;確定目標計算機系統中的目標介質,計算目標介質中的文件與第一計算機系統的文件的差異數據,並將差異數據通過第一計算機系統與目標計算機系統之間的網絡連接從第一計算機系統傳輸到目標介質;目標計算機系統關閉後,利用目標介質上的啟動代碼重新啟動目標計算機系統。通過應用本申請方案,能夠集中、快速、批量地部署各種基於Linux作業系統的運行環境,使維護工作大大減輕,提高部門的生產效率。
文檔編號G06F9/445GK102937909SQ201210475650
公開日2013年2月20日 申請日期2012年11月21日 優先權日2012年11月21日
發明者葉佑群, 吳凡 申請人:上海愛數軟體有限公司