磁盤存儲和文件系統 概述

磁盤存儲和文件系統 概述

  • 設備文件

    1. 磁盤設備的設備文件命名: /dev/DEV_FILE
    2. SCSI,SAS,IDE,USB:/dev/sd
    3. 虛擬磁盤:/dev/vd、/dev/xvd
    4. 硬盤存儲術語:head 磁頭 、track 磁道、cylinder 柱面、sector 扇區,512bytes
  • CHS 和 LBA

    CHS

    1. 採用24bit位尋址
    2. 其中前十位表示cylinder,中間8位表示head,後面6位表示sector
    3. 最大尋址空間8G
      LBA
    4. LBA是一個整數,通過轉換化成chs格式完成磁盤具體尋址
    5. 由於chs尋址方式的尋址空間在大概8G以內,所以在磁盤容量小於大概8G時,可以使用chs尋址方式或是lba尋址方式;在磁盤容量大於8G時,則只能使用lba尋址方式
  • 分區

    分區可以優化I/O性能,實現磁盤空間配額限制,提高修復速度,隔離系統和程序,安裝多個os,採用不同文件系統。
    兩種分區方式: MBR,GPT

    1. MBR:按柱面分區,使用32位表示扇區數,分區不超過2T
      MBR分區中一塊硬盤最多有四個主分區,也可以3主分區+1擴展(N個邏輯分區)
      MBR分區結構:硬盤主引導記錄MBR由主引導程序、出錯信息數據區、分區表、結束標誌字四個部分組成。
    2. GPT:使用128位UUID表示磁盤和分區,GPT分區表自動備份在頭和尾兩份,並有CRC校驗位。
  • 管理分區

    • lsdik:列出塊設備
    • fdisk:創建MBR分區
    • gdisk:創建GPT分區
    • parted:高級分區操作
    • partprobe:重新設置內存中的內核分區表版本
      子命令:
      p:分區列表
      t:更改分區類型
      n:創建新分區
      d:刪除分區
      v:校驗分區
      u:轉換單位
      w:保存並退出
      q:不保存直接退出
  • 同步分區表
    cat /proc/partations 查看內核是否已經識別新的分區

文件系統

類型:

  • Linux文件系統:
    • ext2:適用於分區容量不大,更新不頻繁的情況,例如/boot分區
    • ext3:ext2的改進版,支持日誌功能。
    • ext4:ext系統的最新版,支持納秒級時間戳、創建和使用巨型文件、最大1E的文件系統。
    • 光盤:iso9660
    • windows:FAT32,exFAT,NTFS
    • UNIX:FFS(fast),UFS(unix),JSS2
    • 網絡文件系統:NFS,CIFS
    • 集羣文件系統:GFS2,OCFS2(oracle)
    • 分佈式文件系統:fastdfs,ceph,moonsefs,mogilefs,lustre
    • RAW:未經處理或者未經格式化產生的文件系統

      創建文件系統

      mkfs:

      1. mkfs.FS_TYPE[ext4|xfs|btrfs|vfat] /dev/DEVICE
      2. mkfs -t FS_TYPE /dev/DEVICE
        -L 'LABEL' 設定卷標
        創建ext文件系統
  • mke2fs:ext系列文件系統專用管理工具
    • -t {ext2|ext3|ext4} 指定文件系統類型
    • -b {1024|2048|4096} 指定塊大小
    • -L ‘LABEL’ 設置卷標
    • -j 相當於 -t ext3
  • mkfs.ext3 = mkfs -t ext3 = mke2fs -j = mke2fs -t ext3
    • -i # 爲數據空間中每多少個字節創建一個inode;不應該小於block大小
    • -N # 指定分區中創建多少個inode
    • -I 一個inode記錄佔用的磁盤空間大小,128---4096
    • -m # 默認5%,爲管理人員預留空間佔總空間的百分比
    • -O FEATURE[,...] 啓用指定特性
    • -O ^FEATURE 關閉指定特性
  • tune2fs :重新設定ext系列文件系統可調整參數的值
    -l:查看指定文件系統的超級塊信息;super block
    -L 'LABEL' 修改卷標
    -m # 修改預留給管理員的空間百分比
    -j 將ext2升級爲ext3
    -O 文件系統屬性啓用或禁用,-O^has_journal
    -o 調整文件系統的默認掛載選項,-o ^acl
    -U UUID 修改UUID號
  • 文件系統檢測和修復
    fsck:
    fsck.FS_TYPE
    -p 自動修復錯誤
    -r 交互式修復錯誤
    FS_TYPE 一定要與分區上的文件類型相同
  • e2fsck:ext系列文件專用的修復工具
    -y 自動回答爲yes
    -f 強制修復

  • 掛載

    將額外文件系統與根文件系統某現存的目錄建立起關聯關係,進而使得此目錄作爲其他文件訪問入口的行爲,叫做掛載。 卸載則是解除此關聯關係的過程。
    mount point :把設備關聯掛載點
    umount point: 卸載
    掛載成功後,掛載點下原有文件在掛載完成後會被隱藏,所以掛載點目錄一般爲空。卸載時,可以用設備,也可以使用掛載點。

    • mount常用命令選項
      -t vsftype 指定要掛載的設備上的文件系統類型
      -r readonly,只讀掛載
      -w read and write, 讀寫掛載
      -n 不更新/etc/mtab,mount不可見
      -a 自動掛載所有支持自動掛載的設備(定義在了/etc/fstab文件
      中,且掛載選項中有auto功能)
      -L 'LABEL' 以卷標指定掛載設備
      -U 'UUID' 以UUID指定要掛載的設備
      -B, --bind 綁定目錄到另一個目錄上
      cat /proc/mounts 查看內核追蹤到的已掛載的所有設備
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章