配置交換空間與文件系統的備份

来源:http://www.cnblogs.com/xiaocheche/archive/2017/11/22/7881240.html
-Advertisement-
Play Games

1》交換空間概述: 交換空間(Swap Space)是Linux用於暫時補充物理記憶體,以提供更多記憶體空間的一種機制,交換空間對記憶體有限的電腦有所幫助,但不能取代物理記憶體,因為它位於硬碟 上,硬碟的存取速度比記憶體要慢幾個數量級,當同時運行很多程式,而他們不能同時都裝載進記憶體時,使用交換空間是一種很有 ...


1》交換空間概述:

      交換空間(Swap  Space)是Linux用於暫時補充物理記憶體,以提供更多記憶體空間的一種機制,交換空間對記憶體有限的電腦有所幫助,但不能取代物理記憶體,因為它位於硬碟                    上,硬碟的存取速度比記憶體要慢幾個數量級,當同時運行很多程式,而他們不能同時都裝載進記憶體時,使用交換空間是一種很有效的手段,而用戶在這些程式之間快速切換,可能                  會有一個明顯的延時,Linux支持兩種形式的交換空間:專用磁碟分區和交換文件;磁碟分區效率高,推薦使用,而交換文件更為靈活,但效率低,Linux系統最多可以有32個交換                  空間,每個交換空間最大2GB;

        推薦的系統交換空間大小如下:

              物理記憶體                推薦的交換空間

               不超過4GB                至少2GB

               4~16GB                  至少4GB

               16~64GB                   至少8GB

               64~256GB                至少16GB

                  256~512GB                 至少32GB

      1>增加交換空間:

          系統物理記憶體的調整,或者需要大量使用記憶體的操作或運行需要大量記憶體的程式,往往需要增加交換空間,這有3種方法可供選擇:創建一個交換分區,創建一個交換                                文件,在現有的LVM邏輯捲上擴展交換分區(推薦使用此種方式);    

           1)創建交換空間的交換文件:

              (1)確定新建交換文件的塊大小和塊數量,例如塊大小為1MB,塊數量是200,整個空間大小為200MB;

              (2)用dd命令創建一個交換文件,其中of指定文件名,bs和count是塊大小和數量;

                      

              (3)使用mkswap命令基於上述文件創建一個交換空間:

                    

              (4)使用swapon命令啟用該交換空間:

                     

              (5)使用swapon  -s 命令查看當前啟用的所有交換空間,可見新增的交換空間/tmp/swapfile已經啟用,只是優先順序較低;

                       

                       當然,還可以用free命令來查看當前的交換記憶體大小,以上設置的交換空間都是臨時性的,要讓它在系統啟動時自動啟用,還必須在/etc/fstab文件加上                                                        相應的定義;

                     

      2>擴展基於邏輯捲的交換空間:

            Red    Hat   Enterprise  Linux  5安裝時預設將交換分區建在/dev/VolGroup00/LogVol0l邏輯捲上面,可利用邏輯捲的特性靈活擴展交換空間;

           1)停用基於相應邏輯捲的交換空間:

                swapoff   -v     /dev/VolGroup00/LogVo101

           2)為現有邏輯捲增加空間(這裡增加256MB)

                lvm  lvresize    /dev/VolGroup00/LogVo101   +256MB 

           3)重新建立交換空間:

                mkswap   /dev/VolGroup00/LogVo101

           4)執行命令swapon  -va啟用擴展的邏輯捲用於交換空間;

           5)執行命令cat   /proc/swaps或者free檢查基於邏輯捲交換空間的擴展是否正常啟用;

      3>創建用於交換空間的邏輯捲:

            通常創建邏輯捲用作交換空間;

           1)創建一個邏輯捲,這裡假設其名稱為/dev/VolGroup00/LogVol02,大小為256MB;                

                lvm lvcreate VolGroup00 -n LogVol02 -L 256M

           2)使用mkswap命令格式化新的交換空間:

                mkswap   /dev/VolGroup00/LogVol02

           3)在/etc/fstab文件中添加以下條目,讓系統啟動時自動掛載該文件系統;

                /dev/VolGroup00/LogVol02    swap     swap    defaults    0    0

           4)執行命令swapon   -va啟用擴展的邏輯捲用於交換空間;

           5)執行命令cat   /proc/swaps或者free檢查基於邏輯捲的交換空間是否正常使用;

      4>減少交換空間:

             有時還要減少交換空間,如減少物理記憶體後相應地減少交換空間,這也有3種方法供選擇,分別是刪除交換分區所有的整個LVM邏輯捲,刪除交換文件或縮減現有                                    LVM邏輯捲上的交換空間;     

            1)刪除交換文件:

                (1)執行命令swapoff停用交換空間;

                      

                (2)從/etc/fstab文件中刪除該交換空間的條目;

                (3)使用rm命令刪除交換文件本身;

            2)縮減基於邏輯捲的交換空間;

                (1)停用相應邏輯捲的交換空間;

                    swapoff  -v   /dev/VolGroup00/LogVol01

                (2)減少邏輯捲大小:

                     lvreduce   /dev/VolGroup00/LogVol01   -L   -512M

                (3)重新格式化新的交換空間:

                    mkswap  /dev/VolGroup00/LogVol01  

                (4)啟用該邏輯捲用於交換空間,然後進行測試;

            3)刪除基於邏輯捲的交換空間:

                (1)停用該邏輯捲的交換空間:

                    swapoff   -v  /dev/VolGroup00/LogVol02

                (2)刪除該邏輯捲:

                    lvremove   /dev/VolGroup00/LogVol02

                (3)從/etc/fstab文件中刪除該交換空間的條目;

