文件系統和磁盤管理

MBR分區和GPT分區

1.MBR分區

MBR:Master Boot Record,主引導記錄,是硬盤的第一個扇區,位於硬盤的0柱面0磁頭1扇區處。主引導記錄(512字節)由三個部分組成:引導程序(前446字節,偏移0——1BDH),分區表(隨後的64字節,偏移1BEH——1FDH),結束標誌「55AA」(最後的兩個字節,偏移1FEH——1FFH)。node

MBR分區方式用16個字節標識一個分區,因爲分區表只有64個字節,因此MBR分區中一塊硬盤最多隻能有4個主分區,也能夠3個主分區加1個擴展分區(N個邏輯分區)。MBR分區方式最多隻能識別2TB的硬盤空間。算法

2.GPT分區

GPT:GUID(Globals Unique Identififiers) partition table,全局惟一標識磁盤分區表,它是UEFI 規範的一部分 。支持128個分區,可以識別2TB以上的硬盤空間。GPT分區結構分爲4個區域:GPT頭、分區表、GPT分區、GPT備份。centos

3.分區管理工具

  1. lsblk:列出塊設備緩存

  2. partprobe:重置內存中的分區表版本安全

  3. parted:高級分區操做,能夠是交互式或者非交互式(parted的操做都是實時生效的,要當心使用)網絡

    格式:parted [選項]... [設備 [命令 [參數]...]...]
    例:(使用-h或--help選項查看幫助)
    parted /dev/sdb mklabel gpt|msdos
    parted /dev/sdb print 
    parted /dev/sdb mkpart primary 1 200 (默認M)
    parted /dev/sdb rm 1
    parted –l   列出全部硬盤分區信息
  4. fdisk和gdisk數據結構

    gdisk [device...]    相似fdisk的GPT分區工具
    fdisk [options] <disk> change partition table    管理MBR分區
    fdisk [options] -l [<disk>] list partition table(s)

    交互式方式子命令異步

    p 分區列表
    t 更改分區類型
    n 建立新分區
    d 刪除分區
    v 校驗分區
    u 轉換單位
    w 保存並退出
    q 不保存並退出

文件系統

1.文件系統概念

文件系統是操做系統用於明確存儲設備或分區上的文件的方法和數據結構;即在存儲設備上組織文件的方法。操做系統中負責管理和存儲文件信息的軟件機構稱爲文件管理系統,簡稱文件系統。async

2.常見文件系統類型

2.1Linux經常使用文件系統:

  • ext2:Extended file system 適用於那些分區容量不是太大,更新也不頻繁的狀況,例如 /boot 分區 ide

  • ext3:是 ext2 的改進版本,其支持日誌功能,可以幫助系統從非正常關機致使的異常中恢復

  • ext4:是 ext 文件系統的最新版。提供了不少新的特性,包括納秒級時間戳、建立和使用巨型文件(16TB)、最大1EB的文件系統,以及速度的提高

  • xfs:SGI研發,支持最大8EB的文件系統

  • swap

  • iso9660:光盤

Windows經常使用文件系統:

  • FAT32
  • NTFS

網絡文件系統:

  • NFS
  • CIFS

2.2文件系統管理工具

  1. mkfs:建立文件系統

    格式:mkfs.FS_TYPE /dev/DEVICE    例:mkfs.ext4 /dev/sda4
    選項 說明
    -t 指定文件系統類型(ext二、ext三、ext四、xfs)
    -b 指定塊block大小(102四、204八、4096)
    -L Label 設置卷標
    -m 指定爲管理人員預留空間佔總空間的百分比,默認爲5%
  2. blkid:查看塊設備的UUID等信息

    格式:blkid [OPTION]... [DEVICE] 
    -U UUID 根據指定的UUID來查找對應的設備
    -L LABEL 根據指定的LABEL來查找對應的設備
  3. dumpe2fs:顯示ext文件系統信息,將磁盤塊分組管理

    格式:dumpe2fs /dev/DEVICE    例:dumpe2fs /dev/sda4
  4. xfs_info:顯示掛載或已掛載的 xfs 文件系統信息

    格式:xfs_info /dev/DEVICE    例:xfs_info /dev/sda4
  5. fsck:文件系統檢測修復(不要在掛載狀態下執行命令)

    文件系統故障常發生於死機或非正常關機後,掛載爲文件系統標記爲「no clean」。

    fsck.FS_TYPE
    fsck -t FS_TYPE    FS_TYPE要與分區上的文件類型相同
  6. e2fsck:ext系列文件系統專用的檢測修復工具

    -y 自動回答爲yes
    -f 強制修復
    -p 自動進行安全的修復文件系統問題
  7. xfs_repair:xfs文件系統專用檢測修復工具

    -f 用文件表示的設備
    -n 只檢查
    -d 容許修復只讀的掛載設備,在單用戶下修復 / 時使用,而後當即reboot

