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) 캐시를 사용할 수 없습니다(그러나 페이지 캐시를 사용함). 따라서 일반적으로 첫 번째 옵션을 사용하는 것이 좋습니다.