Linux学习笔记:Linux磁盘与文件系统管理
一、磁盘组成磁盘分区表主要有两种格式:MBR和GPT MBR分区表中第一个扇区最重要,里面有主要开机区(MBR)及分区表(partition table),MBR占446KB,partition table占64b GPT分区表除了分区数量扩充较多之外,支持的磁盘容量也可以超过2T实体磁盘/dev/sd[a-p] 分区槽+[1-128]虚拟机磁盘/dev/vd[a-...
一、磁盘组成
磁盘分区表主要有两种格式:MBR和GPT
MBR分区表中第一个扇区最重要,里面有主要开机区(MBR)及分区表(partition table),MBR占446KB,partition table占64b
GPT分区表除了分区数量扩充较多之外,支持的磁盘容量也可以超过2T
实体磁盘/dev/sd[a-p] 分区槽+[1-128]
虚拟机磁盘/dev/vd[a-p] 分区槽同上
此外还有LVM等 ?(未进行了解)
新的大容量磁盘大多得使用GPT分区表才能使用全部的容量
一个可被挂载的数据为一个文件系统而不是一个分区槽:
传统的磁盘与文件系统应用中,一个分区槽只能被格式为一个文件系统,如今的raid等技术可以将一个分区槽划为多个文件系统(如LVM)
inode(存放权限与属性,一个文件占用一个)
date block(实际数据,当文件较大时可以占用多个date block)
superblock(记录此filesystem的整体信息,如iNode/block 的总量、使用量、剩余量,以及文件系统的格式和相关信息)
以上信息都有编号,如果能找到inode就会知道所有block的编号
索引式文件系统:inode中存放所有block的编号以及读取顺序,一般不需要碎片整理
FAT文件系统的读取方式类似于链表,需要经常进行随便整理
EXT2文件系统
格式化的时候基本是区分为多个区块组群,每个区块组群有独立的inode/block/superblock
文件系统最前面有一个启动扇区(boot sector)可以安装开机管理程序,从而制作多重引导环境
dateblock
支持的block大小有1k\2k\4k从而有不同的最大单一文件支持、最大文件系统总容量
注意:一个block只能存放一个文件的数据 大文件用多个小文件用不完,所以要根据存储数据类型来选择block大小
inode table
每个inode大小均固定为128b(ext4和xfs可设定为256b)
每个文件占用一个inode 读取文件时也是先读取inode
inode存储block地址可以只是用直接、间接、双间接、三间接的方式
superblock
记录整个filesystem的相关信息
大小问1024b
filesystem description、block bitmap、inode bitmap
查询superblock指令(EXT):dumpe2fs
查看当前操作系统有被格式化的装置:blkid
文件名是记录在目录的block中的-》新增、删除、更名文件名与目录的W权限有关
文件数据离散问题:block号码不连续
解决:将数据全部复制出来,将filesystem格式化后再复制进去
日志文件系统(未解决不一致问题-》突然情况导致中介数据与实际数据实际数据存放区不相同)
在filesystem中规划出一个区块,专门记录写入或修订文件时的步骤
journal区块
为提高效率磁盘读写使用异步处理,内存-》硬盘
**sync强制写入
查看操作系统支持的filesystem:ls -l /lib/modules/$(uname -r)/kernel/fs
查看已加载到内存中支持的文件系统:cat /proc/filesystems
VFS(Virtual Filesystem Switch)
系统使用该功能来管理所有的filesystem
XFS文件系统
EXT:支持度最广、格式化超慢
XFS被开发用于高容量磁盘以及高性能文件系统
分为:date section、log section、realtime section
date
类似于EXT的block group,包括block、inode、superblock等数据
大小都可调整
log
用来记录文件系统的变化,像是日志区
活动频繁、可以使用SSD来加快处理速度
realtime
查看XFS文件系统的详细描述:xfs_info
二、文件系统的主要操作
磁盘的目录与容量
df:列出文件系统的整体磁盘用量
uf:评估文件系统的磁盘使用量(常用在推估目录容量)
df
a:所有 k:1k为单位 m:1M为单位 h:便于阅读的方式 i:以inode数量来显示
T:列出连同filesystem Type
针对的是一整个文件系统,读取的主要是superblock中的信息,速度快
du
直接到文件系统中搜寻所有的文件数据,执行时间略长
实体链接与符号链接:ln
Hard link(实体链接)
在某个目录下新增一笔档名链接到某inode号码的关联记录
将任何一个档名删除也可以通过另外一个来访问数据
写在某目录block下,一般磁盘空间和inode的数目都不会改变
hard link不能跨文件系统
不能link目录
Symbolic Link(符号链接,快捷方式)
大小12的由来:/etc/crontab为12个字符
删掉源文件符号链接也不能访问
目录的link数量
新目录link数为2 新建一个文件或者文件夹link数+1
三、磁盘的分区、格式化、检验和挂载
新增磁盘的步骤:
1、对磁盘进行分区,已建立可用的partition
2、对partition进行格式化(format),以建立系统可用的filesystem
3、对刚刚建立好的filesystem进行检验
4、建立挂载点,进行挂载
列出系统上的所有磁盘列表:lsblk
d:仅列出磁盘本身 f:同时列出磁盘内文件系统的名字 m:同时列出/dev下面的权限数据 p:完整文件名 t:详细信息
输出信息:MAJ:MIN主要次要配置代码
RM是否为可拆卸设备
TYPE:disk、partition、rom
列出装置的UUID等参数:blkid
UUID(universally unique identifier)全局单一标识符
列出磁盘的分区类型和分区信息:parted
parted 设备名 print
磁盘分区:gdisk/fdisk
MBR分区表使用fdisk GPT分区表使用gdisk
*msdos就是MBR
gdisk和fdisk都是针对整个磁盘而不是partition
更新Linux核心的分区表信息:partprobe -s
磁盘格式化(配置文件系统):mkfs
mkfs.xfs或者mkfs.ext4
ext4的默认配置信息在/proc/make2fs.conf
当文件系统发生错乱时的救援指令:
xfs:xfs_repair
ext4:fsck.ext4
挂载:mount 重新挂载:remount 取消挂载:umount
配置代码
8为major 0为minor
更多推荐
所有评论(0)