天天看點

檔案系統

建立檔案系統

 FHS:檔案系統層及标準 /bin /dev /etc

 權限:檔案系統的安全特性

 檔案的命名規則:最大255個字元不能包括特殊字元 區分大小寫

為什麼建立檔案系統?

 平面分類管理

  需要周遊

 空間分類管理

  先分大類

 幾次有限但有效的查找即可

建立檔案系統實際就是給分區進行存儲空間的邏輯編址

格式化:

 低級格式化

  實體層面上完成格式化,在磁盤裝置出廠時通過低級格式化來建立磁道;主要作用是用來劃分磁道

 進階格式化

  分區之後進行的,主要作用是用來建立檔案系統,為分區建構邏輯編址單元,稱呼簇,塊

  無論是簇還是快都是講一個或多個扇區組織在一起,共同完成資料存儲;

  簇:512b 1024 2048   windows

  塊:1024 2048 4096

 注意:

 1.一個塊隻能放置一個檔案的内容,一個檔案可以占用多個塊

 2.如果在某個分區中,即将建立大量的小檔案,把塊劃分的小一些;反之塊就daxie

 3.如果分區空間比較大,塊也應該大一些

在一個分區中建立檔案系統

 首先将分區劃分成大小相等的若幹塊,

  中繼資料塊:存儲檔案的屬性

   中繼資料-indoe(index node)

  檔案的屬性包括檔案的大小 檔案的權限 檔案的所有者 檔案的時間戳 資料塊指針

  存放中繼資料的固定存儲空間稱為iNode

  每個iNode都有對應的iNode編号

  資料塊:存放檔案中所包含的流式資料 

特殊檔案:

 裝置檔案:block special 

  僅僅是将中繼資料中的資料塊指針換成了裝置号

 符号連結檔案:symbolic link

  僅僅是将中繼資料中資料塊指針換成了另一個檔案的通路路徑;

這類檔案隻占據中繼資料區域,沒有資料塊的占用;

随着磁盤空間越來越大,劃分的塊的數量也越來越多,管理不友善,于是劃分塊組可以解決

塊組:

 每個塊組中有獨立的中繼資料塊和資料塊

 存放資料的時候一塊組内的資料塊優先選擇,如果塊組内的資料塊不夠,可以通過存儲政策來請多個塊組系統存儲;

超級塊:

 主要定義了有多少個塊組以及每個塊組的邊界

為了防止超級塊發生故障導緻整個檔案系統崩潰,對超級塊進行備援備份

日志塊:

 對于資料的寫入操作做記錄的塊 防止資料不一緻

 資料不一緻通常都是由不潔關機,不潔斷電導緻

一個完整的檔案系統

 超級塊,inode ,inode bitmap ,block bitmap ,data block,journal block  

Linux支援的檔案系統

 位于核心空間的檔案系統驅動

 1.核心一部分

 2.核心子產品

 位于使用者空間中的檔案系統管理應用程式

 管理指令

Linux自己的檔案系統

 ext ext2 ext3 ext4(最大分區50TB,可以做根分區,也可以做啟動分區)

 xfs(目前為止企業級的64位檔案系統,最大分區500TB,可以做根和啟動分區)

 reiserfs(良好的反删除功能)

 btrfs(平衡術檔案系統 技術預覽版)

CD光牒檔案系統:iso9660 

網絡檔案系統:NFS CIFS

叢集檔案系統:gfs2 ocfs2

核心級的分布式檔案系統:ceph

僞檔案系統:proc sysfs tmpfs hugepagefs

Windows的檔案系統:vfat ntfs

Unix的檔案系統:ufs ffs JFS

交換分區檔案系統:swap

使用者空間中的分布式檔案系統:mogilefs,moosefs,glusterfs  

建立管理檔案系統:

 mkfs

  mkfs.ext2 mkfs.ext3 mkfs.ext4 mkfs.xfs ....

   mkfs - build a Linux filesystem

   mkfs [options] [-t type] [fs-options] device [size]

 mkfs -t ext2 /dev/sdb1

 1.不要使用磁盤裝置名稱和擴充分區裝置名稱作為mkfs指令的參數,如果使用 磁盤裝置作為mkfs的參數,所有的分區都将被删除,如果使用擴充分區作為mkfs的參數,那麼所有的邏輯分區都被删除

 2.能夠作為mkfs指令參數的裝置,是主分區裝置和邏輯分區裝置

mke2fs隻能用來建立ext系列檔案系統

mke2fs - create an ext2/ext3/ext4 filesystem

[ -b block-size ]:在建立檔案系統時,調整塊的大小;

-i bytes-per-inode:指明inode與位元組的比率,即:多少個位元組可以建一個inode預設的數值為16384

-j:建立有日志功能的檔案系統就是ext3

-N:直接指明要給此檔案系統建立的inode的數量

-m:指定為超級使用者保留的磁盤空間的百分比預設值是5

-t:指定檔案系統類型,預設是ext2

-O [^]feature[,...]:關閉或開啟檔案系統的特性

-L:為檔案系統指定卷标                                                      blkid

如果隻是修改ext系列檔案系統的卷标,可以使用e2label

注意:如果不加卷标,表示檢視指定裝置的卷标;如果添加了卷标資訊, 表示修改指定裝置的卷标

如果想要修改ext系列檔案系統的屬性,可以使用tune2fs

檔案系統檢測和修複工具

 fsck

  fsck.ext2 fsck.ext3 fsck.ext4 fsck.xfs ....

