centos7
中,默認的文件系統類型已經變爲了xfs
,centos6
默認不支持xfs
類型的文件系統,可以通過yum install xfsprogs
安裝支持程序來實現。
創建文件系統
創建文件系統常用的命令有mkfs
、mkfs.{ext[234]|xfs|vfat...}
和mke2fs
。mkfs
是一個包裝器,它根據-t
參數來確定要調用的文件系統構建器(mkfs.cramfs,mkfs.ext [234],mkfs.fat,mkfs.hfs等)
mke2fs
是專用於ext
系列文件系統的工具,mkfs.ext[234]
和mke2fs
是相同的,都是執行的mke2fs
的程序。下圖比較了四個可執行文件完全相同
注意先看下不同命令執行後,實際使用的程序及版本是完全一樣的。
當運行mkfs -t ext4
時,它最終調用的是mke2fs
。
從功能上相比較mkfs
和mkfs.{ext[234]|xfs|vfat...}
,後者功能更爲強大(意思就是命令選項更多)。
-
mkfs
使用方式 :
mkfs [-V] [-t fstype] [fs-options] filesys [blocks]
fs-options
部分指定的參數會傳遞給真正用於創建文件系統的構造器,假如-t
指定的文件類型爲xfs
,則可以在後面指定mkfs.xfs
需要的選項。屬性 作用 device 預備檢查的硬盤分區,例如: /dev/sda1
-t 給定檔案系統的類型,Linux 的預設值爲 ext2 -c 在製做檔案系統前,檢查該partition 是否有壞軌 -l bad_blocks_file 將有壞軌的block資料加到 bad_blocks_file 裏面 block 生成塊的數量, ext
系列每個塊的默認大小爲1024字節,xfs
默認塊的大小爲 4096字節
-
mkfs.{ext[234]|xfs|vfat…}
使用格式:
mkfs.{ext[234]|xfs|vfat...} [options] device
不同文件系統的選項參數有所不同,可以通過
man mkfs.{ext[234]|xfs|vfat...}
來查看具體的選項參數,比如centos7
現在默認的xfs
和ext
系列的選項差別還是很大的,使用的時候需要具體查一下。下表列出常用的選項。
屬性 作用 -b 指定文件系統每個塊的大小, ext
系列的塊大小默認爲1k
,可選值1024/2048/4096
對於xfs
類型的文件系統,-b
選項的格式爲-b log=n|size=num
,默認爲4k
,
每個塊最小可以是1k
,size
的值必須爲2
的n
次方k
,最大不超過64k
-L LABEL 指定卷標 -m # 指定文件系統預留空間的百分比,默認值爲 5
-i # bypes-per-inode,指定 inode
與文件系統字節之比率,即沒多少個字節創建一個ionde
$ sudo mkfs -t ext4 -L LABEL_NAME -m 3 -b 4096 /dev/sdb1 mke2fs 1.42.9 (28-Dec-2013) # 實際使用的是 mke2fs Filesystem label=LABEL_NAME # 設定卷標 OS type: Linux Block size=4096 (log=2) # 每個 block 的大小 Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 65536 inodes, 262144 blocks # 創建的塊和inode的總數 7864 blocks (3.00%) reserved for the super user # 預留空間 First data block=0 # 起始塊 Maximum filesystem blocks=268435456 8 block groups # 塊組數量 32768 blocks per group, 32768 fragments per group # 每個塊組包含多少個塊 8192 inodes per group # 每個塊組有多少 inode Superblock backups stored on blocks: # 超級塊所在的實際塊編號 32768, 98304, 163840, 229376 Allocating group tables: done # 塊組表分配完成 Writing inode tables: done # 寫入元數據區完成 Creating journal (8192 blocks): done # 創建日誌區完成 Writing superblocks and filesystem accounting information: done # 寫入超級塊和整個文件系統完成 $ sudo mkfs -t xfs -f -L LABEL_XFS -b size=2k /dev/sdb1 meta-data=/dev/sdb1 isize=512 agcount=4, agsize=131072 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0, sparse=0 data = bsize=2048 blocks=524288, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal log bsize=2048 blocks=5120, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0
修改文件系統屬性
ext系列
只對ext
系列的文件系統有效。
-
e2label
- 查看文件系統卷標
e2label DEVICE
- 修改文件系統卷標
e2label DEVICE LABEL_NAME
$ sudo e2label /dev/sdb5 ext4_label $ sudo e2label /dev/sdb5 new_label $ sudo e2label /dev/sdb5 new_label
- 查看文件系統卷標
-
tune2fs
下面所有內容來自:http://linux.51yip.com/search/tune2fs
tune2fs
調整/查看ext
系列文件系統的參數,Windows下面如果出現意外斷電死機情況,下次開機一般都會出現系統自檢。Linux
系統下面也有文件系統自檢,而且是可以通過tune2fs
命令,自行定義自檢週期及方式。-l 查看文件系統信息; -c max-mount-counts 設置強制自檢的掛載次數,如果開啓,每掛載一次mount conut就會加1,超過次數就會強制自檢 屬性 作用 -i interval-between-checks[d|m|w]
設置強制自檢的時間間隔[d天m月w周]-m reserved-blocks-percentage 保留塊的百分比 -j 將ext2文件系統轉換爲ext3類型的文件系統 -L volume-label 類似 e2label
的功能,可以修改文件系統的標籤-r reserved-blocks-count 調整系統保留空間 -o [^]mount-option[,…] Set or clear the indicated default mount options in the filesystem. 設置或清除默認掛載的文件系統選項 tune2fs -c 30 /dev/hda1 #設置強制檢查前文件系統可以掛載的次數 tune2fs -c -l /dev/hda1 #關閉強制檢查掛載次數限制。 tune2fs -i 10 /dev/hda1 #10天后檢查 tune2fs -i 1d /dev/hda1 #1天后檢查 tune2fs -i 3w /dev/hda1 #3周後檢查 tune2fs -i 6m /dev/hda1 #半年後檢查 tune2fs -i 0 /dev/hda1 #禁用時間檢查 tune2fs -j /dev/hda1 #添加日誌功能,將ext2轉換成ext3文件系統 tune2fs -r 40000 /dev/hda1 #調整/dev/hda1分區的保留空間爲40000個磁盤塊 tune2fs -o acl,user_xattr /dev/hda1 #設置/dev/hda1掛載選項,啓用Posix Access Control Lists和用戶指定的擴展屬性
-
dumpe2fs
dumpe2fs
命令用於打印ext
文件系統的超級塊和塊組信息。dumpe2fs [options] [文件系統]
,常用參數爲-h
,僅列出超級塊的數據。# 列出所有的文件系統的使用情況 $ df -h 文件系統 容量 已用 可用 已用% 掛載點 tmpfs 2.4G 2.0M 2.4G 1% /run /dev/sda3 113G 29G 79G 27% / /dev/sda1 300M 6.6M 293M 3% /boot/efi /dev/sdb1 916G 345G 525G 40% /home ... # 查看 /dev/sdb1 中超級塊的信息 $ dumpe2fs -h /dev/sdb1 dumpe2fs 1.43.4 (31-Jan-2017) Filesystem volume name: <none> Last mounted on: /home # 掛載點 Filesystem UUID: ef86575e-ad9a-4c4b-9491-0c74699f4a07 Filesystem magic number: 0xEF53 ... Default mount options: user_xattr acl # 掛載參數 Filesystem state: clean # clean 表示文件系統正常 Errors behavior: Continue Filesystem OS type: Linux Inode count: 61054976 # inode 總數 Block count: 244190208 # block 總數 Reserved block count: 12209510 Free blocks: 147309568 # 可用 block 數量 Free inodes: 58206937 # 可用 inode 數量 First block: 0 Block size: 4096 # 每個 block 的大小爲 4k Inode size: 256 # inode 大小 ...
xfs
xfs
類型的文件系統,
xfs 文件系統的管理可以參考這裏
檢測修復
用於實現文件系統檢測修復的工具。
因爲進程意外中止或系統崩潰等原因導致的操作系統非正常中止時,可能會造成文件損壞,此時,應該檢測並修復文件系統,最好是離線進行。
ext
系列使用e2fsck
。
xfs
使用xfs_repair DEVICE
。
查看文件系統
blkid
查看文件系統相關屬性,blkid [options] DEVICE
。
參數 | 作用 |
---|---|
-L LABEL | 根據卷標來定位文件系統 |
-U UUID | 根據 UUID 來定位文件系統 |
$ sudo blkid /dev/sdb5
/dev/sdb5: LABEL="ext4_label" UUID="8dc990bd-73e5-4133-950e-6ce88a8fac12" TYPE="ext4"
$ sudo blkid -L ext4_label
/dev/sdb5
$ sudo blkid -U 8dc990bd-73e5-4133-950e-6ce88a8fac12
/dev/sdb5