?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 08:49
下一篇 2016-08-29 08:49

相關推薦

  • LAMP

    備注:本次安裝是采用的系統自帶的yum源進行安裝的 第一步:安裝Apache 1:安裝apache,命令如下: yum install?-y httpd   2:修改httpd.conf,修改ServerName的域名,具體步驟如下: 使用vi編輯器打開apache配置文件,命令如下: vi /etc/httpd/conf/httpd.conf 按…

    Linux干貨 2017-10-09
  • iptables/netfilter入門到進階

    防火墻的概念 Firewall:工作于主機或網絡邊緣,對于進出本主機或網絡的報文根據事先定義的規則作匹配檢測,對于更改被規則匹配到的報文做出相應處理的組件 網絡層防火墻(包過濾防火墻): 優點:對用戶來說透明,處理速度快且易于防護 缺點:一旦黑客突破防火墻,就可以請以偽造數據包源地址、目的地址和IP端口號 代理服務型防火墻(Proxy Service) 優點…

    2017-06-17
  • Linux的基礎文件管理命令

    Linux用于管理文件的一些基本常見的命令如下: ls:  列出指定目錄下的清單    -a  顯示所有文件包括隱藏文件    -l  顯示文件的詳細信息    -d  查看目錄自身   示例: cat:  可查看指定路徑下的文件文本 fi…

    Linux干貨 2016-11-06
  • linux 的套接字

    套接字是一種通信機制,憑借這種機制,客戶/服務器系統的開發工作既可以在本地單機上進行,也可以跨網絡進行。 套接字的特性有三個屬性確定,它們是:域(domain),類型(type),和協議(protocol)。套接字還用地址作為它的名字。地址的格式隨域(又被稱為協議族,protocol family)的不同而不同。每個協議族又可以使用一個或多個地址族定義地址格…

    Linux干貨 2016-08-18
  • Linux基礎-用戶管理相關操作-week 4

    1.復制/etc/skel 目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其他用戶均沒有任何訪問權限  cp /etc/skel /home/tuser1 -rf chmod og=  /home/tuser1 -R 2.編輯/etc/group文件添加組hadoop echo hadoop:x:503 …

    Linux干貨 2016-11-21
  • mariadb基礎應用

    mariadb基礎應用 一、 前言 MariaDB is one of the most popular database servers in the world. It’s made by the original developers of MySQL and guaranteed to stay open source. Notable users …

    Linux干貨 2016-12-16
欧美性久久久久