Выполнение команд в виртуальных машинах без сетевого подключения#
Если по какой-то причине у ВМ нет доступа к сети, вы все равно можете выполнять на ней команды с сервера, на котором она расположена.
Вам потребуется идентификатор ВМ, который можно получить с помощью команды vinfra service compute server list. Вы также можете использовать имя домена virsh, которое можно получить с помощью команды virsh list.
Предварительные требования
На ВМ должны быть установлены дополнения гостевой ОС (см. раздел Установка дополнений гостевой ОС).
Выполнение команды внутри ВМ без сетевого подключения
Чтобы выполнить произвольную команду внутри ВМ Windows и получить вывод на консоль, используйте команду virsh x-exec, например:
# virsh x-exec bbf4a6ec-865f-4e2c-ac21-8639d1bfb85c --shell dir c:\
Volume in drive C has no label.
Volume Serial Number is D0BE-A8D1
Directory of c:\
06/10/2009 01:42 PM 24 autoexec.bat
06/10/2009 01:42 PM 10 config.sys
07/13/2009 06:37 PM <DIR> PerfLogs
11/12/2018 07:45 AM <DIR> Program Files
11/12/2018 07:55 AM <DIR> test
11/12/2018 06:23 AM <DIR> Users
11/12/2018 07:53 AM <DIR> Windows
2 File(s) 34 bytes
5 Dir(s) 59,329,495,040 bytes free
Чтобы скопировать файл на ВМ Windows, используйте команды virsh x-exec и prl_cat, например:
# virsh x-exec bbf4a6ec-865f-4e2c-ac21-8639d1bfb85c \
--shell '%programfiles%\qemu-ga\prl_cat' 'c:\test\test.file' < /home/test.file
Чтобы получить файл с ВМ Windows, используйте команды virsh x-exec и type, например:
# virsh x-exec bbf4a6ec-865f-4e2c-ac21-8639d1bfb85c \
--shell type 'c:\test\test.file' > test.file
Чтобы выполнить произвольную команду внутри ВМ Linux и получить вывод на консоль, используйте команду virsh x-exec, например:
# virsh x-exec 1d45a54b-0e20-4d5e-8f11-12c8b4f300db /usr/bin/bash -c 'lsblk'
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop0 7:0 0 945.9M 1 loop
loop1 7:1 0 5G 1 loop
├─live-rw 253:0 0 5G 0 dm /
└─live-base 253:1 0 5G 1 dm
loop2 7:2 0 32G 0 loop
└─live-rw 253:0 0 5G 0 dm /
sda 8:0 0 64G 0 disk
sdc 8:32 0 1G 1 disk
sr0 11:0 1 2G 0 rom /run/initramfs/live
Чтобы скопировать файл на ВМ Linux, используйте команды virsh x-exec и cat, например:
# virsh x-exec 1d45a54b-0e20-4d5e-8f11-12c8b4f300db \
--shell 'cat > test.file' < /home/test.file
Чтобы получить файл с ВМ Linux, используйте те же команды virsh x-exec и cat, например:
# virsh x-exec 1d45a54b-0e20-4d5e-8f11-12c8b4f300db \
--shell 'cat /home/test.file' > test.file