与libvirt问​​题的流浪者遥远的箱子

时间:2015-02-19 08:36:48

标签: ssh vagrant ansible libvirt

我正在尝试使用以下设置进行流浪工作

  • 两台机器 - 一台控制器和一台主机
  • 控制器中安装的vagrant + vagrant-nodemaster插件(1.5.4 vagrant)
  • 在主机上安装了vagrant + vagrant-node + vagrant-libvirt

安装完成后,我在主机中的未使用端口启动了nodeserver。 使用以下配置从控制器推送到主机(使用vagrant远程配置上载)

config.vm.define :vm3 do |vm3|
    vm3.vm.network :private_network,
        :ip => "192.168.170.57",    
        :libvirt__network_name => "vagrantnw",  
        :libvirt__dhcp_enabled => false
end

config.vm.provider :libvirt do |libvirt|
    libvirt.driver = "qemu"
    # leave out host to connect directly with qemu:///system
    #libvirt.host = "localhost"
    libvirt.connect_via_ssh = false   # aeso needed
    libvirt.username = "root"
    libvirt.storage_pool_name = "default"
end

config.ssh.username = 'vagrant'
config.ssh.password = 'vagrant'
config.ssh.insert_key = 'true'
config.ssh.private_key_path = '/home/kk/ssh_privkey'

我期望通过上面的配置,libvirt将创建一个带有IP地址为192.168.170.57的vm,其中有效的nfs可以映射到主机。现在,以下是我面临的问题

  • VM始终在192.168.121.xx网络中创建,并在同一子网中分配动态IP地址。我无法在我想要的特定网络中创建vm。
  • 我想使用命令'vagrant remote ssh'远程ssh进入vm。或者从我想要连接到上面创建的VM的其他主机。
  • 我想在远程ssh正常工作后将文件ftp到guest虚拟机。我相信我们可以使用ansible来做到这一点。但是想检查一下通过流浪汉做一个快速而肮脏的方法。

谢谢

1 个答案:

答案 0 :(得分:1)

您可以通过在提供程序定义中添加以下行来更改管理网络:

   config.vm.provider :libvirt do |libvirt|
      ...
      libvirt.management_network_name = "vagrant-libvirt"
      libvirt.management_network_address = "10.75.250.0/25"
    end