Linux-A-基礎-第2章-磁盤及文件系統管理


目錄(持續更新)


基礎-第0章-安裝
基礎-第1章-基本操作
基礎-第2章-磁盤及文件系統管理
基礎-第3章-獲得幫助
基礎-第4章-用戶及權限基礎
基礎-第5章-網絡基本配置
基礎-第6章-管道,重定向及文本處理
基礎-第7章-系統啟動詳解

進階-第1章-日志服務
進階-第2章-DNS域名服務器
進階-第3章-FTP文件共享服務
進階-第4章-NFS文件共享服務
進階-第5章-SMB文件共享服務
進階-第6章-WEB服務Apache篇
進階-第7章-電子郵件服務
進階-第8章-Linux服務基礎及管理

高級-第1章-LVM邏輯卷
高級-第2章-高級權限ACL
高級-第3章-RAID提升速度及冗余
高級-第4章-高級網絡-網卡綁定,子端口
高級-第5章-SELinux安全系統基礎
高級-第6章-IPTable防火墻基礎
高級-第7章-Linux遠程管理-SSH、VNC


第2章-磁盤及文件系統管理


第一節 磁盤基本概念
  • 單盤片 多盤片 每個盤配磁頭 轉速越高 性能越好 7200 5400

  • 固態硬盤只是存儲芯片 速度快500M/S

  • 機械硬盤基本概念

          柱面  cylinder    所有盤片某一圈的集合
          扇區  sector      中心到邊緣的扇形區
          磁頭  head        每個磁頭大概512字節
    
  • 磁盤在linux中表示

          所有設備都被抽象為文件 保存在/dev下
    
          設備名字一般為 hd[a-z]  sd[a-z]  (a-z為分區號)
          如: hda,hdb,sda,sdb
    
          IDE設備的名稱為 hd[a-z],SATA,SCSI,SAS,USB 等設備名稱為sd[a-z]
    
          硬盤1     /dec/sda
          硬盤2 /dev/sdb
          硬盤3 /dev/sdc
    
  • 分區概念

          將磁盤邏輯分區 方便管理
    
          linux中是 設備名稱+分區號
    
          硬盤1的第1分區    /dev/sda1
    
          硬盤1的第2分區    /dev/sda2
    
          硬盤2的第1分區    /dev/sdb1
    
          硬盤2的第2分區    /dev/sdb2
    
  • 主流分區機制為 MBR 和 GPT

          MBR(Master Boot Record)是傳統的分區機制
          應用于絕大多數使用BIOS的PC設備  EFI代替BIOS
    
          MBR支持32bit和64bit系統
          MBR支持分區數量有限
          MBR僅僅支持不超過2T的硬盤 ,超過2T的硬盤則只能用2T
    
          MBR共512字節  
          前446字節為引導代碼
          接下來4×16字節為分區表
          接下來兩個字節為   55h  AAh             
    
          MBR分區
          主分區     最多四個主分區
          擴展分區    擴展分區會占用一個主分區位置  用于承載邏輯分區 無法直接使用
          邏輯分區    linux最多支持63個IDE分區和 15個SCSI分區
          
          /dev/sda
          /dev/sda1   /dev/sda2   /dev/sda3   /dev/sda4
    
          /dev/sda
          /dev/sda1   /dev/sda2   /dev/sda3   /dev/sda4   
                                  /dev/sda5------ /dev/sda6------ /dev/sda7
    
          GPT(GUI Partition Table)是一個較新的分區機制 解決了MBR了很多缺點
      
          支持超過2T的磁盤
          向后兼容MBR
          必須在支持UEFI的硬件上才能使用
          必須用64bit系統
          Mac和linux系統都能支持GPT分區格式
          
          Windows7 64bit ,WindowsServer2008 64bit支持GPT
    

第二節 使用fdisk進行磁盤分區
  • FDISK分區工具來自IBM的老牌分區工具 支持大多系統

          幾乎所有linux的發行版都有fdisk    包括linux  rescue模式下也能使用
          fdisk是個針對MBR的工具 如果需要用GPT則無法使用fdisk   大于2T的磁盤無法使用
          fdisk只有超級用戶權限才能用
          使用fdisk -l可以顯示所有磁盤的信息
          使用fdisk /dev/sda可以列出所有安裝的磁盤及其分區信息
          
              進入交互命令
              
              m   幫助
              n   創建分區
              p   列出分區
              t   修改號
              w   保存修改
    
              按下N創建分區
                  e   擴展分區
                  p   主分區 
                  按下p創建主分區    
                      輸入分區號
                      或輸入大小  +2G
              按下N創建分區
                  e   擴展分區
                  p   主分區 
                  按下e創建擴展分區
                      無需輸入 直接確認
              按下N創建分區
                  l   邏輯分區  (永遠從5開始)
                  p   主分區
                  按下l創建邏輯分區
                      輸入分區號
                      或輸入大小  +2G  
              
              按下T修改分區ID
                  輸入類型數字
                  L   列出類型
    
                  按83linux為正常分區   按82swap為交換分區
              
          按下W保存寫入并退出
    
  • 有時分區后需要用partprobe命令 讓內核更新分區信息

          查看: /proc/partitions 查看分區信息
    

