使用Putty登录远程CentOS 7服务器,我能够在CentOS 7主机中成功创建CentOS 7来宾虚拟机。
但是,该命令会导致控制台冻结并最终超时,并且不会给出任何已成功创建虚拟机的指示。然后,我必须使用单独的 Putty 会话再次登录,以确认来宾虚拟机已创建。
需要输入哪些特定命令才能指示 CentOS 7 主机创建 CentOS 7 来宾虚拟机,从而在终端中提供有意义的结果报告而不锁定? 该命令需要产生有意义的反馈,然后可以将其集成到脚本中。
完整的终端输出:
以下是我当前语法导致的锁定/超时 Putty 会话的终端日志
virt-install
:
[root@remote-host ~]# virt-install --name centos7 --ram 2048 --disk path=/dev/mapper/centos-third,size=242 --vcpus 1 --os-type generic --os-variant generic --network bridge=virbr0 --graphics none --console pty,target_type=serial --cdrom /tmp/CentOS-7-x86_64-Minimal-1611.iso
WARNING CDROM media does not print to the text console by default, so you likely will not see text install output. You might want to use --location. See the man page for examples of using --location with CDROM media
Starting install...
Creating domain... | 0 B 00:00:00
Connected to domain centos7
Escape character is ^]
在单独的 Putty 会话中进行独立验证:
在上述记录的 Putty 会话超时后,我启动了另一个(单独的)Putty 会话,并用于
virsh
发现第一个来宾虚拟机已成功创建,如下所示:
[root@remote-host ~]# virsh list --all
Id Name State
----------------------------------------------------
5 centos7 running
[root@remote-host ~]# virsh dominfo centos7
Id: 5
Name: centos7
UUID: some-very-long-string
OS Type: hvm
State: running
CPU(s): 1
CPU time: 1742.1s
Max memory: 2097152 KiB
Used memory: 2097152 KiB
Persistent: yes
Autostart: disable
Managed save: no
Security model: selinux
Security DOI: 0
Security label: system_u:system_r:svirt_t:s0:c654,c992 (enforcing)
[root@remote-host ~]# virsh vcpuinfo centos7
VCPU: 0
CPU: 2
State: running
CPU time: 1839.3s
CPU Affinity: yyyy
[root@remote-host ~]#
另一种尝试:
接下来,我尝试了上面错误消息中的建议,并打开了一个单独的(第三个)Putty 会话来运行以下命令,以使用--location
而不是创建不同的来宾虚拟机--cdrom
,以便可以打印控制台输出,但我得到以下信息错误:
[root@remote-host ~]# virt-install --name centos7b --ram 2048 --disk path=/dev/mapper/centos-fourth,size=242 --vcpus 1 --os-type generic --os-variant generic --network bridge=virbr0 --graphics none --console pty,target_type=serial --location=/tmp/CentOS-7-x86_64-Minimal-1611.iso
ERROR 'NoneType' object is not iterable
我们如何更改上面的命令以提供有关命令成功或失败的有意义的反馈,virt-install
而不必等到会话超时并启动单独的会话?
答案1
听起来您的 virt-install 工作正常,但您无权访问虚拟机的控制台(文本或 GUI)来执行实际的安装步骤。这意味着您的虚拟机已启动并正在运行,但它位于安装的第一个屏幕上等待输入。
您可以通过使用来解决这个问题使用 virt-install 启动安装。
这启动文件告诉安装程序您想要什么,这样您就不必以交互方式输入该信息。
我认为您可能想要使用halt
(默认)shutdown
或poweroff
kickstart 命令,以便 virt-install 在安装完成后退出。