Linux磁盤和文件系統管理

  1. 磁盤相關概念

    1. 設備類型:

      1. 塊設備(block):存取單位為塊,典型設備磁盤

      2. 字符設備(char):存取單位為字符,典型設備為鍵盤

    2. 設備文件:

      1. 關聯至一個設備驅動程序,進而能夠跟與之對應硬件設備進行通信。

      2. 如果存在兩個相同型號設備,使用兩個設備文件,但可能還會關聯到同一個驅動程序

      3. 設備文件只有元數據即屬性,沒有數據內容,屬于特殊文件類型

      4. 設備號碼:

        主設備號:major number, 標識設備類型

        次設備號:minor number, 標識同一類型下的不同設備

    3. 硬盤

            1. 組成部分

               track:磁道

               cylinder: 柱面

               secotr: 扇區(512bytes)

               如何分區:按柱面

            2. MBR: Master Boot Record,即硬盤的主引導記錄(無法識別2T以后的分區)0磁道0扇區:512bytes。

               446bytes: boot loader引導加載器,是一個程序

               64bytes:分區表

               16bytes: 標識一個分區

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

               4個主分區;

               3主分區+1擴展(分區表的展指向)(N個邏輯分區,在Linux從5開始編號)

            3. 硬盤接口類型:

                并行:

                    IDE:“Integrated Drive Electronics”電子集成驅動器,把“硬盤控制器”與“盤體”集成在一起的硬盤驅動器,133MB/s

                    SCIS:“Small Computer System Interface”(小型計算機系統接口),640MB/s

                串口:

                    SATA:(Serial ATA)叫串口硬盤,6Gbps

                    SAS:(Serial Attached SCSI)即串行連接SCSI,6Gbps

            4. 磁盤設備的命名標準:

                IDE: /dev/hd(centos5使用)

                SCSI, SATA, SAS, USB: /dev/sd

                                 不同設備:a-z

                                 /dev/sda, /dev/sdb, …

                                 同一設備上的不同分區:1,2, …

                                 /dev/sda1, /dev/sda5


  2. 磁盤分區管理

    1. fdisk命令介紹

      1. 概念:用于觀察硬盤實體使用情況,也可對硬盤分區。它采用傳統的問答式界面,而非類似DOS fdisk的cfdisk互動式操作界面,因此在使用上較為不便,但功能卻絲毫不打折扣,對于一塊硬盤來講,最多只能管理15分區。

      2. 命令語法及主要選項

        1. fdisk [-OPTION] [device…]

                   -l:列出指定的外圍設備的分區表狀況;

                   -u:搭配"-l"參數列表,會用分區數目取代柱面數目,來表示每個分區的起始地址;

        fdisk的子命令的管理功能,如下圖所示

                      blob.png

                            其中常用命令是:

                            p: print, 顯示已有分區;

                            n: new, 創建

                            d: delete, 刪除

                            w: write, 寫入磁盤并退出

                            q: quit, 放棄更新并退出

                            m: 獲取幫助

                            l: 列表所分區id

                            t: 調整分區id                

    1. fdisk的分區功能詳解

      1. 創建主分區(最后使用w保存退出)如下圖所示:

        blob.png

      2. 創建邏輯分區(最后使用w保存退出),如下圖所示:

        blob.png

      3. 使得分區生效

        1. 使用命令:partx -a /dev/DEVICE或者kpartx -a /dev/DEVICE(note:CentOS 5: 使用partprobe),如下圖所示: 

        blob.png

        1. 查看是否生效:

          使用命令cat /proc/partitions,如下圖所示:

        blob.png]

  3. 文件系統相關概念

    1. Linux文件系統類型

      1. Minix:Minix是Linux支持的第1個文件系統,該文件系統對用戶的限制很多,性能很低。其最大缺點是最大只支持64MB的硬盤分區,現在該文件系統類型已無人使用了。

      2. ext2:是Linux使用的,性能很好的文件系統,用于固定文件系統和可活動文件系統。它是作為ext文件系統的擴展而設計的。ext2在Linux所支持的文件系統中,提供最好的性能(在速度和CPU使用方面),簡短的說,ext2是Linux的主要文件系統。

      3. ext3:是對ext2增加日志功能后的擴展。是RHEL5中默認使用的文件系統類型。它向前、向后兼容ext2,意為ext2不用丟失數據和格式化就可以轉換為ext3,ext3也可以轉換為ext2 而不用丟失數據(只要重新安裝該分區就行了),強烈推薦使用這種文件系統。 

      4. ext4(centos6):為第4代擴展文件系統,是RHEL6中默認使用的文件系統類型,屬于典型的日志型文件系統。其特點是保持有磁盤存取記錄的日志數據,便于恢復,性能和穩定性更加出色。 

      5. btrfs(centos7):由Oracle于2007年宣布并進行中的COW(copy-on-write式)文件系統。目標是取代Linux目前的ext3文件系統,改善ext3的限制,特別是單一文件大小的限制,總文件系統大小限制以及加入文件校驗和特性。加入目前ext3/4未支持的一些功能,例如可寫的磁盤快照(snapshots),以及支持遞歸的快照(snapshots of snapshots),內建磁盤陣列(RAID)支持,支持子卷(Subvolumes)的概念,允許在線調整文件系統大小。

      6. reiserfs:仍然在完善的帶日志文件系統,特別適合小文件的文件系統 

      7. jfs:仍然在完善的帶日志文件系統,特別適合小文件的文件系統 

      8. swap:swap文件系統用于Linux的交換分區。在Linux中,使用整個交換分區來提供虛擬內存,其分區大小一般應是系統物理內存的2倍,在安裝Linux操作系統時,就應創建交換分區, 它是Linux正常運行所必需的,其類型必須是swap,交換分區由操作系統自行管理。 

      9. 光盤:iso9660:這是一種針對ISO9660標準的CD-ROM文件系統,允許用戶在PC、Mac和其他主要計算機平臺上讀取CD-ROM文件。幾乎所有帶有CD-ROM的計算機都可以從ISO9660文件系統讀取文件。

    2. 其他系統文件系統類型

      1. Windows:fat32, ntfs

      2. Unix: FFS, UFS, JFS2

      3. 網絡文件系統:NFS, CIFS

      4. 集群文件系統:GFS2, OCFS2

      5. 分布式文件系統:ceph,                                       

      6. moosefs, mogilefs, GlusterFS, Lustre

    3. 文件系統的組成部分

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

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

                Linux的虛擬文件系統:VFS

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

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

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


  4. 文件系統管理

    1. 使用mkfs命令創建文件系統(創建文件系統的過程既是格式化分區)

      1. mkfs.FS_TYPE /dev/DEVICE (文件系統類型有 ext4,xfs,btrfs,vfat),如下圖所示:

        blob.png

      2. mkfs -t FS_TYPE /dev/DEVICE,如下圖所示:

        blob.png

    2. 使用mke2fs創建文件系統(ext系列文件系統專用管理工具)

      1. 相關選項

        • -t {ext2|ext3|ext4}:選擇文件系統類型

        • -b {1024|2048|4096}:指明塊大小

        • -L 'LABEL':指定卷標

        • -j: 相當于 -t ext3

        • -i #: 為數據空間中每多少個字節創建一個inode(此大小不應該小于block的大?。?/span>

        • -N #:為數據空間創建個多少個inode

        • -m #: 為管理人員預留的空間占據的百分比

        • -O FEATURE[,…]:啟用指定特性

        •  -O ^FEATURE:關閉指定特性

      2. 使用事例

        blob.png

    3. 創建交換分區

      1. 調整目標分區的id

        blob.png

      2. 使用命令mkswap創建交換分區

        mkswap [options] device

               -L 'LABEL'

        blob.png

    4. 其他工具

      1. blkid:塊設備屬性信息查看

        blkid [OPTION]… [DEVICE]

              -U UUID: 根據指定的UUID來查找對應的設備

              -L LABEL:根據指定的LABEL來查找對應的設備

        blob.png

      2. e2label:管理ext系列文件系統的LABEL

        e2label DEVICE [LABEL] (可以查看和設定label)

        blob.png

      3. tune2fs:重新設定ext系列文件系統可調整參數的值 

        tune2fs [OPTION]… [DEVICE]

                -l:查看指定文件系統超級塊信息;super block

                 -L 'LABEL':修改卷標

                 -m #:修預留給管理員的空間百分比

                 -j: 將ext2升級為ext3

                 -O: 文件系統屬性啟用或禁用 ^

                 -o: 調整文件系統的默認掛載選項 ^

                 -U UUID: 修改UUID號;

        blob.png

      4. dumpe2fs:查看ext系列文件系統的全局信息

        dumpe2fs device

        -h:查看超級塊信息

      5. fsck:文件系統檢查命令(Note: FS_TYPE一定要與分區上已經文件類型相同)

        fsck.FS_TYPE /dev/DEVICE

        fsck -t FS_TYPE /dev/DEVICE

            -a: 自動修復錯誤(存在風險)

            -r: 交互式修復錯誤

        blob.png

      6. e2fsck:ext系列文件專用的檢測修復工具

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

