ext2文件系统细节

我们都知道,操作系统中的数据分为文件内容和文件属性两部分,其中文件内容就是文件的实体数据,而文件属性就是文件类型、权限、属主、修改时间等信息。操作系统会将上述文件的内容放入磁盘文件系统的inode中,而把文件的实体数据存放于对应的block中。除了inode和block信息外,操作系统还会记录文件系统的整体信息于superblock中,这个superblock包括整个文件系统的inode和block的总的数量,已经使用的数量,剩余数量等。

在linux支持的文件系统类型中,其中ext2、ext3、ext4是Red hat和Centos采用的默认文件系统类型,其中ext2、ext3、ext4是依次升级的ext文件系统版本,这些不同的文件系统的高版本是向下兼容的,因此,我们就从ext2文件系统开始给大家文件系统的相关知识体系。

相关操作系统使用的文件系统:

SUSE linux的默认文件系统ReiserFS文件系统

IBM的AIX使用的jfs日志文件系统

Sun OS所用的文件系统ufs

Centos7采用XFS文件系统

Centos6采用ext4文件系统

Centos5采用ext3文件系统

一个ext2文件系统一般都会包含至少inode内容与block区域这两个部分

mkfs  -t  ext2  -b  4096  -i  1024  /dev/sdb1

在inode中一般包括如下文件属性信息:

文件的拥有者和所属用户组

文件的访问权限

文件的类型

文件的访问、修改等时间

文件的大小

文件的各种标志,如SUID和SGID等

指向文件内容数据块的指针。

一个inode的大小通常为128字节。(ext4中的inode大小将扩展到256字节)

inode表用于跟踪定位每个文件,包括位置、大小等(但不包括文件名,文件名包含于dentry结构中),一个块组只有一个inode表。

文件系统小结:

1、文件系统是对一个存储设备上的数据和元数据进行组织的一种机制

2、分区必须格式化创建文件系统才能存放数据

3、一个分区只能有一种文件系统

4、linux下常见文件系统ext2、ext3、ext4、zfs、xfs(Centos7)和Reiserfs(单独安装)。windows下常见文件系统NTFS,FAT32

文件系统选型简单介绍

1)SAS/SATA硬盘文件系统选择:

a.reiserfs     大量小文件业务首选reiserfs(100K以内)

b.xfs            有的门户的数据库MySQL业务

c.ext4          视频下载 ,流媒体,数据库,小文件业务也OK,可以用默认的

d.ext2          没有日志,蓝汛的cache业务,CDN网站加速服务的

常规应用:

对于Centos5.x系列,常规应用就默认的 ext3 文件系统即可

对于Centos6.x系列,常规应用就默认的 ext4 文件系统即可

对于Centos7.x系列,常规应用就默认的 xfs 文件系统即可

注意:如果服务器数量少,怎么选择都可以

如果海量服务器,考虑维护成本和性能,选一个折中

选择小结:

a.Centos默认的文件系统都是比较优秀的

b.xfs、reiserfs需要单独安装。默认不支持的。海量服务器使用多种文件系统维护可能不方便

c.大并发做磁盘系统的优化是一方面,但更多的还是在网站前端增加缓存服务器(squid、vamish),存储数据库的前端增加缓存(memcache、redis),这是架构师的能力

2)SSD文件系统选择

ext4/reiserfs可以作为SSD文件系统,但未对SSD做优化,不能充分发挥SSD性能,并影响SSD使用时间

btrfs对SSD作了优化,mount通过参数启用。但btrfs仍处于实验阶段,生产环境谨慎使用

安装 xfs 文件系统步骤:

yum  install  xfsprogs  kmod-xfs  xfsdump  xfsprogs-devel

rpm  -qa  xfsprogs  kmod-xfs  xfsdump  xfsprogs-devel

modprobe  xfs

lsmod  |  grep  xfs

mkfs.xfs  /dev/sdc

dd  if=/dev/zero  of=/dev/sdc  bs=1M  count=100

mount  -t  xfs  -o  loop  /dev/sdc  /mnt

df  -hT(查看当前挂载的文件系统)

普通ext4文件系统格式化及挂载:

mkfs  -t  ext4  -b  4096  -I  256  /dev/sdb1

tune2fs  -c  -1  /dev/sdb1(防止自动检查)

[root@redhat~]#  mount  -t  ext4  /dev/sdb1  /mnt

[root@redhat~]#  df  -hT

磁盘管理命令总结:

磁盘与目录的容量:df,du

df:列出文件系统的整体磁盘使用量

du:评估文件系统的磁盘使用量(常用于评估目录所占容量)

1、将容量结果以易读的容量格式显示出来:df  -h

2、将 /etc 下面的可用的磁盘容量以易读的容量格式显示出来:df  -h  /etc

3、将目前各个分区当中可用的 inode 数量列出:df  -ih