掛載

掛載:將額外的文件系統與根文件系統現存的某個目錄創建起關聯關係,進而使得此目錄作爲文件訪問入口的行爲。

卸載:解除此關聯關係。

注意:掛載點必須是一個目錄;一個分區掛載在一個已存在的目錄上,這個目錄能夠不爲空,但掛載後這個目錄下之前的內容將不可用。

1.mount掛載文件系統

格式:mount [OPTIONS] DEVICE DIR
說明:
DEVICE:要掛載的設備,例如,/dev/sda1
DIR:掛載點,必須存在,通常使用空目錄,進程正在使用中的設備沒法被卸載
-L 'LABEL':以卷標指定掛載設備,例如,-L 'data'
-U 'UUID':以UUID指定要掛載的設備
-t fstype:指定要掛載的設備上的文件系統類型
-r:readonly,只讀掛載
-w:read and write,讀寫掛載
-n:不更新/etc/mtab,mount不可見
-a:自動掛載全部支持自動掛載的設備(定義在/etc/fstab文件中,且掛載選項中有auto功能)
-B,--bind:綁定目錄到另外一個目錄上
-o options:掛載文件系統的選項,多個選項使用逗號分隔
    可用的options選項:
    async   異步模式,內存更改時,寫入緩存區buffer,過一段時間再寫到磁盤中,效率高,但不安全
    sync   同步模式,內存更改時,同時寫磁盤,安全,但效率低下
    atime/noatime 包含目錄和文件
    diratime/nodiratime 目錄的訪問時間戳
    auto/noauto 是否支持開機自動掛載,是否支持-a選項
    exec/noexec 是否支持將文件系統上運行應用程序
    dev/nodev 是否支持在此文件系統上使用設備文件
    suid/nosuid 是否支持suid和sgid權限
    remount 從新掛載
    ro/rw 只讀、讀寫   
    user/nouser 是否容許普通用戶掛載此設備,/etc/fstab使用
    acl/noacl 啓用此文件系統上的acl功能
    loop 使用loop設備
    _netdev   當網絡可用時纔對網絡資源進行掛載,如:NFS文件系統
    defaults 至關於rw, suid, dev, exec, auto, nouser, async

2.umount卸載文件系統

卸載時既可使用設備名也可使用掛載點

格式:umount 設備名|掛載點

若是用戶正在訪問某個目錄或文件,使得卸載一直顯示busy,使用fuser -v DIR能夠知道誰正在訪問該目錄或文件。而後用-k選項結束正在使用的目錄或文件的進程,使用-km選項結束文件系統上的全部進程,而後再umount。

[root@centos8~]#fuser -v /mnt/cdrom
[root@centos8~]#fuser -km /mnt/cdrom

3.開機自動掛載

經過將掛載選項寫入到/etc/fstab中,系統在開機時自動掛載文件中的配置項。也能夠在啓動後的系統中手動執行mount -a命令掛載文件中的配置項。/etc/fstab文件的格式查看man 5 fstab。

/etc/fstab文件中每一行定義一個掛載的文件系統,每行包括6項:

  • 掛載的設備或僞文件系統

    設備文件名

    UUID

    LABEL

    僞文件系統名稱:proc、sysfs

  • 掛載點:必須是事先存在的目錄

  • 文件系統類型:ext4,xfs,iso9660,nfs,none,swap

  • 掛載選項:defaults,acl,bind

  • 轉儲頻率:0(不作備份)、1(天天備份)、2(每隔一天備份)

  • fsck檢查:0(不自檢)、1(首先自檢,通常只有rootfs採用)、2(非rootfs使用)添加了新的掛載項後,須要執行mount -a命令才能生效。

RAID技術

1.RAID概念

磁盤陣列:Redundant Arrays of Independent Disks(RAID),有「獨立磁盤構成的具備冗餘能力的陣列」之意。

RAID技術主要有如下三個基本功能:

  • 經過對磁盤上的數據進行條帶化,實現對數據成塊存取,減小磁盤的機械尋道時間,提升了數據存取速度。
  • 經過對一個陣列中的幾塊磁盤同時讀取,減小了磁盤的機械尋道時間,提升數據存取速度。
  • 經過鏡像或者存儲奇偶校驗信息的方式,實現了對數據的冗餘保護。

RAID的實現方式:

  • 外接式磁盤陣列:經過擴展卡提供適配能力 。
  • 內接式RAID:主板集成RAID控制器,安裝OS前在BIOS裏配置。
  • 軟件RAID:經過OS實現。

2.RAID級別

多塊磁盤能夠經過多種方式組織在一塊兒工做,這就是RAID的不一樣級別。SNIA、Berkeley 等組織機構把 RAID0 、 RAID1 、 RAID2 、 RAID3 、 RAID4 、 RAID5 、 RAID6 七個等級定爲標準的 RAID 等級,這也被業界和學術界所公認。可是標準 RAID 等級各有優點和不足,實際中把多個 RAID 等級組合起來,實現優點互補,從而達到在性能、數據安全性等指標上更高的 RAID 系統。實際獲得較爲普遍應用的RAID組合等級只有 RAID01 和 RAID10 兩個等級。固然,組合等級的實現成本通常都很是昂貴,只是在 少數特定場合應用。

  1. RAID0

    RAID0也稱爲條帶卷(striping)。它是將多塊硬盤串聯在一塊兒看成一塊大硬盤使用,數據依次存儲到每一個硬盤當中,存儲容量是全部硬盤容量總和,讀寫能力隨磁盤數量增長成倍提高,沒有冗餘能力,空間利用率100%,至少須要兩塊硬盤,若是其中一塊硬盤損壞則整個數據都會受到破壞。用於數據安全性不高的場合。

    文件系統和磁盤管理

  2. RAID1

    RAID1 也稱爲鏡像卷(mirror),它將數據徹底一致地分別寫到工做磁盤和鏡像磁盤,它的磁盤空間利用率爲 50% 。RAID1 在數據寫入時,響應時間會有所影響,可是讀數據的時候沒有影響。RAID1提供了最佳的數據保護,一旦工做磁盤發生故障,系統自動從鏡像磁盤讀取數據,不會影響用戶工做。用於數據安全性比較高的場合。

    文件系統和磁盤管理

  3. RAID4

    RAID4級別最少須要3塊硬盤,其中一塊固定的硬盤用來保存校驗位,數據以數據塊爲單位分別存儲在不一樣的硬盤上。RAID4在不一樣磁盤上的同級數據塊使用XOR校驗,結果存儲在校驗盤中。RAID4提供了很是好的讀性能,但單一的校驗盤每每成爲系統性能的瓶頸。因此RAID4在主流存儲產品中使用較少。

    文件系統和磁盤管理

  4. RAID5

    RAID5相似於RAID4,不一樣之處在於沒有使用專門的獨立校驗盤,校驗數據分佈在陣列中的全部數據盤上。

    文件系統和磁盤管理

  5. RAID6

    RAID6引入雙重校驗的概念,它能夠保護陣列中同時出現兩個磁盤失效時,陣列仍可以繼續工做,不會發生數據丟失。RAID6 思想最多見的實現方式是採用兩個獨立的校驗算法,假設稱爲 P 和 Q ,校驗數據能夠分別存儲在兩個不一樣的校驗盤上,或者分散存儲在全部成員磁盤中。當兩個磁盤同時失效時,便可經過求解兩元方程來重建兩個磁盤上的數據。

    文件系統和磁盤管理

  6. RAID10和RAID01

    RAID10和RAID01不是RAID獨立的級別。RAID10先將2塊硬盤組成RAID1,再將2個RAID1組成RAID0。RAID01先將2塊硬盤組成RAID0,再將2個RAID0組成RAID1。RAID01 和 RAID10 內部都含有 RAID1 模式,所以總體磁盤利用率均僅爲 50% 。

    文件系統和磁盤管理

邏輯卷管理器LVM

1.邏輯卷原理

LVM是邏輯盤卷管理器(Logical Volume Manager)的簡稱,它是Linux系統對磁盤分區進行管理的一種機制,LVM是創建在硬盤和分區之上、硬盤和文件系統之間的一個邏輯層,來提升磁盤分區管理的靈活性。

邏輯卷實現過程:

  • 將物理設備指定爲物理卷(pv:physical volume),物理卷用固定大小的物理區域(PE:physical extend)組成
  • 用一個或多個物理卷建立一個卷組(vg:volume group)
  • 基於vg建立邏輯卷(lv:logical volume)
  • 在邏輯卷lv上格式化文件系統,而後就能夠進行使用

2.邏輯卷管理工具

LVM涉及到了pv、vg、lv三個層次,每一個層次都有對應的命令來管理,雖然數量可能比較多,可是命令名稱、用法大多相似。

2.1PV管理工具

