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

如何把一台在本地虚拟机上配置好的LINUX服务器复制到另一台服务器上?

  •  
  •   azure · 2012-07-21 11:08:30 +08:00 · 9225 次点击
    这是一个创建于 4490 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我现在有这么一个需求。
    就是。我希望在本地虚拟机上把一个服务器配置好,测试没有问题之后。然后把所有的内容复制到一台服务器上。

    也就是说。目标服务器是一台同样操作系统的完全没有装任何其他程序的裸系统状态。
    我能不能通过什么方式直接把自己在本地测试好的一个虚拟机的所有内容一模一样的复制到服务器上然后正常运行?
    16 条回复    1970-01-01 08:00:00 +08:00
    azure
        1
    azure  
    OP
       2012-07-21 11:11:05 +08:00
    我需要的不止是文件的镜像。我希望可以做到一台裸服务器,通过一些简单的工具或者命令,让我本地虚拟机上的所有东西直接复制到服务器上,而且直接就可以正常运行,不需要我在重新配置整个服务器的环境和安装各种软件。
    mudone
        2
    mudone  
       2012-07-21 11:30:12 +08:00   ❤️ 1
    puppet
    bigzhu
        3
    bigzhu  
       2012-07-21 11:32:59 +08:00
    一般来说,看你的相关配置是在哪个用户下. 直接把这个用户目录 tar 一个包,拷出来,解压到新服务器同名用户目录下,完事.
    如果有一些软件不是安装在用户目录下的,那只有在新服务器下重装.
    假如还有不在用户目录下的配置文件.那只有自己记着,一个个挪过去.

    恩,这个办法不是那么适合懒人,除非你像我一样,习惯把所有东西放在用户目录下.
    eric_q
        4
    eric_q  
       2012-07-21 11:35:45 +08:00
    P2V 容易,V2P 就有点麻烦了
    citydog
        5
    citydog  
       2012-07-21 11:49:16 +08:00
    如果是linode,直接在新机器里copy旧机器的整体镜像即可,copy完直接开机就ok~~
    HowardMei
        6
    HowardMei  
       2012-07-21 12:10:44 +08:00   ❤️ 1
    https://github.com/devstructure/blueprint
    专业干这个,我在debian上用,没啥问题。
    HowardMei
        7
    HowardMei  
       2012-07-21 12:21:50 +08:00   ❤️ 1
    @mudone 这个更专业,不过没有blueprint简单快捷,blueprint也有简单的配置管理服务器,不过我没用过,如果需要管理很多很多机器,puppet应该更胜任。
    mudone
        8
    mudone  
       2012-07-21 13:12:33 +08:00
    @HowardMei 技术方案我的习惯是选择大路货,出现问题更容易解决 :)
    azure
        9
    azure  
    OP
       2012-07-21 13:37:52 +08:00
    @HowardMei
    @mudone

    我的需求是连同一些基础软件也一起能够迁移过去。
    比如我虚拟机上跑了一个MySQL,一个Nginx,还部署了一些网站。
    你们说的这两款程序能不能直接把他们一起迁移到服务器上,而不需要我先自己在服务器上手动安装这些运行环境的程序?
    eric_q
        10
    eric_q  
       2012-07-21 14:05:42 +08:00   ❤️ 1
    @azure puppet 可以实现你的需求的
    bulldozer
        11
    bulldozer  
       2012-07-23 11:46:54 +08:00
    就是系统全备份、异机恢复而已。机器少的情况,直接用tar、dump做全备份,然后恢复到另一台机器,再重做硬件驱动重启就OK,不算麻烦。

    不过正常情况下,生产环境还是干净的手动配置比较好,感觉上起码好一点。
    sykp241095
        12
    sykp241095  
       2012-07-23 14:04:08 +08:00
    显然先u盘启动物理机,mount设备,rsync到mounted目录,chroot,最后装grub
    azure
        13
    azure  
    OP
       2012-07-23 16:07:20 +08:00
    @bulldozer 能不能不涉及驱动? 我这个是虚拟机的系统迁移到服务器或者VPS上。设计到驱动的问题感觉就怪怪的
    bulldozer
        14
    bulldozer  
       2012-07-23 16:18:15 +08:00
    @azure 是否涉及驱动,要看你是否能知道哪些目录做了改动,如果知道也不覆盖就可以,备份时就exclude那些不需要的目录。

    不过备份物理机的modprobe.conf文件,再拷贝回来,然后mkinitrd让内核包括驱动就可以,我觉得不也复杂。
    lfzyx
        15
    lfzyx  
       2012-07-23 18:02:39 +08:00
    G4L可以嘛?
    tywtyw2002
        16
    tywtyw2002  
       2012-07-23 18:49:50 +08:00
    git 加脚本。。。 不过不支持驱动
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5587 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 41ms · UTC 06:46 · PVG 14:46 · LAX 22:46 · JFK 01:46
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.