Ich möchte mit Vagrant einen Cluster aus 4 CentOS-VMs erstellen. Ich habe Vagrant und VirtualBox auf meiner Windows-Maschine installiert, die CentOS 64-Box heruntergeladen und den Cluster erstellt.Schritte:
- Führen Sie „vagrant box add --name centos65-base“ aus.
- Führen Sie „vagrant init centos65-base“ aus.
Bearbeiten Sie die VagrantFile wie folgt:
# -*- 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
Führen Sie „vagrant up“ aus.
Am Ende des vierten Schritts wurden die vier Knoten des Clusters konfiguriert und hochgefahren, was großartig ist. Ich habe mich per SSH mit ihnen verbunden. Ich konnte von den VMs aus erfolgreich einen Ping an www.google.com und meinen Hostcomputer senden. Wenn ich jedoch von einem Knoten im Cluster zu einem anderen pinge, erhalte ich die"Ziel-Host nicht erreichbar"Fehler. Ich habe „ifconfig“ ausgeführt, um die verwendeten Netzwerkadapter anzuzeigen. eth0 wird für DHCP und eth1 für statische IP verwendet.
[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)
Irgendeine Idee, wie man das beheben kann? Die VMs im Cluster müssen miteinander kommunizieren können.
Antwort1
Ich habe dies gelöst, indem ich für die statische IP-Konfiguration den IP-Adressbereich 192.168.33.10 – 192.168.33.13 anstelle von 10.0.2.5 – 10.0.2.8 verwendet habe.
Ich vermute, dass die Verwendung des Bereichs 10.0.2.x einen Konflikt verursacht hat, da DHCP in Vagrant standardmäßig auch denselben Bereich verwendet.