我试图使用一个多虚拟机vagrant环境作为部署OpenStack的testing平台,并且遇到了一个联网问题,试图从一个虚拟机到虚拟机内部的虚拟机进行通信。 我有两个Vagrant节点,一个云控制器节点和一个计算节点。 我正在使用主机专用networking。 我的Vagrantfile看起来像这样: Vagrant::Config.run do |config| config.vm.box = "precise64" config.vm.define :controller do |controller_config| controller_config.vm.network :hostonly, "192.168.206.130" # eth1 controller_config.vm.network :hostonly, "192.168.100.130" # eth2 controller_config.vm.host_name = "controller" end config.vm.define :compute1 do |compute1_config| compute1_config.vm.network :hostonly, "192.168.206.131" # eth1 compute1_config.vm.network :hostonly, "192.168.100.131" # eth2 compute1_config.vm.host_name = "compute1" compute1_config.vm.customize ["modifyvm", :id, "–memory", 1024] end end 当我尝试启动一个基于QEMU的虚拟机时,它在compute1上成功启动,其虚拟nic(vnet0)通过桥接器br100: root@compute1:~# brctl […]
用户数据存储在两个相当大(> 1 PB)的OpenStack Swift存储集群中。 让他们成为A组和B组 。 另外,还有几个PoP需要与这些数据交互。 这些PoP中的服务器实际上是无盘的,这意味着没有用户数据存储在它们上面或者下载到它们。 PoP可以分为普通的世界地区 (如北美 , 南非 , 中欧等)。 有些PoP距离任何集群的Swift端点相当远,引入了不希望有的延迟。 为了稍微缓解这个问题,我想在每个区域设置一个caching网关服务器,这将caching到最近的集群的r / w请求。 目前,任何PoP中的客户端都通过永久安装的swift虚拟文件系统来访问用户数据,该虚拟文件系统是将Swift Object Storage作为块设备(或多或less)安装的FUSE模块。 然而,svfs在一开始和未来都不是那么稳定,客户端应该通过NFS访问caching服务器。 这是所需架构的一个分支的示意图: +——————+ +——————+ NFS +——————+ | Cluster A | SVFS | Region 1 Cache +———-> R1 PoP a Client | | +—————-> | | | |Persistent Storage| |Ephemeral Storage+—-+ |Generates R/W Load| +—————–++ […]
我是一名Web开发人员,但我也对一些pipe理任务感兴趣。 因此,从纯粹的行政到开放的新行动对我来说非常方便。 无论如何,我有一些问题要把几件事情关系到一起。 也许没有,所以我想请求帮助澄清。 基本上,我想要把四种types的软件(从我的理解)。 确切的产品并不重要,你可以把任何类似的软件作为替代: Vagrant:从我的理解是自动创build和pipe理虚拟机:设置它们,启动和停止它们。 这可以使用本地VM或远程来完成,例如在云平台上。 Docker:基于几个Linux内核概念的“轻量级VM”,可以用来隔离运行进程,例如在共享的Web主机环境中。 厨师:设置和configuration操作系统的工具,例如在虚拟机内部。 OpenStack:一种工具,允许您构build自己的私有云,因此可以与AWS等相媲美。 问题1:我的解释是正确的,还是我对这些消费中的一些(或全部)有错? 问题2:我怎么能混合所有这些工具? 这会有什么意义吗? 在我的想象中,从我的理解来看,你可以去 使用OpenStack来构build自己的云, 使用Vagrant来pipe理在云中运行的虚拟机, 使用Chef来设置这些虚拟机 最后使用Docker在虚拟机中运行进程。 它是否正确? 如果是这样,你能给我一个如何开始使用所有这些build议(这是相当多的同时,我不知道从哪里开始)?