EXT4文件系统的初步使用

文件系统的类型多种多样,我们接触得比较多的当属Windows系统上的FAT32和NTFS。

而EXT文件系统(Extended filesystem)则是linux上常见的文件系统类型。

目前最新的版本是ext4,常见于CentOS6之中。

1.查看当前系统中有没有挂载使用中的EXT4文件系统,可以使用mount命令:

01.png

2.如何创建一个EXT4的文件系统(fdisk,mkfs.ext4)

(1)首先使用fdisk对设备进行分区

图中可以看出新的分区的起始柱面为9116,所以可以由此找出新分区的设备号。

02.png

起始柱面为9116的新分区为sda8。我们使用w将修改写入分区表。

如果不使用w则此前的操作不写入分区表,打开fdisk后的一系列操作都不生效。

04.png

(2)使用partx -a 加设备号来识别新分区。

/etc/sda4为扩展分区,占用了一个分区号,但是不是实际的可挂载分区。

所以虽然设备上的分区号到了sda8却只有7个设备。

05.png


(3)使用mkfs.ext4命令格式化新的分区(默认参数)

06.png


(4)使用blkid查看块设备的信息

07.png


3.如何管理EXT系列文件系统

mke2fs 创建EXT系列文件系统,并定制相关参数

-t    type   #类型
-b    block   #块大小,指定文件系统中最小的储存单位。
-L    label   #卷标
-j    journal   #日志,用于将ext2转化为ext3
-i          #为数据空间中每多少个字节创建一个inode,大小不小于block大小
-m              #为管理人员预留的数据大小
-O    Feature   #启用指定特性
-O    ^Feature  #关闭指定特性

例如要创建一个EXT2的文件系统,块大小为2k,卷标名为"Gease",特性为有日志文件。

08.png

dumpe2fs    查看块设备信息

-h        #只输出超级块的信息(超级块中,储存了块设备的总体信息)

由此可见,指定的参数设置成功

09.png

但使用blkid查看设备信息的时候却发现文件类型为EXT3

我们使用tune2fs来尝试调整一下属性、

10.png

tune2fs    重新设定ext系列文件系统可调整参数值

-l    查看指定文件系统的超级块信息:superblock
-L    label   #卷标
-m               #为管理人员预留的数据大小,用于如syslogd等程序的正常运行,默认值为5%    
-j    journal  #日志
-O    启用文件系统指定特性可以通过man查看详细的可用选项
-o    调整文件系统的默认挂载选项       #使用-l时候查看已经使用的挂载选项(Mount_Options)
-U    修改uuid号

我们关闭了has_journal的特性,再用blkid来查看块设备信息,我们发现文件系统由ext3变回了ext2。

由此可以判断ext3文件系统和ext2文件系统之间只相差了一个日志文件。

11.png

使用-o修改挂载选项,这些修改同样可以在超级块中查看

13.png

14.png

特性(Feature)与挂载选项(Mount Options)的区别:

Feature是文件系统的一部分,在格式化的时候写入文件系统。

Mount Options则是文件系统挂载的时候才生效。

也可以在fstab文件中添加挂载选项,实现一样的功能。

fsck: File System Check

-t    type
-a    自动修复可能会有问题
-r    手动确认修复

e2fsck ext系列专用检测修复工具

-y    yes     #自动修复
-f    force   #强制修复

注意的是,文件系统检测的时候一定要先卸载分区,否则可能会损害文件数据。

12.png

原创文章,作者:菠菜,如若转载,请注明出处:http://www.178linux.com/10383

(0)
菠菜菠菜
上一篇 2016-02-14
下一篇 2016-02-14

相关推荐

  • NTP时间服务器

        在集群环境和需要日志同步的多服务器应用中,为了能够保证多台服务器的之间的正常协作,就必须使它们的时间保持一致,在多台服务器上手动调整时间是极其不科学的,这时就需要借助于NTP时间服务器来完成时间的同步。     一、NTP服务器的安装    …

    Linux干货 2015-06-25
  • shell脚本编程之数组

    bash仅支持一维数组,类型声明: declare -i    : 表示数值 declare -a  :表示普通数组(默认,可不用声明类型) declare -A :表示关联数组(必须声明类型,bash需4.0以上版本才支持,可通过bash –version查看版本) 一、普通数组(用数字为下标) 1.1数组赋值(修…

    Linux干货 2015-08-24
  • linux 目录结构

    该文章主要来自于网络资料进行整理 目录结构参考地址: http://www.iteye.com/topic/1125162 http://yangrong.blog.51cto.com/6945369/1288072 http://itlab.idcquan.com/linux/administer/939529_1.html http://itlab.id…

    系统运维 2015-12-19
  • lamp安装配置详细过程(把以前的笔记贴上来)

    准备; 首先进入/usr/local/目录 #cd /usr/local 删除所有安装过的php mysql apache 以及libxml 首先查看目前 /usr/local目录下面的内容 #ls –l 如果看到php5 php apache2 apache mysql mysql5 libxml libxml2字样的目录都将其删除具体命令如下 #rm –…

    Linux干货 2015-05-01
  • 关于 LVM 逻辑卷管理

                  逻辑卷管理 (LVM)    允许对卷进行方便操作的抽象层,包括从新设定文件系统的大小   允许在多个设备间重新组织文件系统将设备指定为物理卷用一个或者多个物理卷来创建一个卷组物理卷是用固定大小的物理区…

    系统运维 2016-09-02
  • 设计模式(一)工厂模式Factory(创建型)

      在面向对象编程中, 最通常的方法是一个new操作符产生一个对象实例,new操作符就是用来构造对象实例的。但是在一些情况下, new操作符直接生成对象会带来一些问题。举例来说, 许多类型对象的创造需要一系列的步骤: 你可能需要计算或取得对象的初始设置; 选择生成哪个子对象实例; 或在生成你需要的对象之前必须先生成一些辅助功能的对象。 在…

    Linux干货 2015-06-23

评论列表(1条)

  • stanley
    stanley 2016-02-14 10:15

    内容样式具佳,赞