Làm cách nào để nhập ảnh đĩa vào libvirt?


12

Ai đó có thể gửi cú pháp thích hợp? Tôi đã thử sử dụng lệnh chmod, nhưng tôi đang làm gì đó không chính xác. Tôi chỉ đang cố gắng di chuyển tệp iso centos sang / hình ảnh để thiết lập vm thử nghiệm


Bạn có thể đăng các lệnh bạn đang cố gắng để chạy? Và thông báo lỗi là gì?
Eric Carvalho

Câu trả lời:


16

Bạn không thực sự "được cho là" làm theo cách đó, vì libvirt chăm sóc các nhóm âm lượng riêng của nó. Sử dụng:

size=$(stat -Lc%s centos.iso)
virsh vol-create-as default centos $size --format raw
virsh vol-upload --pool default centos centos.iso

Điều này sẽ tạo ra một khối lượng virsh được gọi centostrong nhóm mặc định với nội dung của centos.iso.

Bằng cách này, libvirt chăm sóc tất cả các quyền và quyền sở hữu cần thiết.


1
Lần đầu tiên tôi sử dụng diễn đàn. Lời khuyên tuyệt vời.
Fmoov

2

Tôi giả sử hai điều: /var/lib/libvirt/images/được sở hữu bởi rootvà bạn thì không root. Điều đó tốt nhưng bạn phải tôn trọng đó là vấn đề.

Có lẽ sẽ hợp lý nhất khi chỉ sao chép tệp qua gốc , sử dụng sudo:

sudo cp my-image /var/lib/libvirt/images/

Ngoài ra, bạn có thể đảm nhận /var/lib/libvirt/images/:

sudo chown $USER /var/lib/libvirt/images/

Hoặc (ít nhất là tốt) bạn có thể làm cho nó có thể ghi được trên toàn cầu:

sudo chmod 755 $USER /var/lib/libvirt/images/

Tôi theo logic rằng đó là gốc rễ vì một lý do nhưng nếu bạn chỉ chơi xung quanh và đây sẽ không bao giờ là một cỗ máy sản xuất, có lẽ bạn không cần phải cẩn thận.


Tôi có thể đi với lệnh cuối cùng vì tôi hiểu cái này và nó là một môi trường thử nghiệm.
Fmoov

1

Bạn có thể thử làm nó trong nautilus chỉ cần gõ

sudo -i nautilus

và sau đó sao chép tệp như bạn thường làm.


Tôi có cho rằng nautilus đã được tải không?
Fmoov

nautilus là trình quản lý tệp mặc định cho Ubuntu. Tôi không nghĩ rằng tôi thực sự hiểu câu hỏi của bạn.
Mihai

2
@ Rat2000 FYI
Oli

1
Oli đúng, bạn đúng gksudo không được mặc định, vì vậy tôi đã thay đổi lệnh thành sudo -i, điều đó sẽ thực hiện công việc.
Mihai

1

Tôi biết đó là một bài viết cũ nhưng tôi muốn chia sẻ những gì tôi đã làm.

Trong trường hợp của tôi, tôi cần nhập hình ảnh qcow2 vào một tập. Tôi đã sử dụng jq, qemu-img và bash:

# export IMGSIZE=$(qemu-img info --output json /data/myfile.qcow2 | jq -r .[\"virtual-size\"])
# export IMGFMT=$(qemu-img info --output json /data/myfile.qcow2 | jq -r .format)

Liệt kê các nhóm và chọn một trong những bạn muốn:

# virsh pool-list --all
 Name                 State      Autostart
-------------------------------------------
 default              active     yes

# export IMGPOOL=default

Tạo âm lượng:

# virsh vol-create-as $IMGPOOL myvolume $IMGSIZE --format $IMGFMT
Vol myvolume created

Và tải lên hình ảnh:

# virsh vol-upload --pool $IMGPOOL myvolume /data/myfile.qcow2

Tôi không biết liệu bạn có thể chuyển qemu-img sang virsh hay không, giống như 'qemu-img dd ... | virsh vol-upload ... 'nhưng điều đó sẽ thuận tiện :-)

Cảm ơn @Robie Basak cho bài đăng của mình, tôi đã sử dụng nó để viết thông tin ở trên.

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.