Po vytvoření hostů KVM k nim mohu přistupovat přes SSH, VNC klient, Virt-viewer, Virt-manager a Kokpit webovou konzoli atd. Ale nemohl jsem k nim přistupovat pomocí virsh console
příkaz. Pro ty, co by to zajímalo, virsh console
příkaz se používá k připojení ke konzole hostujícího počítače z hostitelského systému. Po nahlédnutí do dokumentace KVM jsem zjistil, že bychom měli povolit sériovou konzoli v hostujícím systému KVM, abychom hostům KVM umožnili virsh konzoli.
Mám virtuální počítač CentOS 8 spuštěný v mém systému Ubuntu 20.04.
$ virsh list Id Name State ------------------------- 1 centos8 running
Pokusil jsem se získat přístup ke konzole CentOS 8 VM pomocí následujícího příkazu:
$ virsh console centos8
Mám tento výstup:
Connected to domain centos8 Escape character is ^]

Píše to, že jsem připojen k virtuálnímu počítači centos8, ale nevidím konzolu virtuálního počítače. Nemohu se dostat přes tuto obrazovku. Stále se zobrazovala tato prázdná obrazovka, dokud jsem ji ručně neukončil stisknutím CTRL+]
klíč. Pokud jste se někdy dostali do této situace, povolte službu sériové konzoly, jak je popsáno níže.
Povolení přístupu ke konzole Virsh pro hosty KVM
Jak jsem již zmínil, musíte přidat sériovou konzolu do svého hostujícího počítače, abyste měli přístup k jeho virsh konzoli z hostitelského systému.
Chcete-li tak učinit, přihlaste se ke svému hostujícímu počítači přes SSH nebo Virt-manager nebo Cockpit a spusťte následující příkazy pro povolení a spuštění sériové konzoly:
# systemctl enable [email protected]
# systemctl start [email protected]

Upozorňujeme, že výše uvedené příkazy by měly být spouštěny v hostujícím systému KVM (virtuální počítač) , nikoli v hostiteli KVM.
A je to. Povolili jsme rozhraní sériové konzoly v hostovi.
Můžete to ověřit pohledem do konfiguračního souboru XML virtuálního počítače:
$ virsh edit centos8
Pokud je povolena sériová konzole, uvidíte následující řádky:
<serial type='pty'> <target type='isa-serial' port='0'> <model name='isa-serial'/> </target> </serial> <console type='pty'> <target type='serial' port='0'/> </console>
Zavřete soubor XML a ukončete počítač hosta.
Nyní spusťte virsh konzoli hostujícího systému z hostitele pomocí příkazu:
$ virsh console centos8
Uvítá vás tato zpráva:
Connected to domain centos8 Escape character is ^]
Stiskněte znovu ENTER a zadejte své uživatelské jméno a heslo pro připojení k počítači hosta:

Nyní jste uvnitř konzole hostujícího počítače. Začněte to používat. Do hostitelské konzole se můžete kdykoli přepnout stisknutím "CTRL+]" klíče.
Související čtení:
- Jak najít IP adresu virtuálního počítače KVM
- Jak přejmenovat hostující virtuální počítač KVM