refactor: 문서 개선 중

This commit is contained in:
donghyeon-ka
2026-09-21 14:30:55 +09:00
parent c93cdea150
commit 805a18f486
1497 changed files with 525837 additions and 59152 deletions
@@ -0,0 +1,26 @@
# virtqueue 뒤 QEMU block backend의 세 형태
## Alternative text
Guest의 /dev/vda가 virtio-blk와 virtqueue를 지나 QEMU block backend에 도착한 뒤 qcow2 파일, RAW 파일, Host block device 세 갈래로 나뉘는 구조도. 그 아래 Host block stack은 별도 Concept이 맡아 이 그림에서는 다시 합치지 않는다.
## Long description
왼쪽에서 Guest /dev/vda 요청이 virtio-blk와 virtqueue를 지나 VM boundary를 넘는다. QEMU block backend에서 qcow2 file, RAW file, Host block device 세 갈래로 나뉜다. qcow2와 RAW 노드에는 Host filesystem을 경유한다는 차이를, Host block device에는 파일 backend가 아니라는 차이를 적었다. 세 경로 아래의 Host block stack은 별도 Concept이 맡으므로 이 그림에서는 다시 합치지 않는다.
## Elements and evidence
- **/dev/vda** (storage): Guest가 보는 virtual disk. Evidence: L6355L6363.
- **virtio-blk · virtqueue** (component): Guest /dev/vda 요청을 virtio-blk가 받아 virtqueue에 싣는 경로를 한 노드로 묶었다. Evidence: L6355L6364.
- **QEMU block backend** (service): Guest virtual I/O를 실제 Host backend에 연결한다. Evidence: L6367L6387.
- **qcow2 file** (storage): sparse/COW 기능을 가진 file backend. Evidence: L6419L6460, L6512L6547.
- **RAW file** (storage): 상대적으로 단순한 offset 대응을 쓰는 file backend. Evidence: L6512L6547.
- **Host block device** (storage): QEMU가 Host block device를 직접 backend로 사용할 수 있는 형태. Evidence: L6551L6575.
## Relationships
- **QEMU block backend → Host block device:** block-device backend. Evidence: L6551L6575.
- **QEMU block backend → qcow2 file:** qcow2 backend. Evidence: L6369L6379, L6419L6460.
- **QEMU block backend → RAW file:** RAW backend. Evidence: L6512L6547.
- **/dev/vda → virtio-blk · virtqueue:** block I/O. Evidence: L6355L6363.
- **virtio-blk · virtqueue → QEMU block backend:** VM boundary. Evidence: L6362L6374.