Вопрос: Сеть не инициализируется должным образом при загрузке Linux Mint (live CD) с использованием cifs, но работает с nfs


У меня есть TFTP / DHCP / NFS / SMB-сервер (сервер Ubuntu 12.04 LTS) на 192.168.26.1. Я использую pxelinux для отображения меню, содержащего параметры запуска и установки для Windows, сетевой установщик Ubuntu и компакт-диск Live Mint 17 MATE. Как это работает, это было уже противно, и я иссякаю ...

Для Linux Mint я предоставил 2 варианта netboot: NFS и CIFS. Я получил полную работу с NFS: пользователь может выбрать его в меню загрузки, а через некоторое время приземлится на рабочем столе Linux Mint Live CD. Но с CIFS сетевое взаимодействие не инициализируется должным образом. Когда Linux Mint запускается, сеть висит в течение 120 секунд. Затем он продолжает загружаться на рабочий стол, но нет network-manager не запускается (и не запускается). Я подозревал, что это может быть проблемой, когда сервер DHCP не отвечает, однако в журнале DHCP-сервера я могу видеть запрос DHCP и успешный ответ.

Однажды на рабочем столе Linux Mint, ifconfig сообщает IP-адрес, назначенный DHCP, и пинг сервера работает.

Моя конфигурация pxelinux (все после APPEND находится в одной строке, я просто разделил его на читаемость на этом сайте):

NFS:

LABEL linuxmint17
    MENU LABEL Linux Mint 17
    KERNEL linux-mint-17/image/casper/vmlinuz
    APPEND 
        root=/dev/nfs boot=casper netboot=nfs
        nfsroot=192.168.26.1:/var/lib/tftpboot/linux-mint-17/image
        initrd=/linux-mint-17/image/casper/initrd.lz

CIFS:

LABEL linuxmint17smb
    MENU LABEL Linux Mint 17 (SMB)
    KERNEL linux-mint-17/image/casper/vmlinuz
    APPEND
        root=/dev/cifs boot=casper netboot=cifs
        nfsroot=//192.168.26.1/tftpshare/linux-mint-17/image
        ip=dhcp
        initrd=/linux-mint-17/image/casper/initrd.lz

Обратите внимание, что мне пришлось вставить ip=dhcp вариант меню CIFS. Если я этого не сделаю, процесс загрузки зависает в течение 120 секунд при инициализации Networking, но затем он не будет продолжен. Если я добавлю эту строку, она все равно зависает, но через 120 секунд она продолжает загружаться.

Настройка:

Клиентские и серверные виртуальные машины подключаются только друг к другу (внутренняя сеть). Других машин в сети вообще нет.

На сервере есть все файлы загрузки pxe в разделе /var/lib/tftpboot/, Linux Mint ISO (немодифицированный) монтируется под /var/lib/tftpboot/linux-mint-17/image, vmlinuz а также initrd находятся в /var/lib/tftpboot/linux-mint-17/image/casper, /var/lib/tftpboot/ является экспорт NFS. Существует доля samba, называемая tftpshare который отображает /var/lib/tftpboot/ (только для чтения, позволяет получить доступ ко всем).

smb.conf

[tftpshare]
   comment = TFTP Root
   path = /var/lib/tftpboot
   browsable = yes
   guest ok = yes
   read only = no
   create mask = 0644

dhcpd.conf

authoritative;
subnet 192.168.26.0 netmask 255.255.255.0 {
  range 192.168.26.10 192.168.26.40;
  next-server 192.168.26.1;
  filename "pxelinux.0";
}

Это странный 2-минутный пробел в syslog клиентской машины после успешной загрузки в среду рабочего стола:

Jun 14 13:13:18 mint kernel: [   23.388873] intel_rapl: domain core energy ctr 0:0 not working, skip
Jun 14 13:13:18 mint kernel: [   23.528409] intel_rapl: domain uncore energy ctr 0:0 not working, skip
Jun 14 13:13:18 mint kernel: [   23.528453] intel_rapl: no valid rapl domains found in package 0
Jun 14 13:13:20 mint ntpdate[1198]: Can't find host ntp.ubuntu.com: Name or service not known (-2)
Jun 14 13:13:20 mint ntpdate[1198]: no servers can be used, exiting

(2 минута пробела без каких-либо записей, примерно в то время, когда происходит 120-секундная загрузка)

Jun 14 13:15:19 mint dbus[864]: [system] Activating service name='org.freedesktop.ConsoleKit' (using servicehelper)
Jun 14 13:15:19 mint dbus[864]: [system] Activating service name='org.freedesktop.PolicyKit1' (using servicehelper)
Jun 14 13:15:19 mint acpid: starting up with netlink and the input layer
Jun 14 13:15:19 mint acpid: 9 rules loaded
Jun 14 13:15:19 mint acpid: waiting for events: event logging is off

Это то, что происходит в обоих случаях при использовании CIFS:

Hangs

На сервере:

...
Jun 14 13:12:52 ubuntu-netboot in.tftpd[2722]: RRQ from 192.168.26.13 filename /linux-mint-17/image/casper/initrd.lz
Jun 14 13:13:14 ubuntu-netboot dhcpd: DHCPDISCOVER from 08:00:27:1c:c5:43 via eth1
Jun 14 13:13:14 ubuntu-netboot dhcpd: DHCPOFFER on 192.168.26.14 to 08:00:27:1c:c5:43 via eth1
Jun 14 13:13:14 ubuntu-netboot dhcpd: DHCPREQUEST for 192.168.26.14 (192.168.26.1) from 08:00:27:1c:c5:43 via eth1
Jun 14 13:13:14 ubuntu-netboot dhcpd: DHCPACK on 192.168.26.14 to 08:00:27:1c:c5:43 via eth1

