linux 下得到磁盘物理扇区大小

本文介绍了在Linux环境下获取2T以上磁盘物理扇区大小的方法,包括使用hdparm工具、ioctl命令等五种途径,并讨论了4K扇区磁盘支持512Bytes直接读写的原理。

现在2T以上的磁盘其物理扇区基本上是4K大小的,在linux下要得到磁盘的物理扇区大小有如下几种方式:

1.使用hdparm 工具,hdparm -I 直接查看磁盘原始提供的物理和逻辑扇区大小。

2.对于ata 设备通过ioctl 向磁盘发送 HDIO_GET_IDENTITY 命令获知。

3.blockdev --getss xxx , xxx为设备名。

4. 通过 /sys/dev 下的信息获知。

5.通过 ioctl 向磁盘发送BLKSSZGET请求获知。


其中方法1 和 方法2是可以准确获取磁盘物理扇区大小的,由于现在的4K扇区的磁盘一般支持512Bytes的直接读取和写入,也即其在4K物理扇区上模拟了

512Bytes的概念。不过这种非对齐方式的写入一般是由"先读---再写"两个操作组成,这样不能发挥4K物理扇区磁盘的最大性能。



### Linux 系统中的磁盘扇区工作原理 在Linux系统中,磁盘作为主要的数据存储介质之一,其基本单位是扇区。每个扇区通常具有512字节的大小[^3]。磁盘上的数据按照特定的方式组织,以便于高效读取和写入。 #### 扇区的概念及其作用 磁盘由多个同心圆轨道组成,每条轨道又被划分为若干个扇形区域即扇区。这是最基础也是最小可寻址单元,在进行I/O操作时,操作系统会以扇区为单位向硬件发出指令。对于现代硬盘而言,虽然存在高级格式化技术使得实际物理结构更为复杂,但从逻辑上看仍然是基于这样的简单模型构建而成。 #### 文件系统的层次结构 文件系统是对未打开文件的一种静态管理模式,它定义了如何将数据有序地保存到磁盘上以及怎样检索这些信息。常见的Linux文件系统如ext4等都建立在一个复杂的分层架构之上: - **超级块(Superblock)**:记录整个卷的信息,比如总容量、可用空间数量、根目录位置等重要参数; - **i节点表(Inode Table)**:用于描述单个对象(无论是普通文件还是特殊类型的链接),其中包含了权限设置、拥有者ID等内容; - **数据块(Data Blocks)**:真正用来承载用户所创建的具体文档或其他资源的实际二进制流片段[^2]。 #### 创建并初始化新的文件系统实例 为了使某个分区能够支持指定类型的文件系统,需要执行相应的格式化过程。例如通过`mkfs.ext4 /dev/sdb1`命令来针对名为sdb1的新划分出来的部分实施ext4格式化的处理动作[^1]。这一步骤不仅设置了上述提到的各种元数据组件,还预留了一定量的空间供未来扩展之需。 ```bash sudo mkfs.ext4 /dev/sdb1 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值