virt-install을 사용하여 명령 줄에서 VM 설치


16

면책 조항 :

나는 이제 virt-manager내 VM을 만들고 관리 하는 데 사용하며 실제로 생명을 구합니다. 호스트에 그래픽 디스플레이가없는 경우 원격으로 (세 번째 시스템, 일반적으로 워크 스테이션에서) 사용할 수 있습니다.

의 발생 vnc내가 만든 발견 설치 튜토리얼에서 나를 생각은 "추천"절차에 필요한 X 물건 중 호스트, 게스트 또는 둘. 절대적으로하지. 내 실수. 같은 상황이라면 명령 줄에서 VM을 설치하기 전에 두 번 생각하십시오.


사용하여 데비안 호스트에 데비안 VM을 설치하려고 virt-install하는데 .iso 이미지를 전달하는 방법을 모르겠습니다.

virt-install --connect qemu:///system --virt-type kvm --name prod --ram 6144 --disk /srv/vm/prod.qcow,format=qcow2,size=10 --location=/home/jerome/debian-8.0.0-amd64-netinst.iso --network bridge=br0 --os-type linux --os-variant debianwheezy --extra-args='console=tty0 console=ttyS0,115200n8 serial'

Starting install...
Retrieving file info...                                                                                                                                         |  160 B     00:00 ... 
ERROR    Could not find an installable distribution at '/home/jerome/debian-8.0.0-amd64-netinst.iso'
The location must be the root directory of an install tree.
Domain installation does not appear to have been successful.
If it was, you can restart your domain by running:
  virsh --connect qemu:///system start prod
otherwise, please restart your installation.
root@versailles:/etc# 

내가 본 솔루션은 아파치를 사용하여 .iso 이미지를 먼 곳에서 온 것처럼 로컬로 제공하는 것처럼 상당히 왜곡 된 것처럼 보입니다.

나는 그것이 그렇게 복잡하다는 것을 믿을 수 없다. 그렇습니까?

man virt-install 말한다 :

If you want to use those options with CDROM media, you have a few options:

         * Run virt-install as root and do --location ISO

         * Mount the ISO at a local directory, and do --location DIRECTORY

         * Mount the ISO at a local directory, export that directory over local http, and do --location http://localhost/DIRECTORY

내가하고있는 일이 아닙니까?

누군가 가 .iso를 / cdrom으로 옮겼는데 효과가 있었지만, 그가 한 일을 정확히 이해하지 못해 재현 할 수 없었습니다.

로 지정된 경우에만 작동 하기 때문에이 질문 에서 --cdrom대신 사용할 수 없습니다 .--location--extra-args--location

virt-install --connect qemu:///system --virt-type kvm --name prod --ram 6144 --disk /srv/vm/prod.qcow,format=qcow2,size=10 --cdrom=/home/jerome/debian-8.0.0-amd64-netinst.iso --network bridge=br0 --os-type linux --os-variant debianwheezy --extra-args='console=tty0 console=ttyS0,115200n8 serial'
ERROR    --extra-args only work if specified with --location. See the man page for examples of using --location with CDROM media

편집하다:

로 로그인 --debug

virt-install --connect qemu:///system --virt-type kvm --name prod --ram 6144 --disk /srv/vm/prod.qcow,format=qcow2,size=10 --location=/home/jerome/debian-8.0.0-amd64-netinst.iso --network bridge=br0 --os-type linux --os-variant debianwheezy --extra-args='console=tty0 console=ttyS0,115200n8 serial' --debug
[mer., 03 juin 2015 17:46:12 virt-install 12991] DEBUG (cli:187) Launched with command line: /usr/share/virt-manager/virt-install --connect qemu:///system --virt-type kvm --name prod --ram 6144 --disk /srv/vm/prod.qcow,format=qcow2,size=10 --location=/home/jerome/debian-8.0.0-amd64-netinst.iso --network bridge=br0 --os-type linux --os-variant debianwheezy --extra-args=console=tty0 console=ttyS0,115200n8 serial --debug
[mer., 03 juin 2015 17:46:12 virt-install 12991] DEBUG (cli:195) Requesting libvirt URI qemu:///system
[mer., 03 juin 2015 17:46:12 virt-install 12991] DEBUG (cli:199) Received libvirt URI qemu:///system
[mer., 03 juin 2015 17:46:12 virt-install 12991] DEBUG (virt-install:193) Requesting virt method 'default', hv type 'kvm'.
[mer., 03 juin 2015 17:46:12 virt-install 12991] DEBUG (virt-install:432) Received virt method 'kvm'
[mer., 03 juin 2015 17:46:12 virt-install 12991] DEBUG (virt-install:433) Hypervisor name is 'hvm'
[mer., 03 juin 2015 17:46:12 virt-install 12991] DEBUG (cli:476) DISPLAY is not set: defaulting to nographics.
[mer., 03 juin 2015 17:46:12 virt-install 12991] DEBUG (guest:208) Setting Guest.os_variant to 'debianwheezy'
[mer., 03 juin 2015 17:46:12 virt-install 12991] DEBUG (diskbackend:171) Path '/srv/vm' is target for pool 'srv-kvm'. Creating volume 'prod.qcow'.
[mer., 03 juin 2015 17:46:12 virt-install 12991] DEBUG (connection:228) Fetching volume XML failed: Storage volume not found: no storage vol with matching path '/media/cdrom0/debian-8.0.0-amd64-netinst.iso'
[mer., 03 juin 2015 17:46:12 virt-install 12991] DEBUG (virt-install:551) Guest.has_install_phase: True

Starting install...
[mer., 03 juin 2015 17:46:12 virt-install 12991] DEBUG (distroinstaller:417) Using scratchdir=/var/lib/libvirt/boot
[mer., 03 juin 2015 17:46:12 virt-install 12991] DEBUG (urlfetcher:204) Preparing mount at /var/lib/libvirt/boot/virtinstmnt.srz86f
[mer., 03 juin 2015 17:46:12 virt-install 12991] DEBUG (urlfetcher:214) mount cmd: ['/bin/mount', '-o', 'ro,loop', '/home/jerome/debian-8.0.0-amd64-netinst.iso', '/var/lib/libvirt/boot/virtinstmnt.srz86f']
[mer., 03 juin 2015 17:46:12 virt-install 12991] DEBUG (urlfetcher:302) Finding distro store for location=/home/jerome/debian-8.0.0-amd64-netinst.iso
[mer., 03 juin 2015 17:46:12 virt-install 12991] DEBUG (urlfetcher:183) local hasFile: Couldn't find /var/lib/libvirt/boot/virtinstmnt.srz86f/.treeinfo
[mer., 03 juin 2015 17:46:12 virt-install 12991] DEBUG (urlfetcher:325) Prioritizing distro store=<class 'virtinst.urlfetcher.DebianDistro'>
[mer., 03 juin 2015 17:46:12 virt-install 12991] DEBUG (urlfetcher:183) local hasFile: Couldn't find /var/lib/libvirt/boot/virtinstmnt.srz86f/current/images/MANIFEST
[mer., 03 juin 2015 17:46:12 virt-install 12991] DEBUG (urlfetcher:183) local hasFile: Couldn't find /var/lib/libvirt/boot/virtinstmnt.srz86f/daily/MANIFEST
[mer., 03 juin 2015 17:46:12 virt-install 12991] DEBUG (urlfetcher:183) local hasFile: Couldn't find /var/lib/libvirt/boot/virtinstmnt.srz86f/Fedora
[mer., 03 juin 2015 17:46:12 virt-install 12991] DEBUG (urlfetcher:99) Fetching URI: /var/lib/libvirt/boot/virtinstmnt.srz86f/.disk/info
[mer., 03 juin 2015 17:46:12 virt-install 12991] DEBUG (urlfetcher:110) Saved file to /var/lib/libvirt/boot/virtinst-info.lZMVqL
Retrieving file info...                                                                                                                                                                                                  |  160 B     00:00 ... 
[mer., 03 juin 2015 17:46:12 virt-install 12991] DEBUG (urlfetcher:1016) Regex didn't match, not a ALT Linux distro
[mer., 03 juin 2015 17:46:12 virt-install 12991] DEBUG (urlfetcher:183) local hasFile: Couldn't find /var/lib/libvirt/boot/virtinstmnt.srz86f/current/images/MANIFEST
[mer., 03 juin 2015 17:46:12 virt-install 12991] DEBUG (urlfetcher:183) local hasFile: Couldn't find /var/lib/libvirt/boot/virtinstmnt.srz86f/install/netboot/version.info
[mer., 03 juin 2015 17:46:12 virt-install 12991] DEBUG (urlfetcher:183) local hasFile: Couldn't find /var/lib/libvirt/boot/virtinstmnt.srz86f/SL
[mer., 03 juin 2015 17:46:12 virt-install 12991] DEBUG (urlfetcher:183) local hasFile: Couldn't find /var/lib/libvirt/boot/virtinstmnt.srz86f/directory.yast
[mer., 03 juin 2015 17:46:12 virt-install 12991] DEBUG (urlfetcher:183) local hasFile: Couldn't find /var/lib/libvirt/boot/virtinstmnt.srz86f/CentOS
[mer., 03 juin 2015 17:46:12 virt-install 12991] DEBUG (urlfetcher:183) local hasFile: Couldn't find /var/lib/libvirt/boot/virtinstmnt.srz86f/VERSION
[mer., 03 juin 2015 17:46:12 virt-install 12991] DEBUG (urlfetcher:183) local hasFile: Couldn't find /var/lib/libvirt/boot/virtinstmnt.srz86f/Server
[mer., 03 juin 2015 17:46:12 virt-install 12991] DEBUG (urlfetcher:183) local hasFile: Couldn't find /var/lib/libvirt/boot/virtinstmnt.srz86f/Client
[mer., 03 juin 2015 17:46:12 virt-install 12991] DEBUG (urlfetcher:183) local hasFile: Couldn't find /var/lib/libvirt/boot/virtinstmnt.srz86f/RedHat
[mer., 03 juin 2015 17:46:12 virt-install 12991] DEBUG (urlfetcher:183) local hasFile: Couldn't find /var/lib/libvirt/boot/virtinstmnt.srz86f/images/pxeboot/vmlinuz
[mer., 03 juin 2015 17:46:12 virt-install 12991] DEBUG (urlfetcher:183) local hasFile: Couldn't find /var/lib/libvirt/boot/virtinstmnt.srz86f/images/boot.iso
[mer., 03 juin 2015 17:46:12 virt-install 12991] DEBUG (urlfetcher:183) local hasFile: Couldn't find /var/lib/libvirt/boot/virtinstmnt.srz86f/boot/boot.iso
[mer., 03 juin 2015 17:46:12 virt-install 12991] DEBUG (urlfetcher:183) local hasFile: Couldn't find /var/lib/libvirt/boot/virtinstmnt.srz86f/current/images/netboot/mini.iso
[mer., 03 juin 2015 17:46:12 virt-install 12991] DEBUG (urlfetcher:183) local hasFile: Couldn't find /var/lib/libvirt/boot/virtinstmnt.srz86f/install/images/boot.iso
[mer., 03 juin 2015 17:46:12 virt-install 12991] DEBUG (urlfetcher:225) Cleaning up mount at /var/lib/libvirt/boot/virtinstmnt.srz86f
[mer., 03 juin 2015 17:46:12 virt-install 12991] DEBUG (cli:234)   File "/usr/share/virt-manager/virt-install", line 876, in <module>
    sys.exit(main())
  File "/usr/share/virt-manager/virt-install", line 870, in main
    start_install(guest, continue_inst, options)
  File "/usr/share/virt-manager/virt-install", line 588, in start_install
    fail(e, do_exit=False)
  File "/usr/share/virt-manager/virtinst/cli.py", line 234, in fail
    logging.debug("".join(traceback.format_stack()))

[mer., 03 juin 2015 17:46:12 virt-install 12991] ERROR (cli:235) Could not find an installable distribution at '/home/jerome/debian-8.0.0-amd64-netinst.iso'
The location must be the root directory of an install tree.
[mer., 03 juin 2015 17:46:12 virt-install 12991] DEBUG (cli:237) 
Traceback (most recent call last):
  File "/usr/share/virt-manager/virt-install", line 560, in start_install
    dom = guest.start_install(meter=meter, noboot=options.noreboot)
  File "/usr/share/virt-manager/virtinst/guest.py", line 384, in start_install
    self._prepare_install(meter, dry)
  File "/usr/share/virt-manager/virtinst/guest.py", line 277, in _prepare_install
    util.make_scratchdir(self.conn, self.type))
  File "/usr/share/virt-manager/virtinst/installer.py", line 201, in prepare
    self._prepare(guest, meter, scratchdir)
  File "/usr/share/virt-manager/virtinst/distroinstaller.py", line 444, in _prepare
    self._prepare_kernel_url(guest, fetcher)
  File "/usr/share/virt-manager/virtinst/distroinstaller.py", line 347, in _prepare_kernel_url
    store = urlfetcher.getDistroStore(guest, fetcher)
  File "/usr/share/virt-manager/virtinst/urlfetcher.py", line 346, in getDistroStore
    fetcher.location))
ValueError: Could not find an installable distribution at '/home/jerome/debian-8.0.0-amd64-netinst.iso'
The location must be the root directory of an install tree.
[mer., 03 juin 2015 17:46:12 virt-install 12991] DEBUG (cli:248) Domain installation does not appear to have been successful.
If it was, you can restart your domain by running:
  virsh --connect qemu:///system start prod
otherwise, please restart your installation.
Domain installation does not appear to have been successful.
If it was, you can restart your domain by running:
  virsh --connect qemu:///system start prod
otherwise, please restart your installation.

그것은 작동 --location http://ftp.us.debian.org/debian/dists/stable/main/installer-amd64/하지만 .iso 이미지가 로컬에서 사용 가능할 때 이것을하는 것이 부끄럽지 않습니까?

  • 추적 성 손실 : 나중에 정확히 동일한 출처를 확보하고 있다는 것을 재현 할 수 없습니다.

  • 서버 / 미러에서 다중 대역폭 사용.

  • 인터넷 접속이 필요합니다.

  • 느리다.


당신은 옳지 만 apt-cacher-ng를 사용하여 로컬 패키지 캐시 서버를 구축 하거나 apt-mirror 또는 ftpsync를 사용하여 전체 미러를 구축하여 이러한 단점 중 일부를 완화 할 수 있습니다 . 실제로 CD / DVD / BD 배포는 데비안의 훌륭한 패키지 모음 중 일부에 지나지 않으며, 바람직하지 않은 장점을 망치고 우리를 짜증나게합니다. 따라서 많은 사람들이 로컬 미러를 유지하고 설치 초기부터 완벽 함을 즐기는 경향이 있습니다.
yaegashi 2016 년

이것은 virt-manager 1.4.3 ( commit ) 에서 수정되었습니다 .
tom

답변:


6

virt-installISO 이미지에서 커널 및 initrd 파일을 추출하려고 시도합니다. 으로 --debug당신이 포함의 전체 활동을 볼 수있는 등, 그 파일을 검색, 루프를 장착

Starting install...
[Wed, 03 Jun 2015 07:56:40 virt-install 29692] DEBUG (Installer:182) scratchdir=/var/lib/libvirt/boot
[Wed, 03 Jun 2015 07:56:40 virt-install 29692] DEBUG (ImageFetcher:184) Preparing mount at /var/lib/libvirt/boot/virtinstmnt.dwcpql
[Wed, 03 Jun 2015 07:56:40 virt-install 29692] DEBUG (OSDistro:65) Attempting to detect distro:
[Wed, 03 Jun 2015 07:56:40 virt-install 29692] DEBUG (ImageFetcher:169) local hasFile: Couldn't find /var/lib/libvirt/boot/virtinstmnt.dwcpql/.treeinfo
[Wed, 03 Jun 2015 07:56:40 virt-install 29692] DEBUG (ImageFetcher:169) local hasFile: Couldn't find /var/lib/libvirt/boot/virtinstmnt.dwcpql/Fedora
[Wed, 03 Jun 2015 07:56:40 virt-install 29692] DEBUG (ImageFetcher:169) local hasFile: Couldn't find /var/lib/libvirt/boot/virtinstmnt.dwcpql/Server
[Wed, 03 Jun 2015 07:56:40 virt-install 29692] DEBUG (ImageFetcher:169) local hasFile: Couldn't find /var/lib/libvirt/boot/virtinstmnt.dwcpql/Client
[Wed, 03 Jun 2015 07:56:40 virt-install 29692] DEBUG (ImageFetcher:169) local hasFile: Couldn't find /var/lib/libvirt/boot/virtinstmnt.dwcpql/RedHat
[Wed, 03 Jun 2015 07:56:40 virt-install 29692] DEBUG (ImageFetcher:169) local hasFile: Couldn't find /var/lib/libvirt/boot/virtinstmnt.dwcpql/CentOS
[Wed, 03 Jun 2015 07:56:40 virt-install 29692] DEBUG (ImageFetcher:169) local hasFile: Couldn't find /var/lib/libvirt/boot/virtinstmnt.dwcpql/SL
[Wed, 03 Jun 2015 07:56:40 virt-install 29692] DEBUG (ImageFetcher:169) local hasFile: Couldn't find /var/lib/libvirt/boot/virtinstmnt.dwcpql/directory.yast
[Wed, 03 Jun 2015 07:56:40 virt-install 29692] DEBUG (ImageFetcher:169) local hasFile: Couldn't find /var/lib/libvirt/boot/virtinstmnt.dwcpql/current/images/MANIFEST
[Wed, 03 Jun 2015 07:56:40 virt-install 29692] DEBUG (ImageFetcher:169) local hasFile: Couldn't find /var/lib/libvirt/boot/virtinstmnt.dwcpql/daily/MANIFEST
[Wed, 03 Jun 2015 07:56:40 virt-install 29692] DEBUG (ImageFetcher:169) local hasFile: Couldn't find /var/lib/libvirt/boot/virtinstmnt.dwcpql/current/images/MANIFEST
[Wed, 03 Jun 2015 07:56:40 virt-install 29692] DEBUG (ImageFetcher:169) local hasFile: Couldn't find /var/lib/libvirt/boot/virtinstmnt.dwcpql/install/netboot/version.info
[Wed, 03 Jun 2015 07:56:40 virt-install 29692] DEBUG (ImageFetcher:169) local hasFile: Couldn't find /var/lib/libvirt/boot/virtinstmnt.dwcpql/initrd.gz
[Wed, 03 Jun 2015 07:56:40 virt-install 29692] DEBUG (OSDistro:990) Doesn't look like an Ubuntu Distro.
[Wed, 03 Jun 2015 07:56:40 virt-install 29692] DEBUG (ImageFetcher:169) local hasFile: Couldn't find /var/lib/libvirt/boot/virtinstmnt.dwcpql/VERSION
[Wed, 03 Jun 2015 07:56:40 virt-install 29692] DEBUG (ImageFetcher:169) local hasFile: Couldn't find /var/lib/libvirt/boot/virtinstmnt.dwcpql/VERSION
[Wed, 03 Jun 2015 07:56:40 virt-install 29692] DEBUG (ImageFetcher:169) local hasFile: Couldn't find /var/lib/libvirt/boot/virtinstmnt.dwcpql/boot/platform/i86xpv/kernel/unix
[Wed, 03 Jun 2015 07:56:40 virt-install 29692] DEBUG (ImageFetcher:169) local hasFile: Couldn't find /var/lib/libvirt/boot/virtinstmnt.dwcpql/platform/i86xpv/kernel/unix
[Wed, 03 Jun 2015 07:56:40 virt-install 29692] DEBUG (ImageFetcher:169) local hasFile: Couldn't find /var/lib/libvirt/boot/virtinstmnt.dwcpql/STARTUP/XNLOADER.SYS
[Wed, 03 Jun 2015 07:56:40 virt-install 29692] DEBUG (ImageFetcher:169) local hasFile: Couldn't find /var/lib/libvirt/boot/virtinstmnt.dwcpql/images/pxeboot/vmlinuz
[Wed, 03 Jun 2015 07:56:40 virt-install 29692] DEBUG (ImageFetcher:169) local hasFile: Couldn't find /var/lib/libvirt/boot/virtinstmnt.dwcpql/images/boot.iso
[Wed, 03 Jun 2015 07:56:40 virt-install 29692] DEBUG (ImageFetcher:169) local hasFile: Couldn't find /var/lib/libvirt/boot/virtinstmnt.dwcpql/boot/boot.iso
[Wed, 03 Jun 2015 07:56:40 virt-install 29692] DEBUG (ImageFetcher:169) local hasFile: Couldn't find /var/lib/libvirt/boot/virtinstmnt.dwcpql/current/images/netboot/mini.iso
[Wed, 03 Jun 2015 07:56:40 virt-install 29692] DEBUG (ImageFetcher:169) local hasFile: Couldn't find /var/lib/libvirt/boot/virtinstmnt.dwcpql/install/images/boot.iso
[Wed, 03 Jun 2015 07:56:40 virt-install 29692] DEBUG (ImageFetcher:205) Cleaning up mount at /var/lib/libvirt/boot/virtinstmnt.dwcpql
[Wed, 03 Jun 2015 07:56:40 virt-install 29692] ERROR (cli:445) Could not find an installable distribution at '/home/yaegashi/debian-8.0.0-amd64-netinst.iso'

virt-install데비안 netinst ISO 이미지를 지원하지 않는다고 가정합니다 --location(그러나 어떻게 든 우분투가 지원됩니까?).

와 커널 부팅하려면 --extra-args, virt-install그 커널과 initrd를 파일을 해당 있어야합니다. --cdromISO를 게스트의 CD 드라이브에 연결하기 만하면 작업하기에 충분하지 않습니다 --extra-args.

당신이 사용을 원하는 경우에 --extra-args, 나는 당신처럼, 가까운 거울 URL 설치 데비안을 지정하여 "을 Netboot"커널 / initrd를 파일을 사용하는 것이 좋습니다 --location http://ftp.us.debian.org/debian/dists/stable/main/installer-amd64/의 사용 설명서에 설명 된 바와 같이.


감사. 간단한 방법이없는 것처럼 답변을 수락하지만이 방법에는 문제가 있다고 생각합니다 (질문이 업데이트되었습니다).
Jérôme 2016 년

확실히 작동하지만 로컬 iso에서 설치하는 방법에 대한 질문에 대답하지는 않습니다. 인터넷에 연결되어 있지 않으면해야 할 수도 있습니다.
Rick Chatham

이것은 ISO에 대한 링크가 아니며 ISO를 포함하는 것으로 알려진 디렉토리 구조에 대한 링크입니다. 이것을 알아 내려고 몇 번 시도했습니다. KVM-CentOS와 KVM-Debian에서 다르게 작동하는 이유는 모르겠지만, 여전히 작동합니다 (여전히 2019 년).
Chaim Eliyah

8

이 방법은 저에게 효과적이었습니다.

virt-install --name=centos \
--memory=8196 --vcpus=2 \
--location=/var/lib/libvirt/images/CentOS-7-x86_64-Minimal-1511.iso \
--disk /var/lib/libvirt/images/centos7.qcow2,device=disk,bus=virtio,size=8 \
--network bridge:br0 \
--os-type=linux  \
--nographics \
--extra-args='console=tty0 console=ttyS0,115200n8 serial'

2
개인적으로 좋아하는 답변. 이해하기 쉬운 프레젠테이션입니다. 감사!
bitofagoob 2016 년

Centos에서는 훌륭하지만 Debian 또는 Ubuntu ISO 파일에서는 작동하지 않습니다. 원래 질문에 설명 된 것과 동일한 문제가 발생합니다. 해결책은 설치 프로그램의 위치에 URL을 지정하는 것입니다 --location ftp.us.debian.org/debian/dists/stable/main/installer-amd64
GeraldScott

1

차이점은 사용되는 ISO 파일 에 있습니다.

virt-install사용 방법과 관련이 없습니다 ( --locationhttp URL과 --location로컬 iso 파일의 경로와 함께 사용).

데비안 온라인 리포지토리 를 사용할 때 작동하는 명령은 다음과 같습니다 --location(첫 부팅까지 설치를 완료하기 위해 출력을 얻는 것을 포함 합니다 ) (새 VM에 들어가려면 두 가지 다른 단계가 필요하지만 다른 이야기입니다).

virt-install --virt-type kvm --name test8 --memory 2048 --disk path=/var/lib/libvirt/images/test8-1.qcow2,size=5 --disk path=/var/lib/libvirt/images/test8-2.qcow2,size=2 --location http://ftp.at.debian.org/debian/dists/stable/main/installer-amd64/ --graphics none --extra-args='console tty0 console=ttyS0,115200n8 serial'

똑같은 명령을 수행 할 수 있지만 위에서 언급 한 Centos ISO 파일을 로 사용하면 --location제대로 작동합니다 (직렬 콘솔에 대한 연결이 처음에는 작동하지 않는 것 제외하고는 원칙적으로 설치는 --location을 사용하여 시작됩니다) 및 ISO 파일) :

virt-install --virt-type kvm --name test8 --memory 2048 --disk path=/var/lib/libvirt/images/test8-1.qcow2,size=5 --disk path=/var/lib/libvirt/images/test8-2.qcow2,size=2 --location /softwarestorage/CentOS-7-x86_64-Minimal-1511.iso --graphics none --extra-args='console tty0 console=ttyS0,115200n8 serial'

출력은 다음과 같습니다

Starting install...
Retrieving file .treeinfo...                                                                                                                                                                | 2.2 kB     00:00 ... 
Retrieving file vmlinuz...                                                                                                                                                                  | 9.8 MB     00:00 ... 
Retrieving file initrd.img...                                                                                                                                                               |  73 MB     00:00 ... 
Creating domain...                                                                                                                                                                          |    0 B     00:00     
Connected to domain test8
Escape character is ^]

그러나 데비안 ISO 파일 을 사용 --location하면 오류가 발생합니다.

virt-install --virt-type kvm --name test8 --memory 2048 --disk path=/var/lib/libvirt/images/test8-1.qcow2,size=5 --disk path=/var/lib/libvirt/images/test8-2.qcow2,size=2 --location /softwarestorage/debian-8.5.0-amd64-CD-1.iso --graphics none --extra-args='console tty0 console=ttyS0,115200n8 serial'

Starting install...
Retrieving file info...                                                                                                                                                                     |  150 B     00:00 ... 
ERROR    Could not find an installable distribution at '/softwarestorage/debian-8.5.0-amd64-CD-1.iso'
The location must be the root directory of an install tree.
Domain installation does not appear to have been successful.
If it was, you can restart your domain by running:
  virsh --connect qemu:///system start test8
otherwise, please restart your installation.

IMHO 이것은 데비안 ISO에 누락 / 잘못된 것이 있음을 증명합니다 (내가 얻은 순간 확실하지 않지만 누군가가 신선한 것을 다운로드하고 테스트를 반복 할 수 있습니다 ...)


난 당신이 ... 매우 잘못 생각합니다. 첫 번째 예에서는 FTP 위치를 지정하고 두 번째 예에서는 로컬 ISO 파일을 지정합니다. 이 두 가지 방법은, 때문에 FTP 및 HTTP URL을 다른 virt-install디렉토리 구조가 찾고 "걸어"수 initrd.imgkernel.img. 로컬 ISO를 사용하는 경우 virst-install먼저 mount디렉토리 구조를 따라 ISO를 가져와야하며 물론 mount임의의 (가 아닌 fstab) 위치 를 마운트하려면 루트 액세스가 필요합니다 .
Dejay Clayton

@ DejayClayton : 그는 맞아. 하루 종일 Centos 6 호스트에 정확히 동일한 마운트 및 내보내기 절차와 --location3을 사용하여 Ubuntu 16.04 및 18.04 및 Centos 7.1을 설치하려고했습니다 . Centos-6 virt-install은 Ubuntu 디렉토리 구조를 인식하지 못합니다 을 --debug알려줍니다. Centos-7 최상위 레벨에는를 찾는 .treeinfo것이 포함되어 virt-install있으므로 부팅을 시도합니다. 그러나 어쨌든 나중에 실패합니다. 이 소프트웨어가 무엇인지에 대해 놀랐습니다.
EML

1

다음은 Ubuntu 16.04 호스트 시스템에서 Debian 10을 설치하는 데 도움이되었습니다.

cd /usr/share/virt-manager/virtinst/
patch <<.
--- urlfetcher.py.orig 2019-07-25 13:54:37.496567791 +1200
+++ urlfetcher.py      2019-07-25 13:54:43.180373257 +1200
@@ -663,6 +663,8 @@
                 ]
     _hvm_paths = [("pxeboot/vmlinuz",
                     "images/pxeboot/initrd.img"),       # Fedora
+                  ("install.amd/vmlinuz",
+                    "install.amd/initrd.gz"),   # Debian
                 ]
     _iso_paths = ["images/boot.iso",                   # RH/Fedora
                    "boot/boot.iso",                     # Suse
.

virt-install ... --location=/srv/software/Debian/debian-10.0.0-amd64-netinst.iso --extra-args='console=tty0 console=ttyS0,115200n8'

0

특히 킥 스타트 파일을 사용하려는 경우에는 추악하지만이 과정을 진행하기 위해 수행 한 작업은 다음과 같습니다.

root@kvm:~# virt-install -n rhce2 -r 2048 --vcpus=1 --os-variant=rhel6 --accelerate -v --disk path=/var/lib/libvirt/images/RHCE2.img,size=100 -l /root/centos6.7.iso -x "ks=./ks1.cfg" --nographics

내가 한 일과 당신이 한 일의 기본적인 차이점은 --location태그 -l를 짧게 사용하여 iso를 가리킨다는 것입니다.


이것은 매우 잘못입니다. 차이점은 그가 debian netinstall iso 파일에서 설치하고 있고 당신이 설치하고 있다는 것 RHCE2입니다.
carandraug

0

최근 에이 문제가 발생했습니다. --location과 함께 원격 설치 프로그램을 사용했습니다. virsh 버전에 따라 맨 페이지에서 원격 설치 프로그램의 링크가 오래되었을 수 있음을 강조해야합니다.

방금이 예제를 따르고 모든 것이 원활하게 실행되었습니다 : https://www.packet.com/developers/guides/kvm-and-libvirt/

필자의 경우 http://us.archive.ubuntu.com/ubuntu/dists/xenial/main/installer-amd64/ 에서 'bionic'에 대한 'xenial'을 변경 했으며 설치가 완료되었습니다. 앞으로이 방법을 사용할 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.