磁盤管理之文件系統

一,概述

文件系統是操作系統用于明確存儲設備或分區上的文件的方

法和數據結構;即在存儲設備上組織文件的方法。操作系統

中負責管理和存儲文件信息的軟件結構稱為文件管理系統,

簡稱文件系統。

 從系統角度來看,文件系統是對文件存儲設備的空間進行組

織和分配,負責文件存儲并對存入的文件進行保護和檢索的

系統。具體地說,它負責為用戶建立文件,存入、讀出、修

改、轉儲文件,控制文件的存取,安全控制,日志,壓縮,

加密等。

文件系統類型:

Linux文件系統:ext2(Extended file system), ext3,

ext4, xfs(SGI), btrfs(Oracle), reiserfs, jfs(

AIX), swap

光盤:iso9660

Windows:fat32, ntfs

Unix: FFS(fast), UFS(unix), JFS2

網絡文件系統:NFS, CIFS

集群文件系統:GFS2, OCFS2(oracle)

分布式文件系統:ceph, moosefs, mogilefs, glusterfs,

Lustre

RAW:未經處理或者未經格式化產生的文件系統

文件系統分類:

根據其是否支持"journal"功能:

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

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

文件系統的組成部分:

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

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

Linux的虛擬文件系統:VFS

blob.png

VFS就是利于開發人員的虛擬文件系統,開發過程中會操作很多文件系統,有了VFS,就不用去各個操作文件系統,直接通過VFS接口來訪問內核中的各個文件文通

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

blob.png

創建文件系統:

mkfs命令:

(1) # mkfs.FS_TYPE /dev/DEVICE

ext4

xfs

btrfs

vfat

blob.png

(2) # mkfs -t FS_TYPE /dev/DEVICE

blob.png

-L 'LABEL': 設定卷標

blob.png

tune2fs:

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

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

-L 'LABEL':修改卷標

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

-j: 將ext2升級為ext3

-O: 文件系統屬性啟用或禁用, –O ^has_journal

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

-U UUID: 修改UUID號

dumpe2fs:

-h:查看超級塊信息,不顯示分組信息

blob.png

查看超級塊什么信息

什么是超級快,超級塊就是一個分區有N個塊,將塊分為組來管理,這就是超級塊

每個超級快的頭為超級塊的信息,備份超級塊的信息在組的1,3,5,7,9

blob.png

創建ext文件系統:

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的大小

blob.png

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

blob.png

最小的inode號為10496,所以我們填寫的10240不能實現.

-I 一個inode記錄大小128—4096字節

blob.png

-m #: 默認5%,為管理人員預留空間占總空間的百分比

blob.png

預留的空間默認為總空間的百分之五,最小可為0.1,如

blob.png

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

-O ^FEATURE:關閉指定特性

blob.png

blob.png

關閉has_journal特性,不帶^為啟用

文件系統標簽:

指向設備的另一種方法

與設備無關

blkid:塊設備屬性信息查看

blkid [OPTION]… [DEVICE]

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

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

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

# e2label DEVICE [LABEL]

findfs :查找分區

findfs [options] LABEL=<label>

findfs [options] UUID=<uuid>

文件系統檢測和修復

常發生于死機或者非正常關機之后

掛載為文件系統標記為“no clean”

blob.png

注意:一定不要在掛載狀態下修復,否則將會導致文件系統損壞

fsck: File System Check

fsck.FS_TYPE

fsck -t FS_TYPE

-a: 自動修復錯誤

-r: 交互式修復錯誤

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

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

-y:自動回答為yes

-f:強制修復

我們將一個硬盤的超級塊信息破壞.

blob.png

blob.png

blob.png

掛載mount:

掛載:將額外文件系統與根文件系統某現存的目錄建立起關聯關系,進而使得此目錄做為其它文件訪問入口的行為

卸載:為解除此關聯關系的過程

把設備關聯掛載點:mount Point

mount

卸載時:可使用設備,也可以使用掛載點

umount

掛載點下原有文件在掛載完成后會被臨時隱藏

掛載點目錄一般為空

一個磁盤可以掛載多個目錄,但是一個目錄不能同時掛載多個磁盤。

mount /dev/sda3 /testdir

mkdir /testdir/self

mount /dev/sda3 /testdir/self

實驗證明同一個磁盤分區掛載到第一層目錄下的目錄,只能進入一層之后就是本身第二層目錄的內容

blob.png

blob.png

fuser -v /mnt/sdb1

查看誰在用這個磁盤分區

用mount命令掛載文件系統:

掛載方法:mount DEVICE MOUNT_POINT

mount:通過查看/etc/mtab文件顯示當前已掛載的所有設備

mount [-fnrsvw] [-t vfstype] [-o options] device dir

device:指明要掛載的設備;

(1) 設備文件:例如/dev/sda5

(2) 卷標:-L 'LABEL', 例如-L 'MYDATA'

