Libvirt: làm thế nào để vượt qua dòng lệnh qemu args?


9

Tôi có libvirt hiện tại 1.2.20 tôi muốn chuyển đến máy của mình tạo với trình quản lý virt một số cờ qemu. Tôi đã chỉnh sửa tập tin và thêm

  </devices>
  <qemu:commandline>
          <qemu:arg value='-L pc-bios'/>
  </qemu:commandline>
</domain>

Nhưng không hoạt động tôi cũng đã cố gắng chỉnh sửa từ virsh

virsh edit domain

và đặt

<qemu:commandline>
          <qemu:arg value='-L pc-bios'/>
  </qemu:commandline>

Nhưng cho tôi lỗi này

errore: XML document failed to validate against schema: Unable to validate doc against /usr/share/libvirt/schemas/domain.rng
Element domain has extra content: qemu:commandline

Failed. Try again? [y,n,i,f,?]: 

Làm thế nào để vượt qua dòng lệnh qemu chính xác? Cảm ơn

Câu trả lời:


10

Câu trả lời của elbarna là cách để đi đến các tùy chọn cấu hình "nguyên bản" được hỗ trợ bởi libvirt (và do đó, tên miền XML của nó). Đối với các đối số dòng lệnh của qemu (và hơn thế nữa) không được libvirt hỗ trợ, bạn cần bao gồm khai báo không gian tên XML của qemu trong phần tử gốc 'domain':

<domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>

Tham khảo: https://libvirt.org/drvqemu.html#qemucommand


đối với các máy chủ không hỗ trợ kvm, bạn có thể sử dụngtype='qemu'
Jonas Libbrecht

1
Lược đồ đó là 404 bây giờ.
Vilius

Có vẻ như họ đã di chuyển đến RelaxNG cho các lược đồ XML. Mặc dù IDK nếu thay thế URL trên bằng https://libvirt.org/schemas/domain.rngcác công trình, nếu cần thiết ở tất cả.
đối

@argonymous Không, dường như không hoạt động.
Bostrot

Tôi sẽ thêm rằng trong trường hợp của tôi, các tham số chứa lỗi kích hoạt không gian và phải được cung cấp với nhiều <qemu:arg value=dòng
Alex F

5

Nếu bạn có virt-xml1.4.1 (được phát hành vào năm 2017, vì vậy nên được phổ biến rộng rãi ngay bây giờ) hoặc sau này trong đường dẫn của bạn (được cung cấp bởi community/virt-installArch), bạn có thể sử dụng:

virt-xml $DOMAIN --edit --confirm --qemu-commandline '-my-args 1234'
virt-xml $DOMAIN --edit --confirm --qemu-commandline 'env=MY-ENV=1234'

để tự động thêm XML tương ứng với env vars và / hoặc args, bao gồm cả không gian tên. --confirmcho phép bạn xem trước các thay đổi trước khi cam kết.

Điều này thuận tiện hơn nhiều so với việc cố gắng dán thủ công vào không gian tên XML và làm việc với tôi mặc dù virsh editkhông còn chấp nhận các thay đổi thủ công giống hệt nhau.

Tham khảo: https://blog.wikichoon.com/2017/03/easy-qemu-commandline-passthrough-with.html


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.