2》文件系統的備份:

      備份就是保留一套後備系統,做到有備無患,是系統管理員最重要的日常管理工作之一,恢復就是將數據恢復到事故之前的狀態,為保證數據的完整性,需要對系統進行                      備份;

       1>備份內容:

            在Linux操作系統中,按照要備份的內容,備份分為系統備份和用戶備份,系統備份就是對操作系統和應用程式的備份,便於在系統崩潰以後能快速,簡單,完全                                    地恢復系統的運行,最有效的方法就是僅僅備份那些對於系統崩潰以後恢復所必需的數據;用戶備份不同於系統備份,原因是用戶的數據變動更加頻繁一些,當備份用                                      戶數據時,只是為用戶提供一個虛擬的安全網路空間,合理地放置最近用戶數據文件的備份,當出現任何問題時,如誤刪除某些文件或者硬碟發生故障時,用戶可以恢                                      復自己的數據,用戶備份應該比系統備份更加頻繁,可採用自動定期運行某個程式的方法來備份數據;              

       2>備份策略:

            在進行備份之前,首先要選擇合適的備份策略,決定何時需要備份,以及出現故障時進行恢復的方式,通常使用的備份方式有以下3種:

            1)完全備份:

                  對系統進行一次全面的備份,在備份間隔期間一旦出現數據丟失等問題,可以使用上一次的備份數據恢復到備份之前的數據狀況,這種方式所需時                                                              間最長,但恢復時間最短,操作最方便,當系統中數據量不大時,採用完全備份最可靠;       

            2)增量備份:

                  只對上一次備份後增加的和修改過的數據進行備份,這種方式可縮短備份時間,快速完成備份,但是可靠性較差,備份數據的份數太多,這種方式                                                               很少採用;

            3)差異備份:

                  對上一次完全備份(而不是上次備份)之後新增加或修改過的數據進行備份,這種方式兼具完全備份和增量備份的優點,所需時間短,並節省空                                                                   間,恢復方便,系統管理員只需兩份數據,就可以將系統完全恢復,這種方式適用於各種備份場合;

       3>備份規劃 

            專業的備份工作需要認真規劃,兼顧安全與效率,而不是簡單地執行備份程式,實際備份工作中主要採用以下兩種方案:

              單純的完全備份:

                      定時為系統進行完全備份,需要恢復是以最近一次的完全備份數據來還原,這是最簡單的備份方案,但由於每次備份時,都會將全部的文                                                                            件備份下來,每次備份所需時間較長,適合數據量不大或者數據變動頻率很高的的情況;

              完全備份結合差異備份:

                      以較長周期定時進行完全備份,期間則進行較短周期的差異備份,例如每周六晚上做1次標準備份,每天晚上做一次差異備份,需要恢復時                                                                            先還原最近一次完全備份的數據,接著再還原該完全備份後最近一次的差異備份,如果周三出現事故,則可將數據恢復到周二晚上的狀態,先還                                                                            原上周六的完全備份,再還原本周二的差異備份即可;

