blob: 4a0c9a6ff4b3d930997f514a4add527aaad82661 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
|
block/nbd.c and drive backup to a remote nbd server
Description of problem:
Good afternoon!
I trying to copy attached drive content to remote NBD server via drive-backup QMP method. I'he tested two very similar ways but with very different performance. First is a backuping to exported NBD at another server. Second way is a backuping to same server but with connecting to /dev/nbd*.
Exporting qcow2 via nbd:
```
(nbd) ~ # qemu-nbd -p 12345 -x backup --cache=none --aio=native --persistent -f qcow2 backup.qcow2
(qemu) ~ # qemu-img info nbd://10.0.0.1:12345/backup
image: nbd://10.0.0.1:12345/backup
file format: raw
virtual size: 10 GiB (10737418240 bytes)
disk size: unavailable
```
Starting drive backuping via QMP:
```
{
"execute": "drive-backup",
"arguments": {
"device": "disk",
"sync": "full",
"target": "nbd://10.0.0.1:12345/backup",
"mode": "existing"
}
}
```
With process starting qemu notifying about warning:
> warning: The target block device doesn't provide information about the block size and it doesn't have a backing file. The default block size of 65536 bytes is used. If the actual block size of the target exceeds this default, the backup may be unusable
And backup process is limited by speed around 30MBps, watched by iotop
Second way to creating backup
Exporting qcow2 via nbd:
```
(nbd) ~ # qemu-nbd -p 12345 -x backup --cache=none --aio=native --persistent -f qcow2 backup.qcow2
```
```
(qemu) ~ # qemu-img info nbd://10.0.0.1:12345/backup
image: nbd://10.0.0.1:12345/backup
file format: raw
virtual size: 10 GiB (10737418240 bytes)
disk size: unavailable
(qemu) ~ # qemu-nbd -c /dev/nbd0 nbd://10.0.0.1:12345/backup
(qemu) ~ # qemu-img info /dev/nbd0
image: /dev/nbd0
file format: raw
virtual size: 10 GiB (10737418240 bytes)
disk size: 0 B
```
Starting drive backuping via QMP to local nbd device:
```
{
"execute": "drive-backup",
"arguments": {
"device": "disk",
"sync": "full",
"target": "/dev/nbd0",
"mode": "existing"
}
}
```
Backup process started without previous warning, and speed limited around 100MBps (network limit)
So I have question: how I can get same performance without connection network device to local block nbd device at the qemu host?
Kind regards
|