当前位置:首页 > 虚拟主机 > 正文

广州云服务器怎么挂载第二块硬盘?服务器挂载新硬盘教程

在云服务器环境中,挂载第二块硬盘是扩展存储容量、分离数据与系统盘或提升I/O性能的常见操作,由于云服务器通常基于虚拟化技术,其底层硬件逻辑与物理机有所不同,因此操作前需明确当前系统的磁盘状态及文件系统类型,以下将以主流的 Linux 系统(如 CentOS、Ubuntu)为例,详细说明从识别磁盘到完成挂载的全过程。

准备工作与磁盘识别

在开始操作之前,必须确保已在云控制台完成了云硬盘的创建,并将其绑定到了当前实例上,进入服务器后,首先需要确认系统是否已经识别到了这块新硬盘。

使用 lsblk 或 fdisk -l 命令可以查看当前的磁盘列表,系统盘会被命名为 vda 或 sda,而新挂载的第二块硬盘通常会被识别为 vdb、sdb 或 xvdb 等后续字母命名的设备。

命令 作用说明 预期输出示例
lsblk 以树状结构显示块设备信息 显示 vda (系统盘) 和 vdb (新盘)
fdisk -l 列出所有磁盘分区表详情 显示 /dev/vdb 无分区或无文件系统
df -h 查看已挂载的文件系统使用情况 新盘不会出现在此列表中,直到挂载完成

注意:如果命令输出中未出现新硬盘,请检查云控制台是否已成功绑定,或尝试重启实例以刷新硬件列表。

磁盘分区与格式化

识别到新硬盘后,不能直接挂载,必须先进行分区和格式化,这一步会将裸设备转化为操作系统可识别的文件系统。

1 磁盘分区

使用 fdisk 工具对新硬盘进行分区,假设新硬盘为 /dev/vdb:

sudo fdisk /dev/vdb

在交互界面中,依次执行以下操作:

  1. 输入 n 创建新分区。
  2. 输入 p 选择主分区。
  3. 分区号默认输入 1 并回车。
  4. 起始扇区默认回车。
  5. 结束扇区默认回车(表示使用全部剩余空间)。
  6. 输入 w 保存并退出。

2 格式化文件系统

分区完成后,需要将分区格式化为 Linux 常用的 ext4 或 xfs 文件系统。

  • 格式化为 ext4: sudo mkfs.ext4 /dev/vdb1
  • 格式化为 xfs: sudo mkfs.xfs /dev/vdb1

风险提示:格式化操作会清空该磁盘上的所有数据,请务必确认该磁盘为空盘或数据已备份。

创建挂载点并挂载

格式化完成后,需要创建一个目录作为挂载点,然后将磁盘挂载到该目录。

1 创建挂载点

通常建议将数据盘挂载在 /data 或 /mnt 目录下。

sudo mkdir -p /data

2 执行挂载

将 /dev/vdb1 挂载到 /data 目录。

广州云服务器怎么挂载第二块硬盘?服务器挂载新硬盘教程 第1张

使用 df -h 命令可以看到 /data 目录已经显示了新硬盘的容量。

配置开机自动挂载

上述挂载操作在重启服务器后会失效,为了实现开机自动挂载,需要修改 /etc/fstab 文件。

1 获取磁盘 UUID

推荐使用 UUID 而非设备名(如 /dev/vdb1)进行挂载,因为设备名在重启后可能会发生变化(例如从 vdb 变为 vdc),而 UUID 是唯一的。

sudo blkid /dev/vdb1

输出示例:

/dev/vdb1: UUID="12345678-1234-1234-1234-123456789012" TYPE="ext4"

2 修改 fstab 文件

使用文本编辑器打开 /etc/fstab:

sudo vi /etc/fstab

在文件末尾添加一行,格式如下:

广州云服务器怎么挂载第二块硬盘?服务器挂载新硬盘教程 第2张

UUID=12345678-1234-1234-1234-123456789012 /data ext4 defaults 0 0

  • 注意:请将 UUID=... 替换为你实际查询到的 UUID,/data 为你的挂载点,ext4 为你的文件系统类型。

3 验证配置

修改完成后,务必执行以下命令测试配置是否正确,如果配置有误,系统重启可能无法进入。

sudo mount -a

如果没有报错,说明配置成功。

权限设置

默认情况下,新挂载的磁盘可能只有 root 用户拥有读写权限,如果需要普通用户访问,需要修改目录权限。

# 修改所有者为当前用户(user) sudo chown -R user:user /data # 或者修改权限为所有用户可读写(谨慎使用) sudo chmod 777 /data


相关问题与解答

问题 1:在挂载第二块硬盘时,提示“Device or resource busy”,该如何解决?

解答:

这个错误通常意味着该设备已经被挂载,或者存在残留的挂载信息,请按以下步骤排查:

  1. 检查是否已挂载:使用 mount | grep /dev/vdb1 查看该分区是否已经挂载在某个目录下,如果已挂载,先使用 umount /dev/vdb1 卸载,再重新执行挂载操作。
  2. 检查是否有进程占用:使用 lsof /dev/vdb1 查看是否有进程正在使用该设备,如果有,先终止相关进程或卸载设备。
  3. 检查 fstab 配置:/etc/fstab 中配置了自动挂载,而你在命令行又手动挂载了一次,可能会冲突,建议先注释掉 fstab 中的相关行,手动挂载测试无误后,再恢复配置。

问题 2:新挂载的硬盘空间显示正常,但写入数据时报“No space left on device”错误,可能是什么原因?

解答:

这种情况通常不是磁盘容量满了,而是 Inode 耗尽 导致的。

  1. 检查 Inode 使用情况:使用 df -i 命令查看文件系统的 Inode 使用率,Inode 使用率达到 100%,即使磁盘空间还有剩余,也无法创建新文件。
  2. 原因分析:这通常是因为目录下存在大量小文件(如缓存文件、日志碎片等)。
  3. 解决方法
    • 找出占用 Inode 最多的目录:find /data -xdev -type f | cut -d "/" -f 2| sort | uniq -c | sort -n | tail -20。
    • 清理不必要的小文件。
    • 如果经常遇到此问题,建议在格式化时调整 Inode 数量,例如使用 mkfs.ext4 -N 10000000 /dev/vdb1 指定更大的 Inode 数量(需重新格式化,注意备份数据)。

广州云服务器怎么挂载第二块硬盘?服务器挂载新硬盘教程 第3张

0