如何格式化已挂载并安装宝塔面板的数据盘

在云服务器上,如果数据盘已经挂载并安装了宝塔面板(默认路径通常为 /www,包含PHP、Nginx/Apache、MySQL等环境),但你需要重新格式化数据盘(例如更换文件系统或清理数据),本教程将指导你完成整个过程。由于格式化会清除数据盘上的所有内容,我们需要谨慎操作并备份重要数据。

前提条件

  1. 数据盘已挂载(例如挂载到 /www)。
  2. 宝塔面板已安装并运行,包含PHP等环境。
  3. 通过SSH以root权限登录服务器。
  4. 已确认需要格式化数据盘(例如 /dev/vdb1)。

步骤一:备份现有数据

由于数据盘上已有宝塔环境和网站数据,直接格式化会导致数据丢失,因此第一步是备份。

  1. 检查挂载点
    输入以下命令,确认数据盘的挂载情况:
   df -h

假设输出显示 /dev/vdb1 挂载在 /www,这就是我们要操作的目录。

  1. 停止宝塔服务

查看哪些正在运行:

lsof /www

宝塔官网寻找指令进行停止:

bt 2 #停止宝塔面板
/etc/init.d/nginx stop #停止NG服务
/etc/init.d/mysqld stop #停止数据库
/etc/init.d/php-fpm-80 stop #停止PHP,根据查看情况修改即可,这里80表示PHP8.0

停用后继续使用lsof /www查看,没有就正常了。

  1. 备份数据
    /www 目录备份到系统盘(例如 /root/backup)或其他存储位置:
mkdir -p /root/backup
cp -r /www /root/backup/

这会备份宝塔的配置文件、网站文件和数据库等。视数据量大小,备份可能需要一些时间。自行备份站点下载到电脑最好

  1. 验证备份
    检查备份是否完整:
   ls -lh /root/backup/www

确保关键目录(如 /www/server/www/wwwroot)存在。


步骤二:卸载数据盘

在格式化之前,需要先卸载数据盘的挂载。

  1. 检查挂载点
    再次确认数据盘挂载点:
mount | grep /dev/vdb1

输出类似:/dev/vdb1 on /www type ext4 ...

  1. 卸载挂载
    输入以下命令卸载:
umount /www

如果提示设备忙,可能是有进程占用,运行以下命令查找并结束相关进程:

fuser -m /www
fuser -km /www

然后再次尝试卸载:

umount /www
  1. 验证卸载
    检查是否成功卸载:
df -h

输出中不应再显示 /dev/vdb1


步骤三:格式化数据盘

现在数据盘已卸载,可以进行格式化操作。

  1. 格式化为 ext4 文件系统
    输入以下命令格式化数据盘(以 /dev/vdb1 为例):
mkfs.ext4 /dev/vdb1

等待格式化完成。注意:这会清空数据盘上的所有数据。

  1. 验证格式化
    检查文件系统类型:
blkid /dev/vdb1

输出应显示 TYPE="ext4"


步骤四:重新挂载数据盘

格式化完成后,需要将数据盘重新挂载回 /www,并确保开机自动挂载。

  1. 创建挂载点
    如果 /www 目录已被删除,重新创建:
mkdir -p /www
  1. 临时挂载
    挂载数据盘到 /www
mount /dev/vdb1 /www
  1. 验证挂载
    检查挂载是否成功:
df -h

输出应显示 /dev/vdb1 已挂载到 /www

  1. 设置开机自动挂载
    编辑 /etc/fstab 文件:
vim /etc/fstab

确保其中包含以下一行(如果没有则添加):

/dev/vdb1  /www  ext4  defaults  0  0

保存并运行:

mount -a

如果无报错,说明配置正确。


步骤五:恢复宝塔环境

将备份的数据恢复到新格式化的数据盘,并重新配置宝塔环境。

  1. 恢复备份
    将之前备份的文件复制回 /www
cp -r /root/backup/www/* /www/
  1. 修复宝塔权限
    恢复文件后,修复宝塔目录的权限:
chown -R www:www /www/wwwroot
chmod -R 755 /www/server
  1. 启动宝塔服务
    启动宝塔面板:
/etc/init.d/bt start
  1. 验证环境
    登录宝塔面板(通常通过 http://服务器IP:8888),检查PHP、Nginx/Apache、MySQL等服务是否正常运行。如果有问题,可在宝塔面板中重新安装对应组件。

步骤六:测试网站和数据库

  1. 检查网站
    访问你的网站域名,确保页面正常加载。
  2. 检查数据库
    在宝塔面板的“数据库”模块中,确认数据库可用,并测试连接。

注意事项

  1. 备份完整性:格式化前务必确认备份完整,避免数据丢失。
  2. 服务停止:操作期间停止宝塔服务,以免数据不一致。
  3. 云服务商限制:某些云服务商可能要求在控制台重新挂载数据盘,请参考其文档。
  4. PHP环境:如果PHP版本或配置丢失,可通过宝塔面板重新安装。

示例脚本

以下是一个简化的自动化脚本,用于备份、格式化和恢复(请根据实际情况调整):

#!/bin/bash
disk="/dev/vdb1"
mount_point="/www"
backup_dir="/root/backup"

# 停止宝塔服务
/etc/init.d/bt stop

# 备份数据
echo "备份数据到 $backup_dir ..."
mkdir -p $backup_dir
cp -r $mount_point $backup_dir/

# 卸载挂载
echo "卸载 $mount_point ..."
umount $mount_point

# 格式化数据盘
echo "格式化 $disk ..."
mkfs.ext4 $disk

# 重新挂载
echo "挂载 $disk 到 $mount_point ..."
mkdir -p $mount_point
mount $disk $mount_point

# 恢复数据
echo "恢复数据到 $mount_point ..."
cp -r $backup_dir/www/* $mount_point/
chown -R www:www $mount_point/wwwroot
chmod -R 755 $mount_point/server

# 启动宝塔服务
/etc/init.d/bt start
echo "操作完成,请检查宝塔环境!"

结语

通过以上步骤,你可以在已挂载并安装宝塔面板的数据盘上安全地完成格式化操作,同时保留PHP等环境和网站数据。操作完成后,建议再次检查网站和数据库的可用性,确保一切正常运行。

请登录后发表评论

    没有回复内容