Welcome 微信登录

首页 / 操作系统 / Linux / Linux文件系统简介及其系统管理工具

常见的文件系统Linux文件系统: ext2, ext3, ext4, xfs, btrfs, reiserfs, jfs, swapswap: 交换分区光盘:iso9660Windows:fat32, ntfsUnix: FFS, UFS, JFS2网络文件系统:NFS, CIFS集群文件系统:GFS2, OCFS2分布式文件系统:ceph, moosefs, mogilefs, GlusterFS, Lustre实验环境CentOS7.2 Linux根据其是否支持"journal"功能:日志型文件系统: ext3, ext4, xfs, ...非日志型文件系统: ext2, vfatLinux的文件系统的组成部分:内核中的模块:ext4, xfs, vfat用户空间的管理工具:mkfs.ext4, mkfs.xfs, mkfs.vfat在正式介绍文件系统的前先说一下创建文件系统之前的格式化问题。格式化低级格式化:硬件制造商、分区之前划分磁道,形成簇 磁盘出厂前由厂家完成高级格式化:分区之后对分区进行,创建文件系统每种操作系统所设置的文件属性/权限不相同,为了存放这些所需的数据我们常说的重装系统及格式化都是属于高级格式化层面的。本文所说的文件系统均为高级格式化后的产物。 Linux文件系统管理工具blkid:块设备属性信息查看命令使用格式:blkid [OPTION]... [DEVICE]    -U UUID: 根据指定的UUID来查找对应的设备    -L LABEL:根据指定的LABEL来查找对应的设备命令演示
1234[root@localhost ~]# blkid /dev/sda1 /dev/sda1: UUID="6efb8a23-bae1-427c-ab10-3caca95250b1" TYPE="xfs" [root@localhost ~]# blkid -U 6efb8a23-bae1-427c-ab10-3caca95250b1  /dev/sda1
…………………………………………………………………………………………………………mkfs:文件系统创建工具:mkfs - build a Linux filesystem命令使用格式:1、 mkfs [options] [-t type]  device [size]    [ -t type] :指定要创建的文件系统类型ext4|xfs|btrfs|vfat|...|]    [options]:-L "LABEL": 设定卷标 在创建文件系统同时指定卷标。              -f 若文件系统已存在,强制覆盖命令演示:[root@localhost ~]# mkfs -L "new1" -t ext4 /dev/sdb5
123456789101112131415161718192021mke2fs 1.42.9 (28-Dec-2013) 文件系统标签=new1 OS type: Linux 块大小=1024 (log=0) 分块大小=1024 (log=0) Stride=0 blocks, Stripe width=0 blocks 25688 inodes, 102400 blocks 5120 blocks (5.00%) reserved for the super user 第一个数据块=1 Maximum filesystem blocks=33685504 13 block groups8192 blocks per group, 8192 fragments per group 1976 inodes per group Superblock backups stored on blocks:          8193, 24577, 40961, 57345, 73729 Allocating group tables: 完成                           正在写入inode表: 完成                           Creating journal (4096 blocks): 完成 Writing superblocks and filesystem accounting information: 完成  [root@localhost ~]# blkid /dev/sdb5 /dev/sdb5: LABEL="new1" UUID="10880486-7ad9-43de-9607-f9bc1fda1edf" TYPE="ext4"
…………………………………………………………………………………………………………2、 mkfs.FS_TYPE /dev/DEVICE FS_TPYE:ext4、xfs、btrfs、vfat...命令演示
123456789101112131415[root@localhost ~]# mkfs.xfs -L "new2" /dev/sdb6       mkfs.xfs: /dev/sdb6 appears to contain an existing filesystem (ext3). mkfs.xfs: Use the -f option to force overwrite. [root@localhost ~]# mkfs.xfs -f -L "new2" /dev/sdb6 meta-data=/dev/sdb6              isize=256    agcount=4, agsize=6400 blks          =                       sectsz=512   attr=2, projid32bit=1          =                       crc=0        finobt=0 data     =                       bsize=4096   blocks=25600, imaxpct=25          =                       sunit=0      swidth=0 blks naming   =version 2              bsize=4096   ascii-ci=0 ftype=0 log      =internal log           bsize=4096   blocks=853, version=2          =                       sectsz=512   sunit=0 blks, lazy-count=1 realtime =none                   extsz=4096   blocks=0, rtextents=0 [root@localhost ~]# blkid /dev/sdb6 /dev/sdb6: LABEL="new2" UUID="ed636bf6-1cee-43d1-96e2-8baa8dc29087" TYPE="xfs"
若/dev/sdb# 指定的磁盘块已经存在文件系统,执行命令mkfs会失败,若加-f,则强制将原文件系统覆盖。慎用-f。…………………………………………………………………………………………………………mke2fs:ext系列文件系统专用管理工具mke2fs - create an ext2/ext3/ext4 filesystem    -t {ext2|ext3|ext4}指明要创建的文件系统类型    -b {1024|2048|4096}指明文件系统的块大小    -L "LABEL"指明卷标    -j: 创建有日志功能的文件系统ext3mkfs.ext3 = mkfs -t ext3 = mke2fs -j = mke2fs -t ext3    -i #: 为数据空间中每多少个字节创建一个inode;此大小不应该小于block的大小;    -N #:为数据空间创建个多少个inode;    -m #: 为管理人员预留的空间占据的百分比;    -O [^]FEATHER:开启或关闭某种特性;命令演示:mk2fs创建ext2格式的文件系统
1234567891011121314151617181920212223[root@localhost ~]# mke2fs -t ext2 /dev/sd sda   sda1  sda2  sdb   sdb1  sdb2  sdb5  sdb6  sdb7 [root@localhost ~]# mke2fs -t ext2 /dev/sdb7 mke2fs 1.42.9 (28-Dec-2013) 文件系统标签= OS type: Linux 块大小=1024 (log=0) 分块大小=1024 (log=0) Stride=0 blocks, Stripe width=0 blocks 25688 inodes, 102400 blocks 5120 blocks (5.00%) reserved for the super user 第一个数据块=1 Maximum filesystem blocks=67371008 13 block groups8192 blocks per group, 8192 fragments per group 1976 inodes per group Superblock backups stored on blocks:          8193, 24577, 40961, 57345, 73729 Allocating group tables: 完成                           正在写入inode表: 完成                           Writing superblocks and filesystem accounting information: 完成  [root@localhost ~]# blkid /dev/sdb7 /dev/sdb7: UUID="4b9767fc-a8bf-4dda-9ce1-50eb5418da04" TYPE="ext2"
指定inode数及为管理人员预留空间的百分比
12345678910111213141516171819[root@localhost ~]# mke2fs -N 1024 -m 3 /dev/sdb7 mke2fs 1.42.9 (28-Dec-2013) 文件系统标签= OS type: Linux 块大小=1024 (log=0) 分块大小=1024 (log=0) Stride=0 blocks, Stripe width=0 blocks 1040 inodes, 102400 blocks 3072 blocks (3.00%) reserved for the super user 第一个数据块=1 Maximum filesystem blocks=67371008 13 block groups8192 blocks per group, 8192 fragments per group 80 inodes per group Superblock backups stored on blocks:          8193, 24577, 40961, 57345, 73729 Allocating group tables: 完成                           正在写入inode表: 完成                           Writing superblocks and filesystem accounting information: 完成
…………………………………………………………………………………………………………e2label:管理ext系列文件系统的LABEL     查看:e2label device    设定:e2label device LABEL命令演示:设定指定块设备的卷标
123[root@localhost ~]# e2label /dev/sdb7 new3 [root@localhost ~]# e2label /dev/sdb7 new3
…………………………………………………………………………………………………………tune2fs:重新设定ext系列文件系统可调整参数的值(不进行格式化    -l:查看指定文件系统超级块信息;super block    -L "LABEL":修改卷标    -m #:修预留给管理员的空间百分比    -j: 将ext2升级为ext3    -O: 文件系统属性启用或禁用    -o: 调整文件系统的默认挂载选项    -U UUID: 修改UUID号;命令演示:修改卷标
1234[root@localhost ~]# tune2fs -L "another label" /dev/sdb7 tune2fs 1.42.9 (28-Dec-2013) [root@localhost ~]# blkid /dev/sdb7 /dev/sdb7: LABEL="another label" UUID="a57b2116-d72b-48d2-a648-bb6d2d5487ac" TYPE="ext2"
升级ext2到ext3
12345[root@localhost ~]# tune2fs -j /dev/sdb7 tune2fs 1.42.9 (28-Dec-2013) Creating journal inode: 完成 [root@localhost ~]# blkid /dev/sdb7 /dev/sdb7: LABEL="another label" UUID="a57b2116-d72b-48d2-a648-bb6d2d5487ac" SEC_TYPE="ext2" TYPE="ext3"
…………………………………………………………………………………………………………dumpe2fs:    -h:查看超级块信息等同于tune2fs -l 命令演示
12345678910111213141516171819202122232425262728293031323334353637383940414243444546[root@localhost ~]# dumpe2fs -h /dev/sdb7 dumpe2fs 1.42.9 (28-Dec-2013) Filesystem volume name:   another label Last mounted on:          <not available> Filesystem UUID:          a57b2116-d72b-48d2-a648-bb6d2d5487ac Filesystem magic number:  0xEF53 Filesystem revision #:    1 (dynamic) Filesystem features:      has_journal ext_attr resize_inode dir_index filetype sparse_super Filesystem flags:         signed_directory_hash  Default mount options:    user_xattr Filesystem state:         clean Errors behavior:          Continue Filesystem OS type:       Linux Inode count:              1040 Block count:              102400 Reserved block count:     3072 Free blocks:              96568 Free inodes:              1029 First block:              1 Block size:               1024 Fragment size:            1024 Reserved GDT blocks:      256 Blocks per group:         8192 Fragments per group:      8192 Inodes per group:         80 Inode blocks per group:   10 Filesystem created:       Sun Aug 21 20:11:13 2016 Last mount time:          n/aLast write time:          Sun Aug 21 20:52:01 2016 Mount count:              0 Maximum mount count:      -1 Last checked:             Sun Aug 21 20:11:13 2016 Check interval:           0 (<none>) Reserved blocks uid:      0 (user root) Reserved blocks gid:      0 (group root) First inode:              11 Inode size:               128 Journal inode:            8 Default directory hash:   half_md4 Directory Hash Seed:      3e1f3581-59c7-41b3-bd4f-d262e3ce026e Journal backup:           inode blocks Journal features:         (none) 日志大小:             4113k Journal length:           4096 Journal sequence:         0x00000001 Journal start:            0
…………………………………………………………………………………………………………fsck:check and repair a Linux file system检查修复Linux文件系统因进程意外中止或系统崩溃等 原因导致定稿操作非正常终止时,可能会造成文件损坏;此时,应该检测并修复文件系统; 建议,离线进行;    -t fstype:指明文件系统类型;比如:fsck -t ext4 = fsck.ext4    -a:无须交互而自动修复所有错误;    -r:交互式修复;Note: FS_TYPE一定要与分区上已经文件类型相同;…………………………………………………………………………………………………………e2fsck:ext系列文件专用的检测修复工具    -y:自动回答为yes;     -f:强制修复; 
 总结
文件系统管理工具通用:mkfs、blkid、fsck ext系列文件系统专用工具:mke2fs、dumpe2fs、tune2fs、e2label、e2fsck
简要比较两种类型的命令
123456[root@localhost ~]# dumpe2fs /dev/sda1 dumpe2fs 1.42.9 (28-Dec-2013) dumpe2fs: Bad magic number in super-block 当尝试打开 /dev/sda1 找不到有效的文件系统超级块. [root@localhost ~]# blkid /dev/sda1 /dev/sda1: UUID="6efb8a23-bae1-427c-ab10-3caca95250b1" TYPE="xfs"
本文永久更新链接地址