linux文件系統創建

件系統管理

格式化:低級格式化(分區之前,劃分磁道)

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

        元數據(也是放在塊上(block)):inode

            大小,權限,屬主,屬組,時間戳... 數據塊指針(文件位置,不是路徑,指向數據區的塊)
            Inode 固定大小 所以存儲數據庫指針的空間也是固定的,決定了最大文件的大小。inode數量可以規劃。 block和inode之間的比率

        數據區

            單位是block(2的n次方扇區大?。┛梢栽O置塊大小。一個塊只能屬于一個文件。(文件較小的可以設置塊小一點(不浪費空間),大文件還是設置塊大的好(讀寫性能好)。)
            創建數據區域時,為管理員預留了一部分空間,以防止,磁盤空間滿了以后,管理員可以操作磁盤。


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

        設備文件:存儲數據指針的空間當中存儲的是設備號(主,次設備號)

        目錄:目錄也是文件,文件名屬于目錄的的數據,目錄不支持硬鏈接。

文件系統創建過程:先為整個分區規劃塊的大?。╞lock)–>然后規劃元數據區和數據區–>為元數據區創建inode

日志文件系統,

journal

    創建文件時先寫入到日志區域,寫入完畢后再寫入到元數據和數據區。

linux支持的文件系統

為了支持更多的文件系統,引入了vfs虛擬文件系統。實現了,程序員無需關心不同的文件系統的差異。vfs支持的系統如下:

    ext2,ext3,ext4,xfs,reiserfs,btrfs
    ISO9660光盤
    nfs,cifs網絡文件系統
    GFS2,OCFS2集群文件系統
    ceph,moosefs,mogilefs,GlusterFS 內核的分布式文件系統
    swap交換文件系統
    proc、sys偽文件系統
    windows的vfat,ntfs文件系統
    unix的文件系統:UFS,FFS.JFS
    用戶空間的分布式文件系統:mogilefs,moosefs,glusterfs

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

文件系統的組成部分:
    內核中的模塊:ext4, xfs, vfat  ###就是驅動
    用戶空間的管理工具:mkfs.ext4, mkfs.xfs,mkfs.vfat

Linux的虛擬文件系統:VFS

查前支持的文件系統:cat /proc/filesystems

文件系統管理工具

查看系統支持文件系統類型
[root@yangyouwei ~]# cat /proc/filesystems
nodev sysfs
nodev rootfs
nodev bdev
nodev proc
nodev cgroup
nodev cpuset
nodev tmpfs
nodev devtmpfs
nodev binfmt_misc
nodev debugfs
nodev securityfs
nodev sockfs
nodev usbfs
nodev pipefs
nodev anon_inodefs
nodev inotifyfs
nodev devpts
nodev ramfs
nodev hugetlbfs
iso9660
nodev pstore
nodev mqueue
nodev selinuxfs
nodev drm
ext4
nodev autofs ###這個模塊cenos7沒有安裝,需要軟件支持,安裝autofs

因linux支持的文件系統眾多,所以工具也不盡相同,工具較多。

    創建文件系統的工具
        mkfs
        mkfs.ext2,mkfs.ext3,mkfs.ext4,mkfs.xfs,mkfs.btrfs,mkfs.vfat

    檢測及修復文件系統的工具
        fsck
            fsck.ext2,fsck.ext3

    查看屬性的工具
        dumpe2fs,tune2fs,blkid

    調整文件系統屬性特性:
        tune2fs

查看系統已經加載的模塊

    [root@localhost ~]# lsmod
    e1000                 134863  0 
    vmware_balloon          7199  0 
    sg                     29318  0 
    i2c_piix4              11232  0 
    shpchp                 29130  0 
    ext4                  379655  3   ###說明調用了3次有三個ext4分區
    jbd2                   93252  1 ext4
    mbcache                 8193  1 ext4
    sr_mod                 15049  0 
    cdrom                  39085  1 sr_mod
    sd_mod                 37158  5 
    crc_t10dif              1209  1 sd_mod
    ahci                   43154  0

系統版本
lsb_release 查看系統lsb的發行版本 centos6

cat /etc/issue 查看系統的發行版本

uname -r 查看內核版本

創建文件系統

內核級文件系統的組成部分
    內核是靠文件系統驅動識別其他文件系統的。
    lsmod 查看內核加載的模塊(有的驅動是直接編譯進內核,此命令是看不到的。)
    cenos6默認不支持xfs  需要安裝xfs軟件支持。   yum install xfsprogs 后系統中就會有mkfs.xfs

xfsgrogs也有很多工具,可以創建分區,查看分區信息,修復檢測工具等。

