virt-install 導致 Putty 會話凍結
使用 Putty 登錄遠端 CentOS 7 伺服器,我能夠在 CentOS 7 主機中成功創建 CentOS 7 來賓虛擬機。
但是,該命令會導致控制台凍結並最終超時,而沒有任何跡象表明它已成功創建虛擬機。然後,我必須使用單獨的 Putty 會話再次登錄,以確認來賓虛擬機已創建。
為了指示 CentOS 7 主機以在終端中提供有意義的結果報告而不鎖定的方式創建 CentOS 7 來賓虛擬機,需要鍵入哪些特定命令? 該命令需要產生有意義的回饋,然後可以將其集成到腳本中。
完整的終端輸出:
virt-install
這是我目前的語法導致的鎖定/超時 Putty 會話的終端日誌:
[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
命令成功或失敗的有意義的回饋,而不必等到會話超時並啟動單獨的會話?
聽起來您的 virt-install 工作正常,但是您無權訪問 VM 的控制台(文本或 gui)來執行實際的安裝步驟。這意味著您的 VM 已啟動並正在執行,但它位於安裝的第一個螢幕上等待輸入。
您可以通過使用帶有 virt-install 的 Kickstart 安裝來解決此問題。
kickstart文件告訴安裝程序您想要什麼,這樣您就不必以互動方式輸入該資訊。
我想你可能想要使用
halt
(預設)shutdown
或poweroff
kickstart 命令,以便 virt-install 在安裝完成時退出。