Bir cdrom cihazını bir kvm / qemu etki alanına nasıl bağlanır (komut satırı araçlarını kullanarak)?


22

Ubuntu dizüstü bilgisayarımda Windows XP çalıştıran bir sanal makine kurdum. Kullanılması virt-managerGUI uygulamasını, benim sürücüsüne bir CD yerleştirin ve Detaylar → IDE CDROM 1 gidip tıklayabilirsiniz Connectbutonuna. Sonra CD sanal makinemde hazır olur.

Aynı şeyi komut satırından nasıl yapabilirim? Açıkçası, komut satırından da ayrılmak istiyorum.

Not: VM'yi kullanarak komut satırından başlatabilirim virsh start testbed(etki alanı / VM'nin adı olan testbed).

Yanıtlar:


23

Sanal makinenizi oluştururken CDROM tanımlamazsanız, aşağıdaki komutu çalıştırarak cihazı çalışan bir etki alanına (sanal makine) bile ekleyebilirsiniz:

virsh attach-disk testbed /dev/sr0 hdc --type cdrom

Zaten bir CDROM tanımladıysanız, ancak bir ISO görüntüsünü gösteriyorsa, benim tecrübeme göre, hala aynı komutu çalıştırabilirsiniz. hdcBölüm var blok aygıtı eşleşmesi gerekir testbedsanal makine.

Bir ISO görüntüsünü tekrar işaret etmek istediğinizde /dev/sr0, ana bilgisayardaki dosya adının yerine

virsh attach-disk testbed ~/virtio-win-0.1-22.iso hdc --type cdrom

Belgeler kullanmanızı önerir virsh update-device, ancak bunun gibi bir XML tanımı oluşturmak daha zordur:

<disk type='block' device='cdrom'>
  <driver name='qemu' type='raw'/>
  <source dev='/dev/sr0'/>
  <target dev='hdc' bus='ide'/>
  <readonly/>
</disk>

Eğer bu şekilde iseniz, böyle bir şeyi bir dosyaya kaydedin (söyleyin ~/cdrom-real.xml) ve sonra ateşleyin:

virsh update-device testbed ~/cdrom-real.xml

İstediğim şey bu gibi görünüyor; En kısa sürede doğrulayacağım (şu anda yapamam). Her durumda teşekkür ederim.
ΤΖΩΤΖΙΟΥ

Evet, işte bu. Cihazı nasıl sökeceğini de biliyor musun? Denedim virsh detach-disk testbed hdcama anladım error: unsupported configuration: This type of device cannot be hot unplugged.
ΤΖΩΤΖΙΟΥ

IDE aygıtları gerçekten çalışırken değiştirilemez. detach-diskdurdurulan bir sanal makine için çalışmıyor. CD'yi tamamen çıkarmak için virsh edit testbed, makine dururken kullanmanız ve diskcdrom'u tanımlayan öğeyi silmeniz gerekir . Bir vieditör uzmanı değilseniz export EDITOR=nano, edit komutunu çalıştırmadan önce yürütün .
peruk

Bu arada, cevabımın size yardımcı olduğunu düşünüyorsanız, lütfen cevap olarak kabul edin.
peruk

Cevabınızı kabul edeceğim. Sorun şu ki, cihaz test edilen VM'ye bağlıysa ve disk takılmadan test edilmeye başlarsam, test sonucu gelmez ve önce sanal yönetici GUI'sini açmam ve önce cihazın bağlantısını kesmem gerekiyor. Bu yüzden soruma ben de cihazın bağlantısını kesmenin bir yolunu istediğimi söyledim.
ΤΖΩΤΖΙΟΥ

4

Çıkartmayı geçmek ve komutları qemu'ya değiştirmek için virsh'ın qemu-monitor-komutunu kullanın.

Öncelikle "info block" u kullanarak cdem'iniz için qemu cihaz adını alın.

virsh # qemu-monitor-command mirage --hmp --cmd "info block"
drive-virtio-disk0: type=hd removable=0 file=/home/daoist/mirage/mirage.qcow2 ro=0 drv=raw encrypted=0
drive-ide0-0-0: type=cdrom removable=1 locked=0 file=/home/daoist/iso/en_windows_7_ultimate_with_sp1_x64_dvd_u_677332.iso ro=1 drv=raw encrypted=0

Yani benim durumumda drive-ide0-0-0 ile ilgileniyorum . Yani diski değiştirmek için şunu yapın:

virsh # qemu-monitor-command mirage --hmp --cmd "eject drive-ide0-0-0"
virsh # qemu-monitor-command mirage --hmp --cmd "change drive-ide0-0-0 /path/to/new.iso"
virsh #

"İnfo block" komutu benim için bir hataya yol açtı: "hata: iç hata json bilgi bloğunu ayrıştıramıyor: sözcük hatası: json metninde geçersiz karakter."
cg.

Görünüşe göre sözdizimi benden değişti. Yemin ederim yazdığımda işe yaradı. Joe Huss'un cevabının önerdiği sözdizimini denedim ve şimdi çalışıyor. Cevabımı güncelledim.
Keith Twombley

1

Yukarıdaki "info block" komutuyla ilgili olarak, onu çağırmanın doğru yolu şöyledir:

 virsh qemu-monitor-command <domain> --hmp --cmd "info block"

yani

 virsh qemu-monitor-command windows44407 --hmp --cmd "info block"

0

Başka bir yoldan geçmediğim sürece doğru çalışmayan bir BluRay oynatıcısından geçiyordum. İşte bu makaleye dayanarak nasıl yaptım.

https://lime-technology.com/forums/topic/33851-blu-ray-dvd-rom-passthrough/

SCSI numarasını bulun:

lsscsi

[root@kvmatrix ~]# lsscsi
[#:0:0:0]    cd/dvd  HL-DT-ST BD-RE  WH14NS40  1.03  /dev/sr0

Etki Alanı XML’ini düzenleyin ve şunu ekleyin:

Not: scsi_host # 'u lssci içinde bulunan # ile değiştirin.

<controller type='scsi' index='0' model='virtio-scsi'/>
    <hostdev mode='subsystem' type='scsi'>
      <source>
        <adapter name='scsi_host#'/>
        <address type='scsi' bus='0' target='0' unit='0'/>
      </source>
      <readonly/>
      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
    </hostdev>

XML'in virsh edit hatalar vermesi için kabul edilmeye zorlandım, sadece i'ye basıp test etmek için vm'yi yeniden başlat.


-6

-t iso9660 / dev / sr0 / medya dağı

Cdrom in / dev dizininiz için ayarlanmış herhangi bir cihazı kullanabilirsiniz. Ayrıca / dev / cdrom, çoğu Linux sistemindeki uygun cihazın bağlantısıdır. -T, monte ettiğiniz aygıtın türü içindir ve iso9660, cdrom ortamı için evrensel tiptir.

Bağlanma noktası açık bir şekilde istediğiniz ne olabilir, sadece var olduğundan emin olun.


Um. Bu şekilde bir CD'yi ana bilgisayara bağlayabilirim. Tamam, benim hatam. “Bir cdrom cihazını kvm / qemu etki alanına / VM'ye nasıl bağlarsınız?” Bu cevabın tamamen yardımcı olmadığına dikkat edin, bu yüzden ya düzenlemelisiniz ya da silmelisiniz.
ΤΖΩΤΖΙΟΥ
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.