V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
notgood
V2EX  ›  程序员

如何克隆 GCP 系统到 BWH

  •  
  •   notgood · Jun 14, 2019 via Android · 3727 views
    This topic created in 2515 days ago, the information mentioned may be changed or developed.
    各位 V 友好,谷歌云上有台 VPS,现在瓦工上新开了台 VPS,重新部署太麻烦了,想直接克隆谷歌云那台 VPS 镜像到瓦工上,有什么好方法求推荐
    32 replies    2019-10-14 18:16:13 +08:00
    Ciallo
        1
    Ciallo  
       Jun 14, 2019
    之前在两台阿里云之间迁移,直接 tar 打包整个系统,然后丢到 web 服务器下,另一边直接 wget 下载,解压恢复备份,然后控制台重置下系统密码就可以了
    wellwell
        2
    wellwell  
       Jun 14, 2019
    docker ?
    okwork
        3
    okwork  
       Jun 14, 2019 via Android
    @Ciallo 同一个云服务商,不是直接可以镜像复制吗?不同的云服务商直接迁移比较麻烦
    Ciallo
        4
    Ciallo  
       Jun 14, 2019
    @okwork 阿里云 ecs 和阿里云轻量转移,提工单问了,说轻量没办法用备份
    lzvezr
        5
    lzvezr  
       Jun 14, 2019 via iPhone
    bwh 我记得可以直接用 ssh 克隆来的,不过安不安全就不知道了
    notgood
        6
    notgood  
    OP
       Jun 14, 2019 via Android
    @lzvezr 用什么工具或命令呢?谢谢
    @Ciallo A 小鸡沒有部署 WEB 服务,还没有别的办法?谢谢
    lzvezr
        7
    lzvezr  
       Jun 14, 2019 via iPhone
    @notgood 网页控制台就有,前几天通知 ovz 取消了就上去看了一眼
    pagxir
        8
    pagxir  
       Jun 14, 2019 via Android   ❤️ 3
    可以用 dd 呀,前提是 bwh 的磁盘够大。直接用 Tiny Core Linux 或者 mfslinux 引导两台 vps 进入迷你 linux,让后 dd if=/dev/vdxx bs=1M|nc -l -p 9000,另外一台机器运行 nc xxx.xxx.xx.x 9000 |dd of=/dev/vdxx bs=1M
    notgood
        9
    notgood  
    OP
       Jun 14, 2019 via Android
    @lzvezr 你是指网页控制面板的 snapshot? 那个只能是瓦工的机器之间
    Jirajine
        10
    Jirajine  
       Jun 14, 2019 via Android
    @pagxir 这种方法还要修改 fstab 的硬盘 UUID 吧。。
    pagxir
        11
    pagxir  
       Jun 14, 2019 via Android
    @Jirajine 不需要,uuid 是建文件系统或者交换分区时的保持在磁盘的一个数据。只有当你 fstab 用 /dev/sdxxx 这种需要修改。
    flynaj
        12
    flynaj  
       Jun 14, 2019 via Android
    用系统自带的备份和恢复
    notgood
        13
    notgood  
    OP
       Jun 14, 2019 via Android
    @pagxir 大佬我 GCP 硬盘只有 10G,请问瓦工的要多大才可以?另外 tiny core 沒玩过,下载 core.iso 镜像文件后写进 grub 引导?能否帮忙看看 以下命令哪里出问题吗?
    wget https://distro.ibiblio.org/tinycorelinux/9.x/x86_64/release/CorePure64-9.0.iso -O /boot/CorePure64-9.0.iso
    nano /etc/grub.d/40_custom
    #/etc/grub.d/40_custom
    menuentry "CorePure64-9.0.iso" {
    loopback loop (hd0,msdos1)/CorePure64-9.0.iso
    linux (loop)/boot/vmlinuz64
    initrd (loop)/boot/corepure64.gz
    }
    # One of
    grub2-mkconfig -o /boot/grub2/grub.cfg
    grub-mkconfig -o /boot/grub/grub.cfg
    reboot

    另外 DD 完后 GCP 如何退出回到原来系统?謝谢指点
    pagxir
        14
    pagxir  
       Jun 14, 2019 via Android
    mfslinux 因为自带 ssh-server 并且自动 dhcp 获取 IP,所以用起来可能好一些。进入 tinylinux/mfslinux 其实可以不用改 grub 的,直接安装 kexec-tools,然后把 ISO 解压(或者挂载)然后用 kexec 就可以进入迷你 linux 环境,然后操作完成之后直接 reboot 或者控制台强制开关电源即可回到原来系统。
    pagxir
        15
    pagxir  
       Jun 14, 2019 via Android
    因为你现在改了 grub,可能你要回到原来系统就需要在控制台进入 grub 系统启动菜单选择系统了,或者把你添加到系统菜单删除然后重启。
    pagxir
        16
    pagxir  
       Jun 14, 2019 via Android
    磁盘大小只需要瓦工磁盘的不小于 gcp 即可,瓦工硬盘更大也没问题。然后 dd 完成之后,如果瓦工磁盘比较大(例如 20G ),你可以调整分区表,增加新分区或者改变已有分区大小(迷你 linux 环境可以执行这个操作)
    notgood
        17
    notgood  
    OP
       Jun 14, 2019 via Android
    @pagxir 谢谢大佬!这个 append 的命令行如何写呢?
    kexec -l /boot/core.iso -append="root= ? "

    @pagxir 这个 NC 后面接的是 GCP 的 IP 地址? nc xxx.xxx.xx.x 9000 |dd of=/dev/vdxx bs=1M

    很多人提到两个 VPS 磁盘和网卡的识别信息之类的不一样,DD 后会有很多奇怪问题,请问大佬您 DD 后碰到过问题没有?
    pagxir
        18
    pagxir  
       Jun 14, 2019 via Android
    kexec -l /boot/vmlinuz --initrd /boot/tinycore.gz 后面的 append 那串不需要用。
    至于磁盘,用 uuid 是不需要改的。而网卡可能命名会变,到时候进控制台操作修改一下配置吧。
    pagxir
        19
    pagxir  
       Jun 14, 2019 via Android
    nc 命令用法最后自己查查 一般发送端加 -q 0 或者 --send-only (不同版本,参数不一致)让 nc 发送完成后自己退出。
    msg7086
        20
    msg7086  
       Jun 14, 2019
    rsync 过去就行,磁盘也不需要一样大小。新机器下需要更新 grub 还有更改 IP 地址。
    notgood
        21
    notgood  
    OP
       Jun 15, 2019 via Android
    @pagxir 好的我再研究下,谢谢你
    @pagxir
    notgood
        22
    notgood  
    OP
       Jun 17, 2019 via Android
    @msg7086 谢谢您的回复!,请问在 rsync 前记录下来新机器的 ect/network/interfaces 内容,然后
    notgood
        23
    notgood  
    OP
       Jun 17, 2019 via Android
    @msg7086 谢谢 V 友的回复!请问在 rsync 之前先记录下 新机器的 ect/network/interfaces 内容,然后 rsync 完成后再去新机器上更新回原来的 interfaces 这样可以吗?

    另外最后再执行 update grub,会自动配置 grub 引导程序吗?还是要手动修改启动菜单项?

    谢谢指点!祝好!
    msg7086
        24
    msg7086  
       Jun 17, 2019
    @notgood 可以。
    update-grub 是 Ubuntu 和 Debian 上的程序,如果不是 Debian 的话你可以自己查一下替代品。
    另外可能还需要做 grub-install,重新装一遍 grub 到虚拟磁盘上。
    其它应该没太多要折腾的,反正一次失败了就再来一次,没什么风险的。
    notgood
        25
    notgood  
    OP
       Jun 17, 2019 via Android
    @msg7086 谢谢啦!是 Ubuntu ! 正在 rsync 进行中- 请问是直接执行 grub-install 还是需要指定虚拟磁盘目径?如何查找虚拟磁盘路径?
    msg7086
        26
    msg7086  
       Jun 17, 2019
    @notgood grub-install /dev/vda 一般是这样吧,也可能是 sda。
    notgood
        27
    notgood  
    OP
       Oct 2, 2019 via iPhone
    @msg7086 V 友, 请问我想直接克隆 VPS A 的系统 到 VPS B 上, 通过 ssh 方式来运行 rsync, 下面的这个命令以及路徑 path 这样写对吗? 谢谢指导;
    rsync -avz --progress --delete [email protected]:/dev/vda /dev/vda

    VPS A 和 B 都是 centos7 , 同步完最后 VPS B 需要先执行 grub2-mkconfig -o /boot/grub2/grub.cfg ,最后是再执行 grub2-install /dev/vda 还是 grub-install /dev/vda ?
    谢谢🙏
    notgood
        28
    notgood  
    OP
       Oct 2, 2019 via iPhone
    @msg7086 V 友,另外是不是还要修改备份系统的 etc/fstab ?
    比如下面的这个该怎么修改才能让它读取到变更后的磁区呢? 谢谢🙏

    tmpfs /tmp tmpfs nodev,nosuid 0 0

    /dev/sda1 /boot ext2 defaults 0 2
    /dev/sda5 none swap defaults 0 0
    /dev/sda6 / ext4 defaults 0 1
    /dev/sda7 /home ext4 defaults 0 2
    programV2
        29
    programV2  
       Oct 5, 2019 via iPhone
    @pagxir 大佬 请问大佬有成功用 DD 迁移过不同云服务商之间 vps 的吗?方便问一下是什么云服务商吗? 我网卡也更新了,还是启动不了,谷歌也找不到成功的 vps 迁移教程, 这样的需求应该有很多才是
    pagxir
        30
    pagxir  
       Oct 6, 2019 via Android
    @programV2 你应该进 vnc 控制台看看。linux 迁移主要是引导管理器的安装,其他的只需要整个文件系统打包过去然后改改配置即可。
    programV2
        31
    programV2  
       Oct 6, 2019 via iPhone
    @pagxir 我想看的,但 gcp 控制台没有提供 vnc,请问您知道不同云服务商 vps 迁移有成功的案例吗?
    programV2
        32
    programV2  
       Oct 14, 2019 via iPhone
    @pagxir 大佬请问哪些什么情况下需要改 UUID? 谷歌了一下午都没头绪,谢谢指点🙏
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   782 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 115ms · UTC 21:38 · PVG 05:38 · LAX 14:38 · JFK 17:38
    ♥ Do have faith in what you're doing.