CentOS服务器新购买的云硬盘如何进行分区格式化与永久挂载操作?

在云服务器时代,数据持久化和弹性扩展是核心需求,系统盘通常用于存放操作系统和核心应用,其容量有限且不适合存储重要业务数据,为CentOS服务器挂载一块独立的云盘,作为数据盘使用,是一项基础且至关重要的运维操作,这不仅确保了数据与系统分离,提升了安全性,也方便了后续的备份、迁移和扩容,本文将详细、系统地介绍在CentOS系统中挂载云盘的完整流程,从识别磁盘到实现开机自动挂载,每一步都将提供清晰的指导和说明。

CentOS服务器新购买的云硬盘如何进行分区格式化与永久挂载操作?

准备工作:识别云盘

在开始任何操作之前,首要任务是确认云服务器已经成功挂载了新的云盘,并且操作系统能够识别到这块新的硬件,CentOS提供了多种命令来查看系统中的磁盘设备。

使用 lsblk 命令

lsblk(List Block Devices)是目前最推荐使用的命令,它以树状结构清晰地展示所有块设备及其分区信息,非常直观。

lsblk

执行后,你会看到类似以下的输出:

NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
vda    253:0    0   40G  0 disk
└─vda1 253:1    0   40G  0 part /
vdb    253:16   0  200G  0 disk

在这个例子中:

  • vda 是系统盘,其分区 vda1 已被挂载在根目录 。
  • vdb 就是我们新添加的云盘,容量为200G,它下面没有任何分区(没有 这样的子项),MOUNTPOINT 字段为空,说明它还未被格式化和挂载。

注意:不同云服务商的磁盘设备命名规则可能不同,阿里云通常为 vdbvdc;腾讯云可能为 vdb;AWS则可能是 sdbxvdb,但无论如何,通过 lsblk 的大小和挂载状态,你总能准确地识别出它。

使用 fdisk -l 命令

fdisk -l 是一个传统的磁盘分区查看工具,它会列出系统中所有磁盘的详细分区表信息。

sudo fdisk -l

输出信息会更详细,但相对冗长,你可以通过查找一个没有分区、大小与你购买的云盘容量相符的磁盘来确定它,例如找到类似 Disk /dev/vdb: 214.7 GB, ... 这样的行。

第一步:磁盘分区

对于一块全新的磁盘,通常需要先进行分区,分区可以将一块物理磁盘划分为多个逻辑区域,方便管理和使用,对于大多数场景,创建一个主分区并使用全部空间是最简单直接的选择,我们将使用 fdisk 工具来完成这个任务。

假设我们要操作的云盘是 /dev/vdb

  1. 启动 fdisk 工具

    sudo fdisk /dev/vdb

    进入 fdisk 的交互式命令行界面。

  2. 输入 n 创建新分区

    Command (m for help): n
  3. 选择分区类型
    通常选择 p(主分区 primary)。

    Partition type
       p   primary (0 primary, 0 extended, 4 free)
       e   extended (container for logical partitions)
    Select (default p): p
  4. 设置分区号
    直接按回车键,使用默认的分区号 1

    Partition number (1-4, default 1): 1
  5. 设置起始扇区
    直接按回车键,使用默认的起始扇区,这会从磁盘的开头开始。

    First sector (2048-419430399, default 2048):
  6. 设置结束扇区
    直接按回车键,使用默认的结束扇区,这会使用磁盘的全部剩余空间。

    Last sector, +sectors or +size{K,M,G,T,P} (2048-419430399, default 419430399):
  7. 输入 w 保存并退出

    Command (m for help): w
    The partition table has been altered.
    Calling ioctl() to re-read partition table.
    Syncing disks.

    分区已经创建完成,你可以再次运行 lsblk 命令,会看到 /dev/vdb 下多了一个 /dev/vdb1 的分区。

    CentOS服务器新购买的云硬盘如何进行分区格式化与永久挂载操作?

第二步:格式化文件系统

分区创建后,它还只是一个“空白区域”,需要对其进行格式化,也就是创建文件系统,操作系统才能在其中读写文件,Linux支持多种文件系统,选择合适的文件系统对性能有一定影响。

