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
相关推荐
LH_R11 分钟前
OneTerm开源堡垒机实战(三):功能扩展与效率提升
运维·后端·安全
dessler44 分钟前
Hadoop HDFS-高可用集群部署
linux·运维·hdfs
泽泽爱旅行1 小时前
awk 语法解析-前端学习
linux·前端
少妇的美梦19 小时前
logstash教程
运维
chen94519 小时前
k8s集群部署vector日志采集器
运维
chen94519 小时前
aws ec2部署harbor,使用s3存储
运维
轻松Ai享生活1 天前
5 节课深入学习Linux Cgroups
linux
christine-rr1 天前
linux常用命令(4)——压缩命令
linux·服务器·redis
三坛海会大神5551 天前
LVS与Keepalived详解(二)LVS负载均衡实现实操
linux·负载均衡·lvs
東雪蓮☆1 天前
深入理解 LVS-DR 模式与 Keepalived 高可用集群
linux·运维·服务器·lvs