找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

428

积分

1

好友

48

主题
发表于 5 天前 | 查看: 24| 回复: 0

在Linux运维管理中,有时数据盘并未创建分区表,而是直接在存储设备上创建了文件系统。例如,一块硬盘被直接格式化为文件系统后挂载使用。当需要对此类“裸盘”进行容量扩展时,操作流程与常规分区扩容有所不同。

场景确认

首先,使用 lsblk 命令查看磁盘和分区情况。如下所示,/dev/sdb 磁盘并未显示任何分区(如sdb1),而是将整个磁盘设备直接挂载到了 /data 目录。这表示该数据盘没有创建分区,文件系统是直接创建在设备 /dev/sdb 上的。

[root@localhost ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   20G  0 disk
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   19G  0 part
  ├─centos-root 253:0    0   17G  0 lvm  /
  └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
sdb               8:16   0    5G  0 disk /data
sr0              11:0    1  9.5G  0 rom

本文将以 CentOS 7.4 操作系统为例。假设数据盘 /dev/sdb 原容量为5GB,文件系统为 ext4 或 xfs。我们已在云平台控制台将其容量扩大至10GB。以下将分别演示如何在线扩展这两种常见的文件系统,使新增的5GB空间能够被系统使用。

针对ext2/ext3/ext4文件系统

若您的文件系统是 ext 系列(如 ext4),扩容操作相对简单。

  1. 扩展文件系统: 使用 resize2fs 命令直接对设备进行操作。该命令会自动识别设备上已挂载的 ext 文件系统并在线扩展。

    resize2fs /dev/sdb

    执行后,终端会返回扩容过程信息,类似如下内容,表明文件系统块数已增加:

    resize2fs 1.42.9 (28-Dec-2013)
    Filesystem at /dev/sdb is mounted on /data; on-line resizing required
    old_desc_blocks = 1, new_desc_blocks = 2
    The filesystem on /dev/sdb is now 2621440 blocks long.
  2. 验证扩容结果: 使用 df -Th 命令查看文件系统容量。可以看到 /dev/sdb 对应的 /data 挂载点,其容量已变为约10GB(9.8G),扩容成功。

    [root@localhost data]# df -Th
    Filesystem              Type      Size  Used Avail Use% Mounted on
    ...
    /dev/sdb                ext4      9.8G   23M  9.3G   1% /data

针对XFS文件系统

XFS 是另一种高性能文件系统,在 CentOS/RHEL 7+ 版本中常作为默认文件系统,其扩容命令与 ext 不同。

  1. 扩展文件系统: 使用 xfs_growfs 命令,并指定挂载点(而非设备名)。这是Linux文件系统管理中的一个关键区别。

    xfs_growfs /data

    或明确指定设备(在某些版本中也支持):

    xfs_growfs /dev/sdb

    命令执行后,将输出元数据和数据块变更详情,最后一行 data blocks changed from ... to ... 清晰地显示了容量的增长。

  2. 验证扩容结果: 同样使用 df -Th 命令进行验证,确认 /data 挂载点的容量已按预期增加。这类磁盘扩容操作是服务器运维/DevOps工作中的常见任务。

总结与注意事项

  • 操作前提:确保磁盘底层容量已通过云平台、虚拟化层或物理方式成功扩展。可使用 lsblk 查看磁盘物理大小是否已变更。
  • 安全操作:虽然上述命令支持在线扩容(文件系统在挂载状态下扩展),但为保险起见,对于重要生产环境,建议先在测试环境验证或做好数据备份。
  • 通用性:此方法适用于绝大部分现代Linux发行版,不仅是CentOS。关键在于正确识别文件系统类型并选用对应的扩容命令。深入理解这些底层操作有助于更好地进行Linux系统管理。



上一篇:Nginx性能调优指南:从10万到100万并发的实战配置与内核参数优化
下一篇:Java volatile关键字实战指南:保证可见性与禁止重排序的底层原理
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区(YunPan.Plus) ( 苏ICP备2022046150号-2 )

GMT+8, 2025-12-7 01:45 , Processed in 0.114519 second(s), 38 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2025 CloudStack.

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