Как установить сеть Ethernet, связывающуюся для корневого NFS, монтируют по начальной загрузке PXE в Ubuntu 16.04 LTS

Для моего персонального мини-кластера я успешно устанавливаю сервер Ubuntu 16.04 систем начальной загрузки сети LTS PXE, однако, для использования в своих интересах NICs с 4 портами, который я имею, я хочу установить связывание Ethernet.

Я не нашел соответствующих ресурсов к версии ядра Linux, 4.4.0-21-универсальные, более старые решения неэффективны.

0
задан 1 December 2018 в 02:51

1 ответ

Это - настраиваемое решение, взлом действительно, что мне удалось получить работу.

В моем NFS, от которого системы PXE, как предполагается, загружаются, Удостоверьтесь /etc/initramfs-tools/initramfs.conf иметь нет DEVICE набор, и modules равный most.

Оттуда, Вы собираетесь хотеть добавить файл в /etc/initramfs-tools/scripts/nfs-premount/00_bond, удостоверьтесь, что это имеет 0755 полномочия, который является этим, являются исполняемым файлом.

00_bond содержание:

#!/bin/sh
ip link add bond0 type bond mode 802.3ad
echo "+eth0" > /sys/class/net/bond0/bonding/slaves
echo "+eth1" > /sys/class/net/bond0/bonding/slaves
echo "+eth2" > /sys/class/net/bond0/bonding/slaves
modprobe af_packet
ipconfig -c dhcp -d bond0

Этот сценарий устанавливает связь в initramfs, вручную добавляет ведомые устройства, поскольку у нас нет инструментов, чтобы сделать это (они могли быть добавлены к initramfs, но ненужные). Добавьте/удалите/переименуйте интерфейсы по мере необходимости.

Наконец, мы загружаемся af_packet модуль ядра, и инициализирует DHCP в нашем связанном интерфейсе. ipconfig программа, предоставленная klibc, чтобы не быть перепутанным с ifconfig.

Последняя конфигурация нашего initramfs входит в /etc/initramfs-tools/modules, где мы хотим добавить bonding модуль к нашему initramfs. Просто добавьте строку bonding в конец файла это обычно пусто по умолчанию.

Можно обновить initramfs (удостоверьтесь, что Вы - chrooted или в другой системе, загруженной в раздел NFS) путем выполнения update-initramfs -u. После того как это завершено, удостоверьтесь, что обновили любое использование его с Вашего сервера TFTP так, чтобы Ваш новый initramfs был загружен удаленно.

В DHCP, так как мы обошли конфигурацию DHCP сетевых интерфейсов (принимающий pxelinux) и зависим от ethX Формат имени NIC, мы хотим изменить некоторые параметры начальной загрузки ядра. Можно изменить их в сценарии, однако, я нахожу это более надежным для использования старой схемы именования, поскольку это - случай, где, если NIC изменяется, лучше, чтобы у нас было общедоступное заменяющее именование - проблема, с которой я столкнулся прежде.

Это параметры начальной загрузки ядра, которые я использовал для 4.4.0-21-универсальной версии, как вводится в мою конфигурацию PXELinux:

APPEND root=/dev/nfs initrd=initrd.img-4.4.0-21-generic nfsroot=192.168.0.1:/nfs net.ifnames=0 biosdevname=0 ip=none rw

net.ifnames=0 biosdevname=0 отключает новую схему именования NIC.

ip=none отключает любую конфигурацию стандартной сети. У меня не было проблем с ip=dhcp, но это является ненужным, поскольку это завершится, когда это уже будет видеть сеть на месте.

Остальные - стандартные параметры монтирования NFS.

После того как все это завершено, Ваш сервер NFS работает, доступный, и надлежащая установка Ubuntu, Ваш сервер DHCP подготовлен, затем необходимо быть готовы загрузиться в Ubuntu со связанной корневой системой NFS Ethernet от PXE. Режим я выбрал, 802.3ad, обеспечивает скорость и дублирование от разъединений, в то время как существуют другие режимы, доступные, который может обеспечить более сильное дублирование в обмен на скорость. Это особенно полезно для этого варианта использования, как тогда, когда мы получаем внезапное разъединение, это сродни получению по запросу корневого диска середина операции.

Нужно отметить, что ни одни из стандартных сетей Ubuntu не будут настроены (т.е. /etc/network/interfaces), и как таковой, инструменты как ifup и ifdown не могут работать, пока это не установка. Конечно, Вы должны быть готовы подвергнуть циклу включения и выключения питания, если бы необходимо было выполнить такую команду, если Вы не загружаете персистентный электронный диск с NFS как некорневое, для поддержания минимальной функциональности.

0
ответ дан 27 October 2019 в 00:58

Другие вопросы по тегам:

Похожие вопросы: