libvirt qemuでradosブロックデバイスをブロックデバイスとして使用する

libvirt qemuでradosブロックデバイスをブロックデバイスとして使用する

libvirt qemuでディスクタイプ='ネットワーク'とディスクタイプ='ブロック'であるradosブロックデバイスを使用することの違いは何ですか? cephガイドでは、次のことを指示します。

<disk type='network' device='disk'>
        <source protocol='rbd' name='libvirt-pool/new-libvirt-image'>
                <host name='{monitor-host}' port='6789'/>
        </source>
        <target dev='vda' bus='virtio'/>
</disk>

http://ceph.com/docs/master/rbd/libvirt/

しかし今では、次のようにrbdを直接使用します。

<disk type='block' device='disk'>
  <driver name='qemu' type='raw' cache='none' io='native'/>
  <source dev='/dev/rbd/rbd/testvm'/>
  <target dev='vda' bus='virtio'/>
  <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
</disk>

自分で使うと欠点はありますか?

答え1

Linux RBDデバイスを使用すると、Ceph RBD層を間接的に使用できます。 Linux デバイスは Ceph RBD 層と通信します。したがって、type=network protocol=rbdディスクを使用するときは間接層を削除します。また、カーネルドライバではRBD(RAM)キャッシュを使用できません(ただし、ページキャッシュを使用します)。したがって、通常、最初のオプションを使用することをお勧めします。

関連情報