1. 程式人生 > >linux EXT文件系統

linux EXT文件系統

onf 程序 創建 size 分區掛載 backup locks 文件的 bfs

將一個硬盤分區之後如何創建文件系統(windows來講就是如何針對分區來進行格式化,是采用FAT32的文件系統來格式化,還是采用NTFS的文件系統來格式化)。Linux主要采用EXT2,EXT3分區格式來進行分區格式化的。

當將一塊新的硬盤掛載到linux上首先就要fdisk分區,然後對分區進行格式化操作(linux裏面叫做創建文件系統),對分區創建文件系統,支持的文件系統格式目前是EXT2,EXT3.

EXT2,EXT3文件系統格式的區別:早期是基於ext2,有一個弊端就是不支持操作記錄,進行相關操作的時候不會有日誌文件產生,導致出現問題很難去排查。Ext3會產生日誌文件,如果linux系統是基於ext3來安裝的,會有日誌信息,

root@ubuntu:
/var/log# ls alternatives.log faillog syslog.6.gz alternatives.log.1 fontconfig.log syslog.7.gz 而基於ext2是不會有日誌文件的。現在的發行版都是基於ext3安裝的。Ubuntu都開始執行ext4的。

下面以ext3方式給分區創建文件系統:

Fdisk -l : 
Command (m for help): p
Disk dev/sdb: 2 GiB, 2147483648 bytes, 4194304 sectors
Units: sectors of 
1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x7251b8e3 (現在dev/sdb只有一個分區) Device Boot Start End Sectors Size Id Type dev/sdb1 2048 4194303 4192256 2G 83 Linux root@ubuntu:/# mke2fs /dev/sdb1 (給分區指定文件系統) (
/dev/sdb1是分區的絕對路徑,就創建完文件系統了,默認是ext2文件系統, root@ubuntu:/# mkfs. mkfs.bfs mkfs.ext3 mkfs.fat mkfs.ntfs mkfs.cramfs mkfs.ext4 mkfs.minix mkfs.vfat mkfs.ext2 mkfs.ext4dev mkfs.msdos 默認調用的是mkfs.ext2命令) mke2fs 1.42.13 (17-May-2015) Creating filesystem with 524032 4k blocks and 131072 inodes Filesystem UUID: 0b2cc385-1251-4219-b346-dc1ba2f086a7 Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912 Allocating group tables: done Writing inode tables: done Writing superblocks and filesystem accounting information: done root@ubuntu:/# mke2fs -j /dev/sdb1 (加上-j,這個時候分區創建的文件系統是ext3的) mke2fs 1.42.13 (17-May-2015) /dev/sdb1 contains a ext2 file system (原有是ext2格式) created on Tue Feb 13 19:13:31 2018 Proceed anyway? (y,n) y Creating filesystem with 524032 4k blocks and 131072 inodes Filesystem UUID: b08780b9-9c1d-4b94-a804-4d0ac3ffcf82 Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912 Allocating group tables: done Writing inode tables: done Creating journal (8192 blocks): done Writing superblocks and filesystem accounting information: done 這個文件系統創建出來之後,通常都是要進行檢測的,分區指定好文件系統之後(格式化之後)這個分區是否有相應的錯誤(扇區的錯誤,硬盤的邏輯分區的錯誤)。 root@ubuntu:/# e2fsck /dev/sdb1 e2fsck 1.42.13 (17-May-2015) /dev/sdb1: clean, 11/131072 files, 17205/524032 blocks (這個檢測是非常快的,因為當前的文件系統是沒有任何文件的,是空的分區,只是檢測扇區或者硬盤塊)(有錯誤會有強行修復) root@ubuntu:/# e2fsck -p /dev/sdb1 (-p是有錯誤進行強行修復) /dev/sdb1: clean, 11/131072 files, 17205/524032 blocks (e2fsck 是用來檢測修復文件系統的,mke2fs 是用來創建文件系統的)(創建完分區後不能馬上拿過來使用,要先創建文件類型格式,最後才能掛載使用了) root@ubuntu:/# mount (當前正在使用的硬盤上掛載情況,。其他硬盤看不到) (sda1分區掛載在/目錄下,類型是ext4,操作系統通過目錄找硬件設備) /dev/sda1 on / type ext4 (rw,relatime,errors=remount-ro,data=ordered) /dev/sda1 on /var/lib/docker/overlay2 type ext4 (rw,relatime,errors=remount-ro,data=ordered) /dev/sda1 on /var/lib/docker/overlay2 type ext4 (rw,relatime,errors=remount-ro,data=ordered) 當使用mke2fs -j /dev/sdb1創建完文件系統之後,這個文件系統是生效的是可以使用的,每一個分區都是要掛載到某個目錄上去的(操作系統是通過目錄查找硬件設備) (當文件系統連續被掛載多少次之後,或者是文件系統在使用多少天之後,這個文件系統在操作系統重啟的時候將會使用e2fsck 進行自動檢測,檢測也是一段程序也會調用相關的命令執行,)。 root@ubuntu:/# tune2fs -l dev/sdb1 (查看分區的詳細信息) tune2fs 1.42.13 (17-May-2015) Filesystem volume name: <none> :卷的名稱 Last mounted on: <not available> :上次掛載時間 Filesystem UUID: b08780b9-9c1d-4b94-a804-4d0ac3ffcf82 :UUID號 Filesystem magic number: 0xEF53 Filesystem revision #: 1 (dynamic) Filesystem features: has_journal ext_attr resize_inode dir_index filetype s root@ubuntu:/# tune2fs -c 100 /dev/sdb1(該分區掛載100次之後,系統重啟時進行檢測,是否有壞塊,壞的文件) tune2fs 1.42.13 (17-May-2015) Setting maximal mount count to 100 root@ubuntu:/# tune2fs -i 100d /dev/sdb1 (該分區掛載70天之後,系統重啟時進行檢測,是否有壞塊,壞的文件) tune2fs 1.42.13 (17-May-2015) Setting interval between checks to 8640000 seconds 當硬盤劃分好之後,windows和linux操作系統中,都有卷標,一個標識,

技術分享圖片

root@ubuntu:/# e2label /dev/sdb1 yw卷標名  (給分區指定卷標)
root@ubuntu:/# tune2fs -l dev/sdb1
tune2fs 1.42.13 (17-May-2015)
Filesystem volume name:   yw卷標名 :卷標
Last mounted on:          <not available>
Filesystem UUID:          b08780b9-9c1d-4b94-a804-4d0ac3ffcf82
Filesystem magic number:  0xEF53

root@ubuntu:/# find 
find     findfs   findmnt  
root@ubuntu:/# findfs LABEL=yw卷標名   (查找卷標信息,的分區信息)
/dev/sdb1

mke2fs是創建文件系統,e2fsck 檢測當前文件系統,tune2fs 查看文件系統信息,e2label 指定卷標名稱,findfs 查找卷標信息。

------------------上面講的是如何創建文件系統,就是如何格式化分區,fdisk針對新的硬盤建立好分區之後,首先要創建文件系統,windows上面基本上只要把分區格式化之後(創建NTFS文件系統)分配好相應的盤符就可以使用了,linux上使用新的硬盤,分區,掛載文件系統,最後還要掛載操作-------------------------------------------

linux EXT文件系統