(0)
mouse015110mouse015110
上一篇 2016-06-09
下一篇 2016-06-09

相關推薦

  • Linux中的文件和目錄的權限管理

    Linux系統通過完善的權限管理來限制每一個用戶對于系統中文檔和目錄的訪問。在Linux系統中,文件和目錄的權限是有些差異的。一、權限介紹:如上所示,通過ll命令列出目錄下文件的時候同時也會列出文件的權限,從第二位開始,一直到第九位,即rw-r–r–就是文件的權限描述:其中3位為一組:第一組:rw-:代表文件的屬主(user)對文件的…

    Linux干貨 2017-04-01
  • Apache通過mod_proxy模塊連接Tomcat并使用Memcached+MSM做Tomcat會話保持

    一 實驗目的 本實驗使用Apache的mod_proxy模塊連接Tomcat, Nginx在前端做負載均衡,并使用Memcahced+MSM的方式保持Tomcat的會話,實現會話共享。 二 實驗拓撲 說明:為測試方便,Memcached與Tomcat安裝在同一機器中,正式環境應該安裝在不同機器中。 三 實驗環境 主機 IP 安裝組件 node1 192.16…

    Linux干貨 2017-01-17
  • 文本處理三劍客之sed及vi編輯使用

    作用:       sed是Linux系統文本處理工具中的三劍客之一,它是一種流編輯器,以行為單位,能夠使用正則表達式;跟其他文本處理工具模式相同,不對原文件直接操作,而是先借用一個臨 時的數據緩沖區存放文文本數據,同時還有一個自己獨特的空間"pattern space",我們稱之為sed的模式空間,它的處理…

    Linux干貨 2016-08-11
  • NFS服務

    NFS服務:       NFS:Network File System 網絡文件系統,基于內核的文件系統。 Sun公司開發,通過使用NFS,用戶和程序可以像訪 問本地文件一樣訪問遠端系統上的文件,基于RPC(Remote Procedure Call Protocol遠程過程調用)實現 。 RPC采用C/S模式??蛻魴C請求程序…

    2017-08-14
  • Bash Shell腳本基礎-變量類型-位置變量

    Bash Shell腳本基礎–變量類型–位置變量   §·bash shell腳本編程概述: 1 §·bash shell腳本中的變量 2     *什么是變量 2     *變量的類型 2     *ba…

    Linux干貨 2016-08-12
  • linux文件管理

    目錄創建刪除,軟硬鏈接的區別和注意,file命令的使用,工作中遇到一些情況的處理方法

    2017-11-18
欧美性久久久久