V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Recommended Services
Amazon Web Services
LeanCloud
New Relic
ClearDB
LxnChan
V2EX  ›  云计算

如何备份云服务器的镜像到本地?

  •  
  •   LxnChan · 2022-04-23 15:44:46 +08:00 · 3886 次点击
    这是一个创建于 981 天前的主题,其中的信息可能已经有所发展或是发生改变。

    需要备份云服务器的整个系统盘到本地,格式不限,服务器是腾讯云的,tx 云不提供自制镜像下载

    第 1 条附言  ·  2022-04-25 21:50:29 +08:00
    解决方案记录在了 [ https://lxnchan.cn/dump-server-disk.html ] 。
    13 条回复    2022-04-24 13:24:29 +08:00
    justs0o
        1
    justs0o  
       2022-04-23 15:48:29 +08:00
    HarveyLiu
        2
    HarveyLiu  
       2022-04-23 15:49:21 +08:00
    路由端口映射 SMB 的 3 个公开端口,远程挂在 SMB 为本地磁盘,然后 DD 命令到挂在的本地磁盘路径即可,速度取决于你本地宽带上行。
    LxnChan
        3
    LxnChan  
    OP
       2022-04-23 15:56:47 +08:00
    hxy100
        4
    hxy100  
       2022-04-23 16:10:08 +08:00   ❤️ 1
    Windows 不作讨论,Linux 的话很方便。
    SSH 登录服务器使用命令 df -hT 磁盘信息,找到你要克隆哪一个文件系统,如下图:

    ---
    比如,备份 /dev/sdb1 这个分区 可以使用如下命令:
    ssh root@remote "dd if= /dev/sdb1 " | dd of=server.img status=progress
    以上命令备份到本地,速度取决于你的服务器上传带宽;

    你也可以从 A 服务器备份到 B 服务器,在 A 服务器上配置登录 B 服务器,并在 A 服务器上执行以下命令:
    dd bs=1M if= /dev/sdb1 | ssh -C serverB dd bs=1M of=disk.img

    如果网络中断,可使用 skip 和 seek 参数进行断点续传:
    dd bs=1M skip=1000 if= /dev/sdb1 | ssh -C serverB dd bs=1M seek=1000 of=disk.img

    ----
    总而言之,研究下 dd 命令,你想要的功能它都有。
    LxnChan
        5
    LxnChan  
    OP
       2022-04-23 16:16:09 +08:00
    @hxy100 我想用 Clonezilla 一类的备份还原软件直接备份出来一份系统镜像再传到其他服务器上,但是我从 grub 启动 clonezilla 的 iso 会显示启动失败
    hxy100
        6
    hxy100  
       2022-04-23 16:19:56 +08:00
    @LxnChan 我不知道你的具体操作过程是怎么样的,Clonezilla 我也没有用过,不过我之前用 dd 命令备份下来的镜像放到 VMWare 虚拟机里面是可以正常启动的(镜像格式可能需要先进行转换)。
    bookbox
        7
    bookbox  
       2022-04-23 17:13:25 +08:00
    额,可以参考这个文档: https://cloud.tencent.com/document/product/213/70518
    目前仅支持 linux 系统自定义镜像导出,win 的不行,但通过命令都是可以实现的,楼上大佬们的建议都很棒,支持
    ch2
        8
    ch2  
       2022-04-23 17:25:52 +08:00
    windows 用 diskgenius 备份分区就行了
    autoxbc
        9
    autoxbc  
       2022-04-23 18:10:43 +08:00   ❤️ 1
    再生龙的后端是 Partimage 和 Partclone ,其中前者是图形界面,用起来很容易
    justs0o
        10
    justs0o  
       2022-04-23 21:16:04 +08:00
    @LxnChan 我试过了啊,linux 支持的,上个月刚下载的
    baobao1270
        11
    baobao1270  
       2022-04-24 04:26:04 +08:00
    @hxy100 你这个 DD 也不压缩一下,带宽费用很贵的。
    而且复制到本地其实并不保险,还是把镜像上传对象存储吧
    hxy100
        12
    hxy100  
       2022-04-24 08:53:59 +08:00
    @baobao1270 服务器带宽计费分两种,按量付费和按带宽大小计费,如果是按带宽大小计费,你不用,带宽本身也是闲置,谈不上贵不贵的问题,再者这个命令管道前后你可以加任何的压缩命令压缩后再传输,用 gzip 还是 bzip2 等等都随意,另外 SSH 管道也有-C 参数可以压缩传输数据;
    ----
    man ssh

    -C 要求进行数据压缩 (包括 stdin, stdout, stderr 以及转发 X11 和 TCP/IP 连接 的数据). 压缩算法
    和 gzip(1) 的一样, 协议第一版中, 压缩级别 “level” 用 CompressionLevel 选项控制. 压缩技术在
    modem 线路或其他慢速连接上很有用, 但是在高速网络上反而 可能降低速度. 可以在配置文件中对每个
    主机单独设定这个参数. 另见 Compression 选项.
    CodeCodeStudy
        13
    CodeCodeStudy  
       2022-04-24 13:24:29 +08:00
    你可以在服务器上运行一个 docker 容器,什么事情都在这个容器里做,然后用 docker 的导入导出,当然这是一个馊主意,下下策
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1029 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 18:42 · PVG 02:42 · LAX 10:42 · JFK 13:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.