件系統個管理工具(危險操作慎用?。?/p>

創建文件系統的工具主要為mkfs

mkfs         mkfs.cramfs  mkfs.ext3    mkfs.fat     mkfs.msdos   mkfs.xfs
mkfs.btrfs   mkfs.ext2    mkfs.ext4    mkfs.minix   mkfs.vfat 


查看文件系統類型
[root@localhost ~]# blkid /dev/sda1
/dev/sda1: UUID="a2e0a941-556c-4d99-ac0d-40034bb7581e" TYPE="xfs"
UUID:全局唯一標識符

創建多種文件系統
mkfs命令:可創建多種文件系統。
(1) # mkfs.FS_TYPE/dev/DEVICE
ext4
xfs
btrfs
vfat

(2) # mkfs-t FS_TYPE /dev/DEVICE
           -L 'LABEL': 設定卷標

創建ext文件系統–功能強大針對ext文件系統–常用

mke2fs:ext系列文件系統專用管理工具---------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的大小   比率每多少個字節一個inode
    -N #:   為數據空間創建個多少個inode
    -m #:    默認5%,為管理人員預留空間占總空間的百分比
    -O FEATURE[,...]:        啟用指定特性  例如開啟日志功能。
    -O ^FEATURE:             關閉指定特性

文件系統選項(特性)
    詳見man ext4  
        FILE SYSTEM FEATURES

實例

[root@localhost ~]# mkfs.ext4 /dev/sda7
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=                                   ###卷標
OS type: Linux                                        ###文件系統類型
Block size=4096 (log=2)                                ###塊大小
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
1310720 inodes, 5242880 blocks                      ###總共多少個inode和多少個block
262144 blocks (5.00%) reserved for the super user     ###為管理員預留的空間
First data block=0
Maximum filesystem blocks=2153775104
160 block groups                                    ###一共多少個塊組
32768 blocks per group, 32768 fragments per group    ###每個塊組有多少個塊
8192 inodes per group                                ###每個塊組有多少個inode
Superblock backups stored on blocks:                 ###超級塊備份在那些塊上。
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
        4096000

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (32768 blocks): done                ###創建日志
Writing superblocks and filesystem accounting information: done

文件系統標簽,查看與修改

指向設備的另一種方法
與設備無關

查看設備屬性,卷標,uuid,設備名稱,類型
blkid:塊設備屬性信息查看(分區)
blkid[OPTION]… [DEVICE]
-U UUID: 根據指定的UUID來查找對應的設備
-L LABEL:根據指定的LABEL來查找對應的設備

查看修改文件系統的lable卷標
e2label:管理ext系列文件系統的LABEL
[root@localhost ~]# e2label /dev/sda7 mydate ##設置卷標
[root@localhost ~]# e2label /dev/sda7 ##查看卷標
mydate

分區查找 根據uuid 、卷標查找設備
findfs:查找分區
findfs[options] LABEL=

    findfs[options] UUID=<uuid>

======================================================================

調整文件系屬性

針對ext文件系統的調整,其它文件系統使用其專用工具
[root@localhost ~]# btrfs
btrfs btrfs-find-root btrfs-show-super
btrfsck btrfs-image btrfstune
btrfs-convert btrfs-map-logical btrfs-zero-log
btrfs-debug-tree btrfs-select-super

[root@localhost ~]# xfs
xfs_admin      xfs_estimate   xfsinvutil     xfs_mkfile     xfs_rtcp
xfs_bmap       xfs_freeze     xfs_io         xfs_ncheck     
xfs_copy       xfs_fsr        xfs_logprint   xfs_quota      
xfs_db         xfs_growfs     xfs_mdrestore  xfs_repair     
xfsdump        xfs_info       xfs_metadump   xfsrestore

tune2fs 調整ext文件系統的某些屬性,不能修改其他文件系統的屬性。

tune2fs:重新設定ext系列文件系統可調整參數的值
    -l:查看指定文件系統超級塊信息;super block
    -L 'LABEL':修改卷標
    -m #:修預留給管理員的空間百分比
    -j: 將ext2升級為ext3
    -O: 文件系統屬性啟用或禁用,–O ^has_journal
    -o: 調整文件系統的默認掛載選項,–o ^acl 
    -U UUID: 修改UUID號;

[root@localhost ~]# tune2fs -l /dev/sda7
tune2fs 1.42.9 (28-Dec-2013)
Filesystem volume name:   mydate
Last mounted on:          <not available>
Filesystem UUID:          dfc6560a-aad9-4df1-b79a-b5316620bc1e
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype extent 64bit flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
Filesystem flags:         signed_directory_hash 
Default mount options:    user_xattr acl   #########
Filesystem state:         clean                ###########
Errors behavior:          Continue
Filesystem OS type:       Linux

Inode count:              1310720
Block count:              5242880
Reserved block count:     262144
Free blocks:              5116558
Free inodes:              1310709
First block:              0
Block size:               4096
Fragment size:            4096

Group descriptor size:    64
Reserved GDT blocks:      1024
Blocks per group:         32768
Fragments per group:      32768
Inodes per group:         8192
Inode blocks per group:   512
Flex block group size:    16
Filesystem created:       Mon Aug 22 18:56:27 2016
Last mount time:          n/a
Last write time:          Mon Aug 22 19:42:53 2016
Mount count:              0        ###########掛載次數,可以修改
Maximum mount count:      -1      #######最大掛載次數,達到次數后觸發文件系統檢查
Last checked:             Mon Aug 22 18:56:27 2016
Check interval:           0 (<none>)
Lifetime writes:          132 MB
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First inode:              11
Inode size:               256
Required extra isize:     28
Desired extra isize:      28
Journal inode:            8
Default directory hash:   half_md4
Directory Hash Seed:      9d4d3d1b-cad8-457f-8058-054bc83e71e0
Journal backup:           inode blocks
[root@localhost ~]# 

centos6默認用戶自己掛在的文件系統不開啟acl功能。需要自己打開。

===================================================================

查看超級塊及塊組信息

dumpe2fs:
dumpe2fs - dump ext2/ext3/ext4 filesystem information  ###僅針對ext系列文件系統

    dumpe2fs [options] /DEV(分區)

    -h:查看超級塊信息(分組信息),每個塊組的信息。

    -l 每個塊組的信息。
    Group 1: (Blocks 5210112-5242879) [INODE_UNINIT]
      Checksum 0xa706, unused inodes 8192
      Block bitmap at 4718607 (bg #144 + 15), Inode bitmap at 4718623 (bg #144 + 31)
      Inode table at 4726304-4726815 (bg #144 + 7712)
      32768 free blocks, 8192 free inodes, 0 directories, 8192 unused inodes
      Free blocks: 5210112-5242879
      Free inodes: 1302529-1310720

========================================================================

文件系統檢測和修復

因為進程意外終止或系統崩潰等原因導致定稿操作非正常終止時,可能會照成文件損壞;此時應該檢測并修復文件系統;建議離線檢查(umonut)。

掛載為文件系統標記為“dirty”

fsck:  ### 自動檢測文件系統類型。
     File System Check   各個文件系統都能使用--通用工具

fsck.FS_TYPE  ### 與分區類型一定要一致
        fsck-t FS_TYPE
        -a: 自動修復錯誤  不建議自動修復
        -r: 交互式修復錯誤

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

e2fsck:
    ext系列文件專用的檢測修復工具 只能檢查ext2、3、4
        -y:自動回答為yes
        -f:強制修復
            e2fsck [options] /DEV(分區)

    [root@localhost ~]# e2fsck -f /dev/sda7
    e2fsck 1.42.9 (28-Dec-2013)
    Pass 1: Checking inodes, blocks, and sizes
    Pass 2: Checking directory structure
    Pass 3: Checking directory connectivity
    Pass 4: Checking reference counts
    Pass 5: Checking group summary information
    mydate: 11/1310720 files (0.0% non-contiguous), 126322/5242880 blocks

修復操作系統,是一個危險操作。
有進程在使用或其他用戶的當前工作目錄處于該設備,則不能卸載。需要查看,都是那些進程使用該設備。需要結束該進程,才可以卸載。

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

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

相關推薦

  • 網絡班23期學習宣言

    馬哥Linux運維學院 學習宣言 親愛的小伙伴:        歡迎大家報名馬哥Linux運維網絡學習班,跟隨馬哥學習Linux技術,成就Linux大牛之夢。在這里,我們不僅可以學習到最優秀的技術課程,還可以跟著追夢的小伙伴們一起學習、一起進步。 為了督促大家一直積極認真努力的學習,請各位同學在評論區寫出你的學習宣言?!?/p>

    2016-09-05
  • vim編輯器-練習題

    1 、復制/etc/profile至/tmp/目錄,用查找替換命令刪除/tmp/profile文件中的行首的空白字符 #cp /etc/profile /tmp #vim /tmp/profile :%s/^[[:space:]]\+// 2 、復制/etc/rc.d/init.d/functions 文件至/tmp 目錄,用查找替換命令為/tmp/func…

    Linux干貨 2016-08-15
  • ssh 筆記

    ssh

    Linux干貨 2018-01-08
  • 絕對路徑和相對路徑及cd、pwd、mkdir、rmdir、tree命令

    絕對路徑和相對路徑及cd、pwd、mkdir、rmdir、tree命令詳解 一、絕對路徑和相對路徑(由下圖進行講解) 絕對路徑:由根目錄開始(/)開始的文件名或者目錄名稱,我們通過絕對路徑切換到/man1文件處,所經過的路徑。 cat /root/usr/share/man/man1 如下圖 相對路徑:相對于當前路徑,以當前所在位置的相對路徑。例如…

    Linux干貨 2016-08-02
  • 文本處理工具

    文本處理工具 文件內容:less和 cat,more文件截取:head和tail文本內容處理:tr按列抽?。篶ut按關鍵字抽取:grep 文件查看命令:cat, tac,rev cat  復制標準輸入到當前輸出 語法:cat [OPTION]… [FILE]…選項: -E: 顯示行結束符$ -n: 對顯示出的每一行進行編號 -A:顯示所有…

    Linux干貨 2016-08-07
  • 加深對grep命令和find命令的熟悉

    1、顯示當前系統上root、fedora或user1用戶的默認shell。 grep -E “^(root|fedora|user1)\>” /etc/passwd | cut -d: -f7 [root@localhost ~]# grep -E “^(root|fedora|user1)\>” /etc/passwd …

    Linux干貨 2017-07-30
欧美性久久久久