第三節 linux文件系統
  • 需要創建文件系統才能用 過程稱為格式化 沒有經過此過程的為裸設備raw

  • 常見的文件系統有fat32 NTFS ext3 ext4 xfs HFS 等

      系統之間的區別 : 日志 支持分區大小  支持單個文件大小
    
          win下主流為NTFS
          linux主流為ext4
    
      linux支持的系統  ext    nfs  iso9660 gfs  jfs  vfat  fat(msdos)
    
  • mke2fs 用來創建文件系統

          mke2fs -t ext4 /dev/sda3   將第一塊硬盤的第三個主分區格式化為ext4文件格式
    
          常用參數:
          -b  +大小 指定文件系統塊大小 每次讀寫系統塊的大小  4K就是4096字節
          -c      建立文件系統時檢查壞損快
          -L label    指定卷標  磁盤取名
          -j      建立文件系統日志    ext4帶日志 無需使用
    
  • mkfs亦可以創建文件系統 單相比mke2fs比較簡單 但是支持的參數比較少 不能精細化控制

          mkfs.ext3 /dev/sda3 將第一塊硬盤的第三個主分區格式化為ext3文件格式
          mkfs.ext4 /dev/sda3 將第一塊硬盤的第三個主分區格式化為ext4文件格式
          mkfs.vfat /dev/sda3 將第一塊硬盤的第三個主分區格式化為vfat文件格式
    
  • dumpe2fs查看分區文件的系統信息

          dumpe2fs /dev/sda2
    
  • 日志
    帶有日志的系統有較強的穩定性

          日志兩階段提交   將準備執行的事計入日志  然后操作   執行之后刪除
    
  • E2LABEL對文件系統打標簽

          e2label /dev/sdb1  查看系統標簽
          e2label /dev/sdb1 LINUX     打上LINUX標簽
    
  • FSCK用來檢查修復損壞的文件系統

          fsck /dev/sdb1  檢查系統()檢查前需要卸載
    
          使用 -y 參數不提示且修復
    
          fsck自動判斷文件系統類型 如果損壞比較嚴重 建議加上 -t 參數
    
          對于識別文件的損壞數據有些找不到記錄,將會計入lost+found目錄
    
          系統啟動都校驗磁盤
    

第四節 linux文件系統掛載管理
  • 磁盤創建好文件系統之后 掛載后才能使用

  • win和mac都是自動掛載 一旦創建好之后自動掛載

  • linux需要手工掛載

          /dev/sda2     到    /mnt
    
  • mount掛載格式化的磁盤分區

          mount /dev/sda1 /mnt/   將第一塊磁盤的第一主分區掛載到  /mnt目錄下
    
          -t  指定系統類型  默認自動識別
          -o  指定掛載選項
    
              ro  rw   只讀  還是  讀寫
    
              mount -o remount,ro /dev/sdb1 /mnt/  
    
              將sdb1以只讀形式重新掛載到/mnt目錄
    
          sync    代表不用緩存 將所有操作直接寫入磁盤
          async   代表使用緩存 默認是async
          noatime 每次訪問文件是不更新文件訪問時間
          atime   每次訪問文件是都更新文件訪問時間
          remount 重新掛載文件系統
    
              mount -o remount,sync /dev/sdb1 /mnt/ 
    
              將sdb1以不用緩存寫入形式重掛載到/mnt目錄
    
              mount -o remount,ro,noatime /dev/sdb1 /mnt/ 
    
              將sdb1以 只讀形式 且 訪問時不更新文件時間形式 重新掛載到/mnt目錄
    
  • umount用來卸載已經掛載的文件系統 相當于win中的彈出

          umount  文件系統/掛載點
    
          umount /dev/sda3   即   umount /mnt/
    
      如果出現報錯,則說明文件系統正在被使用,無法卸載
    
  • 可用fuser查看哪些進程在使用該文件系統

          fuser -m /mnt   
    
  • 可用lsof查看哪些文件被打開了

          lsof /mnt
    
  • 自動掛載

          配置文件/etc/fstab來定義需要自動掛載的文件系統
          fstab中每一行代表一個掛載的配置
    
          格式如下
    
          /dev/sda3   /mnt    ext4    defaults    0 0
          要掛載的設備  掛載點 格式  掛載選項    dump和fsck相關選項
    
          要掛載的設備也可以使用label進行識別  label可以取代第一路徑
    
          label=卷標    /mnt    ext4    defaults    0 0
          要掛載的設備  掛載點 格式  掛載選項    dump和fsck相關選項
    
          mount -a命令會掛載所有fstab中定義的自動掛載項
    
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。