詳談Linux文件系統基礎和相關操作以及swap分區

一、基礎概念

文件系統是一種管理存儲設備上所存儲的文件的一種內生性軟件。

能與硬件的存儲設備進行交互的只有內核。在操作系統還沒有啓動的時候,內核也沒有啓動,由於內核必須依靠文件系統才能啓動。然而文件系統由存放於內核中,內核啓動前文件系統不存在。這樣環繞的問題,類似一個“雞生蛋,蛋生雞”的問題。其實,在操作系統啓動時,MBR中的Bootloader會自動識別根文件系統(/),隨之根文件系統中的內核便會啓動,操作系統啓動完成。

二、文件系統類型

   虛擬文件系統(VFS:可以識別其他不同的文件系統,並轉換成本機可以識別的文件系統。

   基本文件系統ext2ext3ext4xfsjfsntfs等。

   網絡文件系統NFS等。

   光盤文件系統iso9660。

   集羣文件系統GFS,其分佈於多臺計算機上,計算機之間通過某種方式通行,將集羣內所有存儲空間的資源整合,並向外以統一的接口提供文件訪問的一種文件系統等。 

   交換分區swap

三、ext4文件系統對於文件的管理方式

   ext4是目前比較常用的文件系統,一下就該文件系統的管理做簡單介紹。

wKiom1bhdyDT1wWkAAB4i_NFmc4317.png

    block:文件系統管理文件的基本單元,block的大小通常是2^nK。

    inode:存放文件的屬主、屬組、訪問權限、時間戳。最重要的是存放文件所在的數據塊信息。

    inode位圖:存放閒置的inode和已使用的inode信息。方便在存儲文件時,爲文件分配相應的inode。

    block位圖:與inode位圖類似,存放閒置的block和已使用的block。方便爲文件分配block,存儲文件內容。

    super block:存放inode、inode位圖以及block位圖的在文件系統中的存儲位置。

    日誌記錄區:防止在存儲文件過程中,由於斷電等硬件故障導致文件存儲失敗,再次開機時,刪除該無效文件。在存儲文件的時候,給文件分配一個inode之後,在inode區和日誌記錄區均有記載,如果存儲成功,該inode會被刪除,如果在存儲過程中遇到故障,就會記錄該inode,便於下次開機對文件系統的檢測和清理。

四、文件系統操作:

  1、分區只能由4個主分區,爲什麼?

  啓動操作系統的MBR一共含有512字節,前446字節存放Bootloader用於啓動操作系統,接着64字節存放分區信息,每16個字節存放一個分區信息,所以一個操作系統只能由四個主分區,若想使用多個分區,可以將其中一個或者兩個分區設置爲擴展分區,然後再擴展分區中可以創建多個邏輯分區。

  2、分區操作:

     命令:fdisk <device-name>, 進入交互式界面。

wKiom1bhd9vx24VDAABnXoa8vaw960.png 

   交互式的常用Command:

     n:增加新分區

     d:刪除分區

     p:打印當前磁盤的分區信息

     t:調整分區標記(分區ID)

     L:列出所有分區的ID信息

     w:保存分區信息並退出

     q:不保存退出

     m:獲取幫助

    新建的分區信息查看方式:

      1、/proc/partition文件中保存所有存儲設備的分區信息。

      2、使用命令。fdisk -l <device-name>

  2、格式化

  命令:mke2fs [option] <device-name>、mkfs;

    Option:

      -t fs-type: 指定文件系統類型(常用)

     -L label: 指定卷標

     -b block-size: 指定數據塊大小

     -i byte_per_inode: 指定幾個字節對應一個inode

     -N inode-num; 指定inode數目

     -I inode-size: 指定inode大小

   創建ext4分區的不同方式(其他文件系統類似):

      1、mke2fs -t ext4 /dev/sdb1;

      2、mkfs.ext4

      3、mkfs -t ext4 /dev/sdb1

    其他命令:

       1、blkid <device-name> 查看存儲設備的文件系統類型。

        # blkid /dev/sdb1

       2、dumpe2fs [option] <device-mname> 查看塊組信息。

        Option:-h 只顯示super block中的信息。

       3、tune2fs [option] <device-name> 調整超級塊中的信息

        Option:

      -l :查看超級塊信息

      -L label :修改卷標信息

      -j:如果原文件系統爲ext2,則升級爲ext3,並不影響數據。

      -o mount-option:指定掛載屬性 

      -O:調整分區特性

          關閉某特性:tune2fs ^feature <device-path>

          打開某特性:tune2fs feature <device-path>

       4、fsck、e2fsck。檢測文件系統。

    3、掛載|卸載存儲設備

      掛載:mount <device-path> <destdir-name>

          # mount /dev/sdb1 /mnt/sdb_data

        自動掛載:將需要掛載的設備在/etc/fstab文件中進行編輯,然後執行命令“mount -a”即可。

       卸載:umount {device-path | destdir-name}

          # umount /dev/sdb1

          # umount /mnt/sdb_data

    4、查看磁盤使用情況

       命令:df,du

       df [option] <device-name>:查看掛在設備使用情況

          Option:-h 換算成人容易識別的單位

                -i 查看inode 使用情況

       du [option] <file-name>:查看文件佔用存儲設備的情況

          Option:-h human-readable    

                -s 整個目錄在磁盤中的使用情況

五、交換分區的創建

   1、調整分區類型:

    wKiom1bheRSieqIlAABBB_8rEWg942.png 

2、格式化交換分區:

    命令:mkswap <device-name>

        # mkswap  /dev/sdb1

3、啓動|關閉交換分區

  命令:swapon [option] <device-path>、swapoff [option] <device-path>

     Option: -a :(啓動|禁用)所有交換分區

         -p # :啓動時指定優先級

  啓動:# swapon /dev/sdb1

  關閉:# swapoff /dev/sdb1


=================  以上就是我對文件系統的淺談,如有不妥歡迎指出 j_0057.gif=========================



 























發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章