硬盘、文件系统和存储 block、sector、 Stripe size区别

本文详细介绍了硬盘存储中的基本概念,包括扇区(sector)、块(block)以及Stripe大小的区别。扇区是磁盘的最小存储单位,通常是512字节。块是文件系统层的概念,其大小在创建文件系统时可设置。Stripe大小在RAID中至关重要,影响读写性能。磁盘阵列的Stripe Size应考虑与文件系统Block Size匹配,以优化性能。此外,Cache Block Size的设置也会影响存储效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  扇区(block)是驱动可以操作的最小单位,是磁盘级别的。一个磁盘扇区(sector)512个字节(现在有4K的了),扇区(sector)是磁盘的最小存储单位,
  块(block)是文件系统层的,mkfs时可以设置块的大小.
磁盘块(block)应该是类似FAT的簇大小的概念,是操作系统中分配磁盘容量的最小单位. 块(block)是数据存储的最小单位!

 

    我的理解,512字节和520字节(针对EMC)所指的不是block,而是硬盘扇区的大小。在EMC存储中,每个硬盘在出厂前就被格式化成每扇区520 字节(其中512字节可存放数据,另外8字节是存储FLARE的元数据。其他存储设备的硬盘一般默认都是每扇区512字节的。
至于block的大小,在一般情况下,我觉得应该等同于strip大小。只有在创建了RAID之后才会有block的概念。stripe 和 strip之间的区别的确容易混淆,我是这么理解的,一个RAID中所有磁盘的strip合起来就是stripe。

在创建RAID的时候,会让你选择Stripe size 以及Block size,

 

 

Cylinder, Tracks(磁道) and Sector(扇区)

 

 

      Cylinder ,有人给翻译成柱面,这个中文意思得好好想想才明白:一根木头棍,用刀横向一切,形成的这个平面就是柱面。硬盘的一个中心轴上,平行放置了好几块碟片,每个碟片就是一个柱面。

    Track ,每个碟片逻辑上有好多个同心圆形成的轨道,这些轨道就是 Track 。数据分布在这些 Track 上。

Sector ,为了更有效地利用空间,每

### CentOS 7 挂载硬盘教程 #### 准备工作 确保已经物理连接新的硬盘到服务器并完成硬件配置。如果是在虚拟环境中,则需通过管理工具添加新磁盘。 #### 查看新增加的硬盘设备名 使用 `lsblk` 或者 `fdisk -l` 命令查看当前系统的存储设备列表,识别出刚加入的新硬盘名称,通常会显示为 `/dev/sdX` (其中 X 是字母)[^2]。 ```bash $ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 931.5G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 930.5G 0 part / sr0 11:0 1 1024M 0 rom sd[b-d] 8:0 0 200GB 0 disk # 新增硬盘可能在此处列出 ``` #### 对新硬盘进行分区 对于未初始化过的裸盘,先利用 `parted`, `fdisk` 等命令创建合适的文件系统布局: ```bash # 使用 fdisk 工具对 sd[b-d] 进行简单分区操作 $ sudo fdisk /dev/sdb ... Command (m for help): n # 添加新分区 Partition type: p primary (0 primary, 0 extended, 4 free) e extended (container for logical partitions) Select (default p): p Partition number (1-4, default 1): 1 First sector (2048-419430399, default 2048): Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-419430399, default 419430399): Created a new partition 1 of type 'Linux' and of size 200 GiB. ... Command (m for help): w # 写入更改退出 The partition table has been altered. Calling ioctl() to re-read partition table. Syncing disks. ``` #### 格式化新建分区 根据需求选择适合的文件系统格式化刚刚建立好的分区,这里以 ext4 文件系统为例: ```bash $ sudo mkfs.ext4 /dev/sdb1 mke2fs 1.42.9 (28-Dec-2013) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 13107200 inodes, 52428799 blocks 2621439 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=4294967296 1600 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: ... Allocating group tables: 完成 Writing inode tables: 完成 Creating journal (32768 blocks): 完成 Writing superblocks and filesystem accounting information: 完成 ``` #### 创建挂载点目录 为了能够访问该磁盘上的数据,在根路径下指定一个位置作为挂载点: ```bash $ sudo mkdir /mnt/data_disk ``` #### 手动临时挂载测试 此时可以通过 mount 命令暂时性的把新分区加载至上述创建的位置来进行初步验证: ```bash $ sudo mount /dev/sdb1 /mnt/data_disk/ $ df -hT | grep '/mnt' /dev/sdb1 ext4 200G 1.8G 192G 1% /mnt/data_disk ``` #### 自动持久化挂载设置 编辑 `/etc/fstab` 配置文件实现每次开机自动挂载此磁盘,推荐方式如下所示: 获取 UUID 号码用于更稳定的引用目标卷: ```bash $ blkid |grep sdb1 /dev/sdb1: UUID="b1aebcde-fghe-abcd-eabc-defghijklmnopqrs" BLOCK_SIZE="4096" TYPE="ext4" ``` 打开 fstab 编辑器并将下列条目追加进去: ```bash UUID=b1aebcde-fghe-abcd-eabc-defghijklmnopqrs /mnt/data_disk/ ext4 defaults,nofail,x-systemd.device-timeout=1min 0 2 ``` 保存修改后的文件,并尝试重新启动计算机确认一切正常运作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值