8.3文件系統的管理與掛載

    Linux文件系統:ext(2,3,4), xfs, reiserfs(suse),
        VFS虛擬文件系統node

        硬連接和符號連接:windows

        設備文件:
            b
            c異步

            mknod [option] NAME TYPE [MAJOR MINOR]
               -m modeasync

                /dev/null是無硬件設備與之對應的: 軟件模擬的設備ide

        /dev/sd[a-z]#
            1-4:
            5+:  邏輯分區模塊化

            IDE:/dev/hd工具

        分區:根據柱面來劃分 cylinderui

        fdisk, sfdisk, partedspa

建立文件系統:
    mkfs : make file system
    mkfs - build a Linux file system
    mkfs [-V] [-t fstype] [fs-options] filesys [blocks]
        -t FSTYPE [DEVICE]
    -t fstype
      Specifies the type of file system to be built.  If not specified, the default file system type
      (currently ext2) is used.
        mkfs -t FSTYPE 自動映射爲 mkfs.FSTYPE
            mkfs -t ext4 = mkfs.ext4命令行

    注意:CentOS
      文件系統必須在內核中支持才行,
        Linux內核是模塊化的,這些模塊支持動態裝載和卸載;
            文件系統可能會被直接打包進內核,也能夠被編譯成內核模塊;

                # lsmod
                lsmod - program to show the status of modules in the Linux Kernel

        若是指望將某分區格式化成某特定文件系統,一般須要一個與之對應的在用戶空間
        可以使用命令行工具來實現;
            # yum -y install xfsprogs

        文件系統的日誌功能:Journal
            ext2: 無日誌功能
            ext3, ext4, xfs: 日誌文件系統

[root@localhost ~]# mkfs.xfs /dev/vg_lvm/test
meta-data=/dev/vg_lvm/test       isize=256    agcount=4, agsize=327680 blks
         =                       sectsz=512   attr=2, projid32bit=0
data     =                       bsize=4096   blocks=1310720, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@localhost ~]# blkid /dev/vg_lvm/test
/dev/vg_lvm/test: UUID="5579e5eb-566b-4fa1-8869-38b37a09920c" TYPE="xfs"
    mke2fs:
    mke2fs - create an ext2/ext3/ext4 filesystem
        -t {ext2|ext3|ext4}:指定文件系統   不寫是ext2的文件系統
        -b {1024|2048|4096}:指定塊大小
        -L LABEL: 打標
        -j: 至關於 -t ext3
        -i #: 每多少字節給建立一個inode,此字節數不該該小於塊大小
        -N #: 直接指定可用的inode數;
        -m #: 指定預留空間佔整個分區空間的百分比;默認爲5;

        -O:指定分區特性


    blkid: 查看指定塊設備的信息
[root@localhost ~]# mke2fs -t ext3 -L TEST /dev/vg_lvm/test
mke2fs 1.41.12 (17-May-2010)
Filesystem label=TEST
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
327680 inodes, 1310720 blocks
65536 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=1342177280
40 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
    32768, 98304, 163840, 229376, 294912, 819200, 884736

Writing inode tables: done                           
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 31 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
[root@localhost ~]# blkid /dev/vg_lvm/test
/dev/vg_lvm/test: LABEL="TEST" UUID="5184aef4-aff9-422d-8efa-e68efd2725fc" SEC_TYPE="ext2" TYPE="ext3"
   
    e2label:查看或設定卷標
    e2label - Change the label on an ext2/ext3/ext4 filesystem
        e2label device [ new-label ]
  [root@localhost ~]# e2label /dev/vg_lvm/test
  TEST
 
    查看超級塊信息:
        # tune2fs -l DEVICE
