web-dev-qa-db-ja.com

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

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

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

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

これまでに2つの解決策を見つけましたが、どちらも機能していません。

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

私が見つけた2番目の解決策は ここ コマンドを実行することです(私のシステム用に修正されました)

qm set nas4free -virtio /dev/sda

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

最後に、上記を整理し、ドライブをVMに直接マウントできるようになったら、ドライブをVMにscsi、ide、またはvirtioとしてマウントする必要があるかどうか経験している人はいますか? (リンクされたServerFaultページでvirtioが推奨されていることは知っていますが、主にVMWareを使用しているため、今まで聞いたことはありませんでした)。

ご協力いただきありがとうございます!!!

10
evan

これは回答済みですが、/ dev/sdaを使用するのではなく、/ dev/disk/by-id /を使用する必要があります

    ls -l /dev/disk/by-id

これにより、ディスクが/ dev/sdaから/ dev/sdbに変更された場合に備えて保護されます。

11
smccloud

まったく同じニーズがあるため、次のことがわかりました。

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の管理に関する詳細情報が記載されたNiceリソースを次に示します。 https://help.ubuntu.com/community/KVM/Managing

Smccloudのアドバイスに従うことを強くお勧めします。これは私にとって魅力的です。ゲストで使用されている物理ドライブのボリュームをnotマウントしないように注意してください。そうしないと、ファイルシステムに深刻なダメージを与えます!

6
dethegeek