Linux学习笔记04:Linux磁盘与文件系统管理

来源:互联网 发布:中国粮食进口数据 编辑:程序博客网 时间:2024/05/16 19:02

Linux最传统的磁盘文件系统使用EXT2


磁盘概念

  • 扇区(Sector),目前主要有512byte与4K两种
  • 扇区组成一个圆——》磁柱(Cylinder)
  • 磁盘分区表两种格式:限制较多的MBR与较新而且限制少的GPT分区表
  • MBR分区表中,第一个扇区含Master boot record,MBR——》446bytes与partition table——》64bytes
  • GPT分区 分区数量扩充较多,支持磁盘容量可以超过2TB
  • 磁盘名:实体磁盘/dev/sd[a-p],分区槽类似/dev/sda[1-128],虚拟机/dev/vd[a-p],软件磁盘阵列:/dev/md[0-128],LVM:/dev/VGNAME/LVNAME

理解Linux  filesystem概念

Linux  filesystem含有

1.文件权限(rwx)信息与属性(Owner、Group、时间参数)——》inode

2.文件实际数据——》data block

3.此外还有一个超级区块(superblock)记录文件系统的整体信息(inode/block 数量、使用量、剩余量)

每个filesystem都有独立的inode/block/superblock信息。

inode与block都有编号,可以通过inode号来判断不同文件名是否同一文件——》索引式文件系统(indexed allocation)

EXT2文件系统划分多个区块群组(Block Group):


观察文件系统

查询EXT文件系统的superblock信息:

-》blkid命令查询目前系统有被格式化的装置

-》dumpe2fs 装置名  查看superblock信息

相关操作如下:

这里的Block size为4K,继续查询目录的大小:

这里ls的三个参数:l详细信息 d显示目录本身 i包含inode编号

这里目录基本都是4K的倍数,如果目录的文件过大,Linux会给该目录多一个block来记录

每次分配的空间大小都是block整数倍


数据不一致(Inconsistent):文件写入文件系统时,仅写入inode与data block,没有同步更新中介数据。

采用日志式文件系统(Journaling filesystem)在系统要写入文件时记录信息。这样出现错误时能在日志中找到相关信息。其中superblock中含有指向Journal的inode信息。


Linux文件系统采用异步处理,系统加载文件到内存中后,若文件未改动——》clean,文件被改动——》Dirty,系统不定时将dirty数据写回磁盘保持数据一致。可以手动采用sync指令完成磁盘写入。


关于挂载的信息:

  • filesystem需要挂载(理解为链接)到目录树下才能使用
  • 挂载点 必须为 目录

Linux使用VFS(Virtual Filesystem Switch)来读取filesystem:

ls -l /lib/modules/$(uname -r)/kernel/fscat /proc/filesystems

第一句查询Linux支持的文件系统,第二句查询系统目前已经加载到内存中支持的文件系统。


目前CentOs7开始使用XFS文件系统,磁盘容量增大,EXT的格式化显慢。


关于XFS:

  • 日志式文件系统
  • 规划为资料区(data section)、文件系统活动登录区(log section)、实时运作区(realtime section)
  • 使用xfs_info查看

文件系统常用指令:
  • df:文件系统整体磁盘使用量
  • du:评估文件系统磁盘使用量
  • 使用ln建立hard link 增加与源文件inode相同的位置拷贝,加-s参数建立符号链接(快捷方式),新建的文件重要内容就是源文件的文件名
  • lsblk:list block device
  • parted列出磁盘的分区类型与分区信息
  • gdisk/fdisk:GPT/MBR分区
  • partprobe:更新分区表信息 -s显示信息
  • 分区完成后需要进行文件系统的格式化:mkfs——》XFS文件系统使用mkfs.xfs,EXT4使用mkfs.ext4
  • mount 装置文件名挂载点:挂载文件系统  umount卸除挂载文件系统,修改/etc/fstab可以实现开机自动挂载
  • mkswap 建立swap
















原创粉丝点击