?Linux基礎知識之磁盤及文件系統管理(一)

1.設備類型:

    塊設備(block):隨機訪問,數據交換單位是"塊"

    字符設備(character):線性訪問,數據交換的單位是"字符"

2.設備文件:FHS

    /dev

    設備文件:關聯至設備的驅動程序;設備的訪問入口

    設備號:

        major:主設備號,區分設備類型;用于標明設備所需要的驅動程序

        minor:次設備號,區分同種類型下的不同設備;是特定設備的訪問入口

        設備文件的文件名不是隨便定義的是由ICANN(互聯網名稱分配機制)

    磁盤的并口和串口:

        并口:同一線纜可以接多塊設備

            IDE:兩塊設備,主設備和從設備

            SCSI:寬帶:16-1個設備 窄帶:8-1個設備

        串口:同一設備上只可以接一個設備

            SATA,SAS

    磁盤命名:

        IDE:/dev/hd[a-z]

            一般就是四個 hda hdb hdc hdd 

        SCSI,SATA,USB,SAS:/dev/sd[a-z]

    引用設備的方式:

        設備文件名:

        卷標:

        UUID:

    分區:/dev/sda# (/dev/sda1,/dev/sda2,…)

    注意:CentOS6和CentOS7統一將硬盤的文件標識為/dev/sd[a-z]#

   磁盤分區:MBR和GPT

    MBR:Master Boot Record(主引導扇區) 512字節

        分為三部分:446bytes:bootloader,引導啟動操作系統的程序

              64bytes:FAT,文件系統分區表,每16字節標識一個分區,一共只能有四個分區

              2bytes:說明當前MBR區域的有效性標記 55AA代表為有效

        若當前系統有剩余的空間未被文件系統的分區表所標識,這些剩余的空間將無法使用。

    GPT:GPT是一種新型磁盤模式,與我們常用的MBR磁盤相比更穩定,自糾錯能力更強,

        一塊磁盤上主分區數量不受(4個的)限制,支持大于2T的總容量及大于2T的分區

        (幾乎沒有上限,最大支持到128個分區,分區大小支持到256TB

        主分區和擴展分區的標識:1-4 邏輯分區:5+:無論主分區和擴展分區的數量是4個,但是邏輯分區的編號都是從5開始的。

3.mknod命令:

    make block or character special files:創建字符或塊的特殊文件

    mknod [OPTION]… NAME TYPE [MAJOR MINOR]

    -m MODE:創建后的設備文件的訪問權限

    mknod testv b 1 5 (創建一個名為testv的塊設備,主設備號為1,次設備號為5)

4.fdisk命令:用于管理磁盤分區表

    (1)查看磁盤的分區列表

        fdisk -l:列出制定磁盤設備上的分區情況

        fdisk -l /dev/sd[a-z]:查看/dev/sd[a-z]的磁盤分區表

            CentOS6標識的是從哪個柱面開始到哪個柱面結束

            CentOS7標識的是從哪個扇區開始到哪個扇區結束

        Linux正常的分區Id用83來表示,擴展分區Id用5來表示,交換分區Id用82表示

    (2)管理分區

        ①lsblk:列出塊設備;

        ②partprobe:重新設置內存中的內核分區表版本

        ③fdisk /dev/sd[a-z](device)  

        fdisk提供了一個交互式接口來管理分區,它有許多自命令,分別用于不同的管理功能;

        所有的操作均在內存中完成,沒有直接同步到磁盤;只有當使用w保存時,才會同步到磁盤上;

            m:獲取fdisk的幫助信息

            n:添加一個新的分區

            w:保存退出

            d:刪除一個分區

            t:表示更改一個分區Id號

            l:列出系統上所有的分區類型(已知Id)

            q:不保存并退出

            p:列出系統上已有的分區列表

        ④parted命令:parted的操作都是實時生效的,請小心使用

        parted [options] [device [command [options…]…]]

        parted /dev/DEVICE mklabel gpt|msdos (將磁盤類型改變為GPT|MBR)

        parted /dev/DEVICE print (列出目前本機的分區表資料)

        parted /dev/DEVICE mkpart {primary|logical|extended} [ext3|ext4|xfs|..] 開始 結束

                parted /dev/DEVICE mkpart primary 1 200(默認M)(設置/dev/DEVICE為主分區且分區大小為200M)

                parted /dev/DEVICE mkpart logical ext4 19.2GB 19.7GB

        parted /dev/DEVICE rm 1 將剛才新建的1號磁盤分區刪除

        parted -l 顯示系統上面所有的磁盤分區

    (3)新建分區

        a.fdisk /dev/sda:管理/dev/sda分區,以/dev/sda為例

        b.使用p命令去查看當前系統上面已有的分區列表

        c.n新建一個分區,當系統上主系統分區和擴展系統分區的和等于4時,即三主一從時,使用n命令會自動創建分區為擴展分區;當主分區和擴展分區的數量小于4時,則需指定為創建主分區或擴展分區(當系統分區中只有小于等于三個主分區并且擴展分區不存在的時候,需要創建擴展分區),之后再去按照說明利用n去創建新的磁盤分區

        d.n鍵創建完之后會顯示添加的邏輯分區(主分區)的分區號,然后回車

        e.顯示默認的扇區號(CentOS7系列顯示的是扇區號,CentOS6系列顯示的是柱面號)

        f.使用+#{K,M,G}選擇要添加的分區的大小(KMG)

        g.使用p命令去查看系統上的分區(現在對于磁盤來說還沒有被修改,只有使用w退出之后,才能被修改)

        h.確定沒有錯誤了 w保存退出,但是現在的磁盤并沒有被內核Kernel所識別

        注意:在已經分區并且已經掛載其中某個分區的磁盤設備上創建的新分區,內核可能在創建完成后無法直接識別;

        使用cat /proc/partitions查看系統上面內核所識別到的磁盤分區,需要通知內核強制重讀磁盤分區表paetx -a [device](CentOS6為例)

        使用cat /proc/partitions確保內核已經讀取到了所有的新創建的磁盤分區才算成功

    (4)創建文件系統:(元數據和數據)

        格式化:低級格式化和高級格式化

            低級格式化:分區之前,是出廠時由硬件制造廠商開始的,主要為了劃分磁道

            高級格式化:分區之后,對于分區進行格式化,創建文件系統

        文件系統分為 元數據區和數據區

            元數據區:

                文件元數據:inode (index node)

                    主要放文件屬性信息,大小、權限、屬主屬組、時間戳、數據塊指針等,但不包含文件名,文件名存放于目錄

                符號鏈接文件:存儲數據指針的空間當中存儲的是真實文件的訪問路徑;

                設備文件:存儲數據指針的空間存儲的是設備號(major,minor)

            bitmap index:位圖索引

                磁盤塊位圖索引:

                    在元數據區預留出一部分小空間,存儲磁盤塊的有無存儲,1表示已使用,0表示空閑狀態

                inode位圖索引:

                    在元數據區預留出一部分小空間,元數據區inode的有無存儲,1表示已使用,0表示空閑狀態

            數據區:

                需要預留出一部分供管理員進行對于磁盤文件的操作(當磁盤已滿或者磁盤出現什么問題)

            超級塊:定義了系統上面有多少塊組,每個塊組從哪個磁盤塊到哪個磁盤塊的編號

5.cat /proc/partitions 查看系統上面內核識別到的磁盤分區

    通知內核強制重讀磁盤分區表:

        CentOS5 7:

            partprobe [device]

        CentOS6:partx kpartx

            partx -a [device]:有時需要使用命令行#遍,才能確保讀取磁盤成功。

            kpartx -af [device]

    分區創建工具:

        parted sfdisk

6.文件系統:

    VFS:Virtual File System

        Linux的文件系統:ext2,ext3(CentOS5),ext4(CentOS6),xfs,btrfs(CentOS7),reisefs(反刪除內容強)

        光盤:iso9660

        網絡文件系統:nfs,cifs

        集群文件系統:gfs2,.ocfs2

        內核級分布式文件系統:ceph

        windows的文件系統:vfat,ntfs

        偽文件系統:proc,sysfs,tmpfs,hugepagefs

        Unix文件系統:UFS,FFS,JFS

        交換文件系統:swap

        用戶空間的分布式文件系統:mogilefs,moosefs,glusterfs

        RAW:未經處理或者未格式化產生的文件系統

    根據其是否支持"journal"功能分類:

        日志型文件系統:ext3,ext4,xfs…

        非日志型文件系統:ext2,vfat

    文件系統的組成部分:

        內核中的模塊:ext4,xfs,vfat

        用戶空間的管理工具:mkfs.ext4 mkfs.xfs mkfs.vfat

    注意:xfs是企業級64位存儲工具,文件大小沒有上限值

        CentOS5.x默認的是ext3文件系統,CentOS6.x默認使用的ext4文件系統,CentOS7.x默認使用的是xfs文件系統

        CentOS6.x上面默認是沒有預裝xfs文件系統,使用xfs系統時,需要使用yum源安裝xfsprogs,之后才能使用xfs文件系統,

7.鏈接文件:訪問同一個文件的不同路徑;

    硬鏈接:指向同一個inode的多個文件路徑

        特性:

        (1)目錄不支持硬鏈接;為了避免循環連接;

        (2)硬鏈接不能跨文件系統;

        (3)創建硬鏈接會增加inode引用計數

    符號鏈接:指向一個文件路徑的另一文件路徑

        特性:

        (1)符號鏈接與文件是兩個各自獨立的文件,各自自己的inode;對原文件創建符號鏈接不會增加引用計數;

        (2)支持對目錄創建符號鏈接,可以跨文件系統;

        (3)刪除符號鏈接文件不會影響原文件,但是刪除原文件,符號指定的路徑不存在,此時會變成無效鏈接;

8.內核級文件系統的組成部分:

    文件系統驅動:由內核提供

    文件系統管理工具:由用戶控件的應用程序提供

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

(0)
sjsirsjsir
上一篇 2016-08-29
下一篇 2016-08-29

相關推薦

  • PHP異常處理詳解

    PHP異常處理詳解          異常處理(又稱為錯誤處理)功能提供了處理程序運行時出現的錯誤或異常情況的方法。   異常處理通常是防止未知錯誤產生所采取的處理措施。異常處理的好處是你不用再絞盡腦汁去考慮各種錯誤,這為處理某一類錯誤提供了一個很有效的方法,使編程效率大大提高。當異常被觸發時,通常會發生:&…

    Linux干貨 2015-06-02
  • 文本處理-三劍客-awk

    報告生成器,格式化文本輸出
    awk [options] ‘BEGIN{ action;… } pattern{ action;… } END{ action;… }’ file …

    2018-03-16
  • DNS和BIND配置(第二部分)

    接第一部分課后練習 三、課后練習: 2、配置反向解析: 步驟一:寫主配置文件:改成與上個實驗相同,也可以自己寫一個簡單的配置文件,如下: [root@localhost tmp]# cat named.conf.new options { directory  "/var/named&qu…

    Linux干貨 2016-10-17
  • 文件查找命令Find

    文件查找命令find Find:在文件上查找符合條件的文件,是個實時的查找工具,通過遍歷指定路徑完成文件查找 工作特點: l  查找速度慢 l  精度查找 l  實時查找 l  可能只搜索用戶具有讀取和執行權限的目錄   語法: find [option]…[查找路徑][查找條件][處理動作]   …

    Linux干貨 2016-08-16
  • mongodb的復制集實現

    簡介:  mongodb有兩種類型的復制,第一種是同于MySQL的主從復制模式,第二種是復制集,提供了自動故障轉移的主從復制集群。其中復制集沒有固定的主節點,當一個主機的故障后從節點會重新“選舉”出一個新的主節點,從而提高的系統的可用性 一、實驗環境: (1)各節點信息: node1: 172.16.2.12 node2: 172.16.2.13 …

    Linux干貨 2015-09-05
  • 第五周作業

    1、顯示當前系統上root、fedora或user1用戶的默認shell; 答:#egrp ‘^(root|fedora|user1)’ /etc/passwd | cut -f1,7 -d: 2、找出/etc/rc.d/init.d/functions文件中某單詞后面跟一組小括號的行,形如:hello(); 答:#egrp -o &…

    Linux干貨 2017-02-25
欧美性久久久久