http://wiki.rosalab.ru/ru/index.php?title=QEMU_-_%D0%BF%D0%BE%D0%BB%D0%B5%D0%B7%D0%BD%D1%8B%D0%B5_%D1%81%D0%BE%D0%B2%D0%B5%D1%82%D1%8B&feed=atom&action=history
QEMU - полезные советы - История изменений
2024-03-28T18:55:59Z
История изменений этой страницы в вики
MediaWiki 1.26.4
http://wiki.rosalab.ru/ru/index.php?title=QEMU_-_%D0%BF%D0%BE%D0%BB%D0%B5%D0%B7%D0%BD%D1%8B%D0%B5_%D1%81%D0%BE%D0%B2%D0%B5%D1%82%D1%8B&diff=16657&oldid=prev
Euspectre: /* Пример конфигурации QEMU-машины */
2017-12-08T09:54:39Z
<p><span dir="auto"><span class="autocomment">Пример конфигурации QEMU-машины</span></span></p>
<table class='diff diff-contentalign-left'>
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr style='vertical-align: top;' lang='ru'>
<td colspan='2' style="background-color: white; color:black; text-align: center;">← Предыдущая</td>
<td colspan='2' style="background-color: white; color:black; text-align: center;">Версия 09:54, 8 декабря 2017</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l98" >Строка 98:</td>
<td colspan="2" class="diff-lineno">Строка 98:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>* ''-device e1000,netdev=network0,mac=C6:2E:79:26:18:6B''</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>* ''-device e1000,netdev=network0,mac=C6:2E:79:26:18:6B''</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Первая группа параметров указывает QEMU, что нужно эмулировать сетевую карту. Вторая - что гостевая система должна видеть эту сетевую карту как Intel PRO/1000 или совместимую (драйвер e1000).</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Первая группа параметров указывает QEMU, что нужно эмулировать сетевую карту. Вторая - что гостевая система должна видеть эту сетевую карту как Intel PRO/1000 или совместимую (драйвер e1000)<ins class="diffchange diffchange-inline">. Если нужна не эмуляция Intel PRO/1000, а virtio устройство, укажите "virtio-net-pci" вместо "e1000"</ins>.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>MAC-адрес задавать необязательно, просто, если не задать, QEMU будет использовать какой-то стандартный MAC-адрес. Неудобно, если нужно одновременно работать с несколькими вирт. машинами, так что лучше MAC задать. Для генерации валидных MAC-адресов можно использовать следующую команду:</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>MAC-адрес задавать необязательно, просто, если не задать, QEMU будет использовать какой-то стандартный MAC-адрес. Неудобно, если нужно одновременно работать с несколькими вирт. машинами, так что лучше MAC задать. Для генерации валидных MAC-адресов можно использовать следующую команду:</div></td></tr>
</table>
Euspectre
http://wiki.rosalab.ru/ru/index.php?title=QEMU_-_%D0%BF%D0%BE%D0%BB%D0%B5%D0%B7%D0%BD%D1%8B%D0%B5_%D1%81%D0%BE%D0%B2%D0%B5%D1%82%D1%8B&diff=16616&oldid=prev
Euspectre в 15:00, 21 ноября 2017
2017-11-21T15:00:19Z
<p></p>
<table class='diff diff-contentalign-left'>
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr style='vertical-align: top;' lang='ru'>
<td colspan='2' style="background-color: white; color:black; text-align: center;">← Предыдущая</td>
<td colspan='2' style="background-color: white; color:black; text-align: center;">Версия 15:00, 21 ноября 2017</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l30" >Строка 30:</td>
<td colspan="2" class="diff-lineno">Строка 30:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div># start_my_vm.sh</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div># start_my_vm.sh</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>qemu-<del class="diffchange diffchange-inline">kvm </del>\</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>qemu-<ins class="diffchange diffchange-inline">system-x86_64 </ins>\</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>     -name <del class="diffchange diffchange-inline">my_vm </del>\</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>     -name <ins class="diffchange diffchange-inline">"ROSA-x64" </ins>\</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>     -smp 2 \</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>     -smp 2 \</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>     -m 2G \</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>     -m 2G \</div></td></tr>
<tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l40" >Строка 40:</td>
<td colspan="2" class="diff-lineno">Строка 40:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>     -drive file=/home/user/mydisk.qcow2,if=virtio,index=0,media=disk \</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>     -drive file=/home/user/mydisk.qcow2,if=virtio,index=0,media=disk \</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>     -drive file=/home/user/my_second_disk.qcow2,if=virtio,index=1,media=disk \</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>     -drive file=/home/user/my_second_disk.qcow2,if=virtio,index=1,media=disk \</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">    -drive file=/home/user/my_nvme.qcow2,if=none,id=drv0 -device nvme,drive=drv0,serial=cafef00d \</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>     -monitor stdio \</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>     -monitor stdio \</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>     -<del class="diffchange diffchange-inline">net nic,vlan=0,model=virtio,macaddr=C6:2E:79:26:18:6B \</del></div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>     -<ins class="diffchange diffchange-inline">netdev </ins>user,<ins class="diffchange diffchange-inline">id</ins>=<ins class="diffchange diffchange-inline">network0</ins>,net=192.168.28.0/24,host=192.168.28.1,hostfwd=tcp::7028-:22 <ins class="diffchange diffchange-inline">\</ins></div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">    -net </del>user,<del class="diffchange diffchange-inline">vlan</del>=<del class="diffchange diffchange-inline">0</del>,net=192.168.28.0/24,host=192.168.28.1,hostfwd=tcp::7028-:22 \</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">    -device e1000,netdev=network0,mac=C6:2E:79:26:18:6B </ins>\</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>     -vnc 127.0.0.1:31 \</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>     -vnc 127.0.0.1:31 \</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>     -soundhw ac97 \</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>     -soundhw ac97 \</div></td></tr>
<tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l53" >Строка 53:</td>
<td colspan="2" class="diff-lineno">Строка 54:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Описание конкретных параметров - ниже.</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Описание конкретных параметров - ниже.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>* ''-name <del class="diffchange diffchange-inline">my_vm</del>''</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>* ''-name <ins class="diffchange diffchange-inline">"ROSA-x64"</ins>''</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Имя данной виртуальной машины ("<del class="diffchange diffchange-inline">my_vm</del>").</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Имя данной виртуальной машины ("<ins class="diffchange diffchange-inline">ROSA-x64</ins>").</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>* ''-smp 2''</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>* ''-smp 2''</div></td></tr>
<tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l83" >Строка 83:</td>
<td colspan="2" class="diff-lineno">Строка 84:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Virtio-диски в гостевой системе будут видны как <tt>/dev/vda</tt>, <tt>/dev/vdb</tt>, ...</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Virtio-диски в гостевой системе будут видны как <tt>/dev/vda</tt>, <tt>/dev/vdb</tt>, ...</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">* ''-drive file=/home/user/my_nvme.qcow2,if=none,id=drv0 -device nvme,drive=drv0,serial=cafef00d''</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">Подключить образ диска "my_nvme.qcow2" как NVMe-устройство. Полезно, если нужно отладить или проверить что-то, связанное с работой такого рода устройств. Значение для "serial" можно задать и другое.</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">Устройство будет видно в системе как <tt>/dev/nvmeX</tt> и <tt>/dev/nvmeXnY</tt>. Разделы, созданые на этом устройстве, будут видны как <tt>/dev/nvmeXnYpZ</tt>, где X, Y, Z - числа.</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>* ''-monitor stdio''</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>* ''-monitor stdio''</div></td></tr>
<tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l88" >Строка 88:</td>
<td colspan="2" class="diff-lineno">Строка 95:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>В консоли, откуда запущен <tt>qemu-kvm</tt>, можно будет работать с вирт. машиной через [http://en.wikibooks.org/wiki/QEMU/Monitor QEMU Monitor], это бывает удобно.</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>В консоли, откуда запущен <tt>qemu-kvm</tt>, можно будет работать с вирт. машиной через [http://en.wikibooks.org/wiki/QEMU/Monitor QEMU Monitor], это бывает удобно.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>* ''-<del class="diffchange diffchange-inline">net nic,vlan=0,model=virtio,macaddr=C6:2E:79:26:18:6B''</del></div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>* ''-<ins class="diffchange diffchange-inline">netdev </ins>user,<ins class="diffchange diffchange-inline">id</ins>=<ins class="diffchange diffchange-inline">network0</ins>,net=192.168.28.0/24,host=192.168.28.1,hostfwd=tcp::7028-:22<ins class="diffchange diffchange-inline">'' </ins></div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">* ''-net </del>user,<del class="diffchange diffchange-inline">vlan</del>=<del class="diffchange diffchange-inline">0</del>,net=192.168.28.0/24,host=192.168.28.1,hostfwd=tcp::7028-:22''</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">* ''-device e1000,netdev=network0,mac=C6:2E:79:26:18:6B</ins>''</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Первая группа параметров указывает QEMU, что нужно эмулировать сетевую карту. <del class="diffchange diffchange-inline">С virtio должно быть быстрее, но при желании можно эмулировать и какую</del>-<del class="diffchange diffchange-inline">то реальную </del>сетевую карту<del class="diffchange diffchange-inline">: pcnet, rtl8139, </del>e1000<del class="diffchange diffchange-inline">, ..</del>.</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Первая группа параметров указывает QEMU, что нужно эмулировать сетевую карту. <ins class="diffchange diffchange-inline">Вторая </ins>- <ins class="diffchange diffchange-inline">что гостевая система должна видеть эту </ins>сетевую карту <ins class="diffchange diffchange-inline">как Intel PRO/1000 или совместимую (драйвер </ins>e1000<ins class="diffchange diffchange-inline">)</ins>.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>MAC-адрес задавать необязательно, просто, если не задать, QEMU будет использовать какой-то стандартный MAC-адрес. Неудобно, если нужно одновременно работать с несколькими вирт. машинами, так что лучше MAC задать. Для генерации валидных MAC-адресов можно использовать следующую команду:</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>MAC-адрес задавать необязательно, просто, если не задать, QEMU будет использовать какой-то стандартный MAC-адрес. Неудобно, если нужно одновременно работать с несколькими вирт. машинами, так что лучше MAC задать. Для генерации валидных MAC-адресов можно использовать следующую команду:</div></td></tr>
<tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l99" >Строка 99:</td>
<td colspan="2" class="diff-lineno">Строка 106:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div></pre></div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div></pre></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">Во второй группе параметров (''-net user ...'') </del>можно настроить параметры сети:</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">Также здесь </ins>можно настроить <ins class="diffchange diffchange-inline">следующие </ins>параметры сети:</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>**''user'' - используется реализация сетевых средств, не требующая прав администратора на хостовой системе.</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>**''user'' - используется реализация сетевых средств, не требующая прав администратора на хостовой системе.</div></td></tr>
</table>
Euspectre
http://wiki.rosalab.ru/ru/index.php?title=QEMU_-_%D0%BF%D0%BE%D0%BB%D0%B5%D0%B7%D0%BD%D1%8B%D0%B5_%D1%81%D0%BE%D0%B2%D0%B5%D1%82%D1%8B&diff=16412&oldid=prev
Euspectre: Новая страница: «На этой странице предлагается собирать разную полезную информацию по работе с [http://wiki.qemu…»
2017-09-27T18:49:18Z
<p>Новая страница: «На этой странице предлагается собирать разную полезную информацию по работе с [http://wiki.qemu…»</p>
<p><b>Новая страница</b></p><div>На этой странице предлагается собирать разную полезную информацию по работе с [http://wiki.qemu.org/Main_Page QEMU], как для новичков, так и для опытных пользователей этой системы.<br />
<br />
Подробное (хотя и во многом неполное) описание работы с QEMU есть тут:<br />
http://qemu.weilnetz.de/qemu-doc.html<br />
<br />
== Создание образов дисков для виртуальных машин ==<br />
<br />
Это делается с помощью <tt>qemu-img</tt>:<br />
<br />
<pre><br />
qemu-img create -f &lt;format&gt; &lt;path_to_file&gt; &lt;size&gt;<br />
</pre><br />
<br />
Можно создавать образы дисков в разных форматах. Если непонятно, какой формат выбрать, используйте формат "qcow2".<br />
<br />
Пример. Cоздание образа диска размером 60 гигабайт:<br />
<br />
<pre><br />
qemu-img create -f qcow2 mydisk.qcow2 60G<br />
</pre><br />
<br />
Cам файл образа (''mydisk.qcow2'') после создания будет небольшого размера, а 60 гигабайт - этот размер увидит гостевая ОС.<br />
<br />
== Пример конфигурации QEMU-машины ==<br />
<br />
Пример скрипта, который можно использовать для запуска QEMU-машины с использованием аппаратной виртуализации для x86-систем:<br />
<br />
<pre><br />
#!/bin/sh<br />
# start_my_vm.sh<br />
<br />
qemu-kvm \<br />
-name my_vm \<br />
-smp 2 \<br />
-m 2G \<br />
-usb \<br />
-usbdevice tablet \<br />
-balloon virtio \<br />
-vga std \<br />
-drive file=/home/user/mydisk.qcow2,if=virtio,index=0,media=disk \<br />
-drive file=/home/user/my_second_disk.qcow2,if=virtio,index=1,media=disk \<br />
-monitor stdio \<br />
-net nic,vlan=0,model=virtio,macaddr=C6:2E:79:26:18:6B \<br />
-net user,vlan=0,net=192.168.28.0/24,host=192.168.28.1,hostfwd=tcp::7028-:22 \<br />
-vnc 127.0.0.1:31 \<br />
-soundhw ac97 \<br />
-cdrom /home/user/ROSA.FRESH.KDE.R1.i586.iso \<br />
-boot order=dc<br />
</pre><br />
<br />
Обратите внимание: после '\' пробелов быть не должно.<br />
<br />
Описание конкретных параметров - ниже.<br />
<br />
* ''-name my_vm''<br />
<br />
Имя данной виртуальной машины ("my_vm").<br />
<br />
* ''-smp 2''<br />
<br />
Количество процессоров (2).<br />
<br />
* ''-m 2G''<br />
<br />
Объём памяти (2 гигабайта).<br />
<br />
* ''-usb''<br />
<br />
Включить поддержку USB.<br />
<br />
* ''-usbdevice tablet''<br />
<br />
Эмулировать absolute pointing device (tablet). Удобно, если использовать VNC.<br />
<br />
* ''-vga std''<br />
<br />
Эмулировать "стандартную" (для QEMU) видеокарту в виртуальной машине. При таких настройках в гостевой системе всё обычно работает стабильнее.<br />
<br />
* ''-drive file=/home/user/mydisk.qcow2,if=virtio,index=0,media=disk''<br />
* ''-drive file=/home/user/my_second_disk.qcow2,if=virtio,index=1,media=disk''<br />
<br />
Подключить два образа HDD для гостевой системы, "mydisk.qcow2" и "my_second_disk.qcow2". Работа с ними пойдёт через virtio, это будет быстрее, чем при настройках по умолчанию.<br />
<br />
Virtio-диски в гостевой системе будут видны как <tt>/dev/vda</tt>, <tt>/dev/vdb</tt>, ...<br />
<br />
* ''-monitor stdio''<br />
<br />
В консоли, откуда запущен <tt>qemu-kvm</tt>, можно будет работать с вирт. машиной через [http://en.wikibooks.org/wiki/QEMU/Monitor QEMU Monitor], это бывает удобно.<br />
<br />
* ''-net nic,vlan=0,model=virtio,macaddr=C6:2E:79:26:18:6B''<br />
* ''-net user,vlan=0,net=192.168.28.0/24,host=192.168.28.1,hostfwd=tcp::7028-:22''<br />
<br />
Первая группа параметров указывает QEMU, что нужно эмулировать сетевую карту. С virtio должно быть быстрее, но при желании можно эмулировать и какую-то реальную сетевую карту: pcnet, rtl8139, e1000, ...<br />
<br />
MAC-адрес задавать необязательно, просто, если не задать, QEMU будет использовать какой-то стандартный MAC-адрес. Неудобно, если нужно одновременно работать с несколькими вирт. машинами, так что лучше MAC задать. Для генерации валидных MAC-адресов можно использовать следующую команду:<br />
<br />
<pre><br />
echo 02$(hexdump -n5 -e '/1 ":%02X"' /dev/urandom)<br />
</pre><br />
<br />
Во второй группе параметров (''-net user ...'') можно настроить параметры сети:<br />
<br />
**''user'' - используется реализация сетевых средств, не требующая прав администратора на хостовой системе.<br />
<br />
**''net=192.168.28.0/24'' - адрес и маска подсети, которые будут видны в гостевой системе; конкретный адрес будет назначен встроенным DHCP-сервером. Можно не задавать, тогда будут использованы значения по умолчанию (10.0.2.0/24).<br />
<br />
**''host=192.168.28.1'' - хостовая система будет видна под этим IP из гостевой системы. Можно не задавать, тогда будет использовано значение по умолчанию (x.x.x.2).<br />
<br />
**''hostfwd=tcp::7028-:22'' - TCP-запросы на указанный порт (7028) на хостовой системе будут направлены на порт 22 на гостевой системе.<br />
<br />
Полезно для доступа по SSH с хостовой системы на гостевую:<br />
<br />
<pre><br />
ssh -p 7028 user_on_guest@localhost<br />
</pre><br />
<br />
Если меняется SSH key fingerprint (переустановлена гостевая ОС, ...), SSH, как обычно, будет ругаться при попытке подключения к гостевой системе. В таком случае нужно удалить на хостовой системе старые SSH-ключи:<br />
<br />
<pre><br />
ssh-keygen -R [localhost]:<port> -f ~/.ssh/known_hosts<br />
</pre><br />
<br />
Порт в этой команде стоит указывать, без этого она может не найти соотв. ключи.<br />
<br />
* ''-vnc address:port''<br />
<br />
Использовать VNC. Нередко это удобнее, чем стандартный для QEMU механизм графического вывода. В VNC-клиенте нужно будет подключаться по указанному адресу на порт 5900+<port> (5931 в данном случае).<br />
<br />
* ''-soundhw ac97''<br />
<br />
Здесь можно настроить, какую звуковую карту эмулировать.<br />
<br />
* ''-cdrom /home/user/ROSA.FRESH.KDE.R1.i586.iso''<br />
<br />
Использовать в качестве CD-ROM для гостевой системы указанный образ диска.<br />
<br />
* ''-boot order=dc''<br />
<br />
По умолчанию, гостевая система загружается с первого HDD. Если задать ''-boot order=dc'', то сначала система будет пытаться загрузиться с первого CD-ROMа, если не получилось - с первого HDD.<br />
<br />
== Работа со snapshot'ами дисков ==<br />
<br />
Полезно иметь возможность сохранить состояние дисков вирт. машины на определённый момент, чтобы, если понадобится, его можно было восстановить. Это всё можно сделать с помощью [http://qemu.weilnetz.de/qemu-doc.html#qemu_005fimg_005finvocation qemu-img]:<br />
<br />
<pre><br />
qemu-img snapshot [-q] [-l | -a имя_snapshot'а | -c имя_snapshot'а | -d имя_snapshot'а] путь_к_файлу_диска<br />
</pre><br />
<br />
Вывод список snapshot'ов для диска "mydisk.qcow2":<br />
<br />
<pre><br />
qemu-img snapshot -l mydisk.qcow2<br />
</pre><br />
<br />
Создание snapshot'а "snap1" для диска "mydisk.qcow2":<br />
<br />
<pre><br />
qemu-img snapshot -c "snap1" mydisk.qcow2<br />
</pre><br />
<br />
Восстановление состояния из snapshot'а "snap1":<br />
<br />
<pre><br />
qemu-img snapshot -a "snap1" mydisk.qcow2<br />
</pre><br />
<br />
Удаление snapshot'а "snap1":<br />
<br />
<pre><br />
qemu-img snapshot -d "snap1" mydisk.qcow2<br />
</pre></div>
Euspectre