Centos

virt-install 導致 Putty 會話凍結

  • March 14, 2017

使用 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(預設)shutdownpoweroffkickstart 命令,以便 virt-install 在安裝完成時退出。

引用自:https://unix.stackexchange.com/questions/351307