腾讯云硬盘挂载实战指南
环境基础:Ubuntu 24.04 LTS 适用场景:新购云硬盘后,需手动格式化、挂载并配置开机自动加载。
1. 确认数据盘是否被系统识别
在操作前,首先需要确认系统已正确识别到新购买的磁盘设备。
sudo lsblk
结果如下
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sr0 11:0 1 175.5M 0 rom
vda 253:0 0 50G 0 disk
├─vda1 253:1 0 1M 0 part
└─vda2 253:2 0 50G 0 part /
vdb 253:16 0 50G 0 disk # ← 新挂载的数据盘,无 MOUNTPOINTS
💡 小白知识点:如何辨认新盘?
vda通常是系统盘(已有/根分区)。vdb通常是新购数据盘,其MOUNTPOINTS列为空,表示尚未挂载使用。
2. 格式化硬盘(可选)
⚠️ 注意:仅对全新空盘执行此操作!若磁盘已有数据,格式化将导致数据永久丢失。
sudo mkfs -t ext4 /dev/vdb
💡 命令拆解与科普
参数/路径 含义 说明 /devDevice 目录 Linux 中所有设备都以文件形式存在于此目录下 mkfsMake FileSystem 创建文件系统,即我们常说的“格式化” -t ext4Type = ext4 指定文件系统类型。ext4 是 Linux 最常用、稳定可靠的文件系统 /dev/vdb目标设备 要格式化的磁盘完整路径
3. 挂载硬盘
将格式化好的磁盘关联到一个具体的文件夹(挂载点),之后访问该文件夹即等于访问该磁盘。
# 1. 创建挂载点目录
sudo mkdir /data
# 2. 执行挂载
sudo mount /dev/vdb /data
💡 核心概念理解
mkdir /data:创建一个名为/data的文件夹作为“入口”。注意/是根目录。mount:挂载命令,负责将物理磁盘与文件夹建立映射关系。- 实际效果:此后往
/data目录写入的任何文件,实际都存储在了/dev/vdb这块硬盘上。- 路径规范:
mount的第一个参数必须是块设备的完整路径(如/dev/vdb),因为 Linux 中磁盘是以文件形式存在于/dev下的。
4. 验证挂载结果
使用 df 命令确认磁盘是否已成功挂载且容量正常。
df -Th
预期输出示例:
Filesystem Type Size Used Avail Use% Mounted on
/dev/vda2 ext4 50G 6.1G 41G 13% /
/dev/vdb ext4 49G 24K 47G 1% /data # ← 确认此行存在
💡 命令参数说明
df(Disk Free):查看磁盘空间使用情况。-T(Type):显示文件系统类型(如 ext4)。-h(Human-readable):以人类可读格式显示容量(GB/MB),而非原始字节数。
5. 配置开机自动挂载(可选)
临时挂载在服务器重启后会失效。强烈建议使用 UUID 而非设备名(/dev/vdb)进行持久化配置,避免因设备顺序变化导致挂载错误或无法开机。
5.1 获取磁盘 UUID
sudo blkid /dev/vdb
# /dev/vdb: UUID="0a8c1877-16bc-45ca-9361-257648e298d5" BLOCK_SIZE="4096" TYPE="ext4"
5.2 写入 fstab 配置文件
echo 'UUID=0a8c1877-16bc-45ca-9361-257648e298d5 /data ext4 defaults,nofail 0 0' | sudo tee -a /etc/fstab
💡 命令与参数详解
echo '...' | sudo tee -a:通过管道将配置文本以管理员权限追加写入文件。比直接用编辑器更安全、更适合脚本化操作。/etc/fstab:系统启动时的自动挂载配置文件。defaults,nofail:
defaults:使用默认挂载参数。nofail:关键安全参数。即使硬盘故障或移除,系统仍可正常启动,避免卡在紧急模式。推荐加上写0 0:第一个0表示不备份(dump),第二个0表示开机不进行 fsck 自检。
5.3 验证配置正确性
⚠️ 必做步骤:写入 fstab 后务必验证,错误配置可能导致重启后系统无法进入!
grep -E 'vdb|0a8c1877' /etc/fstab && echo '--- mount -a test ---' && sudo mount -a && echo '✅ mount -a OK, no error'
预期输出:
UUID=0a8c1877-16bc-45ca-9361-257648e298d5 /data ext4 defaults,nofail 0 0
--- mount -a test ---
✅ mount -a OK, no error
💡 验证命令解读
grep -E 'vdb|0a8c1877':使用扩展正则表达式匹配。|表示“或”,无论 fstab 中使用的是设备名还是 UUID 写法,都能匹配到对应行,确认配置已写入。sudo mount -a:重新加载 fstab 中所有未挂载的条目。如果配置有误,此命令会直接报错;输出OK则代表配置语法正确且挂载成功。
5.4 取消开机挂载
nano 可替换为 vi/vim
sudo nano /etc/fstab
找到下面注释(#)掉或者删除
UUID=0a8c1877-16bc-45ca-9361-257648e298d5 /data ext4 defaults 0 0
6. 确定访问权限
6.1 所有用户都可以写入
sudo chmod 777 /data
6.2 当前自己(ubuntu)
比较简单
sudo chown ubuntu:ubuntu /data
- 把 /data 的拥有者(owner)从 root 改为 ubuntu
- 把 /data 的所属组(group)从 root 改为 ubuntu
6.3 用户组
- 建一个共享组,例如 datashare:
sudo groupadd datashare - 把需要用盘的用户加入该组(以 ubuntu 和 oahai为例):
sudo usermod -aG datashare ubuntu sudo usermod -aG datashare oahai - 改目录属组并设权限为组内可写:
效果:datashare 组内所有成员可读写,其他用户只读。这是『指定多用户通用』的标准做法。sudo chown :datashare /data sudo chmod 775 /data
7.卸载硬盘
卸载文件系统(确保无程序占用)
# 查询
fuser -mv /data
# USER PID ACCESS COMMAND
#/data: root kernel mount /data
# ubuntu 2001 ..c.. bash
# 卸载
sudo umount /data
/data挂载目录
验证
df -hT /data
