Как можно предотвратить конфликты MAC-адресов и UUID при клонировании виртуальной машины VMware?

10

Я столкнулся со следующей проблемой как для VMware Fusion (для Mac), так и для VMware ESXi / vSphere. Многие из вас знакомы с этой проблемой, и она описана в VMware KB: « Сеть не работает на клонированной виртуальной машине Linux (2002767) ».

  1. Создайте виртуальную машину CentOS.
    • Это виртуальная машина с минимальным набором программного обеспечения и работающим сетевым стеком. Идея состоит в том, что мы берем минимальную виртуальную машину, клонируем ее и добавляем больше программного обеспечения позже.
  2. Клонировать эту ВМ
  3. VMware Fusion или vCenter назначит новый MAC-адрес сетевому интерфейсу клонированной виртуальной машины.
  4. Linux не знает об этом новом MAC-адресе, и поэтому работа в сети не работает. Файл /etc/sysconfig/network-scripts/ifcfg-ethNимеет MAC-адрес интерфейса на первом компьютере.
  5. Чтобы это исправить, мне нужно найти MAC-адрес новой виртуальной машины, отредактировать ifcfg-ethNи добавить этот MAC-адрес в HWADDR=поле. Я не могу просто вырезать и вставить MAC в поле, так что это может быть ошибочной задачей, особенно если я забуду ручку и бумагу, чтобы записать MAC.
  6. (Бонусные баллы) На новой виртуальной машине часто eth0, eth1 и т. Д. Отображаются в неправильном порядке. Исправление этого включает в себя тайный танец вокруг/etc/udev/rules.d

Я могу сделать это, но это подвержено ошибкам и отчасти боль, когда я просто хотел раскрутить новую ВМ, чтобы что-то проверить.

Есть ли способ упростить этот ручной процесс? Когда вы клонируете новую машину, как вы решаете проблему с MAC-адресом?

Стефан Ласевский
источник
Для этих систем вы вообще заботитесь о сохранности устройств?
Шейн Мэдден
Нет не для сетевого интерфейса.
Стефан Ласевский,

Ответы:

13

Поскольку для этих виртуальных машин мешают постоянные устройства, удалите их:

  • Полностью удалить HWADDRи UUIDстроки из ifcfgфайла, и
  • Удалить /etc/udev/rules.d/70-persistent-net.rulesперед клонированием

Это должно позволить eth0 с новым MAC-адресом фактически использовать ifcfg-eth0начальную загрузку.

Шейн Мэдден
источник
Хм, это похоже на работу. Я понятия не имел, HWADDRбыло необязательно. Должен ли я также удалить UUID?
Стефан Ласевский,
1
@StefanLasiewski Ах, да, ты должен.
Шейн Мэдден
+1 работал как очарование J
глубокое погружение
2
из 10 лучших результатов Google, это тот, который работает! примечание: удалите строки HWADDRAND UUIDиз/etc/sysconfig/network-scripts/ifcfg-eth0
Говард Ли