linux添加新硬盘挂载分区和数据迁移

linux添加新硬盘挂载分区和数据迁移

添加硬盘和挂载分区

开始前,停止所有与迁移数据目录相关的服务和容器

bash 复制代码
systemctl stop nginx
systemctl stop docker
# 关闭自启动,防止重启后有新的请求进入到服务
systemctl disable nginx
systemctl disable docker
  1. 查看现有分区
bash 复制代码
lsblk

看出这里只有一个系统盘vda(虚拟环境的系统都是以vdX命名,例如云服务器,物理设备是以sdX命名)

bash 复制代码
# 查看硬盘是ssd还是hdd,rota为1表示可旋转的hdd,0为ssd
lsblk -d -o name,rota
# 或者
cat /sys/block/vda/queue/rotational
  1. 增加后再次执行lsblk会增加一个类似vdb命名的硬盘
  2. 开始挂载分区
bash 复制代码
# 创建分区
fdisk /dev/vdb
# 在fdisk中: n(新建分区)->p(主分区)->1(分区号)->(默认起始扇区)->(默认结束扇区)->w(保存)

保存之后执行fdisk -l查看新建的分区vdb1

  1. 格式化分区
bash 复制代码
# 高io推荐xfs
mkfs.xfs /dev/vdb1
  1. 开始挂载分区
bash 复制代码
# 新建挂载目录
mkdir /mnt/vdb1
# 临时挂载
mount /dev/vdb1 /mnt/vdb1
# 永久挂载
echo "UUID=$(sudo blkid -s UUID -o value /dev/vdb1) /mnt/vdb1 xfs defaults 0 0" | sudo tee -a /etc/fstab

重启执行lsblk验证

迁移数据

  1. 拷贝数据
bash 复制代码
# 复制数据到新磁盘
rsync -avzh --progress /docker_v/ /mnt/vdb1/docker_v/
# 验证数据完整性,如果无输出,表示完全一致
diff -r /docker_v/ /mnt/vdb1/docker_v/
  1. 重启容器服务
  • 2.1 方式一、使用软连接方式(生产环境优选)
bash 复制代码
# 确保软链接的目标目录权限与原目录一致
chown -R root:root /mnt/vdb1/docker_v
# 重命名原目录(保险操作)
sudo mv /docker_v /docker_v_old
# 创建软连接
ln -sf /mnt/vdb1/docker_v /docker_v

优点

快速无缝迁移:容器无需修改配置,所有路径保持不变

缺点

若软链接被误删或新磁盘挂载失败,或目录权限被更改,Docker 将无法访问数据。

  • 2.2 方式二、修改容器挂载目录方式(建议开发测试环境采用)
  • 修改容器配置,提前记录好每个容器主要参数,如原挂载信息,端口映射,网络模式,镜像版本等(使用docker inspect <容器名>查看,最好保存到文档)
  • 删除容器(不删数据卷)docker rm <容器名>
  • 重新创建容器,将挂载路径改为新目录-v /mnt/vdb1/docker_v/?:/path/in/container(同时留意该容器其他启动参数是否正确)

优点

直接管理数据路径,降低复杂度避免误操作更稳定,灵活性高。

缺点

操作繁琐,需修改容器配置

  1. 测试检查
bash 复制代码
#启动docker容器和相关服务测试有无问题
systemctl start docker
systemctl start nginx
# 无问题,恢复自启动
systemctl enable nginx
systemctl enable docker
相关推荐
zhaqonianzhu10 分钟前
【保姆级】无外网 Linux 服务器用 VSCode 通义灵码:SSH 代理配置全流程
linux·服务器·vscode
Murphy_lx12 分钟前
C++ 条件变量
linux·开发语言·c++
EasyCVR1 小时前
视频汇聚平台EasyCVR服务器使用WiFi网卡时,为何无法向级联平台发送注册?
运维·服务器
LCG元1 小时前
Linux 信号(Signals)机制详解:如何优雅地关闭你的进程?
linux
kevin 11 小时前
财报处理自动化,财报OCR识别录入系统将非结构化报表转化为可分析数据
运维·自动化·ocr
King's King1 小时前
智慧医院全场景自动化解决方案及运维服务
运维·自动化
简道云平台1 小时前
如何2小时搭建一套工程项目安全巡检管理系统
运维·安全·项目管理
梁正雄2 小时前
linux服务-Nginx+Tomcat+Redis之Session 共享
linux·nginx·tomcat
zhendianluli2 小时前
windows文件通过SSH复制到ubuntu目录下
运维·ubuntu·ssh
dyxal2 小时前
linux系统上 WPS Office新增字体
linux·运维·wps