V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
nutting
V2EX  ›  Linux

有没有办法把一个正在跑的 Linux 直接迁移到 pve 的一个 vm

  •  
  •   nutting · 121 天前 · 3121 次点击
    这是一个创建于 121 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题,就是普通 pc 上跑的 centos7 server ,大概 200G ,有几个分区,home var 啥的。新装复制是不太方便,很多细节都要保证迁移过来。

    第 1 条附言  ·  119 天前
    各位,成功了,我是先顺带用 clonezilla 备份镜像到移动硬盘。后来 pve 创建了虚拟机,用命令直通挂载了移动硬盘,live 启动 clonezilla ,恢复到虚拟磁盘。
    遇到几个坑,我的物理机磁盘已经有坏道了,备份时候 clonezilla 需要选 expert 模式选上 rescue 选项,否则备份不出来镜像。
    然后 pve 的虚拟机我按网上的调整了一点设置,主要是硬盘选 stata ,网卡选 e1000 ,模式 kvm64 。另外,虚拟磁盘要弄成和被迁移的物理一样的大小,别怕 pve 宿主机的磁盘不够,这个镜像是虚的
    29 条回复    2025-05-16 00:27:39 +08:00
    2Nfree
        1
    2Nfree  
       121 天前   ❤️ 1
    云服务器还是本地服务器,云服务器可以打包 AMI 导出本地运行,本地服务器可以看看 Clonezilla ,但我没用过
    2Nfree
        2
    2Nfree  
       121 天前
    @2Nfree #1 一开始没仔细看,pc 的话感觉只能 Clonezilla 或者 rsync 了
    ihainan
        3
    ihainan  
       121 天前   ❤️ 1
    最简单的办法估计是把硬盘接到 PVE Host 上然后直通。
    HFX3389
        4
    HFX3389  
       121 天前
    能关机的话办法很多,不能关机的话我就不知道了...
    defunct9
        5
    defunct9  
       121 天前
    dd
    moefishtang
        6
    moefishtang  
       121 天前
    @2Nfree #2 Clonezilla 要关机才能吧?能在系统运行时操作?
    2Nfree
        7
    2Nfree  
       121 天前
    @moefishtang #6 是要关机
    nutting
        8
    nutting  
    OP
       121 天前
    感谢各位,可以关机。这个 Clonezilla 就是跑 live 版本,得到镜像,然后 pve 机器也跑 live ,再恢复? pve 上 live 到时候怎么选备份镜像呀?
    Ipsum
        9
    Ipsum  
       121 天前
    v2v 有软件可以直接生成虚拟机镜像,前提是生成镜像的硬盘得是原来的 2 倍以上,并且硬盘可以拆下来连接生成镜像的机器。
    bjzhou1990
        10
    bjzhou1990  
       121 天前
    rsync 或者 Clonezilla ,前者可以不停机后者需要停机,具体操作找 AI 问下就行
    chuyin01
        11
    chuyin01  
       121 天前 via Android   ❤️ 1
    找个移动硬盘,创建一个 qcow2 格式,大于 200G 的虚拟硬盘。用 qemu-ndb 挂载 qcow2 镜像,然后再用 dd 命令直接把物理设备拷贝到虚拟硬盘
    k9982874
        12
    k9982874  
       121 天前 via Android
    5 楼已经给方案了,dd 老机器,dd 到新 vm ,改 bootloader
    Xenos
        13
    Xenos  
       121 天前
    蹲一手方案,最近也有这个需求。
    daimaosix
        14
    daimaosix  
       121 天前 via Android
    @defunct9 还得是老运维,ssh 哥
    fuzzsh
        15
    fuzzsh  
       121 天前 via Android
    进 live ,挂个 NFS samba
    dd if=/dev/nvme0 of=/path/of/nfs
    ...
    去新的 live 用 dd 恢复到磁盘上,注意下 fstab 挂载用 uuid 还是/dev/***,bios 还是 uefi 改下虚拟机设置
    dd if=/path/of/nfs of=/dev/sda
    ...
    nicefrp
        16
    nicefrp  
       121 天前
    能关机那办法就多了,dd
    longsays
        17
    longsays  
       121 天前 via Android
    dd 或者 rsync 吧
    2022study
        18
    2022study  
       120 天前   ❤️ 1
    需要看下现在的系统内核里面有没有 virto 的驱动不,主要是 block 和 net 只要有就 ok ,不然无论是 dd 还是 p2v 大概率启动不了。
    nutting
        19
    nutting  
    OP
       120 天前
    @2022study 你说对了,我现在正在实验,似乎启动不了。那提前给物理机的装一下?
    2022study
        20
    2022study  
       120 天前
    @nutting #19 源物理盘先做个备份,然后重新编译下内核驱动,然后再迁移到 pve 下
    shangyu7
        21
    shangyu7  
       120 天前
    能关机直接 dd 到虚拟磁盘就行了啊
    jamos
        22
    jamos  
       120 天前
    群晖的 abb 可以实现
    qqjt
        23
    qqjt  
       120 天前
    这是物理机转虚拟机吗?可以试试 vmware 的 vconverter 。
    或者就是单独把硬盘拆下来,在挂到其他机器上,用工具转为虚拟硬盘,再用虚拟硬盘建个虚拟机。可以试试 StarWind V2V Converter / P2V Converter 。也可以用 vmware workstation 里带的 vmware-vdiskmanager ,我之前试过把笔记本硬盘转为虚拟硬盘,再用它建虚拟机。
    nutting
        24
    nutting  
    OP
       119 天前
    @defunct9 请教一下,磁盘分区是用了 lvm ,1T 的硬盘用了 200G ,dd 恢复时候目标虚拟机是不是必须是 1T 的虚拟磁盘?如果必须是的话,那个 home 分区比较大,实际没用满,是不是给他调整缩一下后再 dd ?
    Acatdef
        25
    Acatdef  
       115 天前
    @nutting 是的,最好调整一下。dd 完成后,如果 qcow2 文件占地过大,可以再用 qemu-img 的命令再压缩一下,具体命令可以自己查一下
    aru
        26
    aru  
       114 天前
    我试过 rsync 将当前系统直接迁移到远程
    远程机器用 livecd 启动,分好区,开 ssh
    rysnc 文件过去后,重建引导
    busier
        27
    busier  
       110 天前 via Android
    @nutting
    主要是硬盘选 stata ,网卡选 e1000 ,模式 kvm64 。
    闹呢,linux 内核又不缺驱动,目标是 linux 机的话,硬盘 scsi(不要选 virtio ,pve 说明文档表明其已过时),网络选 virtio ,cpu 选 host 才是最高性能
    nutting
        28
    nutting  
    OP
       109 天前
    @busier 我试试,反正第一次是用的你说的这种默认的没启动成功啊
    flynaj
        29
    flynaj  
       78 天前
    挂载服务器目录到本机,直接生成就行,dd 还是多一道工序。
    qemu-img convert -c -O qcow2 /dev/sda vmhda.qcow2 -p
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2329 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 00:53 · PVG 08:53 · LAX 17:53 · JFK 20:53
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.