[root@localhost ~]# tune2fs -l /dev/vg_lvm/test
tune2fs 1.41.12 (17-May-2010)
Filesystem volume name:   TEST
Last mounted on:          <not available>
Filesystem UUID:          5184aef4-aff9-422d-8efa-e68efd2725fc
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype sparse_super large_file
Filesystem flags:         signed_directory_hash
Default mount options:    (none)
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              327680
Block count:              1310720
Reserved block count:     65536
Free blocks:              1254785
Free inodes:              327669
First block:              0
Block size:               4096
Fragment size:            4096
Reserved GDT blocks:      319
Blocks per group:         32768
Fragments per group:      32768
Inodes per group:         8192
Inode blocks per group:   512
Filesystem created:       Tue Dec  2 09:27:01 2014
Last mount time:          n/a
Last write time:          Tue Dec  2 09:27:02 2014
Mount count:              0
Maximum mount count:      31
Last checked:             Tue Dec  2 09:27:01 2014
Check interval:           15552000 (6 months)
Next check after:         Sun May 31 09:27:01 2015
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:      31bb1af6-f45d-4900-a205-d38dd742de29
Journal backup:           inode blocks       
        # dumpe2fs -h DEVICE  此時顯示是不包括塊組信息,去除-h則會顯示塊組信息

    修改分區屬性:tune2fs
        塊大小在格式化的時候已經決定了,所以塊大小沒法調整;

        -j: ext2 --> ext3
        -L LABEL:修改卷標
        -m #: 修改預留空間百分比;
        -O [^]FEATURE: 不加^啓用指定特性,特性前加^,表示關閉此種特性

        -o [^]mount-options: 開啓或關閉指定的掛載選項

    因進程意外停止或系統崩潰等狀況導入寫入操做非正常停止時,可能會致使文件損壞;此
    時,應該修復文件系統:
        注意:離線修復  先卸載,在修復

        fsck
        fsck - check and repair a Linux file system
            -t fstype
            -a: 自動修復錯誤
            -r: 交互式修復錯誤
    fsck [-sAVRTMNP] [-C [fd]] [-t fstype] [filesys...]  [--] [fs-specific-options]

        e2fsck: 專用於修改ext系列文件系統
        e2fsck - check a Linux ext2/ext3/ext4 file system
            -y: 對問題自動回答爲yes
            -f: 強制進行檢測
            -f     Force checking even if the file system seems clean.

    補充:windows不能識別Linux的文件系統
        U盤的文件系統FAT32
            # mkfs -t vfat

    交換分區:swap
        緩解物理內存資源不夠用的狀況;

        建立交換分區:
            mkswap [-L LABEL] DEVICE

    文件系統掛載:默認只有管理員纔有權限
        將額外的分區與根文件系統上的某目錄創建關聯關係的過程;
            目錄中的原有文件會被隱藏

        掛載點:另外一個文件系統的訪問入口

        掛載: mount DEVICE MOUNT_POINT

            固定掛載點:/mnt, /media
           
            mount - mount a filesystem
            mount [option]... [-t fstype] [-o option]  設備  掛載點
                掛載點要求:
                    一、事先存在;
                    二、使用空閒目錄;
        不跟選項時,顯示已掛載的設備
                經常使用的掛載選項[option]:
                    -t fstype:指定文件系統類型
                    -r: readonly, 只讀掛載
                    -w: read and write, 讀寫掛載
                    -L LABEL:以卷標方式指定設備, mount -L MYDATA 掛載點
                    -U UUID: 以UUID的方式指定設備,mount UUID='uuid' 掛載點, mount -U uuid 掛載點
                    -a: 自動掛載全部(/etc/fstab文件中定義的)的支持自動掛載設備
                    -n: 掛載時,不更新/etc/mtab文件

                -o option:
                    async:異步I/O,數據寫操做先於內存完成,然後再根據某種策略同步至持久設備中
                    sync: 同步I/O,
                    atime/noatime: 文件和目錄被訪問時是更新最近一次的訪問時間戳
                    auto/noauto:設備是否支持mount的-a選項自動掛載
                    diratime/nodiratime: 目錄被訪問時是更新最近一次的訪問時間戳
                    dev/nodev: 是否支持在此設備上使用設備;
                    exec/noexec: 是否容許執行此設備上的二進制程序文件
                    suid/nosuid: 是否支持在此設備的文件上使用suid
                    remount: 從新掛載,一般用於不卸載的狀況下從新指定掛載選項
                    ro: 只讀
                    rw: 讀寫
                    user/nouser: 是否容許普通掛載此文件設備
                    acl: 在此設備是支持使用facl,默認不支持;

                例如:以指定掛載後支持acl爲例:
                    方法1:
                        mount -o acl DEVICE MOUNT_POINT

                    方法2:
                        tune2fs -o acl DEVICE
                            爲設備設定默認掛載選項

                        mount DEVICE MOUNT_POINT


            查看全部已經掛載的設備:
                # mount
                # cat /proc/mounts
                # cat /etc/mtab 追蹤當前系統已經掛載的設備

                卸載:掛載點沒有被進程訪問時方能夠卸載 ;


        卸載:umount DEVICE
              umount MOUNT_POINT

             查看哪些進程正在訪問掛載的設備:
                 fuser -v 掛載點

             停止正在此掛載點的進程:                  fuser -km 掛載點

相關文章
相關標籤/搜索