ESC

开始输入,可搜索发票、服务、域名、工单,以及 更多...

搜索... Ctrl+K
Linux 服务器

Linux 数据盘挂载教程:分区、格式化与开机自动挂载

6 个步骤 6 分钟阅读 230 次阅读 0
本文目录

新购买或新增的硬盘在 Linux 中不会自动出现在目录里,需要先分区、格式化再挂载才能使用。本文讲解 Linux 数据盘挂载的完整流程:用 lsblk 识别磁盘、用 fdisk 或 parted 分区、用 mkfs.ext4 / mkfs.xfs 格式化,最后通过 UUID 写入 /etc/fstab 实现开机自动挂载。命令适用于 Debian、Ubuntu、CentOS、Rocky Linux、AlmaLinux,全部以 root 用户执行。

分区和格式化会清空磁盘上的所有数据。操作前请务必确认目标磁盘名称,切勿对系统盘(通常是 vda/sda)执行以下命令;已有数据的磁盘请先备份。

步骤 1:用 lsblk 查看 Linux 数据盘

执行 lsblk 列出所有块设备。没有分区、没有挂载点的磁盘就是新数据盘。KVM 云服务器上通常显示为 vdb,独立服务器常见为 sdb,NVMe 硬盘则为 nvme1n1。下文以 /dev/vdb 为例,请按实际名称替换。

lsblk
# Example output
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

步骤 2:给数据盘分区(fdisk 或 parted)

容量小于 2 TB 的磁盘可以使用 fdisk 创建 MBR 分区,按提示依次输入即可:

fdisk /dev/vdb
# Inside fdisk type:
#   n      new partition
#   p      primary
#   1      partition number
#   Enter  accept default first sector
#   Enter  accept default last sector (use the whole disk)
#   w      write changes and exit

大于 2 TB 的磁盘必须使用 GPT 分区表,推荐使用 parted 一条命令完成,“0% 100%”能让分区自动对齐:

# GPT partition table, one partition using the whole disk (required for disks > 2 TB)
parted -s /dev/vdb mklabel gpt mkpart primary 0% 100%
partprobe /dev/vdb
lsblk /dev/vdb

步骤 3:格式化数据盘(ext4 或 XFS)

ext4 兼容性最好,支持在线扩容和离线缩小;XFS 在大文件、大容量场景下性能更稳定,但不支持缩小。两者任选其一即可,没有特殊需求时保持发行版默认格式。

# Option A: ext4 (default on Debian / Ubuntu)
mkfs.ext4 /dev/vdb1

# Option B: XFS (default on CentOS / Rocky / AlmaLinux)
mkfs.xfs /dev/vdb1

# Install XFS tools if mkfs.xfs is missing
apt install -y xfsprogs        # Debian / Ubuntu
dnf install -y xfsprogs        # CentOS / Rocky / AlmaLinux

步骤 4:创建挂载目录并手动挂载

创建一个挂载点目录(例如 /data),把分区挂载上去,再用 df -hT 确认容量和文件系统类型是否正确。此时挂载只在本次开机有效,重启后会消失。

mkdir -p /data
mount /dev/vdb1 /data
df -hT /data

步骤 5:使用 UUID 写入 /etc/fstab 实现开机自动挂载

设备名(如 vdb1)在增减磁盘后可能变化,因此 fstab 中推荐使用 UUID。先用 blkid 查询分区 UUID,备份 fstab 后追加一行。nofail 参数可以在数据盘异常时让系统仍能正常启动,避免卡在紧急模式;若使用 XFS,请把 ext4 改为 xfs。

blkid /dev/vdb1
# /dev/vdb1: UUID="3f1c2a9e-5b7d-4c11-9a0e-2d6f8b1e4c55" TYPE="ext4" ...

cp /etc/fstab /etc/fstab.bak
echo 'UUID=3f1c2a9e-5b7d-4c11-9a0e-2d6f8b1e4c55  /data  ext4  defaults,nofail  0  2' >> /etc/fstab

步骤 6:验证 fstab 配置是否正确

先卸载,再用 mount -a 按 fstab 重新挂载。如果没有任何报错,且 df 中能看到 /data,说明配置正确,重启后也会自动挂载。若报错,请立即根据提示修正或恢复 /etc/fstab.bak,不要在 fstab 有错误时重启。

umount /data
systemctl daemon-reload
mount -a
df -hT /data

常见问题

lsblk 中看不到新加的硬盘怎么办?

云服务器新增磁盘后,部分系统需要重启或重新扫描总线才能识别。可以先重启服务器再查看;独立服务器请确认硬盘是否在 RAID 卡中创建了逻辑卷。如仍看不到,请提交工单确认磁盘是否已正确分配。

fstab 写错导致服务器无法启动怎么办?

通过客户中心的 VNC 控制台进入系统,根据提示输入 root 密码进入维护模式,执行 mount -o remount,rw / 后编辑 /etc/fstab,注释或修正错误行再重启。

可以不分区直接格式化整块磁盘吗?

技术上可以直接对 /dev/vdb 执行 mkfs,但建议保留分区表,便于其他工具识别磁盘用途,也能减少误操作风险。如果后续需要灵活扩容,可以考虑使用 LVM。

如按以上步骤操作后仍无法解决,欢迎提交工单联系 IMIDC 7×24 技术支持。提交时请注明服务器 IP、操作系统、已执行的命令和报错截图,工程师可以更快定位问题。

这篇文章有帮助吗?

相关教程