我们有几个裸机服务器(使用debian操作系统),我们运行多台(100多台)KVM机器 – 主要是debian和centos。 那些机器在LVM或分布式文件系统上(moosefs&glusterfs)
是否可以创build一些环境来自动创build我们可以指定的机器:
现在我们每次都是手工制作新机器,因为每次都要重新安装,所以很枯燥。 我们想制作类似于亚马逊机器图片的东西
我安装了proxmox一秒钟,但我还没有看到类似于AMI的function。 但是也许我错了…
所有这些都可以通过一个简单的shell脚本来自动完成。 关键是要学习如何使用virsh实用程序来创build虚拟机,确保您的networking接口是网桥,使用btrfs作为guest虚拟机文件系统。 然后,您可以复制映像,装载映像,更改已装载映像的configuration,卸载映像,使用virsh添加vm并运行。
我没有那样做,因为我pipe理的虚拟机很less……实际上我使用KVM来分割两三个非常大的硬件。 那一部分我有点自闭症。 我主张让自己的脚本在这些方面有很高的控制力。
你正在寻找的是所谓的openstack ,据我所知是非常用户友好的,可以使用KVM,VirtualBox,LXD,Xen,VMWare作为pipe理程序。 一个界面来绑定他们。
我知道它存在。 看起来不错。 Ubuntu服务器有它。 Redhat也是。 但是我从来没有碰过,因为virt-manager对我来说就够了。
Iainbuild议由ZFS完成的相同的事情可以用标准的KVM完成。 QCow2支持快照。 这意味着对于群集,您可以创build基础映像,创build快照,装载快照,更改configuration(IP,主机名),卸载并启动。 最好的部分是只有被更改的扇区才会写入快照。
我的经验是将160个逻辑处理器/ 2048个GiB虚拟化主机划分为多达10个虚拟机。 所有这些都是Linux服务器(apache / php / postgres / java)。 我在大型硬件上的数百个小型虚拟机中没有任何经验。
顺便一提。 我正在从Debian和RedHat迁移到Ubuntu。 我所拥有的大部分function已经在Ubuntu Server上运行了很多年了。 传统的Debian将在今年去世。 明年的传统RedHat。 从服务器的angular度来看,Debian和Ubuntu之间没有太大的区别,我select了Ubuntu,因为新的东西首先被封装在Ubuntu上。
几年前,我在Linux上testing了ZFS,并且不会下降,这足以运行严重的服务器。 我select等待BTRFS,没有任何投诉。 我在我的一些服务器和工作站上使用它。 我会在明年年初将更大的服务器移到它,以改善我的备份。
如果您的设置是标准化的,也许值得花时间制作自己的脚本,因为它会非常自动化。 但是,如果您需要几种设备并处理不同的客户需求,则可以考虑学习像OpenStack这样的解决scheme。
我创build了一个基础镜像,然后拍摄了一个ZFS快照。 然后,我为每个虚拟机使用快照的ZFS克隆。 我还掀起了一个脚本来做到这一点,并改变系统构build的各种参数,更改主机名等。
仅需几秒钟即可启动虚拟机并运行。