• linux系统ext文件系统知识


     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 C程序中获取shell脚本输出(如获取system命令输出)
    Vue实现网页在线拍照和上传 幸福n
    c# thread数线程的创建多线程(一)
    C#开启异步 线程的四种方式(二)
    web学习网站
    C#中的set和get方法
    C# 多线程之Task任务(三)
    Taro3 扫描不同二维码参数不同,但是热启动之后参数不变
    Taro 弹窗阻止小程序滑动穿透(亲测有效) tabbar数据缓存不更新 入口场景值不同
    《Webpack+Babel入门与实例详解》出版了
  • 原文地址:https://www.cnblogs.com/axzq/p/9691547.html
Copyright © 2020-2023  润新知