Linux學習筆記(四)-存儲管理與文件系統

存儲管理與文件系統

一. 邏輯卷基本原理
這裏寫圖片描述
1. 卷組
- 一個PV(物理卷)要劃分爲大小相等的PP(物理分區)
- 同一個VG中的不同PV的PP大小要一樣,默認的PP大小爲4M
- PV必須加入一個VG中,系統才能使用其存儲空間
- 一個卷組VG可以擁有多個硬盤,但至少擁有一個硬盤(hdisk)
- 一個硬盤(hdisk)只能屬於一個VG(卷組),不能同時屬於多個不同VG
- 用戶可以創建多個不同VG,rootvg是操作系統所在的VG

這裏寫圖片描述

2 . 卷組描述區VGDA(Volume Group Descriptor Area)
- VGDA是硬盤上的一塊區域,包含整個卷組的信息,比如VG所擁有的所有邏輯卷和物理卷信息
- 當在一個VG中添加或刪除一個PV時,會相應修改VGDA中的信息
- 爲了確保描述卷組內邏輯卷和物理卷管理數據的完整性,要激活一個卷組,系統要求必須要有足夠的可用的VGDA的個數,即滿足quorum,
quorum一般要求至少要有51%可用

卷組描述區示意圖如下:
這裏寫圖片描述

3 . 邏輯卷
這裏寫圖片描述
- 系統安裝後,默認創建了多個系統邏輯卷,他們是以hd打頭,如hd4、hd1、hd2等
- 創建了邏輯卷後,可以在上面創建應用

例如用於日誌文件系統,如/dev/hd4;
用於調頁空間,如/dev/hd6;
用於日誌文件系統日誌,如/dev/hd8;
用於引導內核,如/dev/hd5;
還可以直接是裸設備,用於數據庫軟件的數據存取等

- 每個卷組中用戶可定義的邏輯卷最大可達256,但是實際的限制取決於分配給卷組的物理卷個數
- 邏輯卷空間不足,只要卷組中還有足夠的PP數量,那麼邏輯卷空間都可以動態增大

LV M概念圖如下:
這裏寫圖片描述

三者關係總結:
這裏寫圖片描述

二.Linux 文件系統
1. 概念
- 文件系統是存儲文件的目錄層次結構,由一個根目錄和許多子目錄組成
- 文件系統是數據存儲的方式
2. 文件系統的滿錯誤
- 不同文件系統的數據存在磁盤的不同區域上,文件系統的長度不變時,即使整個系統仍有空閒的磁盤空間,當某個文件系統滿時也會發生文件系統滿錯誤
3. 超級塊、備份塊、inode
3.1 超級快
- 文件系統的第一個可尋址的塊稱爲超級塊, 該塊存放
文件系統的標識信息(如文件系統名、文件系統長度、
inodes的數目)以及空閒inode表,空閒塊表等
3.2 備份塊
- 超級塊是文件系統的關鍵數據,如果超級塊損壞,則
文件系統不能正常mount。因此在第31塊上存放了超級
塊的備份塊,以備超級塊損壞時恢復
3.3 inode
- 超級塊之後是固定數目的inodes, inodes存放了文件的標識信息,此外還包含指向文件數據塊的指針
- 索引節點(inode)的信息可以用ls –l命令列出
- Inode不保存文件名,文件名存放在文件所在的目錄文件裏
這裏寫圖片描述

三. AIX的JFS文件系統
1. 概述
- 傳統的UNIX系統並不能保證在系統故障後不損失文件,尤其是當文件處於“動態”的變化中時
- AIX集成了數據庫日誌技術,如果文件發生更改,首先會在一個日誌中記載文件結構信息的變化,然後再相應地調整文件內容
- 這個用於記錄文件系統的結構信息(元數據)變化的日誌就是JFS log。文件系統發生崩潰等事故後(如數據不一致等錯誤),AIX將通過這個日誌來恢復文件系統
- AIX安裝時系統默認創建的日誌設備(JFS Log)是邏輯卷 /dev/hd8
2. AIX文件系統的組織
這裏寫圖片描述

四. Linux下的換頁空間
Step 1.查看Swap空間使用

# free    
  total        used              free     shared  buffers cached 
Mem:           513980    493640      20340          0     143808     271780 
-/+ buffers/cache:  78052     435928 
Swap:            1052248      21256    1030992                            

Step 2.在空間合適處創建swap文件

# mkdir swap
# cd swap 
//增加1G
# dd if=/dev/zero of=swapfile bs=1024 count=1000000   
10000+0 records in 
10000+0 records out 
# ls -al 
total 10024 
drwxr-xr-x    2 root     root         4096  728 14:58 . 
drwxr-xr-x   19 root     root         4096  728 14:57 .. 
-rw-r--r--    1 root     root     10240000  728 14:58 swapfile 
# mkswap swapfile 
Setting up swapspace version 1, size = 9996 KiB 

Step 3.激活swap文件

# swapon swapfile
# ls -l 
total 10016 
-rw-r--r--    1 root     root     10240000  728 14:58 swapfile 
# free                           total       used       free     shared    buffers     cached 
Mem:                  513980     505052       8928          0     143900     282288 
-/+ buffers/cache: 78864     435116 
Swap:                1062240      21256    1040984

若要想使開機時自啓用,則需修改文件/etc/fstab中的swap行:

/root/swap/swapfile swap swap defaults 0 0 

五. 掛接技術

  1. 基本命令

    # mount /dev/lv00 /home/patsie
    // /dev/lv00指what to mount
    // /home/patsie指where to mount it
  2. Mount在空目錄
    這裏寫圖片描述
  3. Mount在非空目錄
    這裏寫圖片描述

    4 . 系統引導後自動掛接文件系統
    Add to /etc/fstab:
    這裏寫圖片描述

六. 備份和恢復技術
1. 需要備份的目錄
一般情況下,以下這些目錄是需要備份的:
- /etc: 包含所有核心配置文件。這其中包括網絡配置、系統名稱、防火牆規則、用戶、組,以及其他全局系統項
- /var 包含系統守護進程(服務)所使用的信息,包括 DNS 配置、DHCP 租期、郵件緩衝文件、HTTP 服務器文件、db2 實例配置,等等
- /home 包含所有用戶的默認用戶主目錄。這包括他們的個人設置、已下載的文件和用戶不希望失去的其他信息
- /root 是根(root)用戶的主目錄
- /opt 是安裝許多非系統文件的地方。IBM 軟件就安裝在這裏。OpenOffice、JDK 和其他軟件在默認情況下也安裝在這裏
2. 不需要備份的目錄
有些目錄是應該考慮不備份的:
- /proc 應該永遠不要備份這個目錄。它不是一個真實的文件系統,而是運行內核和環境的虛擬化視圖
- /dev 包含硬件設備的文件表示。如果計劃還原到一個空白的系統,那就可以備份 /dev。然而,如果計劃還原到一個已安裝的 Linux 系統,那麼備份 /dev 是沒有必要的
- 其他目錄包含系統文件和已安裝的包。在服務器環境中,這其中的許多信息都不是自定義的。大多數自定義都發生在 /etc 和/home 目錄中
- 在生產環境中,希望確保數據不會丟失,因而會備份除 /proc 目錄之外的整個系統
3. 備份工具
- Linux 備份在很大程度上就是打包和解包文件。這允許使用現有的系統實用工具和腳本來執行備份,而不必購買商業化的軟件包
- 備份腳本可以使用 cron 命令來自動化,這個命令控制 Linux 中預定的事件
4. 備份命令tar
4.1. tar命令介紹
- tar 是一個已移植到 Linux 中的經典 UNIX 命令。 tar 是 tape archive(磁帶歸檔)的縮寫,最初設計用於將文件打包到磁帶上。這是一個基於文件的命令,它本質上是連續地、首尾相連地堆放文件
- 使用 tar 可以打包整個目錄樹,這使得它特別適合用於備份。歸檔文件可以全部還原,或從中展開單獨的文件和目錄
4.2. tar語法

 語法:tar [主選項+輔選項] 文件或者目錄
    使用該命令時,主選項是必須要有的,它告訴tar要做什麼事情,輔選項是輔助使用的,可以選用

主選項:
-c 創建新的檔案文件。如果用戶想備份一個目錄或是一些文件,就要選擇這個選項。相當於打包。
-x 從檔案文件中釋放文件。相當於拆包。
-t 列出檔案文件的內容,查看已經備份了哪些文件。
特別注意,在參數的下達中, c/x/t 僅能存在一個!不可同時存在!因爲不可能同時壓縮與解壓縮。

輔助選項:
-z :是否需要用 gzip 壓縮或解壓? 一般格式爲xx.tar.gz或xx. tgz
-j :是否需要用 bzip2 壓縮或解壓?一般格式爲xx.tar.bz2  
-v :壓縮的過程中顯示文件!
--exclude FILE:在壓縮的過程中,不要將 FILE 打包!

4.3. 幾個常用例子
範例一:將整個 /etc 目錄下的文件全部打包成爲 /tmp/etc.tar

# tar -cvf /tmp/etc.tar /etc    <==僅打包,不壓縮!
# tar -zcvf /tmp/etc.tar.gz /etc  <==打包後,以 gzip 壓縮
# tar -jcvf /tmp/etc.tar.bz2 /etc  <==打包後,以 bzip2 壓縮


// 特別注意,在參數 f 之後的文件名是自己取的,我們習慣上都用 .tar 
// 如果加 z 參數,則以 .tar.gz 或 .tgz 來代表 gzip 壓縮過的 tar file 
// 如果加 j 參數,則以 .tar.bz2 來作爲文件名

範例二:查閱上述 /tmp/etc.tar.gz 文件內有哪些文件?

# tar -ztvf /tmp/etc.tar.gz

// 因爲我們使用 gzip 壓縮,所以要查閱該 tar file 內的文件時,就得要加上 z 這個參數

範例三:將 /tmp/etc.tar.gz 文件解壓縮在 /usr/local/src 底下

# cd /usr/local/src
# tar -zxvf /tmp/etc.tar.gz

// 我們可以將壓縮檔在任何地方解開的!以這個範例來說,先將工作目錄變換到 /usr/local/src 下,並且解開 /tmp/etc.tar.gz,則解開的目錄會在 /usr/local/src/etc


範例四:在 /tmp 下,只將 /tmp/etc.tar.gz 內的 etc/passwd 解開而已

# cd /tmp
# tar -zxvf /tmp/etc.tar.gz etc/passwd

//我們可以通過 tar -ztvf 來查閱 tarfile 內的文件名稱,如果只要一個文件,就可以通過這個方式來達到
//注意: etc.tar.gz 內的根目錄 / 被拿掉了

範例五:我要備份 /home, /etc ,但不要 /home/user001

# tar --exclude /home/user001 -zcvf myfile.tar.gz /home/* /etc
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章