ESXi перемещает группу портов в другой vswitch

в ESXi, как переместить существующую группу портов на другой vSwitch?

Это, кажется, часто желаемое действие, но без легкодоступного решения:

enter image description here

Итак, у меня есть один большой vSwitch с около 8 различными группами портов (каждому из которых назначено 4-6 виртуальных машин). Из-за сетевых изменений мне нужно разбить этот vSwitch на несколько vSwitch (каждый со своим физическим адаптером). Я хочу просто переместить существующие группы портов (в том числе идентификаторов VLAN) на правильный (новый) коммутатора.

есть ли простой способ сделать это без перенастройки всего этого? Если бы был некоторый XML-файл, где это сохранено, это была бы 5-секундная операция вырезания и вставки.

13
задан Jonathon Reinhart
19.12.2022 0:15 Количество просмотров материала 2426
Распечатать страницу

1 ответ

отказ от ответственности: это, конечно, не поддержанная/рекомендуемый способ сделать это. Не делайте это на производственной коробке. Я сделал это, когда все виртуальные машины выключены, а vSphere отключена, просто для безопасности.

во-первых, нужно доступ к консоли ESXi. Затем это можно легко сделать, отредактировав /etc/vmware/esx.conf.

для каждого vSwitch, есть запись типа:

/net/vswitch/child[0000]/name = "vSwitch0"
/net/vswitch/child[0000]/...
/net/vswitch/child[0001]/name = "vSwitch1"
/net/vswitch/child[0001]/...
...

вы можете переименовать vSwitches там, путь.

группы портов узлы под vSwitches:

/net/vswitch/child[0000]/portgroup/child[0000]/name = "Management Network"
/net/vswitch/child[0000]/portgroup/child[0000]/...
...
/net/vswitch/child[0000]/portgroup/child[0001]/name = "VM Network"
/net/vswitch/child[0000]/portgroup/child[0001]/...
...

перемещение группа от vSwitch в другую, вы просто изменить /net/vswitch/child[XXXX]/ узлом под убедившись, что в отношении portgroup дети уже есть. другими словами, как только вы перемещаете группа в другой vSwitch, вам может понадобиться изменить своего ребенка число.

Примечание: вы должны повторно номер all соответствующих строк (все строки, соответствующие этой группе портов).

примечание 2: если есть teamPolicy записей для группы портов, вам может потребоваться, чтобы гарантировать, что связано uplinks[nnnn]/pnic = настройки соответствуют фактическим vmnicN для переключателя, на который вы его перемещаете.

после редактирования файла, я просто перезагрузил сервер ESXi: $ reboot. Вместо этого может быть перезапущена какая-то служба или процесс, но я решил, что перезагрузка была самым простым и безопасным способом.


пример

скажем, у нас есть два vSwitches каждый с одним vmnic uplink и две группы портов:

vSwitch0        --> vmnic0
|--portGroupA
|--portGroupB

vSwitch1        --> vmnic1
|--portGroupC
|--portGroupD

соответствующие записи в esx.conf может выглядеть примерно так1:

# vSwitch0
/net/vswitch/child[0000]/...
/net/vswitch/child[0000]/name = "vSwitch0"
/net/vswitch/child[0000]/numPorts = "128"
# vSwitch0->portGroupA
/net/vswitch/child[0000]/portgroup/child[0000]/name = "portGroupA"
/net/vswitch/child[0000]/portgroup/child[0000]/teamPolicy/uplinks[0000]/pnic = "vmnic0"
# vSwitch0->portGroupB
/net/vswitch/child[0000]/portgroup/child[0001]/name = "portGroupB"
/net/vswitch/child[0000]/portgroup/child[0001]/teamPolicy/uplinks[0000]/pnic = "vmnic0"
/net/vswitch/child[0000]/uplinks/child[0000]/pnic = "vmnic0"

# vSwitch1
/net/vswitch/child[0001]/...
/net/vswitch/child[0001]/name = "vSwitch1"
/net/vswitch/child[0001]/numPorts = "128"
# vSwitch1->portGroupC
/net/vswitch/child[0001]/portgroup/child[0000]/name = "portGroupC"
/net/vswitch/child[0001]/portgroup/child[0000]/teamPolicy/uplinks[0000]/pnic = "vmnic1"
# vSwitch1->portGroupD
/net/vswitch/child[0001]/portgroup/child[0001]/name = "portGroupD"
/net/vswitch/child[0001]/portgroup/child[0001]/teamPolicy/uplinks[0000]/pnic = "vmnic1"
/net/vswitch/child[0001]/uplinks/child[0000]/pnic = "vmnic1"

теперь мы хотим переместить portGroupC С vSwitch1 to vSwitch0, поэтому конфигурация такой:

vSwitch0        --> vmnic0
|--portGroupA
|--portGroupB
|--portGroupC

vSwitch1        --> vmnic1
|--portGroupD

для этого:

  1. определение portGroupC строк, начинающихся с /net/vswitch/child[0001]/portgroup/child[0000]. Переместите эти записи с помощью vSwitch0 config (необязательно, но проясняет ситуацию при редактировании).
  2. изменить /net/vswitch/child[0001] to /net/vswitch/child[0000] на каждой строке (потому что мы перемещаем его на этот переключатель).
  3. поймите, что уже есть /net/vswitch/child[0000]/portgroup/child[0000] (portGroupA), и portGroupC to /portgroup/child[0002].
  4. понимаю, что наш канал связи для этой группы портов теперь неверен (если он указан) и change uplinks[0000]/pnic = С vmnic1 to vmnic0 (потому что это vmnic, обслуживающий этот vSwitch.)

окончательный конфиг должен выглядеть так:

# vSwitch0
/net/vswitch/child[0000]/...
/net/vswitch/child[0000]/name = "vSwitch0"
/net/vswitch/child[0000]/numPorts = "128"
# vSwitch0->portGroupA
/net/vswitch/child[0000]/portgroup/child[0000]/name = "portGroupA"
/net/vswitch/child[0000]/portgroup/child[0000]/teamPolicy/uplinks[0000]/pnic = "vmnic0"
# vSwitch0->portGroupB
/net/vswitch/child[0000]/portgroup/child[0001]/name = "portGroupB"
/net/vswitch/child[0000]/portgroup/child[0001]/teamPolicy/uplinks[0000]/pnic = "vmnic0"
# vSwitch1->portGroupC
/net/vswitch/child[0000]/portgroup/child[0002]/name = "portGroupC"
/net/vswitch/child[0000]/portgroup/child[0002]/teamPolicy/uplinks[0000]/pnic = "vmnic0"
/net/vswitch/child[0000]/uplinks/child[0000]/pnic = "vmnic0"

# vSwitch1
/net/vswitch/child[0001]/...
/net/vswitch/child[0001]/name = "vSwitch1"
/net/vswitch/child[0001]/numPorts = "128"
# vSwitch1->portGroupD
/net/vswitch/child[0001]/portgroup/child[0000]/name = "portGroupD"
/net/vswitch/child[0001]/portgroup/child[0000]/teamPolicy/uplinks[0000]/pnic = "vmnic1"
/net/vswitch/child[0001]/uplinks/child[0000]/pnic = "vmnic1"

обратите внимание, что я также изменил portGroupD С portgroup/child[0001] to [0000] (так как больше не было записи 0.)

1-The # комментарии здесь только для объяснения; я не знаю, работают ли они в реальном файле, и получить сдувается на следующей конфигурации в любом случае.

3
отвечен Jonathon Reinhart 2022-12-20 08:03

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх