[server] 콘솔에서 KVM 게스트가 설치되었습니다. 그러나 손님의 콘솔에가는 방법?

커맨드 라인 만 (하이퍼 바이저와 게스트 모두)을 사용하여 KVM (RHEL 6)에 완전 가상화 게스트 (Fedora 14 x86_64)를 설치하려고합니다. 오류가없고 확실한 결과가 없습니다. 텍스트 전용 설치 방법을 알고 싶습니다.

그래서 여기 내가 한 일이 있습니다.

# virt-install \
--name=FE --ram=756 --vcpus=1 \
--file=/var/lib/libvirt/images/FE.img  --network bridge:br0 \
--nographics --os-type=linux  \
--extra-args='console=tty0' -v \
--cdrom=/media/usb/Fedora-14-x86_64-Live-Desktop.iso


Starting install...
Creating domain...                                                                                                                                                        |    0 B     00:00
Connected to domain FE
Escape character is ^]
ÿ

이제 뭐? 며칠 동안 인터넷 검색을 한 후 텍스트 설치에서 손님의 결과를 볼 수 있지만 아무 일도 일어나지 않습니다. virt-viewer는 연결할 수 없으며 –help (내가 한)를 추가하여 모든 옵션을 탐색 할 것을 제안합니다. virsh와 다시 연결하면 다음을 볼 수 있습니다.

Domain installation still in progress. You can reconnect to
the console to complete the installation process.
[root@v ~]
# virsh console FEConnected to domain FE
Escape character is ^]

이것은 VM이 실행 중임을 나타냅니다.

# virsh list
 Id Name                 State
----------------------------------
  8 FE                   running

Qemu 로그 :

LC_ALL=C PATH=/sbin:/usr/sbin:/bin:/usr/bin /usr/libexec/qemu-kvm -S -M rhel6.0.0 -enable-kvm -m 756 -smp 1,sockets=1,cores=1,threads=1 -name FE -uuid 6989d008-7c89-424c-d2d3-f41235c57a18 -nographic -nodefconfig -nodefaults -chardev socket,id=monitor,path=/var/lib/libvirt/qemu/FE.monitor,server,nowait -mon chardev=monitor,mode=control -rtc base=utc -no-reboot -boot d -drive file=/var/lib/libvirt/images/FE.img,if=none,id=drive-ide0-0-0,format=raw,cache=none -device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 -drive file=/media/usb/Fedora-14-x86_64-Live-Desktop.iso,if=none,media=cdrom,id=drive-ide0-1-0,readonly=on,format=raw -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 -netdev tap,fd=20,id=hostnet0 -device rtl8139,netdev=hostnet0,id=net0,mac=52:54:00:0a:65:8d,bus=pci.0,addr=0x2 -chardev pty,id=serial0 -device isa-serial,chardev=serial0 -usb -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
char device redirected to /dev/pts/1

/etc/libvirt/qemu/FE.xml의 출력

# cat /etc/libvirt/qemu/FE.xml
<domain type='kvm'>
  <name>FE</name>
  <uuid>6989d008-7c89-424c-d2d3-f41235c57a18</uuid>
  <memory>774144</memory>
  <currentMemory>774144</currentMemory>
  <vcpu>1</vcpu>
  <os>
    <type arch='x86_64' machine='rhel6.0.0'>hvm</type>
    <boot dev='hd'/>
  </os>
  <features>
    <acpi/>
    <apic/>
    <pae/>
  </features>
  <clock offset='utc'/>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <devices>
    <emulator>/usr/libexec/qemu-kvm</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw' cache='none'/>
      <source file='/var/lib/libvirt/images/FE.img'/>
      <target dev='hda' bus='ide'/>
      <address type='drive' controller='0' bus='0' unit='0'/>
    </disk>
    <disk type='block' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <target dev='hdc' bus='ide'/>
      <readonly/>
      <address type='drive' controller='0' bus='1' unit='0'/>
    </disk>
    <controller type='ide' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
    </controller>
    <interface type='bridge'>
      <mac address='52:54:00:0a:65:8d'/>
      <source bridge='br0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    </interface>
    <serial type='pty'>
      <target port='0'/>
    </serial>
    <console type='pty'>
      <target port='0'/>
    </console>
    <memballoon model='virtio'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </memballoon>
  </devices>
</domain>

나는 많은 다른 사람들이하지 않은 것을 분명히 놓치고 있지만 무엇입니까? 미리 감사드립니다!



답변

--extra-args='console=ttyS0'지난 번에 인터넷 어딘가에 복사 했는데 작동합니다!

  • 두 개의 “콘솔”명령이 필요 없으며 하나의 콘솔 대신 두 개의 콘솔 만 열림
  • 전송 속도를 수동으로 지정할 필요가 없습니다.
  • “-직렬”옵션은 더 이상 사용되지 않습니다
  • RedHat 콘솔 장치는 “/ dev / tty0″이 아닌 “/ dev / ttyS0″입니다.

참조 : http://anaconda-installer.readthedocs.io/en/latest/boot-options.html


답변

--nographicstty0 콘솔 외에 게스트에 콘솔을 설정하지 않았습니다. 그래픽 콘솔, 특히 원격에서 사용하려면 vga 및 vnc 또는 qxl 및 spice를 활성화해야합니다. 이것은 예입니다 : http://www.linux-kvm.com/content/tip-how-run-headless-guest-machine-using-vnc-kvm

http://www.linux-kvm.com/content/running-kvm-nographics-no-console-output 또는 http://ubuntuforums.org/showpost.php?p=9610421&postcount=7 도 해결책입니다.


답변

CentOS의 텍스트 전용 설치를 수행 할 때 비슷한 문제가 발생했습니다. 직렬 출력 콘솔을 지정하기 위해 커널 인수를 추가하는 것으로 요약하여 또는 console=ttyS0사용시 콘솔에 연결할 수 있습니다 . 에서 수동이야 ‘--graphics none--nographicsvirt-install

-그래픽 없음

게스트에 그래픽 콘솔이 할당되지 않습니다. 완전 가상화 게스트 (Xen FV 또는 QEmu / KVM)는 게스트의 첫 번째 직렬 포트에 텍스트 콘솔을 구성해야합니다 (이 작업은 –extra-args 옵션을 통해 수행 할 수 있음). Xen PV가이를 자동으로 설정합니다. ‘virsh console NAME’명령을 사용하여 직렬 장치에 연결할 수 있습니다.

두 가지 방법으로 문제를 해결했습니다.

  1. iso 이미지를 수정하고 --cdrom옵션을 사용하여
  2. iso 이미지를 NFS 공유로 노출하고 --location옵션을 사용하여--extra-args

1. 이미지 수정

iso 설치 디스크에서 커널 매개 변수를 수정하려면 다음을 수행하십시오.

  1. 이미지 조작 (예 : isomaster) 을 허용하는 프로그램을 확보하십시오 .
  2. isolinux/isolinux.cfg이미지 의 파일로 이동하여 열고 첫 번째 줄을 찾은 다음 언급 된 매개 변수가있는 다른 모든 줄을 initrd=추가하십시오 console=ttyS0.
  3. 파일과 이미지를 저장하십시오.
  4. virt-install평소 와 같이 수정 된 이미지를 사용하십시오. 예 :

    $ sudo virt-install --name centos-vm --ram 1024 --disk path=/home/user/domains/centos-vm --cdrom /home/user/images/centos-modified.iso --os-type linux --nographics --accelerate
    

끝난.

2. NFS 공유 사용

  1. 이미지를 마운트하십시오.

    $ sudo mount -o loop,unhide -t iso9660 -r /home/user/images/CentOS.iso /home/user/mnt/cdrom
    
  2. 실행 중이 아닌 경우 NFS 서비스를 시작하십시오. service nfs start

  3. /etc/exports클라이언트가 사용할 수 있도록 다음 행을 추가하십시오 .

    /home/user/mnt/cdrom    *(ro,insecure,all_squash)
    
  4. 다음을 사용하여 시스템 내보내기 테이블을 새로 고치십시오.

    $ exportfs -r
    
  5. 예를 들어 다음 virt-install을 포함 하도록 공유를 사용하십시오 --extra-args.

    $ sudo virt-install --name centos-vm --ram 1024 --disk path=/home/user/domains/centos-vm --location /home/user/mnt/cdrom --os-type linux --nographics --accelerate --extra-args="console=ttyS0"
    
  6. CentOS를 설치하는 동안 설치 파일의 위치를 ​​묻는 프롬프트가 나타납니다. 컴퓨터의 주소와 공유의 전체 경로를 입력해야합니다.

끝난.


답변

텍스트 모드에서 Fedora 설치 관리자를 실행해야합니다. 여분의 인수에 ‘텍스트’를 추가하십시오. 또는 “vnc”를 추가하여 시작한 후에 VNC를 통해 설치 프로그램에 연결할 수 있습니다.


답변

나는 cobbler와 koan을 사용하여 잠시 동안 설치를 해왔다. cobbler 내에서 Centos60-x86_64 프로파일에서 커널 옵션을 설정했습니다.

Kernel Options: serial console=ttyS0,115200
Kernel Options (Post Install): console=ttyS0,115200

부팅 후 console = tty0 console = ttS0,115200을 사용하여 두 장치에 콘솔을 표시 할 수 있습니다. 설치에는 작동하지 않습니다. / etc / grub에서 grub 옵션을 편집하고 grub.conf를 재생성하면 직렬 콘솔 설정은 커널 업그레이드 후에도 유지됩니다. 설치 프로그램이 GUI를 시작하지 못하도록 커널 명령 행에 “text”를 추가하십시오.

KVM 게스트 인스턴스가 시작되면 KVM 호스트에 로그인 한 상태에서 다음과 같이 게스트의 콘솔에 연결합니다.

[root@vmhost ~]# virsh console guestvm

그런 다음 내 껍질에서 이것을 봅니다.

Connected to domain guestvm
Escape character is ^]

CentOS Linux release 6.0 (Final)
Kernel 2.6.32-71.el6.x86_64 on an x86_64

guestvm login:

마지막으로 koan에게 KVM 게스트 중 하나를 만들기 시작하면 –nogfx 스위치를 사용하여 호출합니다.

koan --server 192.168.1.1 --virt --nogfx --system=guestvm


답변

콘솔이 잘못 구성된 것 같습니다.

아마도 이것이나 비슷한 것을 시도하십시오 :

먼저 grub 설정에 콘솔 라인을 추가합니다 (예 : 아치 게스트) : kernel / vmlinuz26 root = / dev / vda2 ro console = ttyS0,115200 그런 다음 / etc / inittab을 편집하여 ttyS0 (같은 아치 게스트)을 활성화합니다 : co : 23 : respawn : / sbin / agetty -8 115200 ttyS0 리눅스. / etc / securetty에 ttyS0이 있는지 확인하십시오.

더 많은 정보는 여기에 있습니다 :` http ://www.linux-kvm.com/content/running-kvm-nographics-no-console-output

–편집하다–

console=ttyS0,115200다른 가능한 콘솔 매개 변수를 시도 하고 확인할 수 있습니다.


답변