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)キャッシュを使用できません(ただし、ページキャッシュを使用します)。したがって、通常、最初のオプションを使用することをお勧めします。