神人佛8客

云服务器硬盘挂载,脚本核心作用(详细说明)

神人佛 神人佛 2026-10-28 23:52 0

1793193852313.png1、自动检测磁盘状态

脚本会自动判断服务器是否存在数据盘  /dev/vdb ,没有磁盘直接终止运行,避免误操作报错。

2、智能分区判断

– 已分区:自动跳过分区步骤,不重复操作

– 未分区:自动创建 GPT分区格式(现代服务器标准格式、支持大容量磁盘)

3、自动格式化EXT4文件系统

Linux 服务器通用格式  ext4 ,稳定、兼容宝塔、兼容 WordPress、兼容性最强。

4、自动写入开机永久挂载

很多新手只会临时挂载,重启服务器挂载就失效。1793193845776.png

本脚本自动获取磁盘 UUID,写入  /etc/fstab  开机配置,永久挂载、重启不丢失。

5、自动适配宝塔面板

默认宝塔只读取系统盘,不识别数据盘。

脚本自动写入宝塔磁盘配置文件:

让宝塔首页、磁盘统计、文件管理 完全识别 /data 数据盘。

6、支持网站目录迁移(预留功能)

脚本预留软链接迁移功能,可一键把:

 /www/wwwroot  网站目录迁移到大容量数据盘,解决系统盘空间不足卡死问题。

二、适用场景1793193846895.png

– 腾讯云轻量服务器新装数据盘无法识别

– 重装系统后数据盘丢失、不显示

– 宝塔面板只显示系统盘、不显示数据盘

– 需要永久自动挂载数据盘

– 网站太多、系统盘爆满、需要迁移数据到数据盘

PHP
#!/bin/bash
echo "====================腾讯云轻量数据盘一键挂载脚本===================="
echo "设备:/dev/vdb 目标挂载目录:/data"
sleep 1

# 判断磁盘是否存在
if [ ! -b /dev/vdb ];then
echo "❌ 未检测到数据盘/dev/vdb,终止运行"
exit 1
fi

# 判断是否已分区
if blkid /dev/vdb1 >/dev/null 2>&1;then
echo "⚠️磁盘已经分区,跳过分区步骤"
else
echo "🔧 开始分区 /dev/vdb"
parted -s /dev/vdb mklabel gpt
parted -s /dev/vdb mkpart primary ext4 0% 100%
sleep 2
fi

# 格式化分区
echo "📦 格式化分区 /dev/vdb1 为ext4"
mkfs.ext4 -F /dev/vdb1

# 创建挂载目录
mkdir -p /data

# 获取UUID写入开机挂载
UUID=$(blkid /dev/vdb1 | awk '{print $2}' | sed 's/UUID="//;s/"//')
echo "UUID=$UUID /data ext4 defaults 0 2" >> /etc/fstab

# 临时挂载生效
mount -a

# 宝塔配置修改:面板磁盘统计读取/data,首页显示数据盘
echo "⚙️配置宝塔识别数据盘"
mkdir -p /www/server/panel/config
cat > /www/server/panel/config/disk.conf <<EOF
disk_path="/data"
EOF

# 软链接可选(可选把网站目录迁移到数据盘,按需启用)
# mv /www/wwwroot /data/
# ln -s /data/wwwroot /www/wwwroot

# 重启宝塔刷新统计
/etc/init.d/bt restart

# 输出结果
echo "=================================================="
echo "✅挂载完成"
echo "磁盘挂载信息:"
df -h
echo ""
echo "📌宝塔刷新后首页就能看到数据盘容量"
echo "=================================================="
分享海报

发表评论

服务 32.9ms 网页 94.9ms 查询 46次 内存 3.8MB