1 .. _sec_005finvocation:
8 |qemu_system| [options] [disk_image]
10 disk_image is a raw hard disk image for IDE hard disk 0. Some targets do
11 not need a disk image.
16 In addition to using normal file images for the emulated storage
17 devices, QEMU can also use networked resources such as iSCSI devices.
18 These are specified using a special URL syntax.
21 iSCSI support allows QEMU to access iSCSI resources directly and use
22 as images for the guest storage. Both disk and cdrom images are
25 Syntax for specifying iSCSI LUNs is
26 "iscsi://<target-ip>[:<port>]/<target-iqn>/<lun>"
28 By default qemu will use the iSCSI initiator-name
29 'iqn.2008-11.org.linux-kvm[:<name>]' but this can also be set from
30 the command line or a configuration file.
32 Since version Qemu 2.4 it is possible to specify a iSCSI request
33 timeout to detect stalled requests and force a reestablishment of the
34 session. The timeout is specified in seconds. The default is 0 which
35 means no timeout. Libiscsi 1.15.0 or greater is required for this
38 Example (without authentication):
42 |qemu_system| -iscsi initiator-name=iqn.2001-04.com.example:my-initiator \
43 -cdrom iscsi://192.0.2.1/iqn.2001-04.com.example/2 \
44 -drive file=iscsi://192.0.2.1/iqn.2001-04.com.example/1
46 Example (CHAP username/password via URL):
50 |qemu_system| -drive file=iscsi://user%password@192.0.2.1/iqn.2001-04.com.example/1
52 Example (CHAP username/password via environment variables):
56 LIBISCSI_CHAP_USERNAME="user" \
57 LIBISCSI_CHAP_PASSWORD="password" \
58 |qemu_system| -drive file=iscsi://192.0.2.1/iqn.2001-04.com.example/1
61 QEMU supports NBD (Network Block Devices) both using TCP protocol as
62 well as Unix Domain Sockets. With TCP, the default port is 10809.
64 Syntax for specifying a NBD device using TCP, in preferred URI form:
65 "nbd://<server-ip>[:<port>]/[<export>]"
67 Syntax for specifying a NBD device using Unix Domain Sockets;
68 remember that '?' is a shell glob character and may need quoting:
69 "nbd+unix:///[<export>]?socket=<domain-socket>"
71 Older syntax that is also recognized:
72 "nbd:<server-ip>:<port>[:exportname=<export>]"
74 Syntax for specifying a NBD device using Unix Domain Sockets
75 "nbd:unix:<domain-socket>[:exportname=<export>]"
81 |qemu_system| --drive file=nbd:192.0.2.1:30000
83 Example for Unix Domain Sockets
87 |qemu_system| --drive file=nbd:unix:/tmp/nbd-socket
90 QEMU supports SSH (Secure Shell) access to remote disks.
96 |qemu_system| -drive file=ssh://user@host/path/to/disk.img
97 |qemu_system| -drive file.driver=ssh,file.user=user,file.host=host,file.port=22,file.path=/path/to/disk.img
99 Currently authentication must be done using ssh-agent. Other
100 authentication methods may be supported in future.
103 Sheepdog is a distributed storage system for QEMU. QEMU supports
104 using either local sheepdog devices or remote networked devices.
106 Syntax for specifying a sheepdog device
110 sheepdog[+tcp|+unix]://[host:port]/vdiname[?socket=path][#snapid|#tag]
116 |qemu_system| --drive file=sheepdog://192.0.2.1:30000/MyVirtualMachine
118 See also https://sheepdog.github.io/sheepdog/.
121 GlusterFS is a user space distributed file system. QEMU supports the
122 use of GlusterFS volumes for hosting VM disk images using TCP, Unix
123 Domain Sockets and RDMA transport protocols.
125 Syntax for specifying a VM disk image on GlusterFS volume is
130 gluster[+type]://[host[:port]]/volume/path[?socket=...][,debug=N][,logfile=...]
133 'json:{"driver":"qcow2","file":{"driver":"gluster","volume":"testvol","path":"a.img","debug":N,"logfile":"...",
134 "server":[{"type":"tcp","host":"...","port":"..."},
135 {"type":"unix","socket":"..."}]}}'
142 |qemu_system| --drive file=gluster://192.0.2.1/testvol/a.img,
143 file.debug=9,file.logfile=/var/log/qemu-gluster.log
146 |qemu_system| 'json:{"driver":"qcow2",
147 "file":{"driver":"gluster",
148 "volume":"testvol","path":"a.img",
149 "debug":9,"logfile":"/var/log/qemu-gluster.log",
150 "server":[{"type":"tcp","host":"1.2.3.4","port":24007},
151 {"type":"unix","socket":"/var/run/glusterd.socket"}]}}'
152 |qemu_system| -drive driver=qcow2,file.driver=gluster,file.volume=testvol,file.path=/path/a.img,
153 file.debug=9,file.logfile=/var/log/qemu-gluster.log,
154 file.server.0.type=tcp,file.server.0.host=1.2.3.4,file.server.0.port=24007,
155 file.server.1.type=unix,file.server.1.socket=/var/run/glusterd.socket
157 See also http://www.gluster.org.
159 ``HTTP/HTTPS/FTP/FTPS``
160 QEMU supports read-only access to files accessed over http(s) and
163 Syntax using a single filename:
167 <protocol>://[<username>[:<password>]@]<host>/<path>
172 'http', 'https', 'ftp', or 'ftps'.
175 Optional username for authentication to the remote server.
178 Optional password for authentication to the remote server.
181 Address of the remote server.
184 Path on the remote server, including any query string.
186 The following options are also supported:
189 The full URL when passing options to the driver explicitly.
192 The amount of data to read ahead with each range request to the
193 remote server. This value may optionally have the suffix 'T', 'G',
194 'M', 'K', 'k' or 'b'. If it does not have a suffix, it will be
195 assumed to be in bytes. The value must be a multiple of 512 bytes.
199 Whether to verify the remote server's certificate when connecting
200 over SSL. It can have the value 'on' or 'off'. It defaults to
204 Send this cookie (it can also be a list of cookies separated by
205 ';') with each outgoing request. Only supported when using
206 protocols such as HTTP which support cookies, otherwise ignored.
209 Set the timeout in seconds of the CURL connection. This timeout is
210 the time that CURL waits for a response from the remote server to
211 get the size of the image to be downloaded. If not set, the
212 default timeout of 5 seconds is used.
214 Note that when passing options to qemu explicitly, ``driver`` is the
217 Example: boot from a remote Fedora 20 live ISO image
221 |qemu_system_x86| --drive media=cdrom,file=https://archives.fedoraproject.org/pub/archive/fedora/linux/releases/20/Live/x86_64/Fedora-Live-Desktop-x86_64-20-1.iso,readonly
223 |qemu_system_x86| --drive media=cdrom,file.driver=http,file.url=http://archives.fedoraproject.org/pub/fedora/linux/releases/20/Live/x86_64/Fedora-Live-Desktop-x86_64-20-1.iso,readonly
225 Example: boot from a remote Fedora 20 cloud image using a local
226 overlay for writes, copy-on-read, and a readahead of 64k
230 qemu-img create -f qcow2 -o backing_file='json:{"file.driver":"http",, "file.url":"http://archives.fedoraproject.org/pub/archive/fedora/linux/releases/20/Images/x86_64/Fedora-x86_64-20-20131211.1-sda.qcow2",, "file.readahead":"64k"}' /tmp/Fedora-x86_64-20-20131211.1-sda.qcow2
232 |qemu_system_x86| -drive file=/tmp/Fedora-x86_64-20-20131211.1-sda.qcow2,copy-on-read=on
234 Example: boot from an image stored on a VMware vSphere server with a
235 self-signed certificate using a local overlay for writes, a readahead
236 of 64k and a timeout of 10 seconds.
240 qemu-img create -f qcow2 -o backing_file='json:{"file.driver":"https",, "file.url":"https://user:password@vsphere.example.com/folder/test/test-flat.vmdk?dcPath=Datacenter&dsName=datastore1",, "file.sslverify":"off",, "file.readahead":"64k",, "file.timeout":10}' /tmp/test.qcow2
242 |qemu_system_x86| -drive file=/tmp/test.qcow2