一、什么是文件系統
我理解的文件系統就是管理磁盤分區上數據的索引信息,其實文件系統就是一種應用程序,只不過是用來維護和管理分區上的數據而已,就跟操作系統是用來管理底層硬件一樣。不同的分區可以有不同的文件系統。
二、文件系統類型
在linux系統上主要有如下類型的文件系統:
1、ext系列的ext[2-4],其中ext2文件系統沒有日志功能,ext[3-4]文件系統支持日志功能
2、XFS文件系統,一種性能強大的日志文件系統,CentOS 7和RHEL 7在安裝系統時默認使用XFS文件系統
3、btrfs文件系統,通常讀作Butter FS、Better FS或B-tree FS,一種支持寫入時復制(COW:COPY ON WRITE)的文件系統,采用GPL授權,
4、ReiserFS文件系統,也是一個日志型文件系統,對大文件和小文件有很高的處理效率。
5、JFS(Journaling File System),由IBM創建的一種日志型文件系統。
6、Swap,交換分區,跟Windows的虛擬內存相似,當內存不足時,可以將一部分硬盤空間虛擬成內存使用,解決內存容量不足的問題,但是速度比較慢
三、VFS虛擬文件系統
為了支持不同的文件系統共存,和一些跨文件系統的操作,如將一個存在于EXT4格式的文件系統分區里的文件拷貝至XFS分區,這樣的操作就涉及到兩個不同的文件系統,
而虛擬文件系統就是為協調不同文件系統進行工作的,它是內核中的一個軟件層,為用戶提供了一個統一的接口。深入了解請查看IBM文檔庫中的從文件I/O看LINUX的虛擬文件系統,連接:https://www.ibm.com/developerworks/cn/linux/l-cn-vfs/
四、創建文件系統
A、這里我使用一塊空的磁盤做演示:
1、使用fdisk命令對這塊空的磁盤進行分區
2、一些常用的命令
3、現在我需要添加一個新的分區
4、查看新建的分區
5、查看文件系統的ID
6、輸入“w”保存退出
NOTE:新創建的分區,內核不能識別,需要使用命令通知內核重新讀取硬盤分區
7、# partx -a /dev/DEVICE或者# kpartx -a /dev/DEVICE,CentOS 5中使用# partprobe /dev/DEVICE
B、創建文件系統
1、這里我使用mkfs.FS_TYPE命令來創建一個EXT4的文件系統
或者使用另一個命令
2、# mke2fs [OPTION]… /dev/DEVICE:ext系列文件系統專用管理工具
-t [ext2|ext3|ext4]
-b [1024|2048|4096]:指定塊大小
-L 'LABEL':指定卷標
-j:相當于-t ext3
-i #:為數據空間中每多少個字節創建一個inode,此大小不應該小于block的大小
-N #:微數據空間創建多少個inode
-m #:為管理人員預留的空間占據的百分比
-O FEATURE[,…]:啟用指定特性
-O ^FEATURE:關閉指定特性
五、管理文件系統
1、查看當前系統支持的文件系統:# cat /proc/filesystems
2、查看當前系統裝載在內核中的模塊信息,文件系統其實就是裝載在內核中的功能模塊,# lsmod
3、查看塊設備文件的屬性信息,# blkid [OPTION]… /dev/DEVICE
-U UUID:根據指定的UUID來查找對應的設備
-L LABEL:根據指定的LABEL來查找對應的設備
這是剛才我創建的分區的信息,因為在創建文件系統時沒有指定LABEL所有這里沒有顯示,稍后我將為這個分區創建一個LABEL。
4、重新設定EXT系列文件系統可調整參數,# tune2fs [OPTION]… /dev/DEVICE
-l:查看指定文件系統超級塊信息:super block
-L:修改卷標
-m #:修改預留給管理員的弓箭百分比
-j:將ext2升級為ext3
-O:文件系統屬性啟用或禁用
has_journal:啟用日志功能
^has_journal:關閉日志功能
-o:調整文件系統的默認掛載選項
acl:啟用acl功能
^acl:關閉acl功能
-U UUID:修改UUID號
六、文件系統檢測
1、fsck:File System Check
# fsck.FS_TYPE
# fsck -t FS_TYPE
-a:自動修復錯誤
-r:交互式修復錯誤
NOTE:FS_TYPE一定要與分區上的文件系統類型相同
2、e2fsck:ext系列文件系統專用的檢測工具
-y:自動回答為yes
-f:強制修復
原創文章,作者:Net17_雷航,如若轉載,請注明出處:http://www.www58058.com/12110
呵,贊,看的出有自己的思考在里面。知道寫標簽的同學都很細心,細節決定成敗