Выполнение команд в виртуальных машинах без сетевого подключения
Если по какой-то причине у ВМ нет доступа к сети, вы все равно можете выполнять на ней команды с сервера, на котором она расположена.
Вам потребуется идентификатор ВМ, который можно получить с помощью команды vinfra service compute server list. Вы также можете использовать имя домена virsh, которое можно получить с помощью команды virsh list.
Предварительные требования
- На ВМ должны быть установлены дополнения гостевой ОС (см. раздел Установка дополнений гостевой ОС).
Чтобы выполнять команды внутри ВМ без сетевого подключения
Windows
Чтобы выполнить произвольную команду внутри ВМ 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
Чтобы выполнить произвольную команду внутри ВМ 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