KVM仮想マシンに物理ディスクを追加する


12

Ubuntu Server 12.04システムで、ファイルサーバー(nas4free)をKVM仮想マシンとして設定しています。

物理ハードドライブをVMに直接追加して、ホストではなくゲスト(nas4free)が使用できるようにするにはどうすればよいですか?

具体的には、マウントするハードドライブは/ dev / sdaです(これは現在サーバーにマウントされていません)。

これまでのところ、2つの解決策を見つけましたが、どちらも機能するようになりませんでした。

1つは、virt-managerの使用が推奨されているServer Faultからのものです。既存のドライブを選択しようとすると何も表示されないので、これは機能しません。これがなぜかについての私の最良の推測は、私がsshでvirt-managerを使用していて、rootとして接続していないためです。違いがあるのでしょうか?

ここで見つけた2番目の解決策は、コマンドを実行することです(私のシステム用に変更されています)。

qm set nas4free -virtio /dev/sda

しかし、それは私がインストールしていないproxmoxを必要とし、デフォルトのリポジトリにないようですか?

最後に、上記の問題が解決され、ドライブをVMに直接マウントできるようになった場合、ドライブをVMにscsi、ide、virtioのいずれとしてマウントする必要があるかについて、経験はありますか?(virtioはリンクされたServerFaultページで推奨されていましたが、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 2014

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でのVMの管理に関する詳細情報が記載された素晴らしいリソースは次のとおりです。https://help.ubuntu.com/community/KVM/Managing

smccloudのアドバイスに従うことを強くお勧めします。これは私にとって魅力のように機能します。ゲストで使用されている物理ドライブにボリュームをマウントしないように注意してください。ボリュームをマウントしないと、ファイルシステムに重大な損傷を与えます。


4
の代わりにvirsh define...virsh edit <NAME>これを使用することをお勧めします。これにより、お気に入りのテキストエディターでXMLを編集し、変更によってVMを自動的に更新できます。
Nathan Osman
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.