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

2012-07-21 11:08:30 +08:00
 azure
我现在有这么一个需求。
就是。我希望在本地虚拟机上把一个服务器配置好,测试没有问题之后。然后把所有的内容复制到一台服务器上。

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

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

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

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

不过备份物理机的modprobe.conf文件,再拷贝回来,然后mkinitrd让内核包括驱动就可以,我觉得不也复杂。
lfzyx
2012-07-23 18:02:39 +08:00
G4L可以嘛?
tywtyw2002
2012-07-23 18:49:50 +08:00
git 加脚本。。。 不过不支持驱动

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/43036

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX