방금 KVM 호스트에서 네트워크 서비스를 다시 시작했는데 가상 머신 게스트가 실행 중인 네트워크에 액세스할 수 없습니다.
Bridge를 통해 VM 게스트에 대한 네트워킹을 활성화했습니다. 게스트가 다시 시작된 후에만 VM IP에 액세스할 수 있습니다.
네트워크 재부팅 문제가 발생하는 이유는 무엇이며 재부팅하지 않고 게스트 VM IP에 액세스하는 방법은 무엇입니까?
답변1
전에도 이런 문제가 있었습니다.
이제 를 사용하여 새 가상 머신을 설치할 때마다 virt-install
항상 다음 옵션을 포함하는지 확인합니다 --nographics
. -x console=ttyS0
이 -x console=ttyS0
옵션은 ttyS0 포트를 통해 가상 콘솔 연결을 생성합니다. 이를 통해 호스트에서 VM에 로그인한 virsh console <VMname>
다음 VM을 완전히 재부팅하지 않고도 VM의 네트워크 설정을 재설정할 수 있습니다. 가상 머신 자체 내에서 /etc/default/grub에 다음 설정이 추가됩니다.
GRUB_CMDLINE_LINUX_DEFAULT="console=tty0 console=ttyS0,9600n8"
GRUB_CMDLINE_LINUX=""
내 가상 머신 중 하나에서 설치 후 이러한 줄을 수동으로 추가하고 재구축 grub을 사용하여 grub-mkconfig
재부팅 후에도 설정이 유지되도록 해야 했습니다.
답변2
KVM 환경에서 호스트가 게스트와 통신하려면 다음 줄이 필요합니다.
호스트 인터페이스가 다음과 같다고 가정합니다.
interface: eth0
ip: 192.168.0.10/24
gateway: 192.168.0.1
/etc/rc.local을 편집하고 다음 명령을 추가합니다.
ip link add link eth0 address 51:51:51:A8:28:A1 macvlan0 type macvlan mode bridge
ip address add 192.168.0.10/24 dev macvlan0
ip link set dev macvlan0 up
ip route flush dev eth0
ip route add default via 192.168.0.1 dev macvlan0 proto static