文件系統知一二

文件系統知一二

What?文件系統是什么?

    我們經常說文件系統,那么文件系統是什么東西呢?

   計算機的文件系統是一種存儲和組織計算機數據的組織結構。

常見的文件系統有哪些?

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

     Windows文件系統:fat32,ntfs

     Unix文件系統:FFS,UFS,JFS2

     網絡文件系統:NFS,CIFS

     集群文件系統:GFS2,OCFS2

     分布式文件系統:ceph,

              mosefs, mogilefs, GlusterFS, Lustre

根據其是否支持“journal(日志)”功能分為:

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

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

文件系統的組成部分

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

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

Linux上常見的文件系統

1)  ext系列的ext[2-4],ext2系統沒有日志功能,ext[3-4]文件系統有日志功能。

2)  XFS文件系統,一種性能強大的日志文件系統,CentOS 7和RHEL 7在安裝時默認使用XFS文件系統

3)  btrfs文件系統,也是一個日志型文件系統,對大文件和小文件有很高的處理效率。

4)  JFS(Journaling File System),由IBM創建的一種日志型文件系統

5)  Swap,交換分區,當內存不足時,可以將一部分硬盤空間虛擬成內存使用,解決內存容量不足的問題,但是速度比較慢。

Why?為什么需要文件系統?文件系統的存在意義是什么?

         文件系統使得對硬盤數據的訪問和查找變得容易,文件系統使用文件和樹形目錄的抽象邏輯概念代替了硬盤和光盤等物理設備使用數據塊的概念,用戶使用文件系統來保存數據不必關心數據實際保存在硬盤(或者光盤)的地址為多少的數據塊上,只需要記住這個文件的所屬目錄和文件名。 在寫入新數據之前,用戶不必關心硬盤上的那個塊地址沒有被使用,硬盤上的存儲空間管理(分配和釋放)功能由文件系統自動完成,用戶只需要記住數據被寫入到了哪個文件系統中。

   早期沒有文件系統的時期,計算機用戶在使用計算機時,需要人工的去查找磁盤關系表去查看要找的數據保存在硬盤上的地址以及要通過磁盤關系表了解哪些地址沒有被使用,以便對磁盤進行正確的讀寫操作。

   目前的計算機存儲,查找數據地址這些事情都是由文件系統來完成,用戶只需要知道存儲的數據文件名是什么在哪個目錄下。  

   任何事物的發展都是從麻煩到簡單,用戶體驗也都是越來越完善。

      文件系統的存在意義也就是為了提高的用戶對磁盤的使用效率,用戶體驗更加友好。

When?什么時候會用到文件系統?

         當我們創建一塊兒新分區的時候,需要對其進行格式化指定的文件系統,否則就無法對這塊兒分區進行讀寫操作。

Where?在哪兒使用文件系統

         新建一塊兒分區的時候,這時候我我們就要對其進行格式化,在命令行終端中使用指定的文件系統的管理命令即可完成。

How?文件系統的使用方法?

      創建文件系統:

         mkfs命令:

1)          # mkfs.FS_TYPE /dev/DEVICE

FS_TYPE(文件系統類型):

                    ext4

                    xfs

                    btrfs

                    vfat

2)          # mkfs –t FS_TYPE /dev/DEVICE