(3) UUID, -U 'UUID':例如-U '0c50523c-43f1-45e7-85c0-a126711d406e'

(4) 偽文件系統名稱:proc, sysfs, devtmpfs, configfs

dir:掛載點

事先存在;建議使用空目錄

進程正在使用中的設備無法被卸載

mount常用命令選項:

-t vsftype:指定要掛載的設備上的文件系統類型

-r: readonly,只讀掛載

-w: read and write, 讀寫掛載

-n: 不更新/etc/mtab,相當于#mount

-a:自動掛載所有支持自動掛載的設備(定義在了/etc/fstab文件中,且掛載選項中有auto功能)

-L 'LABEL': 以卷標指定掛載設備

-U 'UUID': 以UUID指定要掛載的設備

-B, –bind: 綁定目錄到另一個目錄上

查看內核追蹤到的已掛載的所有設備:

cat /proc/mounts

-o options:(掛載文件系統的選項),多個選項使用逗號分隔

async:異步模式

sync:同步模式,內存更改時,同時寫磁盤

atime/noatime:包含目錄和文件

diratime/nodiratime:目錄的訪問時間戳

auto/noauto:是否支持自動掛載,是否支持-a選項

exec/noexec:是否支持將文件系統上運行應用程序

dev/nodev:是否支持在此文件系統上使用設備文件

blob.png

blob.png

blob.png

suid/nosuid:不否支持suid和sgid權限

remount:重新掛載

ro:只讀

rw:讀寫

user/nouser:是否允許普通用戶掛載此設備,默認管理員才能掛載

acl:啟用此文件系統上的acl功能

Defaults:相當于rw, nosuid, dev, exec, auto, nouser, async

mknod 拷貝硬件設備

blob.png

blob.png

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

(0)
KartikKartik
上一篇 2016-09-05 14:55
下一篇 2016-09-05 18:02

相關推薦

  • Linux程序包管理(rpm、yum、make)

    linux系統程序安裝的方法有rpm yum 以及make手動編譯3種方法: rpm這個機制最早由Redhat公司開發出來,后來由于實在好用,所以被很多發行版所使用作為軟件安裝的管理方式。不過由于使用RPM安裝軟件時有時會涉及到文件的依賴信,此時需要手動去逐個安裝被依賴的包操作起來十分復雜,于是yum這種線上升級的機制便出現了,它會自己主動解決各文件的依賴關…

    Linux干貨 2017-10-02
  • 硬鏈接與軟鏈接

    引言: 鏈接,一種在共享文件和訪問它的用戶的若干目錄項之間建立聯系的一種方法。 Linux中包括兩種鏈接:硬鏈接(Hard Link)和軟鏈接(Soft Link),軟鏈接又稱為符號鏈接(Symbolic link)。 Inode譯成中文就是索引節點,它用來存放檔案及目錄的基本信息,包含時間、檔名、使用者及群組等。 Block:存放檔案內容數據的地方。 &n…

    Linux干貨 2016-10-20
  • 文本處理三劍客之sed

    概述     經過上篇對正則表達式和grep相關內容的學習,我們對文本處理有了一個初步的認識,本篇將簡要介紹一下文本處理三劍客之sed。具體分為以下幾個部分:     1、sed原理概述     2、sed命令詳解 第一部分 &n…

    Linux干貨 2016-08-10
  • 進入linux世界的初步認識

    1、 描述計算機的組成及其功能.
    2、 按系列羅列Linux的發行版,并描述不同發行版之間的聯系與區別.
    3、 描述Linux的哲學思想,并按照自己的理解對其進行解釋性描述.
    4、 說明Linux系統上命令的使用格式;詳細介紹ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相應的示例來闡述.
    5、 如何在Linux系統上獲取命令的幫助信息,請詳細列出,并描述man文檔的章節是如何劃分的.
    6、 請羅列Linux發行版的基礎目錄名稱命名法則及功用規定.

    Linux干貨 2018-02-25
  • 8.3上課練習及課下作業

    練習 上課練習 1、 當用戶xiaoming對/testdir 目錄無執行權限時,意味著無法做哪些操作? 能查看文件大小,不能進入此目錄,不能在此目錄創建文件 能看到目錄中的內容,不能查看目錄內的大小及屬性,僅能查看目錄的相關屬性 [xiaoming@localhost ~]$ ll -d qin drwxrwxrw-…

    Linux干貨 2016-08-05
  • Linus:利用二級指針刪除單向鏈表

    感謝網友full_of_bull投遞此文(注:此文最初發表在這個這里,我對原文后半段修改了許多,并加入了插圖) Linus大嬸在slashdot上回答一些編程愛好者的提問,其中一個人問他什么樣的代碼是他所喜好的,大嬸表述了自己一些觀點之后,舉了一個指針的例子,解釋了什么才是core low-level coding。 下面是Linus的教學原文及翻譯—— “…

    Linux干貨 2016-07-10
欧美性久久久久