常见的文件系统对比如下:

文件系统 主要特性 推荐场景
ext4 第四代扩展文件系统,稳定、成熟、是众多Linux发行版的默认选择 通用场景,对稳定性和兼容性要求高的应用
xfs 高性能日志文件系统,特别擅长处理大文件和高并发I/O 数据库、海量小文件存储、高并发读写场景

对于大多数云盘应用,ext4xfs 都是优秀的选择,这里我们以 ext4 为例进行格式化。

sudo mkfs.ext4 /dev/vdb1

如果你希望使用 xfs,请确保系统已安装 xfsprogs 包(通常系统自带),然后执行:

sudo mkfs.xfs /dev/vdb1

格式化过程会持续几秒到几十秒,具体取决于磁盘大小,格式化完成后,该分区就可以被挂载了。

第三步:挂载磁盘

挂载就是将文件系统与操作系统中的一个目录(挂载点)关联起来,之后,所有对该目录的操作都会实际写入到我们的云盘中。

  1. 创建挂载点目录
    通常会选择一个有意义的目录名,/data

    sudo mkdir /data
  2. 执行挂载命令
    使用 mount 命令将分区 /dev/vdb1 挂载到 /data 目录。

    sudo mount /dev/vdb1 /data
  3. 验证挂载结果
    使用 df -hT 命令可以查看已挂载的文件系统及其详细信息。

    df -hT

    你应该能在输出中看到一行关于 /dev/vdb1 的信息,显示它已成功挂载在 /data,文件系统类型为 ext4

    Filesystem     Type      Size  Used Avail Use% Mounted on
    ...
    /dev/vdb1      ext4      197G   24K  187G   1% /data

    至此,云盘已经可以正常使用了,你可以向 /data 目录中写入文件进行测试。

第四步:实现开机自动挂载

上述挂载操作在服务器重启后会失效,为了保证数据持久可用,必须将挂载信息写入到系统的分区表配置文件 /etc/fstab 中,系统在启动时会自动读取此文件并完成挂载。

  1. 获取分区的UUID
    为了防止设备名(如 /dev/vdb1)在某些情况下发生变化(例如多块磁盘热插拔),强烈推荐使用分区的UUID(Universally Unique Identifier)来标识设备,使用 blkid 命令可以获取。

    sudo blkid /dev/vdb1

    输出类似:

    /dev/vdb1: UUID="a1b2c3d4-e5f6-7890-1234-567890abcdef" TYPE="ext4"

    记下这串UUID。


  2. 使用文本编辑器(如 vinano)打开 /etc/fstab 文件。

    sudo vi /etc/fstab
  3. 添加挂载条目
    在文件末尾添加一行,格式为:<设备信息> <挂载点> <文件系统类型> <挂载选项> <dump> <pass>
    使用我们获取的UUID,添加如下内容:

    UUID=a1b2c3d4-e5f6-7890-1234-567890abcdef /data ext4 defaults 0 0
    • UUID:替换为你自己的UUID。
    • /data:挂载点目录。
    • ext4:文件系统类型。
    • defaults:使用默认挂载选项(rw, suid, dev, exec, auto, nouser, async)。
    • 0:表示不使用 dump 工具进行备份。
    • 0:表示在系统启动时不使用 fsck 进行磁盘检查,对于数据盘,通常设置为0。

  4. 在重启服务器之前,最好先测试一下配置文件是否正确,使用 mount -a 命令,它会尝试挂载 /etc/fstab 中所有未挂载的条目,如果没有报错,说明配置无误。

    CentOS服务器新购买的云硬盘如何进行分区格式化与永久挂载操作?

    sudo mount -a

    如果没有任何输出,通常表示成功,之后再次使用 df -hT 确认 /data 依然挂载着。

完成以上所有步骤后,你的CentOS服务器就成功挂载了云盘,并设置了开机自动挂载,这块 /data 目录现在就是你专属的、持久化的数据存储空间了。


相关问答FAQs

Q1: 如果我想暂时卸载这块云盘,或者将它挂载到其他服务器上,应该怎么做?

A: 卸载云盘是一个简单的过程,确保没有进程正在使用该磁盘上的任何文件,然后使用 umount 命令。

  1. 安全卸载

    sudo umount /data

    如果提示 “device is busy”,说明有文件正在被访问,你可以使用 lsof /data 查看是哪个进程占用了它,停止相关进程后再卸载。

  2. 强制卸载(不推荐,但紧急时可用)
    如果无法立即停止进程,可以使用 -l 选项进行延迟卸载,它会立即卸载挂载点,等到设备不再繁忙时才真正清理。

    sudo umount -l /data

    卸载后,你需要在云服务商的控制台先将该云盘从当前服务器上“分离”(Detach),然后才能将其“附加”(Attach)到另一台服务器上,附加到新服务器后,你需要在新服务器上重复本文的挂载流程(从创建挂载点开始,但无需再分区和格式化)。

Q2: 我按照步骤操作了,也修改了 /etc/fstab,但服务器重启后云盘还是没有自动挂载,是什么原因?

A: 这通常是 /etc/fstab 文件配置错误导致的,系统启动时会尝试挂载,如果失败就会跳过。

  1. 检查语法错误:最常见的原因是拼写错误或字段缺失,请仔细检查你添加的那一行,确保UUID、挂载点、文件系统类型等字段都正确无误,且字段之间用空格或制表符(Tab)分隔,特别是UUID,很容易输错。

  2. 查看系统日志:使用 journalctl 命令可以查看系统启动时的日志,寻找与挂载相关的错误信息。

    journalctl -b | grep mount

    或者

    journalctl -b | grep 'fstab'

    日志中通常会明确指出是哪个设备挂载失败了,以及失败的原因(”wrong fs type”, “bad option”, “superblock missing” 等)。

  3. 手动验证:在服务器启动后,先不要修改 /etc/fstab,直接尝试手动挂载,如果手动挂载也失败,说明问题可能出在分区或文件系统损坏上,如果手动挂载成功,但 mount -a 失败,那几乎可以肯定是 /etc/fstab 文件的语法问题,请仔细对照排查。

【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!

(0)
热舞的头像热舞
上一篇 2025-10-14 03:34
下一篇 2025-10-14 03:38

相关推荐

  • 服务器怎么连接mysql数据库_数据库连接

    服务器连接MySQL数据库需要安装MySQL客户端,使用命令行或图形化工具输入正确的用户名、密码和数据库名进行连接。

    2024-06-25
    003
  • CentOS 7的vi编辑器如何强制退出并保存?

    在 Linux 系统管理领域,尤其是在 CentOS 7 这样的企业级发行版中,vi(或其增强版 vim)是一个无处不在且功能强大的文本编辑器,无论是修改网络配置、编写脚本还是调整系统服务,掌握 vi 的基本操作都是一项必备技能,对于初次接触它的用户来说,最直观的困惑往往并非如何编辑文本,而是如何“优雅地”退出……

    2025-10-09
    002
  • i386架构的CentOS系统现在还值得使用吗?

    在信息技术发展的长河中,i386架构的CentOS系统扮演了一个重要且独特的角色,它曾是无数服务器、工作站和嵌入式设备的稳定基石,以其源自Red Hat Enterprise Linux(RHEL)的血统,为32位硬件平台提供了企业级的可靠性和稳定性,随着技术的飞速迭代,这个曾经辉煌的组合已逐渐淡出主流视野,成……

    2025-10-02
    001
  • CentOS如何删除默认网关并永久保存配置,防止重启失效?

    在Linux系统管理中,网络配置是一项基础且至关重要的任务,默认网关扮演着“交通警察”的角色,负责指导所有发往本地网络之外的数据包应该被发送到下一个路由器地址,在CentOS系统中,无论是为了故障排查、网络重构还是安全隔离,管理员都可能需要删除现有的默认网关设置,本文将详细、系统地介绍在CentOS中如何查看……

    2025-10-07
    007

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

QQ-14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信