Linux磁盘和文件系统知识总结

简介: Linux磁盘和文件系统知识总结


硬盘操作

为什么要给硬盘分区?

如果你需要在一块硬盘上用到多个文件系统,那么你就需要对硬盘进行分区,以便用不同的分区支持不同的文件系统。(但一个硬盘只能有一个分区表!)反过来说,如果你整块硬盘都用同样的文件系统,那么就可以不对硬盘分区。

Linux服务器硬盘该选择什么分区表?

需要分区的话推荐无脑GPT。

MBR分区工具--fdisk

GPT分区工具--gdisk

两者都是引导式的分区工具,做出更改后只要不写入,程序就不会对硬盘做出任何操作。

还有一个parted,它是非交互式的分区工具。

硬盘可以不分区直接用吗?

硬盘可以不分区,直接格式化(文件系统格式)挂载好就能拿来用(如果想保持开机生效一定不要忘了修改/etc/fstab文件!)对于不分区的硬盘,系统会把它的分区表类型标记为loop。但实际上,loop并不是一种分区表类型。至于为什么会显示loop,是因为parted命令在(设置了LVM?)的这块硬盘上找不到分区表。

参考连接:hard disk - Is partition table type "loop" a good or bad idea on BTRFS? - Unix & Linux Stack Exchange

区别概念:loop设备

网络异常,图片无法展示
|

parted /dev/sdc print

Model: VMware, VMware Virtual S (scsi)

Disk /dev/sdc: 5369MB

Sector size (logical/physical): 512B/512B

Partition Table: loop

Disk Flags:


Number  Start  End     Size    File system  Flags

1      0.00B  5369MB  5369MB  xfs

网络异常,图片无法展示
|

sector size(扇区大小)与block size(块大小)

sector size是关于硬盘最小的存储单位扇区大小的描述(物理层面),而block size则是属于文件系统层面的概念。

文件系统不是一个扇区一个扇区的来读数据,太慢了,所以有了block(块)的概念,操作系统是通过块和簇为单位进行读写的。也就是说一个块可以由一个或多个扇区组成。

文件系统

服务器硬盘的block大小必须是4k吗?

不必须,block本身有一些限制,摘自《鸟哥的Linux私房菜》

 原则上,block 的大小与数量在格式化完就不能够再改变了(除非重新格式化);

 每个block 内最多只能够放置一个文件的数据;

 承上,如果文件大于block 的大小,则一个文件会占用多个block 数量;

 承上,若文件小于block ,则该block 的剩余容量就不能够再被使用了(磁盘空间会浪费)。

总的来说,如果block设置过大,会造成磁盘空间的浪费,但设置的过小会造成硬盘频繁读写,降低效率。可以根据服务器的用途来判断需要对文件系统设置多少block size。不过,因为现在的硬盘容量都很大,一般都无脑选择4k的容量。xfs文件系统默认的block size是4096字节,也可以通过mkfs.xfs追加-b参数来修改block size。

什么是4k对齐?

原先硬盘的每个扇区容量是512字节bytes,后来随着硬盘容量的扩大,每个扇区的容量扩大到4096字节。为了和硬盘的物理扇区保持对齐,文件系统将block(Linux)/cluster簇(Windows)的大小也设置为4096字节,这种操作就是4k对齐。

Linux如何验证4k对齐?

比较新的文件系统默认4k对齐,对于GPT分区的硬盘可以使用parted /dev/sda unit s print来查看验证

网络异常,图片无法展示
|

parted /dev/sdb unit s print

Model: VMware, VMware Virtual S (scsi)

Disk /dev/sdb: 20971520s

Sector size (logical/physical): 512B/512B

Partition Table: gpt

Disk Flags:


Number  Start  End       Size      File system  Name              Flags

1      2048s  2099199s  2097152s  xfs          Linux filesystem

网络异常,图片无法展示
|

start扇区可以被8整除就表示4k对齐了。

dumpe2fs和tune2fs最高支持ext4文件系统,不支持xfs。


目录
相关文章
|
2月前
|
Ubuntu Linux Shell
Linux系统中如何查看磁盘情况
【9月更文挑战第3天】在Linux系统中,有多种方式查看磁盘情况。可通过命令行工具`df`查看文件系统磁盘使用情况,选项`-h`以人类可读格式显示,`-T`显示文件系统类型;`du`命令显示目录或文件磁盘使用情况,`-h`以人类可读格式显示,`-s`仅显示总计;`fdisk -l`列出磁盘和分区信息。此外,图形界面的磁盘管理工具和文件管理器也可用于查看磁盘使用情况。这些方法有助于更好地管理磁盘空间。
469 4
|
3月前
|
存储 监控 安全
在Linux中,⼀个EXT3的文件分区,当使用touch test.file命令创建⼀个新文件时报错,报错的信息是提示磁盘已满,但是采用df -h命令查看磁盘大小时,只使用了,60%的磁盘空间,为什么会出现这个情况?
在Linux中,⼀个EXT3的文件分区,当使用touch test.file命令创建⼀个新文件时报错,报错的信息是提示磁盘已满,但是采用df -h命令查看磁盘大小时,只使用了,60%的磁盘空间,为什么会出现这个情况?
|
1月前
|
Unix Linux 对象存储
Linux 磁盘管理
Linux 磁盘管理
32 1
|
2月前
|
存储 Linux 5G
Linux 基于 LVM 逻辑卷的磁盘管理【简明教程】
这篇文章介绍了LVM(逻辑卷管理)如何提供灵活的磁盘管理方式,允许动态调整逻辑卷的大小而不会丢失数据。
Linux 基于 LVM 逻辑卷的磁盘管理【简明教程】
|
1月前
|
监控 Linux 测试技术
Linux系统命令与网络,磁盘和日志监控总结
Linux系统命令与网络,磁盘和日志监控总结
52 0
|
1月前
|
监控 Linux 测试技术
Linux系统命令与网络,磁盘和日志监控三
Linux系统命令与网络,磁盘和日志监控三
36 0
|
2月前
|
存储 Linux 索引
Linux 下最主流的文件系统格式——ext
【9月更文挑战第8天】硬盘被划分为若干相同大小的块(Block),默认大小为4K,便于灵活管理文件数据。文件数据分散存放于这些块中,提高了数据添加、删除和插入的便利性。
|
3月前
|
编解码 Linux 程序员
深度探索Linux操作系统 —— 构建根文件系统2
深度探索Linux操作系统 —— 构建根文件系统
43 12
|
3月前
|
Linux Shell 网络安全
深度探索Linux操作系统 —— 构建根文件系统1
深度探索Linux操作系统 —— 构建根文件系统
51 6
|
3月前
|
存储 人工智能 数据管理
深入理解Linux操作系统之文件系统管理探索人工智能:从理论到实践的旅程
【8月更文挑战第30天】在探索Linux的无限可能时,我们不可避免地会遇到文件系统管理这一核心话题。本文将深入浅出地介绍Linux文件系统的基础知识、操作命令及高级技巧,帮助你更有效地管理和维护你的系统。从基础概念到实践应用,我们将一步步揭开Linux文件系统的神秘面纱。