KVM 가상 머신에 물리 디스크 추가


12

Ubuntu Server 12.04 시스템에서 파일 서버 (nas4free)를 KVM 가상 머신으로 설정하고 있습니다.

호스트가 아닌 게스트 (nas4free)가 사용할 수 있도록 물리적 하드 드라이브를 VM에 직접 추가하려면 어떻게해야합니까?

특히 마운트하려는 하드 드라이브는 / dev / sda입니다 (현재 서버에 마운트되어 있지 않습니다).

지금까지 두 가지 해결책을 찾았지만 어느 것도 효과가 없었습니다.

첫 번째는 virt-manager를 사용하도록 제안 된 Server Fault 의 것입니다. 기존 드라이브를 선택하려고 할 때 아무것도 표시되지 않기 때문에 이것이 작동하지 않았습니다. 이것이 왜인지에 대한 최선의 추측은 ssh를 통해 virt-manager를 사용하고 루트로 연결하지 않기 때문에 차이가 있습니까?

내가 찾은 두 번째 솔루션 여기가 바로 명령을 실행하는 것입니다 (내 시스템에 맞게 수정)

qm set nas4free -virtio /dev/sda

하지만 설치하지 않은 기본 저장소가 필요하고 기본 리포지토리에없는 것 같습니다.

마지막으로 위의 항목을 정렬하고 드라이브를 VM에 직접 마운트 할 수 있다면 누구나 scsi, ide 또는 virtio로 드라이브를 VM에 마운트 해야하는지 경험이 있습니까? (링크 된 ServerFault 페이지에서 virtio가 권장되었다는 것을 알고 있지만 VMWare를 주로 사용하기 때문에 지금까지 들어 보지 못했습니다).

당신의 도움을 주셔서 감사합니다!!!


1
를 실행 sudo virt-manager하고 루트로 연결할 필요가 없습니다. virtio물리적 장치에서 작동 하는지 모르겠습니다 ...
ish

@izx, 답변 주셔서 감사합니다! virt-manager가 서버가 아닌 데스크탑에서 실행되고 있어도 차이가 있습니까?
evan

답변:


11

이것이 답변되었지만 / dev / sda를 사용하는 대신 / dev / disk / by-id /를 사용해야합니다.

    ls -l /dev/disk/by-id

그렇게하면 디스크가 / dev / sda에서 / dev / sdb로 변경되는 경우를 대비해 다루게됩니다.


2
현재 이것은이 질문에 게시 된 유일한 답변입니다. 의견에 도움이 될만한 정보가 있지만 문제를 해결할 것이라고 확신 할 수있는 한. 전체 솔루션을 제공하기 위해이 확장을 고려할 수 있습니다. 솔루션의 일부가 다른 사용자가 고안 한 경우 언제든지 인용하고 링크 할 수 있습니다. 나는 의심 izx이 izx은 년 이상 사이트에 서명하지 않은 (지금 언급 할 때)로 ..especially 될까요.
Eliah Kagan

virsh attach-device domain XML-file...디스크를 연결 하는 데 사용 하고 있습니다. <source dev='/dev/...'/>요소 에서 disk-id를 사용할 수 있습니까 ?
MrCalvin

8

똑같은 요구가 있었으므로 다음을 발견했습니다.

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

(다음 텍스트 전체는 위 소스에서 온 것입니다)

virt-manager로는 할 수 없습니다. 그 사람이 알아내는 데 시간이 걸렸습니다. 내가 알 수있는 한 virt-manager는 스토리지 풀과 함께 작동합니다. 디스크를 스토리지 풀로 만들 수는 있지만 기존 디스크를 VM에 직접 추가 할 수는 없습니다.

운 좋게도 수정은 쉽습니다. 디스크를 도메인의 xml 구성 파일에 직접 추가합니다. 좋아하는 편집기에서 /etc/libvirt/qemu/.xml을 열고 섹션에 섹션을 추가하십시오.

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

이렇게하면 게스트에서 호스트의 / dev / md / storage를 / dev / vdb로 사용할 수 있습니다. 도메인 구성을 직접 변경 한 후에는 구성을 직접 다시로드해야합니다. 호스트에 로그인하고 다음 명령을 발행하십시오.

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

다음은 libvirt를 사용하여 vms를 관리하는 방법에 대한 자세한 정보를 제공하는 유용한 리소스입니다. https://help.ubuntu.com/community/KVM/Managing

smccloud의 조언을 따르는 것이 좋습니다. 이것은 나를 위해 매력처럼 작동합니다. 게스트에 사용 된 물리적 드라이브에 볼륨을 마운트하지 않도록 주의하십시오. 그렇지 않으면 파일 시스템이 심각하게 손상됩니다!


4
대신에 virsh define...권장 사항을 사용하는 것이 좋습니다. virsh edit <NAME>이렇게하면 자주 사용하는 텍스트 편집기에서 XML을 편집하고 변경 사항이 VM을 자동으로 업데이트 할 수 있습니다.
Nathan Osman 2012
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.