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

관련 정보