Thêm đĩa vật lý vào máy ảo KVM


12

Tôi đang thiết lập một máy chủ tệp (Nas4free) dưới dạng máy ảo KVM trên hệ thống Ubuntu Server 12.04.

Làm cách nào để tôi thêm các ổ đĩa cứng vật lý trực tiếp vào VM để khách có thể sử dụng chúng, nhưng không phải máy chủ lưu trữ?

Cụ thể, ổ cứng tôi muốn gắn là / dev / sda (hiện không được gắn trên máy chủ.)

Cho đến nay tôi đã tìm thấy hai giải pháp nhưng tôi vẫn chưa làm việc.

Đầu tiên là từ Server Fault , nơi đề xuất sử dụng virt-manager. Tôi chưa có cái này để làm việc vì khi tôi cố gắng chọn một ổ đĩa hiện có, không có gì được liệt kê. Dự đoán tốt nhất của tôi về lý do tại sao, là bởi vì tôi đang sử dụng virt-manager trên ssh và không kết nối với quyền root, điều đó có làm nên sự khác biệt không?

Giải pháp thứ hai tôi tìm thấy ở đây là chỉ chạy lệnh (sửa đổi cho hệ thống của tôi)

qm set nas4free -virtio /dev/sda

nhưng điều đó dường như yêu cầu proxmox mà tôi chưa cài đặt và dường như không có trong kho mặc định?

Cuối cùng, một khi các phần trên được sắp xếp và tôi có thể gắn ổ đĩa trực tiếp vào VM, có ai có kinh nghiệm về việc ổ đĩa nên được gắn vào VM như scsi, ide hay virtio không? (Tôi biết virtio đã được đề xuất trong trang ServerFault được liên kết, nhưng tôi chưa nghe về nó trước đây vì tôi chủ yếu sử dụng VMWare).

Cảm ơn bạn đã giúp đỡ!!!


1
Chạy sudo virt-manager, không cần kết nối như root. Không biết có virtiohoạt động với các thiết bị vật lý không ...
ish

@izx, cảm ơn bạn đã trả lời! điều đó có làm nên sự khác biệt ngay cả khi trình quản lý tài năng đang được chạy trên máy tính để bàn của tôi chứ không phải máy chủ không?
evan

Câu trả lời:


11

Mặc dù điều này đã được trả lời, thay vì sử dụng / dev / sda, bạn nên sử dụng / dev / đĩa / by-id / nơi bạn nhận được từ

    ls -l /dev/disk/by-id

Bằng cách đó, bạn được bảo vệ chỉ trong trường hợp đĩa thay đổi từ / dev / sda thành / dev / sdb.


2
Hiện tại đây là câu trả lời duy nhất (đã từng) được đăng trên câu hỏi này. Có một số thông tin trong các bình luận có thể giúp ích, nhưng theo như tôi có thể nói thì chắc chắn rằng họ sẽ khắc phục vấn đề. Bạn có thể xem xét mở rộng này để cung cấp một giải pháp đầy đủ. Nếu các phần của giải pháp của bạn đã được người khác nghĩ ra, bạn luôn có thể trích dẫn chúng và liên kết với chúng. Tôi nghi ngờ izx sẽ phiền .. đặc biệt là (khi tôi nhận xét bây giờ) izx đã không đăng nhập vào trang web trong hơn một năm.
Eliah Kagan

Tôi đang sử dụng virsh attach-device domain XML-file...để đính kèm đĩa. Bạn cũng có thể sử dụng đĩa id trong <source dev='/dev/...'/>phần tử không?
MrCalvin

8

Có cùng nhu cầu, tôi tìm thấy như sau:

http://ronaldevers.nl/2012/10/14/adding-a-physical-disk-kvm-libvirt.html

(toàn bộ văn bản sau đến từ nguồn trên)

Nó không thể được thực hiện với người quản lý đức. Điều đó khiến tôi mất một lúc để tìm ra. Theo như tôi có thể nói, virt-manager làm việc với các kho lưu trữ. Bạn có thể tạo một đĩa vào một kho lưu trữ, nhưng bạn không thể thêm một đĩa hiện có trực tiếp vào VM.

May mắn thay, cách khắc phục rất dễ dàng: bạn thêm đĩa vào tệp cấu hình xml của tên miền bằng tay. Vì vậy, hãy mở /etc/libvirt/qemu/.xml trong trình chỉnh sửa yêu thích của bạn và thêm một phần vào phần:

<disk type='block' device='disk'>
  <driver name='qemu' type='raw'/>
  <source dev='/dev/md/storage'/>
  <target dev='vdb' bus='virtio'/>
</disk>

Điều này sẽ làm cho lưu trữ / dev / md / của máy chủ có sẵn trong máy khách dưới dạng / dev / vdb. Sau khi thay đổi cấu hình của tên miền bằng tay, bạn phải tải lại cấu hình bằng tay. Đăng nhập vào máy chủ của bạn và ban hành lệnh này:

# virsh define /etc/libvirt/qemu/jetsetetser.xml
Domain jetser defined from /etc/libvirt/qemu/jetsetetser.xml

Đây là một tài nguyên tuyệt vời với nhiều thông tin hơn về việc quản lý vms với libvirt: https://help.ubfox.com/community/KVM/Managing

Tôi thực sự khuyên bạn nên làm theo lời khuyên được đưa ra bởi smccloud. Điều này làm việc như một nét duyên dáng đối với tôi. Coi chừng không gắn kết bất kỳ ổ đĩa nào trong các ổ đĩa vật lý được sử dụng trong khách của bạn, hoặc bạn sẽ làm hỏng nghiêm trọng hệ thống tập tin của nó!


4
Thay vì virsh define..., khuyến nghị là sử dụng virsh edit <NAME>Điều này cho phép bạn chỉnh sửa XML trong trình soạn thảo văn bản yêu thích của bạn và có các thay đổi tự động cập nhật VM.
Nathan Osman
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.