IP-адрес, назначенный клиенту в случае успешной загрузки на рабочий стол, согласно ifconfig, действительно ...14,

Вот что происходит без  ip=dhcp:

nodhcp1 nodhcp2

Это то, что происходит с ip=dhcp, непосредственно перед тем, как будет показан рабочий стол:

success

Я благодарен за любые идеи. Если какие-либо другие журналы (которые?) Помогут, я могу их предоставить.


9
2018-06-14 11:31


Источник


вот как должен быть написан вопрос :) - warren
Вы пытались tcpdump на сервере, чтобы узнать, получаете ли вы что-либо от клиента? - lacasitos
Посмотрите на сценарии загрузки casper. Я думаю, что проблема есть. Вы обновили свои initramfs? Я предполагаю, что у вас есть BOOT = комплект кассовых сборов? - Matt
Мэтт, вы можете ясно видеть, что у OP установлен boot = casper. Регенерировать initramfs, что за ?? - Pat
@warren Я просто попробовал, и это сработало. @Sneetsher Я подключаюсь eth0 на мой шлюз, если мне нужен доступ в Интернет. - dialer


Ответы:


Эта проблема была решена Serva (Я связан с разработкой Serva)

Полная строка ядра и добавление плюс дополнительный initrd.gz, необходимый для загрузки PXE текущих версий Ubuntu / Mint с CIFS Вот

В основном проблема заключается в ошибке Каспера (AFAIK никогда не сообщал / исправлял раньше), что в случае CIFS netmount забывает экспортировать параметр ядра, который позже влияет на сценарии сетевой конфигурации, которые в конечном итоге воссоздают с задержками и ошибками файл / etc / network / интерфейсы.

Если мы увидим строку «append» Ubuntu / Mint от Serva

append   = showmounts toram root=/dev/cifs initrd=NWA_PXE/$HEAD_DIR$/casper/initrd.lz,NWA_PXE/$HEAD_DIR$/casper/INITRD_N11.GZ boot=casper netboot=cifs nfsroot=//$IP_BSRV$/NWA_PXE_SHARE/$HEAD_DIR$ NFSOPTS=-ouser=serva,pass=avres,ro ip=dhcp ro

мы обнаруживаем, что встроенная переменная «initrd» состоит из 2 «последовательно загруженных» файлов initrd (initrd.lz и INITRD_N11.GZ)

initrd=NWA_PXE/$HEAD_DIR$/casper/initrd.lz,NWA_PXE/$HEAD_DIR$/casper/INITRD_N11.GZ 

Первый (initrd.lz) - это тот, который идет с Ubuntu / Mint, а второй (INITRD_N11.GZ) - это небольшой 8K (первоначально разработанный Serva) пользовательский initrd, включая исправленные компоненты. Этот подход позволяет избежать воссоздания большого оригинального initrd.lz (20 МБ). INITRD_N11.GZ можно свободно скачать с сайта Serva (пожалуйста, не публикуйте прямые ссылки здесь)

Если мы продолжим анализ строки «append», мы увидим необходимость добавления вариантов установки CIFS (OP забывает об этом шаге), которые в этом случае переносятся как-то вводящей в заблуждение переменной «NFSOPTS»,

NFSOPTS=-ouser=serva,pass=avres,ro

В этом примере у SMB-ресурса есть user = serva с паролем = avres, и он будет монтирован как «Только для чтения», так как пользовательские / пропускные параметры курса должны быть соответствующим образом отредактированы.

Пути TFTP и локатор CIFS - это те, которые требуются для структуры репозитория Serva; когда сервер PXE не является Serva, эти параметры должны быть соответствующим образом отредактированы.

Если вы, ребята, PXE загрузите эту версию Ubuntu / Mint Live из общего ресурса CIFS, не будет никаких связанных с сетью задержек, и Интернет / Сеть будут работать сразу после загрузки

Редактировать:

Ошибка уже сообщалась Ubuntu Launchpad и подтвердили


3
2018-06-18 15:52



Добавление INITRD_N11.GZ с сайта Serva, как вы это делали. Я не включил никаких NFSOPTS потому что мой сервер samba не использует аутентификацию. - dialer
Хорошо; просто упомянуть, когда вы загружаетесь с использованием CIFS без конкретного NFSOPS в командной строке, Casper по умолчанию использует CIFSOPTS = «- ouser = root, password =», но он не указывает «ro», который может иметь некоторые побочные эффекты позже; В вашем случае я бы указал, например, NFSOPTS = "- ouser = root, password =, ro" - Pat
Изменено ли исходное изображение initrd из команды разработчиков Serva? Или кто-нибудь еще действительно исправил эту ошибку раньше? - dialer
INITRD_N11.GZ - это разработка Serva, см. Отредактированный ответ, вы найдете ссылку на отчет об ошибке, который я выполнил. Если у вас есть учетная запись Ubuntu Launchpad, вы можете «проверить» ошибку; что поможет устранить это в будущих выпусках. - Pat