使用 vagrant 设置集群
Setting up cluster with vagrant
我想使用 Vag运行t 创建一个包含 4 个 CentOS VM 的集群。我在我的 Widnows 机器上安装了 Vag运行t 和 VirtualBox,下载了 CentOS 64 box 并创建了集群。 步骤:
- 执行'vagrant box add --name centos65-base'
- 执行'vagrant init centos65-base'
编辑Vag运行t文件如下:
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure(2) do |config|
config.vm.define :node1 do |node1_config|
node1_config.vm.box = "centos65_base"
node1_config.vm.network "private_network", ip: "10.0.2.5"
end
config.vm.define :node2 do |node2_config|
node2_config.vm.box = "centos65_base"
node2_config.vm.network "private_network", ip: "10.0.2.6"
end
config.vm.define :node3 do |node3_config|
node3_config.vm.box = "centos65_base"
node3_config.vm.network "private_network", ip: "10.0.2.7"
end
config.vm.define :node4 do |node4_config|
node4_config.vm.box = "centos65_base"
node4_config.vm.network "private_network", ip: "10.0.2.8"
end
end
执行'vagrant up'
在第四步结束时,集群的四个节点都已配置并启动,这太棒了。我进入了他们。我能够从 VM 成功地 ping 到 www.google.com 和我的主机。但是,从集群中的一个节点 ping 另一个节点会出现 "destination host unreachable" 错误。我 运行 'ifconfig' 查看正在使用的网络适配器。 eth0 用于 DHCP,eth1 用于静态 ip。
[root@vagrant-centos65 vagrant]# ifconfig
eth0 Link encap:Ethernet HWaddr 08:00:27:4F:B8:06
inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fe4f:b806/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1142 errors:0 dropped:0 overruns:0 frame:0
TX packets:672 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:106471 (103.9 KiB) TX bytes:84099 (82.1 KiB)
eth1 Link encap:Ethernet HWaddr 08:00:27:EC:A0:37
inet addr:10.0.2.5 Bcast:10.0.2.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:feec:a037/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:268 errors:0 dropped:0 overruns:0 frame:0
TX packets:7 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:27329 (26.6 KiB) TX bytes:482 (482.0 b)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:8 errors:0 dropped:0 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:784 (784.0 b) TX bytes:784 (784.0 b)
知道如何解决这个问题吗?我需要集群中的虚拟机能够相互通信。
我通过使用 192.168.33.10 - 192.168.33.13 IP 地址范围而不是静态 IP 配置的 10.0.2.5 - 10.0.2.8 解决了这个问题。
我怀疑使用 10.0.2.x 范围引起了冲突,因为 DHCP 也使用相同的范围。
我想使用 Vag运行t 创建一个包含 4 个 CentOS VM 的集群。我在我的 Widnows 机器上安装了 Vag运行t 和 VirtualBox,下载了 CentOS 64 box 并创建了集群。 步骤:
- 执行'vagrant box add --name centos65-base'
- 执行'vagrant init centos65-base'
编辑Vag运行t文件如下:
# -*- mode: ruby -*- # vi: set ft=ruby : Vagrant.configure(2) do |config| config.vm.define :node1 do |node1_config| node1_config.vm.box = "centos65_base" node1_config.vm.network "private_network", ip: "10.0.2.5" end config.vm.define :node2 do |node2_config| node2_config.vm.box = "centos65_base" node2_config.vm.network "private_network", ip: "10.0.2.6" end config.vm.define :node3 do |node3_config| node3_config.vm.box = "centos65_base" node3_config.vm.network "private_network", ip: "10.0.2.7" end config.vm.define :node4 do |node4_config| node4_config.vm.box = "centos65_base" node4_config.vm.network "private_network", ip: "10.0.2.8" end end
执行'vagrant up'
在第四步结束时,集群的四个节点都已配置并启动,这太棒了。我进入了他们。我能够从 VM 成功地 ping 到 www.google.com 和我的主机。但是,从集群中的一个节点 ping 另一个节点会出现 "destination host unreachable" 错误。我 运行 'ifconfig' 查看正在使用的网络适配器。 eth0 用于 DHCP,eth1 用于静态 ip。
[root@vagrant-centos65 vagrant]# ifconfig
eth0 Link encap:Ethernet HWaddr 08:00:27:4F:B8:06
inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fe4f:b806/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1142 errors:0 dropped:0 overruns:0 frame:0
TX packets:672 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:106471 (103.9 KiB) TX bytes:84099 (82.1 KiB)
eth1 Link encap:Ethernet HWaddr 08:00:27:EC:A0:37
inet addr:10.0.2.5 Bcast:10.0.2.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:feec:a037/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:268 errors:0 dropped:0 overruns:0 frame:0
TX packets:7 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:27329 (26.6 KiB) TX bytes:482 (482.0 b)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:8 errors:0 dropped:0 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:784 (784.0 b) TX bytes:784 (784.0 b)
知道如何解决这个问题吗?我需要集群中的虚拟机能够相互通信。
我通过使用 192.168.33.10 - 192.168.33.13 IP 地址范围而不是静态 IP 配置的 10.0.2.5 - 10.0.2.8 解决了这个问题。
我怀疑使用 10.0.2.x 范围引起了冲突,因为 DHCP 也使用相同的范围。