管理pv的工具:pvs、pvscan、pvdisplay、pvcreate、pvremove、pvmove

  1. 顯示pv信息

    pvs [OPTIONS]
    pvdispaly [OPTIONS]
    pvs顯示簡要的pv信息,pvdisplay詳細顯示pv信息
  2. 建立pv

    pvcreate [OPTIONS]
  3. 刪除pv

    pvremove [OPTIONS]
  4. 檢查pv

    pvscan [OPTIONS]

2.2VG管理工具

管理vg的工具:vgs、vgscan、vgdisplay、vgcreate、vgreduce、vgextend

  1. 顯示vg信息

    vgs 顯示vg簡要信息
    vgdisplay 顯示vg詳細信息
  2. 建立vg

    vgcreate [-s [kKmMgGtTpPeE]] VolumeGroupName PhysicalDevicePath
  3. 擴展vg

    vgextend VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...]
  4. 縮減vg

    vgreduce VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...]
  5. 刪除vg

    vgremove VolumeGroupName
    注意:刪除vg時,要先執行pvmove,後執行vgremove,以確保數據文件完整不被損壞

2.3LV管理工具

管理lv的工具:lvs、lvscan、lvdisplay、lvcreate、lvremove、lvreduce、lvextend、lvresize

  1. 顯示lv信息

    lvs 顯示lv簡要信息
    lvdisplay 顯示lv詳細信息
  2. 建立lv

    lvcreate -L [mMgGtT] -n NAME VolumeGroup
  3. 刪除lv

    lvremove /dev/VG_NAME/LV_NAME
  4. 擴展lv

    lvextend -L [+SIZE][mMgGtT] /dev/VG_NAME/LV_NAME
    注意:擴展lv後要配合同步文件系統的命令才能使擴展生效
    針對ext文件系統
    resize2fs /dev/VG_NAME/LV_NAME
    針對xfs文件系統 
    xfs_growfs MOUNTPOINT
  5. 縮減lv

    lvreduce -L [-SIZE][mMgGtT] /dev/VG_NAME/LV_NAME
    注意:縮減lv時,先執行umount命令卸載,而後進行文件系統檢查,再重置文件系統大小,最後再執行lvreduce命令。必定要按照這個順序進行執行。
    umount /dev/VG_NAME/LV_NAME
    e2fsck -f /dev/VG_NAME/LV_NAME
    resize2fs /dev/VG_NAME/LV_NAME 
    lvreduce -L [-SIZE][mMgGtT] /dev/VG_NAME/LV_NAME
    mount

實例

1.破壞mbr表並修復

第一步:備份10.0.0.201主機的分區表,並拷貝到10.0.0.202的主機上。

文件系統和磁盤管理

第二步:破壞10.0.0.201的分區表,重啓後發現沒法正常啓動。

文件系統和磁盤管理

文件系統和磁盤管理

第三步:進入rescue模式。

經過光盤啓動,並選擇Troubleshoting,而後選擇rescue模式

文件系統和磁盤管理

文件系統和磁盤管理

文件系統和磁盤管理

第三步:要遠程從10.0.0.202主機上獲取分區表,可是此時10.0.0.201主機在rescue模式下沒有ip地址,因此要先配上ip地址,而後再從202主機上將分區表備份拷過來。

文件系統和磁盤管理

文件系統和磁盤管理

第四步:恢復分區表,而後重啓,此時10.0.0.201主機能夠正常啓動。

文件系統和磁盤管理

文件系統和磁盤管理

2.建立一個2G的文件系統,塊大小爲2048byte,預留1%可用空間,文件系統 ext4,卷標爲TEST,要求此分區開機後自動掛載至/test目錄,且默認有acl掛載選項

第一步:用fdisk建立一個大小爲2G的新的分區

文件系統和磁盤管理

第二步:在這個新分區上建立文件系統

文件系統和磁盤管理

第三步:建立/test目錄,並將配置寫進/etc/fstab文件實現自動掛載

文件系統和磁盤管理

文件系統和磁盤管理

3.建立一個至少有兩個PV組成的大小爲20G的名爲testvg的VG;要求PE大小 爲16MB, 然後在卷組中建立大小爲5G的邏輯卷testlv;掛載至/users目錄

第一步:建立兩個分區/dev/sda六、/dev/sda7,加起來大小爲20G,注意分區類型爲LVM。用這兩個分區建立PV

文件系統和磁盤管理

第二步:建立名爲testvg的VG,指定PE大小爲16MB

文件系統和磁盤管理

第三步:在卷組中建立大小爲5G的邏輯卷testlv

文件系統和磁盤管理

第四步:在邏輯卷testlv上建立文件系統,並掛載至/users目錄

文件系統和磁盤管理

相關文章
相關標籤/搜索