Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
citrix:изменение-типа-сетевого-адаптера-в-xenserver-rtl8139-e1000 [2019/02/11 09:13] – external edit 127.0.0.1citrix:изменение-типа-сетевого-адаптера-в-xenserver-rtl8139-e1000 [2019/03/13 09:00] (current) admin
Line 1: Line 1:
 +======Предыстория======
 +По-умолчанию, если не установлены драйвера из комплекта **Xenserver Tools**, Xenserver эмулирует сетевую карту **Realtek 8139**. Это хорошо, она работает во многих дистрибутивах, но она поддерживает только скорость 100 Мбит/с.  \\
 +При этом, **XenServer** способен эмулировать сетевую карту **Intel 82540 (E1000)**. Но выбор этого параметра отсутствует где-либо в конфигурации виртуальной машины.\\
  
 +======Решение======
 +Для того. чтобы обойти это ограничение можно сочинить небольшую обертку для исполняемого файла эмулятора QEMU - **qemu-dm**, которая при запуске будет брать строку параметров запуска **qemu-dm** и подменять в ней **rtl8139** на **e1000**. В результате - эмулируемый сетевой адаптер будет поддерживать скорость 1Гбит/c и даже **jubmo frames**.\\
 +
 +Все нижу написанное справдливо как для версий 6.1 и 62, так и для новейшей 6.5, за исключением того, что виртуалка **dom0** в 6.5 имеет архитектуру x64, поэтому **qemu-dm** лежит в папке **/usr/lib64/xen/bin/**. Тут я приведу пример для **XenServer 6.5**. \\
 +Начнем.\\
 +Логинимся в командную строку **xenserver** и переименовываем оригинальный **/usr/lib64/xen/bin/qemu-dm** в **/usr/lib64/xen/bin/qemu-dm.orig**\\
 +<code>mv /usr/lib64/xen/bin/qemu-dm /usr/lib64/xen/bin/qemu-dm.orig</code>
 +
 +Затем сделаем файл-обёртку с именем **/usr/lib64/xen/bin/qemu-dm** и таким содержимым:\\
 +  #!/bin/bash
 +  oldstring=$@
 +  newstring=${oldstring//rtl8139/e1000}
 +  exec /usr/lib64/xen/bin/qemu-dm.orig $newstring
 +  
 +Затем делаем обёртку исполняемой и запрещаем ее изменять:\\
 +  chmod 755 /usr/lib64/xen/bin/qemu-dm
 +  chattr +i /usr/lib64/xen/bin/qemu-dm
 +Теперь можно перезапустить виртуальные машины и в них уже будут эмулироваться сетевые интерфейсы **e1000**.\\
 +Я проверял этот трюк на **Xenserver 6.5** и виртуалке с **Kerio Control 7.2**. Ничего дополнительно настраивать не пришлось. Интерфейсы не "съехали". Просто изменилась модель эмулируемого сетевого адаптера.\\
 +
 +
 +^**ВНИМАНИЕ**\\
 +С помощью **chattr** мы запретили замену файла **qemu-dm**. Таким образом, его не получится заменить, нпример, в результате обновления **Xenserver**. \\
 +
 +Отключить эту защиту и разрешить изменение этого файла можно так:\\
 +<code>chattr -i /usr/lib64/xen/bin/qemu-dm</code>\\
  • citrix/изменение-типа-сетевого-адаптера-в-xenserver-rtl8139-e1000.txt
  • Last modified: 2019/03/13 09:00
  • by admin