-t:指定要檢測的檔案系統類型

-a:無需互動,自動修複所有問題

-r:互動式修複問題

ext系列檔案系統專門的檢測修複工具

 e2fsck

 -y:在互動過程中的所有的問題都以“yes”回答

 -f:強制檢測修複;即使檔案系統clean狀态也可以修複

 blkid:

  -L: 根據卷标進行查找

  -U:根據UUID進行查找

 findfs:

  findfs LABEL=

  findfs UUID=

檔案系統屬性檢視工具

 dumpe2fs

檔案系統的屬性調整工具

 tune2fs

  tune2fs - adjust tunable filesystem parameters on ext2/ext3/ext4 filesystems

調整那些在ext2,3,4檔案系統上可以修改的參數

-j:将ext2檔案系統修改為ext3

-m:修改為超級使用者預留的磁盤空間百分比

-o:修改檔案系統預設的挂載選項

-r:修改為超級使用者預留的磁盤空間的塊的數量

-L: 修改檔案系統的卷标

-O: 修改檔案系統的特性将其關閉或者啟用

-l:顯示超級塊的内容  相當于 dumpe2fs -h

建立swap檔案系統

 mkswap

 mkswap - set up a Linux swap area

 -L:設定互動分區的卷标

 -f:強制執行

使用檔案系統-挂載

 FHS

 根檔案系統之外的其他檔案系統如果想要被通路,都必須通過某種方式關聯到根檔案系統上,具體做法就是把其他檔案系統裝載到根檔案系統中的某個目錄之中,這個過程稱為挂載,用于關聯其他檔案系統的那個目錄,稱為挂載點

 挂載點:其他檔案系統的通路入口

  要求:1.作為挂載點的目錄必須事先存在

  2.作為挂載點的目錄應該是沒有被使用或不能被其他程序使用的目錄

  3.作為挂載點的目錄一旦挂載檔案系統,期内原有的檔案将被隐藏

完成挂載操作使用mount指令

 mount

 mount - mount a filesystem

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

 -r:以隻讀的方式挂載目标檔案系統;CD光牒

 -w:以讀寫的方式挂載目标檔案系統

 -n:預設情況下,裝置挂載或解除安裝的操作會同步更新到/etc/mtab中,如果在挂載時使用了-n選項,則表示我們要禁用此特性,即便挂載成功,也不會更新到/etc/mtab中

 -t vsftype:指明要挂載的裝置上建立的檔案系統類型,如果省略該選項,mount指令會通過blkid來判斷要挂載的目标裝置的檔案系統類型;

 -L:挂載檔案系統時,使用卷标代替裝置名稱

 -U:挂載檔案系統時,使用UUID來代替裝置名稱        

 -a:按照/etc/fstab檔案中填寫的裝置進行挂載

-o option:

  sync/nosync:同步/異步操作

  atime/noatime:檔案或目錄被讀取通路時,是否更新通路時間戳;

  diratime/nodiratime:目錄被讀取通路時,是否更新通路時間戳;

  ro/rw:是以隻讀/讀寫的方式挂載檔案系統;

  dev/nodev:在此檔案系統中是否允許建立裝置檔案;

  exec/noexec:在此檔案系統中是否允許運作程式檔案;

  auto/noauto:是否允許使用mount -a方式挂載/etc/fstab中的檔案系統;

  user/nouser:是否允許普通使用者挂載此檔案系統;

  suid/nosuid:是否允許程式檔案上的SUID和SGID特殊權限生效;

  relatime/norelatime:是否參考inode通路時間來修改其修改時間和改變時間

  remount:不經解除安裝實作重新挂載,可以應用新的挂載選項;

  acl:可以使檔案系統支援facl功能;

  defaults:預設選項;包括:rw, suid, dev, exec, auto, nouser, async, and relatime

 loop:使用環回裝置;将鏡像檔案挂載到挂載點;defaults,ro,nosuid

  -B, --bind:将某個目錄綁定至另一個目錄;

   mount --bind|-B 源目錄 目标目錄

解除安裝檔案系統:

  umount mount_point|device

挂載CD光牒:

  1.保證CD光牒鏡像檔案放入虛拟機光驅

  2.保證光驅處于"已連接配接"狀态

  3.建立CD光牒挂載點,mount -r /dev/sr0 mount_point

挂載U盤:

  需要事先讓系統識别U盤裝置,然後根據裝置名進行挂載;/dev/sdc1

挂載互動分區:

  swapon, swapoff

  swapon, swapoff - enable/disable devices and files for paging and swapping

  -a:自動挂載存儲于/etc/fstab檔案中的互動分區裝置;

  df

   -h -T -P 

  free

   -k -m -g

/etc/fstab檔案的格式:

 共6個字段,使用空白字元分隔:

  1.要挂載的裝置

   裝置檔案名

   LABEL

   UUID

   僞檔案系統

  2.挂載點

   swap裝置無需挂載點,指定swap即可;

  3.檔案系統類型

  4.挂載選項:defaults

  5.轉儲頻率:

   使用dump指令備份分區的頻率

   0:表示不備份

   1:每天備份一次

   2:每隔一天備份一次

  6.自檢次序

   0:不自檢

   1:優先自檢,通常隻設定在根檔案系統上;

   2:次級自檢

   ...

   9:最低優先級自檢

      本文轉自Vincent一馬 51CTO部落格,原文連結:http://blog.51cto.com/mazhenbo/1920914,如需轉載請自行聯系原作者

繼續閱讀