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 20:23
下一篇 2016-06-09 22:15

相關推薦

  • lvm邏輯卷 練習題

    創建一個至少有兩個PV組成的大小為20G的名為testvg的VG;要求PE大小為16MB, 而后在卷組中創建大小為5G的邏輯卷testlv;掛載至/users目錄;在/users下創建一個test.txt文件。擴展testlv至7G,要求archlinux用戶的文件不能丟失;收縮testlv至3G,要求archlinux用戶的文件不能丟失;對testlv創建…

    Linux干貨 2017-03-16
  • ?LAMP

    LAMP lamp環境簡介 php –> httpd Module形式安裝php FastCGI方式安裝php httpd-2.2配置fcgi php-xcache MySQL 安裝與配置 php –> MySQL 快速部署LAMP php網站程序安裝 phpMyadmin wordpress DiscuzX 腳本安裝wordpress、disc…

    Linux干貨 2016-10-12
  • 企業面試題

    要求: 將一下數據進行排序(字母部分已小到大排序) 101.37.8.249 wz417-419/wz119-125/wz7-16/wz571/wz544/wz1-6101.37.21.19 wz545/wz453-456/wz441-444116.62.4.21 wz106-118/wz514-516/wz581/wz190-199/wz572101.37…

    Linux干貨 2017-06-27
  • 運維工程師技能需求排行

    這是我今天在拉勾網搜索運維,翻完了4四頁也招聘信息之后得到的,我的目的是想要看看之后的學習,哪個更應該成為重點,有些在我意料之中,有些還真的沒想到,算是努力了一個小時的收獲吧,分享給大家。
    注意:其中的看法僅代表個人觀點,很多都是依靠我自己的學習經驗和工作經驗累積的

    Linux干貨 2017-12-12
  • N25_第十三周作業

    1、建立samba共享,共享目錄為/data,要求:(描述完整的過程)  1)共享名為shared,工作組為magedu;  2)添加組develop,添加用戶gentoo,centos和ubuntu,其中gentoo和centos以develop為附加組,ubuntu不屬于develop組;密碼均為用戶名;  3)添加samb…

    Linux干貨 2017-03-06
  • 關于rpm及yum的一些感想

    rpm -ivh PACKAGE_FILE  注意: (1) 不要對內核做升級操作;Linux支持多內核版本并存,因此 ,對直接安裝新版本內核 v rpm {-q嚴格–query} [select-options] [query-options] v [se…

    Linux干貨 2016-08-24
欧美性久久久久