実行中の仮想マシンにどのようにアクセスしますか?

実行中の仮想マシンにどのようにアクセスしますか?

友人の同僚がGaming Allianceのための自発的なプログラムを用意しました。ところが今の問題は、その人が不在で、実行中の仮想マシンにどのようにアクセスするのか分からないという点です。解決策を見つけるために数日間インターネットを検索しました。

これで、仮想マシンがqemuとkvmを使用してlibvirtで実行されていることがわかりました。 virshコマンドを使用すると、仮想マシンを起動または終了できます(これは私にとって新しいコマンドでもあります)。

ps ax | grep qemu

以下を見せてください:

16767 pts/0    S+     0:00 grep --color=auto qemu
18250 ?        Sl   388:50 /usr/bin/kvm -S -M pc-1.0 -enable-kvm -m 1000 -smp 4,sockets=4,cores=1,threads=1 -name Teamspeak1 -uuid a973dbb4-04e1-942b-1546-615f425b931b -nodefconfig -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/Teamspeak1.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x6 -drive file=/var/lib/libvirt/images/Teamspeak1.img,if=none,id=drive-ide0-0-0,format=raw -device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 -drive if=none,media=cdrom,id=drive-ide0-1-0,readonly=on,format=raw -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 -netdev tap,fd=18,id=hostnet0 -device rtl8139,netdev=hostnet0,id=net0,mac=52:54:00:29:5f:61,bus=pci.0,addr=0x3 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -usb -vnc 127.0.0.1:0 -vga cirrus -device intel-hda,id=sound0,bus=pci.0,addr=0x4 -device hda-duplex,id=sound0-codec0,bus=sound0.0,cad=0 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5
18295 ?        Sl    79:15 /usr/bin/kvm -S -M pc-1.0 -enable-kvm -m 1024 -smp 8,sockets=8,cores=1,threads=1 -name Webserver -uuid 14b56603-7323-2333-180c-227d02260acf -nodefconfig -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/Webserver.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown -drive file=/var/lib/libvirt/images/Webserver.img,if=none,id=drive-ide0-0-0,format=raw -device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 -drive if=none,media=cdrom,id=drive-ide0-1-0,readonly=on,format=raw -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 -netdev tap,fd=18,id=hostnet0 -device rtl8139,netdev=hostnet0,id=net0,mac=52:54:00:f6:a1:37,bus=pci.0,addr=0x3 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -usb -vnc 127.0.0.1:1 -vga cirrus -device intel-hda,id=sound0,bus=pci.0,addr=0x4 -device hda-duplex,id=sound0-codec0,bus=sound0.0,cad=0 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5
18380 ?        Sl    19:32 /usr/bin/kvm -S -M pc-1.0 -enable-kvm -m 10000 -smp 8,sockets=8,cores=1,threads=1 -name Gameserver1 -uuid cb7b70e3-f049-7545-65d2-3adff36f34ff -nodefconfig -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/Gameserver1.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown -device ahci,id=ahci0,bus=pci.0,addr=0x6 -drive file=/var/lib/libvirt/images/Gameserver1.img,if=none,id=drive-ide0-0-0,format=raw -device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 -drive if=none,media=cdrom,id=drive-ide0-1-0,readonly=on,format=raw -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 -drive file=/var/lib/libvirt/images/Gameserver1-1.img,if=none,id=drive-sata0-0-0,format=raw -device ide-drive,bus=ahci0.0,drive=drive-sata0-0-0,id=sata0-0-0 -netdev tap,fd=18,id=hostnet0 -device rtl8139,netdev=hostnet0,id=net0,mac=52:54:00:62:7d:6e,bus=pci.0,addr=0x3 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -usb -vnc 127.0.0.1:2 -vga cirrus -device intel-hda,id=sound0,bus=pci.0,addr=0x4 -device hda-duplex,id=sound0-codec0,bus=sound0.0,cad=0 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5

彼はまた、私に次のような通知を残しました。

「ゲームサーバー1」の場合:

root: kecks
user : game
pass: ***

ip: 192.168.122.161
FTP connection : ftp://***:2121

IP-Tables:
        //FTP: (Chrooted)
        49152-49153 (FTP Passive)
        2121 -> 21
        2020 -> 20
        //CS:GO 
        27015

たとえば、「ネットワークサーバー」は次のようになります。

##User
root -> ***
webserver -> ***

192.168.122.198
Mysql root -> ***


ACCEPT     tcp  --  anywhere             192.168.122.198      state NEW,RELATED,ESTABLISHED tcp dpt:12001 // FTP
ACCEPT     tcp  --  anywhere             192.168.122.198      state NEW,RELATED,ESTABLISHED tcp dpt:12000 //FTP
ACCEPT     tcp  --  anywhere             192.168.122.198      state NEW,RELATED,ESTABLISHED tcp dpt:ftp-data
ACCEPT     tcp  --  anywhere             192.168.122.198      state NEW,RELATED,ESTABLISHED tcp dpt:ftp
ACCEPT     tcp  --  anywhere             192.168.122.198      state NEW,RELATED,ESTABLISHED tcp dpt:http

すでにこのツールを使用しているシステム管理者にとって、これは役に立つかもしれませんが、私には役に立ちませんでした。

VMのXML構成ファイルのみが生成されます。だからここでは必要ないと思います。サーバーはUbuntu 12.04.3 LTSで実行されています。複雑なssh、vncコマンドで接続を試みましたが、仮想マシンではなくホストにのみ接続されます。もちろん、クラスCのローカルIPv4アドレスだけを見たので、ホストシステムはSSH接続を介してローカルで試しました。

編集:以下の2つの答えで修正されました。解決策は、ホストのSSHセッション内でクラスC IPアドレスへのSSH接続を確立することです。

ベストアンサー1

comamndを使用したVMの起動

# virsh start Gameserver1

実行中のサーバーのリスト

# virsh list 

コンソールからサーバーにアクセスする

# virt-viewer Gameserver1

これにより、サーバーのコンソールが開き、グラフィカルにアクセスできます。

仮想マシンの使用をオフにする

# virsh destroy Gameserver1

インストールパッケージ

centos ir fedora を使用している場合は、次のパッケージをインストールします。

# yum install qemu libvirt-client virt-manager \
  virt-viewer guestfish libguestfs-tools virt-top

Debian または Ubuntu を使用している場合は、以下をインストールしてください。

# sudo apt-get install kvm libvirt-bin virt-manager virt-viewer virt-top virt-what

これにより問題が解決します。

おすすめ記事