-L ‘LABEL’:設定卷標

                        [root@Daniel ~]# mkfs -t btrfs -L 'mydata' -f /dev/sda6                                          #   -f 表示強制,因為之前/dev/sda6的文件系統為ext3
                        SMALL VOLUME: forcing mixed metadata/data groups
                        btrfs-progs v3.19.1
                        See http://btrfs.wiki.kernel.org for more information.
                        
                        Turning ON incompat feature 'mixed-bg': mixed data and metadata block groups
                        Turning ON incompat feature 'extref': increased hardlink limit per file to 65536
                        Turning ON incompat feature 'skinny-metadata': reduced-size metadata extent refs
                        Created a data/metadata chunk of size 8388608
                        fs created label mydata on /dev/sda6
                        	nodesize 4096 leafsize 4096 sectorsize 4096 size 500.00MiB
                        [root@Daniel ~]# blikd /dev/sda6
                        bash: blikd: 未找到命令...
                        相似命令是: 'blkid'
                        [root@Daniel ~]# blkid /dev/sda6
                        /dev/sda6: LABEL="mydata" UUID="a66d6fcb-6930-4506-8afa-9bcf6abe49bd" UUID_SUB="0a0420dd-be44-486d-9d0b-7055dcf24c6b" TYPE="btrfs"

     mke2fs:ext系列文件系統專用管理工具

                 -t {ext2|ext3|ext4}

        -b {1024|2048|4096}

        -L 'LABEL'

        -j: 相當于 -t ext3

           mkfs.ext3 = mkfs -t ext3 = mke2fs -j = mke2fs -t ext3

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

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

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

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

           -O ^FEATURE:關閉指定特性

                [root@Daniel ~]# mke2fs -t ext3 /dev/sda7                
                mke2fs 1.42.9 (28-Dec-2013)
                文件系統標簽=
                OS type: Linux
                塊大小=1024 (log=0)
                分塊大小=1024 (log=0)
                Stride=0 blocks, Stripe width=0 blocks
                128016 inodes, 512000 blocks
                25600 blocks (5.00%) reserved for the super user
                第一個數據塊=1
                Maximum filesystem blocks=67633152
                63 block groups
                8192 blocks per group, 8192 fragments per group
                2032 inodes per group
                Superblock backups stored on blocks: 
                	8193, 24577, 40961, 57345, 73729, 204801, 221185, 401409
                
                Allocating group tables: 完成                            
                正在寫入inode表: 完成                            
                Creating journal (8192 blocks): 完成
                Writing superblocks and filesystem accounting information: 完成
                [root@Daniel ~]# blkid /dev/sda7
                /dev/sda7: UUID="7c80361d-517b-4b29-aa27-b2fa8b1a8263" SEC_TYPE="ext2" TYPE="ext3"

     mkswap:創建交換分區

               mkswap [options] device

                    -c, check               創建交換區前檢查壞塊

                    -f, force               允許交換區大于設備大小

                    -p, pagesize SIZE       指定頁大小為 SIZE 字節

                    -L, label LABEL         指定標簽為 LABEL

                    -v, swapversion NUM     指定交換空間版本號為 NUM

                    -U, uuid UUID           指定要使用的 UUID

                    -V, version             輸出版本信息并退出

                    -h, help                顯示此幫助并退出

        前提:調整其分區的ID為82;

      其他常用工具:

           blkid:塊設備屬性信息查看

                       blkid [OPTION]… [DEVICE]

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

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

                        [root@Daniel ~]# blkid /dev/sda5
                        /dev/sda5: UUID="1ffe8df2-9df0-4260-a9e5-c59aaf6b5215" TYPE="xfs" 
                        [root@Daniel ~]# blkid /dev/sda6
                        /dev/sda6: UUID="9583a476-da62-4836-aee5-8847d7b79381" UUID_SUB="4a86922c-9293-4b4a-8958-f961f7c9b96c" TYPE="btrfs" 
                        [root@Daniel ~]# blkid /dev/sda7
                        /dev/sda7: UUID="7c80361d-517b-4b29-aa27-b2fa8b1a8263" SEC_TYPE="ext2" TYPE="ext3" 
                        [root@Daniel ~]# blkid /dev/sda8
                        /dev/sda8: LABEL="mydata" UUID="81a0c29c-8f66-407e-a338-dd1468407100" TYPE="ext4" 
                        [root@Daniel ~]# blkid -L 'mydata'
                        /dev/sda8

     e2lable:管理ext系列文件系統的LABEL

                             # e2label DEVICE [LABEL]

                        [root@Daniel ~]# e2label /dev/sda8 'TEST'
                        [root@Daniel ~]# blkid /dev/sda8
                        /dev/sda8: LABEL="TEST" UUID="81a0c29c-8f66-407e-a338-dd1468407100" TYPE="ext4"

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

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

        -L 'LABEL':修改卷標

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

        -j: 將ext2升級為ext3

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

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

        -U UUID: 修改UUID號;

     dumpe2fs:查看超級塊信息

                            -h:查看超級塊信息

      文件系統檢測:

           fack: File System Check

                            fsck.FS_TYPE

        fsck -t FS_TYPE

           -a: 自動修復錯誤

           -r: 交互式修復錯誤

           Note: FS_TYPE一定要與分區上已經文件類型相同;

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

                        -y:自動回答為yes;

           -f:強制修復;

原創文章,作者:Daniel-W,如若轉載,請注明出處:http://www.www58058.com/12510

(0)
Daniel-WDaniel-W
上一篇 2016-03-09 09:56
下一篇 2016-03-09 10:08

相關推薦

  • Unix與linux的發展歷程以及linux的發行版

    Unix的發展與誕生是有源頭的,早期的時候,為了生產處多任務操作系統,Bell,MIT,GE這三個單位合作要制作一款多任務操作系統,也就是multitasks,這款操作系統后來是研制成功了,但是往后的目標越來越大也越來越模糊,最終這三家單位也就相繼退出了這個項目。 bell實驗室的Ken Thompson因為之前在multitasks運行過一款游戲,spac…

    Linux干貨 2016-10-30
  • 條件測試與基礎運算

    變量類型: 整形 數值型 字符型 byte boolen 單精度 雙精度 變量種類: 環境變量– 對所有進程有效 本地變量– 僅對當前shell有效 局部變量– 僅在函數中的某一段有效 位置變量– $1,$2,$3,$4 特殊變量– $?,$0,$*,$@,$#,$$ 變量命名法則: 1.不能出現程…

    Linux干貨 2017-04-16
  • 關于 LVM 邏輯卷管理

                  邏輯卷管理 (LVM)    允許對卷進行方便操作的抽象層,包括從新設定文件系統的大小   允許在多個設備間重新組織文件系統將設備指定為物理卷用一個或者多個物理卷來創建一個卷組物理卷是用固定大小的物理區…

    系統運維 2016-09-02
  • 馬哥教育網絡21期+第6周博客練習

    請詳細總結vim編輯器的使用并完成以下練習題 1、復制/etc/rc.d/rc.sysinit文件至/tmp目錄,將/tmp/rc.sysinit文件中的以至少一個空白字符開頭的行的行首加#; :%s@\(^[[:space:]]\+\)@#&@g # Let rhgb know that we&#0…

    Linux干貨 2016-08-15
  • centos 6 配置bind

    BIND BIND(Berkeley Internet Name Daemon)是現今互聯網上最常使用的DNS服務器軟件,使用BIND作為服務器軟件的DNS服務器約占所有DNS服務器的九成[。BIND現在由互聯網系統協會(Internet Systems Consortium)負責開發與維護。 DNS是什么 DNS(Domain…

    Linux干貨 2016-12-19
  • rsyslog+mysql+loganalyzer日志服務器搭建

    rsyslog+mysql+loganalyzer日志服務器搭建 環境 服務器端:192.168.25.129,centos7 客戶機端:192.168.25.130,centos7 rsyslog+Mysql服務器端的配置: 準備好msql server或mariadb server ]# yum -y install&nbs…

    Linux干貨 2016-11-07

評論列表(1條)

  • stanley
    stanley 2016-03-09 09:59

    為寫標簽的細節點贊

欧美性久久久久