4、检查根目录下面每个目录所占用的容量:du  -sm  /*

dumpe2fs  /dev/sdb1:查看文件系统的内部细节

磁盘分区:fdisk

fdisk  /dev/sda

parted  /dev/sda(支持大于2T的硬盘分区)

swapon/swapoff  使用swap分区,例如:swapon  /dev/sdb1

mkswap,格式化swap分区

磁盘格式化:mkfs  -t  ext3  /dev/sda6

磁盘检验:fsck,badblocks

fsck  -C  -f  -t  ext3  /dev/sda6   没坏的磁盘一定不要用

badblocks  -sv  /dev/sda6         此命令可被fsck替代

设置开机挂载

1、开机挂载 /etc/fstab 及 /etc/mtab

将/dev/sdb2每次开机都自动挂载到/tmp/sdb2

编辑/etc/fstab

写入:/dev/sdb2     /tmp/sdb2     ext3     dufaults     0     0

其他:

tune2fs 修改文件系统信息

megacli 查看raid信息

ipmitools 查看硬件信息工具

resize2fs 调整文件系统大小(LVM,drbd)

linux系统ext文件系统知识的更多相关文章

  1. Linux系统EXT文件系统

    分区格式化(Linux创建文件系统):(假设需要格式化的分区为/dev/sdb1) 1. ext2文件系统和ext3文件系统的区别: ext2不支持日志文件系统,不会产生日志文件,ext3则会产生日志 ...

  2. LInux系统及其文件系统

    Linux系统:Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户.多任务.支持多线程和多CPU的操作系统.它能运行主要的UNIX工具软件.应用程序和网络协 ...

  3. linux系统方面的知识

      1.什么是Linux? 组成部分:硬件.内核.lib库.应用程序   硬件:工作中真正工作的组成部分是硬件   linux内核(kernel):管理硬件 Linux团队管理的版本   lib库:封 ...

  4. linux系统——日志文件系统及性能分析

    Linux日志文件系统及性能分析 日志文件系统可以在系统发生断电或者其它系统故障时保证整体数据的完整性,Linux是目前支持日志文件系统最多的操作系统之一,本文重点研究了Linux常用的日志文件系统: ...

  5. Linux系统之-文件系统,桌面环境

    文件系统 文件类型普通文件,目录文件,连接文件,设备与设备文件,套接字,管道 普通文件(regular file):就是一般存取的文件,由ls -al显示出来的属性中,第一个属性为 [-],例如 [- ...

  6. linux系统shell基础知识入门

    什么是shell shell就是我们常说的命令行程序,它是一个作为用户与Linux系统间接口的程序,它允许用户向操作系统输入要执行的命令.在Linux中安装多个shell是可行的,一般系统有默认的sh ...

  7. LINUX系统的常用知识

    常用的命令: man config   查看linux里面所有命令的详细描述 man pwd   按回车是一行一行的走,按空格是一页一页的走,按q键是退出的意思 mkdir test   创建文件夹p ...

  8. Ubuntu&Linux系统出现文件系统只读Read-only file system 的快速解决方法

    问题描述: 周末运行盘平台服务程序,周一来操作系统卡顿,主进程已退出,重启进程时提示Read-only file system:新建目录和其他chmod -R等等操作都提示Read-only file ...

  9. linux系统初始化——文件系统初始化步骤

    linux文件系统初始化步骤 System V init启动过程 概括地讲,Linux/Unix系统一般有两种不同的初始化启动方式. 1) BSD system init 2) System V in ...

随机推荐

  1. 【转】Android实现伸缩弹力分布菜单效果

    本文介绍下在Android中实现伸缩弹力分布菜单效果.关于这种菜单效果在IPhone中比较常见,效果比较酷.那么在Android中实现只是一种简单的模仿. 这两天无意间看到一园友的博文实现Path2. ...

  2. php数组转json对象并保留数字索引

    本文要解决的问题是php不带索引的数组转换为json对象(而非默认的json数组) php中数组转json使用的方法是系统自带的:json_encode php中数组转json的规则是:当没有指定索引 ...

  3. Swift-表格

    //1.创建表格 let tv = UITableView(frame: view.bounds, style: .Plain) //2.添加到视图 view.addSubview(tv) //3.注 ...

  4. SpringCloud的学习记录(7)

    这一章节讲zuul的使用. 在我们生成的Demo项目上右键点击New->Module->spring Initializr, 然后next, 填写Group和Artifact等信息, 这里 ...

  5. 【MATLAB】对离散采样信号添加高斯白噪声(已知Eb/N0)

    (1)首先计算已知信号序列(采样之后得到的信号)的平均功率.该序列在第n个点处的功率为: 如果已知的信号序列中的总共的点数为N个,则该序列的平均功率为: 在MATLAB中求平均功率的方法是: Pav= ...

  6. 【CSS古话今说】-- 01.神奇的CSS-BFC在实战中的应用

    文章首发于掘金 BFC(Block Formatting Context)是Web页面中盒模型布局的CSS渲染模式.它的定位体系属于常规文档流. 想要实现一个BFC布局需要满足以下条件之一: 1.fl ...

  7. java日期时间Date类

    java.util包提供了Date类来封装当前的日期和时间. Date类提供两个构造函数来实例化Date对象. 第一个构造函数使用当前日期和时间来初始化对象. Date( ) 第二个构造函数接收一个参 ...

  8. Java中调用MatLab返回值

    当在Java中使用MatLab函数时,由于语言语法的不同,Matlab返回多个数据时,想在Java中获取到并进行使用.查阅了网上资料,翻箱倒柜加上自己实战,得出方法如下: 如MatLab函数返回的是N ...

  9. IOS 自定义Operation(下载功能)

    一个下载操作就交给一个HMDownloadOperation对象 HMDownloadOperation.h / .m @class HMDownloadOperation; @protocol HM ...

  10. 请教Nutzwk项目,在beetl页面怎么用shiro标签呢?

    请教Nutzwk项目,在beetl页面怎么用shiro标签呢?  发布于 381天前  作者 WenTao-Love  195 次浏览  复制  上一个帖子  下一个帖子  标签: nutzwk 如题 ...