吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1249|回复: 9
收起左侧

[学习记录] Linux磁盘和文件系统知识总结

  [复制链接]
randy198 发表于 2022-5-7 10:29
本帖最后由 randy198 于 2022-5-7 16:03 编辑

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

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设备
[Bash shell] 纯文本查看 复制代码
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来查看验证
[Bash shell] 纯文本查看 复制代码
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。

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

Andrea 发表于 2022-5-7 10:40
因为 mbr 主引导,只支持 2T,所以,大容量就推荐上 gpt;mbr 最多4个主分区,gpt 有一大堆~ fdisk和gdisk 都是交互式对磁盘处理,然后有个更好使的文本界面的工具 cfdisk~
hsc2046 发表于 2022-5-7 11:06
宜城小站 发表于 2022-5-7 12:03
jshon 发表于 2022-5-7 12:41
学习学习!
tangmuzzz 发表于 2022-5-7 13:25
可以的!
strict 发表于 2022-5-7 15:28
刚装完Arch Linux,然后看见这篇帖子
冒个泡 发表于 2022-5-7 15:37
学到了!
 楼主| randy198 发表于 2022-5-7 16:05
Andrea 发表于 2022-5-7 10:40
因为 mbr 主引导,只支持 2T,所以,大容量就推荐上 gpt;mbr 最多4个主分区,gpt 有一大堆~ fdisk和gdisk  ...

cfdisk,学到了!界面比那俩更友好!
Daoins 发表于 2022-5-7 17:01
有点深奥啊
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 11:52

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表