如何迁移Linux实例系统盘中的数据

免责声明: 本文档可能包含第三方产品信息,该信息仅供参考。阿里云对第三方产品的性能、可靠性以及操作可能带来的潜在影响,不做任何暗示或其他形式的承诺。

概述

购买Linux系统的云服务器ECS时,未购买数据盘,使用一段时间后,随着业务增加,现有系统盘已无法满足业务需求。执行df -h命令查询空间使用率,确认系统盘使用率接近100%,则需要将数据迁移至新购买的数据盘。

详细信息

阿里云提醒您:

  • 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。
  • 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。
  • 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。

针对此类情况,可参见以下思路进行解决:

说明:本方案涉及数据操作,操作前请通过创建快照等方法进行备份。

  1. 购买数据盘,创建好分区后,在系统内挂载数据盘到/mnt/shujupan目录。
  2. 创建好系统盘快照备份,以便于操作失败时进行回滚。
  3. 出于数据安全考虑,为保证迁移顺利进行,需要停止正在运行的服务程序,参见示例如下。
    /etc/init.d/nginx stop
    /etc/init.d/httpd stop
    /etc/init.d/mysqld stop
    /etc/init.d/php-fpm stop
    /etc/init.d/vsftpd stop
  4. 假设当前系统盘的/mnt/www目录是需要进行数据迁移的目录,通过执行以下命令,将www目录内的所有文件迁移到数据盘。
    cp -arp /mnt/www/* /mnt/shujupan/
    说明:本文以/mnt/www目录为例。
  5. 执行以下命令,卸载/mnt/shujupan/目录。
    umount /mnt/shujupan/
  6. 执行以下命令,挂载/mnt/www目录。
    mount /dev/vdb1 /mnt/www
  7. 执行以下命令,修改fstab文件,指定数据盘挂载目录,实现开机自启动。
    vi /etc/fstab 
    在文件最后增加如下内容,保存并重启实例。
    /dev/xvdb1 /mnt/www ext4 defaults 0 0
    说明:其中ext4为数据盘的文件系统类型,xvdb1为数据盘分区,请根据实际情况调整。
  8. 重启后检查系统内的程序服务是否运行正常,测试站点、数据库等是否可以正常连接访问。如果没有异常,数据迁移成功。此时对于系统和程序,访问的还是/mnt/www目录,但这时该目录是位于数据盘,执行df -h命令,确认系统盘空间使用率恢复正常。

适用于

  • 云服务器 ECS