共计 4185 个字符,预计需要花费 11 分钟才能阅读完成。
这篇文章将为大家详细讲解有关 CentOS8 中磁盘存储和文件系统的示例分析,丸趣 TV 小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
分区
两种分区格式:MBR、GPT
MBR 分区
MBR 分区磁盘的分区表信息存放在硬盘 0 磁道第 0 个扇区内总共 512 字节
前 446 字节为 bootloader
中间 64 位为磁盘分区表信息,每个分区信息占 16 个字节,总计存放 4 个分区。(这段就是需要备份出来的数据)
最后的 55AA 为结束标志位
MBR 分区结构
1. 硬盘主引导记录 MBR 由 4 个部分组成
2. 主引导程序(偏移地址 0000H–0088H),它负责从活动分区中装载,并运行
系统引导程序
3. 出错信息数据区,偏移地址 0089H–00E1H 为出错信息,00E2H–01BDH 全为
0 字节
分区表(DPT,Disk Partition Table)含 4 个分区项,偏移地址 01BEH–01FDH,
每个分区表项长 16 个字节,共 64 字节为分区项 1、分区项 2、分区项 3、分区项 4
结束标志字,偏移地址 01FE–01FF 的 2 个字节值为结束标志 55AA
MBR 结构
GPT 分区
支持 128 个分区,使用 64 位,支持 8Z(512Byte/block)64Z(4096Byte/block)
使用 128 位 UUID 表示磁盘和分区 GPT 分区表
自动备份在头和尾两份,并有 CRC 校验位
UEFI (统一扩展固件接口) 硬件支持 GPT,使操作系统启动
GPT 分区结构
管理分区的命令列出块设备 lsblk
列出所有可用块设备的信息,而且还能显示它们之间的依赖关系
-a:显示所有设备
-b:以 bytes 方式显示设备大小
-f:显示文件系统信息
创建分区工具 fdisk 创建 MBR 分区
-l [-u] [device…] 查看分区
子命令
p 分区列表
t 更改分区类型
n 创建新分区
d 删除分区
v 校验分区
u 转换单位
w 保存并退出
q 不保存并退出
gdisk 创建 GPT 分区
类 fdisk 的 GPT 分区工具
parted 高级分区操作
parted 操作是实时生效的,请小心使用。
–l:列出分区信息
同步分区表
查看内核是否已经识别新的分区
cat /proc/partations
centos6 通知内核重新读取硬盘分区表
新增分区用
partx -a /dev/DEVICE
kpartx -a /dev/DEVICE -f: force
删除分区用
partx -d –nr M-N /dev/DEVICE
CentOS5,7 使用 partprobe
partprobe [/dev/DEVICE]
重读分区表,当出现删除文件后,出现仍然占用空间。可以 partprobe 在不重启的情况下重读分区。
文件系统
文件系统是操作系统用于明确存储设备或分区上的文件的方法和数据结构;即在存储设备上组织文件的方法。操作系统中负责管理和存储文件信息的软件结构称为文件管理系统,简称文件系统
从系统角度来看,文件系统是对文件存储设备的空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索的系统。具体地说,它负责为用户建立文件,存入、读出、修改、转储文件,控制文件的存取,安全控制,日志,压缩,加密等
Linux 中支持的文件系统
ll /lib/modules/uname –r/kernel/fs
创建文件系统
mkfs
mkfs.FS_TYPE /dev/DEVICE
-t:指定文件系统
创建 ext 文件系统 fs:ext 系列文件系统专用管理工具
-t {ext2|ext3|ext4} 指定文件系统类型
-b {1024|2048|4096} 指定块大小
-L‘LABEL’设置卷标
-j 相当于 -t ext3
mkfs.ext3 = mkfs -t ext3 = mke2fs -j = mke2fs -t ext3
-i # 为数据空间中每多少个字节创建一个 inode;不应该小于 block 大小
-N # 指定分区中创建多少个 inode
-I 一个 inode 记录占用的磁盘空间大小,128—4096
-m # 默认 5%, 为管理人员预留空间占总空间的百分比
-O FEATURE[,…] 启用指定特性
-O ^FEATURE 关闭指定特性
文件系统的标签 blkid:块设备属性信息查看
-U UUID 根据指定的 UUID 来查找对应的设备
-L LABEL 根据指定的 LABEL 来查找对应的设备
e2label:管理 ext 系列文件系统的 LABELfindfs:查找分区
findfs [options] LABEL=\ label
findfs [options] UUID=\ uuid
tune2fs:重新设定 ext 系列文件系统可调整参数的值
-l 查看指定文件系统超级块信息;super block
-L LABEL’修改卷标
-m # 修预留给管理员的空间百分比
-j 将 ext2 升级为 ext3
-O 文件系统属性启用或禁用, –O ^has_journal
-o 调整文件系统的默认挂载选项,–o ^acl
-U UUID 修改 UUID 号
dumpe2fs
将磁盘块分组管理
-h:查看超级块信息,不显示分组信息
文件系统检测和修复
常发生于死机或者非正常关机之后,挂载文件系统标记的“no clean”
注意:一定不要在挂载状态下进行修复
fsck: File System Check
fsck.FS_TYPE
fsck -t FS_TYPE
-p 自动修复错误
-r 交互式修复错误
FS_TYPE 一定要与分区上已经文件类型相同
e2fsck:ext 系列文件专用的检测修复工具
-y 自动回答为 yes
-f 强制修复
用 mount 命令挂载文件系统
挂载: 将额外文件系统与根文件系统某现存的目录建立起关联关系,进而使得此 目录做为其它文件访问入口的行为
把设备关联挂载点:mount Point
mount
卸载时:可使用设备,也可以使用挂载点
umount 设备名 | 挂载点
挂载点下原有文件在挂载完成后会被临时隐藏
挂载点目录一般为空
mount
通过查看 /etc/mtab 文件显示当前已挂载的所有设备
常用命令选项
-t vsftype 指定要挂载的设备上的文件系统类型
-r readonly,只读挂载
-w read and write, 读写挂载
-n 不更新 /etc/mtab,mount 不可见
-a 自动挂载所有支持自动挂载的设备 (定义在了 /etc/fstab 文件 中,且挂载选项中有 auto 功能)
-L LABEL 以卷标指定挂载设备
-U UUID 以 UUID 指定要挂载的设备
-B, –bind 绑定目录到另一个目录上
查看内核追踪到的已挂载的所有设备 cat /proc/mounts
-o options:(挂载文件系统的选项),多个选项使用逗号分隔
ync 异步模式
sync 同步模式, 内存更改时,同时写磁盘
atime/noatime 包含目录和文件
diratime/nodiratime 目录的访问时间戳
auto/noauto 是否支持自动挂载, 是否支持 - a 选项
exec/noexec 是否支持将文件系统上运行应用程序
dev/nodev 是否支持在此文件系统上使用设备文件
suid/nosuid 是否支持 suid 和 sgid 权限
remount 重新挂载
ro 只读
rw 读写
user/nouser 是否允许普通用户挂载此设备,/etc/fstab 使用
acl 启用此文件系统上的 acl 功能
loop 使用 loop 设备
_netdev 当网络可用时才对网络资源进行挂载,如:NFS 文件系统
defaults 相当于 rw, suid, dev, exec, auto, nouser, async
umount
挂载命令
查看挂载情况
findmnt MOUNT_POINT|device
查看正在访问指定文件系统的进程
lsof MOUNT_POINT
fuser -v MOUNT_POINT
终止所有在正访问指定的文件系统的进程
fuser -km MOUNT_POINT
卸载
umount DEVICE
umount MOUNT_POINT
示例
挂载 sdb1
判断是否挂载
重新挂载
mknod 创建设备文件
卸载 sdb2
如果正在使用,无法取消挂载
查看正在使用挂载设备的用户进程
强行停止使用挂载点
文件挂载配置文件 etc/fstab 每行定义一个要挂载的文件系统
1、要挂载的设备或伪文件系统
设备文件
LABEL:LABEL=
UUID:UUID=
伪文件系统名称:proc, sysfs
2、挂载点
3、文件系统类型:ext4,xfs,iso9660,nfs,none
4、挂载选项:defaults,acl,bind
5、转储频率:0:不做备份 1:每天转储 2:每隔一天转储
6、fsck 检查的文件系统的顺序:允许的数字是 0 1 2
0:不自检
1:首先自检;一般只有 rootfs 才用
2:非 rootfs 使用
swap 交换分区
swap 交换分区是系统 RAM 的补充,Swap 分区支持虚拟内存。当没有足够的 RAM 保存系统处理的数据时会将数据写入 swap 分区
当系统缺乏 swap 空间时,内核会因 RAM 内存耗尽而终止进程。配置过多 swap 空间会造成存储设备处于分配状态但闲置,造成浪费,过多 swap 空间还会掩盖内存泄露
启用 swap 交换分区
swapon [OPTION]... [DEVICE]
-a:激活所有的交换分区
-p PRIORITY:指定优先级
/etc/fstab 在第 4 列中:pri=value
禁用 swap 交换分区
swapoff [OPTION]… [DEVICE]swap 的优先级
可以指定 swap 分区 0 到 32767 的优先级,值越大优先级越高
如果用户没有指定,那么核心会自动给 swap 指定一个优先级,这个优先级从 - 1 开始,每加入一个新的没有用户指定优先级的 swap,会给这个优先级减一
先添加的 swap 的缺省优先级比较高,除非用户自己指定一个优先级,而用户指定的优先级 (是正数) 永远高于核心缺省指定的优先级(是负数)
优化性能:分布存放,高性能磁盘存放
关于“CentOS8 中磁盘存储和文件系统的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。