ฉันจะอิมพอร์ตอิมเมจดิสก์ลงใน libvirt ได้อย่างไร?


12

ใครบางคนสามารถโพสต์ไวยากรณ์ที่เหมาะสม? ฉันได้ลองใช้คำสั่ง chmod แต่ฉันกำลังทำบางอย่างผิดพลาด ฉันแค่พยายามย้ายไฟล์ centos iso ไปยัง / images เพื่อตั้งค่าทดสอบ vm


คุณสามารถโพสต์คำสั่งที่คุณพยายามเรียกใช้ได้หรือไม่? และข้อผิดพลาดคืออะไร?
Eric Carvalho

คำตอบ:


16

คุณไม่ใช่ "ควร" จริง ๆ ที่จะทำเช่นนั้นเนื่องจาก libvirt ดูแลพูลเสียงของตัวเอง ใช้:

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

นี้จะสร้างไดรฟ์ virsh เรียกว่าในสระว่ายน้ำเริ่มต้นที่มีเนื้อหาของcentoscentos.iso

ด้วยวิธีนี้ libvirt จะดูแลสิทธิ์ที่จำเป็นและความเป็นเจ้าของทั้งหมด


1
ครั้งแรกที่ฉันใช้ฟอรัม คำแนะนำที่ยอดเยี่ยม
Fmoov

2

ฉันถือว่าสองสิ่ง: /var/lib/libvirt/images/เป็นของrootและคุณไม่ได้rootเป็น ไม่เป็นไร แต่คุณต้องเคารพว่าปัญหาคืออะไร

มันอาจจะเหมาะสมที่สุดที่จะคัดลอกไฟล์ไปเป็น rootโดยใช้sudo:

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

หรือมิฉะนั้นคุณสามารถรับช่วงต่อได้/var/lib/libvirt/images/:

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

หรือ (อย่างน้อยดี) คุณสามารถทำให้มันเขียนได้ทั่วโลก:

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

ฉันจะทำตามตรรกะที่เป็นต้นเหตุด้วยเหตุผล แต่ถ้าคุณเพิ่งเล่นไปเรื่อย ๆ และนี่จะไม่เป็นเครื่องจักรที่ใช้ในการผลิตคุณอาจไม่จำเป็นต้องระวังอย่างนั้น


ฉันอาจจะไปกับคำสั่งสุดท้ายที่ฉันเข้าใจหนึ่งนี้และมันเป็นสภาพแวดล้อมการทดสอบ
Fmoov

2

ฉันรู้ว่ามันเป็นโพสต์เก่า แต่ฉันต้องการแบ่งปันสิ่งที่ฉันทำ

ในกรณีของฉันฉันต้องนำเข้ารูปภาพ qcow2 ลงในไดรฟ์ข้อมูล ฉันใช้ jq, qemu-img และและทุบตี:

# 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)

แสดงรายการพูลและเลือกพูลที่คุณต้องการ:

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

# export IMGPOOL=default

สร้างปริมาณ:

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

และอัพโหลดภาพ:

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

ฉันไม่รู้ว่าคุณสามารถไปป์ qemu-img ไปที่ virsh หรือไม่เช่น 'qemu-img dd ... virsh vol-upload ... 'แต่นั่นจะสะดวก :-)

ขอบคุณ @Robie Basak สำหรับโพสต์ของเขาฉันใช้มันเพื่อเขียนข้อมูลข้างต้น


1

คุณสามารถลองทำมันใน nautilus เพียงพิมพ์

sudo -i nautilus

และหลังจากนั้นคัดลอกไฟล์ตามปกติ


ฉันคิดว่าโหลด nautilus หรือไม่
Fmoov

nautilus เป็นตัวจัดการไฟล์เริ่มต้นสำหรับ Ubuntu ฉันไม่คิดว่าฉันเข้าใจคำถามของคุณจริงๆ
หมดเขต

2
@ Rat2000 FYI
Oli

1
ใช่แล้วคุณคือ gksudo ที่ถูกต้องจะไม่มีการติดตั้งตามค่าเริ่มต้นดังนั้นฉันจึงเปลี่ยนคำสั่งเป็น sudo -i ที่ควรทำงาน
หมดเขต
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.