3》數據備份操作:

        在Linux系統中,可以使用多種工具和存儲介質進行備份;

        1>使用tar命令進行備份:

              直接保存數據會占用很大的空間,所以常常壓縮備份文件,以便節省存儲空間,tar是用於文件打包的命令行工具,可以將一系列文件歸檔到一個大文件中,                                              也可以將檔案文件解開已恢複數據,作為常用的備份工具,tar的語法格式如下:

              tar     [選項]      檔案文件      文件或目錄列表

              列如要備份用戶zhongxp主目錄中的文件,可以執行以下命令:

                  tar  -czvf   zxpbak.tar    /home/zhongxp

              上述命令將/home/zhongxp目錄中的所有文件歸檔(打包)到zxpbak.tar文件(擴展名一般為.tar),歸檔的同時對數據進行壓縮(使用選項-z);

              要恢復使用tar命令備份過的文件(解開檔案文件),可使用選項-x

                  tar   -xzvf   zxpbak.tar

              預設情況下,tar將文件恢復到當前工作目錄,也可以使用選項-C指定要恢復到的目錄;

        2>使用dump和restore實現備份和恢復:

              dump是一個較為專業的備份工具,能備份任何類型的文件,甚至是設備,支持完全備份,增量備份和差異備份,支持跨多捲磁帶備份,保留所備份文件的所                                         有權屬性和許可權設置,能夠正確處理從未包含任何數據的文件塊(孔洞文件),restore是對應的恢復工具,紅帽5系統預設已經安裝了dump和restore這兩個工具;

              1)使用dump命令備份:

                    在用dump做備份時,需要指定一個備份級別,它是0-9之間的一個整數,級別為N的轉儲會對上次進行的級別小於N的轉儲操作以來修改過的所                                                                 有文件進行備份,而級別0就是完全備份,通過這種方式,可以很輕鬆的實現增量備份,差異備份,甚至每日備份;

                    例如,以下命令統計完全備份/dev/sda1所需的空間,以防磁帶或磁碟空間不足,級別0表示完全備份,選項-s表示統計備份所需空間:

                        dump    -0s   /dev/sda1

                     選項-f指定備份文件的路徑和名稱,-u表示更新資料庫文件/etc/dumpdates(將文件的日期,存儲級別,文件系統等信息都記錄下來);

                        dump   -0u  -f    /tmp/boot.dump      /boot

                            

                  

                     如果不使用-u,所有存儲都會變為級別0,因為沒有先前備份過當前文件系統的記錄;

                     使用級別1只會備份完全備份後有變化的文件;

                     要實現增量備份,第一次備份時可選擇級別0,以後每次做增量備份時就可以依次使用級別1,級別2,級別3等等;

                        dump  -0u   -f   /tmp/boot0.dump   /boot

                        dump  -1u   -f  /tmp/boot1.dump   /boot

                        dump  -2u   -f  /tmp/boot2.dump  /boot

                        dump  -3u   -f / tmp/boot3.dump  /boot

                        要實現差異備份,可先選擇級別0做完整備份,然後每次都使用大於0的同一級別,如每次都使用級別1:

                        dump  -0u  -f  /tmp/boot0.dump   /boot

                        dump  -1u  -f  /tmp/boot1.dump   /boot

                        dump  -1u  -f  /tmp/boot2.dump  /boot

                        dump  -1u  -f  /tmp/boot3.dump  /boot

                     dump可以將備份存儲在磁帶上,Linux通常用/dev/st0代表倒帶設備,而用/dev/nst0代表非倒帶設備,如下所示:

                        dump  0f   /dev/nst0    /boot

                        使用倒帶設備存儲時,當磁帶用完它會自動倒帶並接著存儲,會覆蓋以前的數據,這樣就存在丟失已有數據的風險;

             2)使用restore命令恢復:

                    使用restore命令從dump備份中恢複數據可以使用兩種方式:互動式和直接恢復,管理員也可以決定恢復整個備份,或者只恢復需要的文件,恢                                                              複數據之前,要瀏覽備份文件中的數據,可以使用如下命令(-t 選項表示查看):  

                      

                      要恢復一個備份,可以使用如下命令(-r選項表示重建):

                      restore   -rf  /tmp/boot.dump

                  使用以下命令進入互動式恢復模式:

                      restore  -if  /tmp/boot.dump

          3>光碟備份:

                紅帽5安裝有cdrecord軟體包,可以用來創建和管理光碟介質,使用光碟進行數據備份,需要首先建立一個光碟鏡像文件,然後將該鏡像文件寫入光碟                                                            中:

                  例如,要將/home目錄的數據備份到光碟鏡像文件中,可以使用如下命令:

                      mkisofs  -r   -o   /tmp/home.iso   /home

                   上述命令會在/tmp目錄中建立一個名為home.iso的鏡像文件,該文件包含/boot目錄的所有內容,其中-r選項表示支持長文件名,-o表示輸出,預設                                                                        情況下,mkisofs命令也會保留所備份文件的所有權屬性和許可權設置;除了使用mkisofs命令,還可以使用dd命令建立光碟映像:

                      dd  if=/dev/sda1  of=/tmp/boot.iso

                  在dd命令中,if參數指定輸入文件,of參數指定輸出文件,dd命令的if參數必須是文件,而不能是一個目錄,這裡進行/boot目錄的備份時,實際使用                                                                     的參數是/dev/sda1,即/boot目錄對應的磁碟分區; 

                  刻錄機在Linux中被識別為SCSI設備,即使該設備實際上是IDE設備,在實際刻錄光碟之前,可以使用以下命令對刻錄設備進行檢測,獲取光碟刻錄                                                                    機的SCSI設備識別號以便在刻錄光碟的工具中使用;    

                        cdrecord   -scanbus

                    上述命令現實的結果前一項的前3個數字分別指SCSI匯流排,設備標識和LUN(邏輯單元號,),運行cdrecord刻錄需要這3個數字:

                  使用cdrecord命令將ISO文件刻錄為光碟的語法格式如下:

                      cdrecord  -v  -eject  <speed=刻錄速度>  <dev=刻錄機設備識別號> <ISO文件名>

                    -eject表示刻錄完畢彈出光碟,例如,刻錄機設備識別號為0,1,0,將鏡像文件刻錄到空白光碟中的命令如下:

                      cdrecord  -v  dev=0,1,0  home.iso


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 遇到一個認為有點奇怪的問題。 有兩個表,大概都是3億左右的數據,A表有A1欄位 B表有B1欄位,都是通過其他表來更新的。分別為A1使用C表,B1使用D表,不同的是C表很小隻有近1萬行,D表很大,也有3億。(C表後面成為小表,D表成為大表) 因為B表有3億數據,需要從D表這個3億數據來獲取更新,開始的 ...
  • 轉載請註明:http://www.cnblogs.com/dachen408/p/7878494.html 使用本機伺服器名'.'登錄,使用windows模式; 1.修改登錄模式為混合模式:右鍵伺服器名,屬性,安全性; 2.使用sa用戶登錄:安全性,登錄名,sa(雙擊),狀態;還需要配置config ...
  • 索引是建立在數據表上的,因此需要首先創建一張數據表,創建SQL 語句如下:MYSQL、MSSQLServer、DB2資料庫:CREATE TABLE T_Person (FNumber VARCHAR(20),FName VARCHAR(20),FAge INT)Oracle:CREATE TABL ...
  • 若發現sqlsrver所有帳號不小心被禁用了,這個時候怎麼辦?用重裝嗎?不用,仔細看小白是怎麼一步一步解開這個謎題的。首先需要Windows帳號設置里重新添加一個新帳號。並將其添加到管理員組裡面,然後按照以下步驟操作(註意/m是切換到單用戶的登錄模式下進行,修改完成後,建議切換到多用戶模式下):(1 ...
  • 1、一個文件的基本框架為:文件名、文件地址、文件大小、文件最大的大小、文件的增量(Filegrowth)。 2、文件有mdf、ndf、ldf 三種文件的區別。 3、文件組可以進行文件的管理 FileGroup 預設的文件組是 Primary 日誌文件無文件組的概念,存在Log文件中。 4、 alte ...
  • .tar 解包:tar xvf FileName.tar打包:tar cvf FileName.tar DirName(註:tar是打包,不是壓縮!)———————————————.gz解壓1:gunzip FileName.gz解壓2:gzip -d FileName.gz壓縮:gzip File ...
  • 一、下載安裝包 (1). 下載MySQL源碼 (進入/usr/local/src目錄,使用wget下載) cd /usr/local/src wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.20.tar.gz (2). 下載 ...
  • 內部命令和外部命令 內部命令:系統集成的命令,集成到bash程式中的命令,可以用enable和help查看內部命令,直接和系統一樣運行在記憶體中,執行速度快。內部命令中的:相當於TRUE,即什麼都不幹。 enable cmd啟用內部命令 enable –n cmd 禁用內部命令 enable –n 查 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...