linux磁盤管理及文件系統介紹

    硬盤是計算機必備組成部分,現在的硬盤分固態硬盤和傳統機械硬盤,這里要介紹的是傳統機械硬盤。

    一.硬盤最基本結構

        1.硬盤是由堅硬金屬材料制成的涂以磁性介質的盤片,不同容量硬盤的盤片數不等。每個盤片有兩面,都可記錄信息。每個磁道被分成許多扇形的區域,每個區域叫一個扇區,每個扇區可存儲128×2的N次方(N=0.1.2.3)字節信息。在DOS中每扇區是128×2的2次方=512字節,盤片表面上以盤片中心為圓心,不同半徑的同心圓稱為磁道。硬盤中,不同盤片相同半徑的磁道所組成的圓柱稱為柱面,如下圖所示:

blob.png

        2.MBR

        MBR:Master Boot Record,即硬盤的主引導記錄,位于0磁道0扇區,大小512bytes。

        boot loader:引導加載器存放在MBR的前446bytes,用于引導操作系統。

        分區表:存放在boot loader之后的64bytes,用于存放分區信息。

        2bytes: 55AA(分區有效標識)

        

    二.磁盤的分區管理

       1. 由于分區表只有64bytes,一個分區占用大小16bytes,所以只能創建4個分區,通常使用 3主分區+1擴展(N個邏輯分區)  的分區模式。使用fdisk命令工具進行分區。

         fdisk -l [device…]   查看設備分區情況

     blob.png

        fdisk device    進入對設備磁盤進行操作

                                                                

blob.png

        常用的操作指令如下:

        d delete a partition  這是刪除一個分區的動作;
        l list known partition types  是列出分區類型,以供我們設置相應分區的類型;
        m print this menu   是列出幫助信息;
        n add a new partition   添加一個分區;
        p print the partition table  列出分區表;
        q quit without saving changes  不保存退出;
        t change a partition's system id   改變分區類型;
        w write table to disk and exit  把分區表寫入硬盤并退出;
      

        2.創建分區步驟:

            1).先輸入n創建分區

            2).選擇分區 e擴展分區 p主分區

            3).確認創建的分區號

            4).確認起始和終止柱面

            5).調整分區類型,L查看分區類型

            6).最后w把分區表寫入硬盤并退出

            

         

        blob.png    

        3.把分區信息同步到內核

            partx -a /dev/DEVICE 

            blob.png

            上述錯誤是正?,F象用cat /proc/partitions 查看內核中是否已存在該分區信息

                                                                   blob.png 

        三.文件系統

              在告知系統我的 partition 所在的起始與結束磁柱之后,之后則需要將 partition 格式化為我的操作系統認識的文件系統,常用的文件系統如下:

                Linux文件系統: ext2, ext3, ext4, xfs, btrfs, reiserfs, jfs, swap

                swap: 交換分區

                光盤:iso9660

                Windows:fat32, ntfs

                Unix: FFS, UFS, JFS2

                網絡文件系統:NFS, CIFS

                集群文件系統:GFS2, OCFS2

                分布式文件系統:ceph, moosefs, mogilefs, GlusterFS, Lustre

              linux默認都支持ext文件系統,當一個 ext2 的 filesystem 被建立時, 他擁有 superblock / group description / block bitmap / inode bitmap / inode table / data             blocks 等等區域。要注意的是,每個ext2 filesystem 在被建立的時候,會依據 partition 的大小, 給予數個 block group ,而每個 block group 就有上述的這些部分。整個             filesystem 的架構可以下圖展現:

            

           blob.png

                 為了簡化,假設一個文件系統僅有1個blockgroup。

                  block:用來儲存數據的最小單元,Block 的大小為 扇區 的 2 的次方倍數。

                  inode:每個文件都對應著一個inode,inode存儲著文件的元數據

                  SuperBlock:記錄整個 filesystem 相關信息,block和inode的總量和使用情況等等。

                  Group Description:記錄 blockgroup 由何處開始記錄。

                  Block bitmap:記錄哪個 block 有沒有被使用。  

                  Inode bitmap:此處記錄那個 inode 有沒有被使用。

                  Inode table:記錄每個inode number對應文件所對應的metadata(元數據)。

                  Data Blocks: block 數據存放區。 

 

            可以通過dumpe2fs  分區  查看上述描述的信息。

            

blob.png

               

             當我們新增一個文件或目錄時:

                    1. 根據 inode bitmap / block bitmap 的信息,找到尚未被使用的 inode 與 block , 進而將檔案的屬性與數據分別記載進 inode 與 block ;

                    2. 將剛剛被利用的 inode 與 block 的號碼 (number) 告知 superblock、inode bitmap、block bitmap 等,讓這些 metadata 更新信息。

 

 

                    

原創文章,作者:zxhy,如若轉載,請注明出處:http://www.www58058.com/18340

(0)
zxhyzxhy
上一篇 2016-06-22
下一篇 2016-06-22

相關推薦

  • 第十五周作業

    溫故知新 1、總結sed和awk的詳細用法 sed [OPTION]… ‘script’ [input-file] …script:地址定界編輯命令 常用選項:-n:不輸出模式空間中的內容至屏幕;-e script, –expression=script:多點編輯;-f /PATH/TO/SED_S…

    Linux干貨 2017-12-04
  • mv命令總結

    mv命令是move的縮寫,可以用來移動文件或者將文件改名,是Linux系統下常用的命令,經常用來備份文件或者目錄。 命令格式:mv  源文件或目錄 目標文件或目錄 2.命令功能:視mv命令中第二個參數類型的不同(是目標文件還是目標目錄),mv命令將文件重命名或將其移至一個新的目錄中。當第二個參數類型是文件時,mv命令完成文件重命名,此時,源文件只能…

    2017-07-24
  • httpd服務歸納:httpd基本配置(配置文件格式以及常用選項)

    一、 httpd文件的基本格式 主配置文件位置, /etc/httpd/conf/httpd.conf    1. 配置文件參數格式  配置參數    值       特點:    &nbs…

    Linux干貨 2015-05-13
  • 安裝包管理

       軟件包管理 軟件的運行和編譯 ABI 由于window和linux不兼容 linux是ELF window 是PE 對應的內核解析方式不同,可以用虛擬化 API 只程序與程序的公用的接口,相互調用方式 程序源代碼 –>預處理–>編譯–>匯編–>鏈接 預處理只會引…

    Linux干貨 2017-04-24
  • 小練習題。【第五周】

    1、顯示當前系統上root、fedora或user1用戶的默認shell; /]# cat /etc/passwd | grep '^root\|fedora\|user1' |cut -d':' -f1,7 2、找出/etc/rc.d/i…

    Linux干貨 2016-11-26
  • Linux文件系統

    Linux:glibc 程序編譯方式: 動態鏈接 靜態編譯 進程的類型: 終端:硬件設備,關聯一個用戶接口 與終端相關:通過終端啟動 與終端無關:操作引導啟動過程當中自動啟動 操作系統的組成: 靜態:kernel, application 文件系統:層級結構 FHS: Filesystem Hierarchy Standard /bin:所有用戶可用的基本命…

    Linux干貨 2016-11-10
欧美性久久久久