Мережа не ініціалізується належним чином, коли pxeboot Linux Mint (живий компакт-диск) за допомогою cifs, але працює з nfs


9

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

Для Linux Mint я запропонував 2 варіанти netboot: NFS та CIFS. У мене це повністю працює з NFS: Користувач може вибрати його в меню завантаження, і через деякий час сідає на робочий стіл компакт-диска Linux Mint. Але з 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 секунд при ініціалізації Мережі, але потім він не продовжується. Якщо додати цей рядок, він все ще висить, але через 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. Існує частка самби, яку називають 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:

Вішає

На сервері:

...
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безпосередньо перед робочим столом:

успіх

Я вдячний за будь-які ідеї. Якщо будь-які інші журнали (які?) Допоможуть, я можу їх надати.


ось як слід писати питання :)
warren

Ви намагалися tcpdump на сервері, щоб побачити, чи отримуєте ви щось від клієнта?
lacasitos

1
Погляньте на сценарії завантаження каспер. Я думаю, питання там є. Ви регенерували свої initramfs? Я припускаю, що у вас є BOOT = каспер?
Метт

1
Метт, ви чітко бачите, що у OP встановлений завантажувач = casper. Відновити initramfs для чого ??
Пат

1
@warren Я просто спробував це, і це спрацювало. @Sneetsher Я підключаюсь eth0до свого шлюзу, якщо мені потрібен доступ до Інтернету.
дозвону

Відповіді:


3

Цю проблему вирішив Serva (я пов'язаний із розвитком Serva)

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

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

Якщо ми бачимо рядок "додавання" сервера Ubuntu / Mint

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 можна безкоштовно завантажити з сайту Серви (будь-ласка, не публікуйте тут прямих посилань)

Якщо ми продовжуємо аналізувати рядок "додавання", ми бачимо необхідність додати параметри кріплення CIFS (ОП забуває цей крок), які в цьому випадку виконуються якось оманливою змінною "NFSOPTS"

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

У цьому прикладі частка SMB має користувача = serve з паролем = avres, і вона буде встановлена ​​як "Лише для читання", параметри користувача / проходу курсу курсу повинні бути відповідно відредаговані.

Шляхи TFTP та локатор CIFS - це те, що вимагає структура репозиторію Серви; коли PXE-сервер не є сервовим, ці параметри повинні бути відповідно відредаговані.

Якщо ви, хлопці, завантажуєте PXE таким чином у версіях Ubuntu / Mint Live із спільного доступу до CIFS, затримок, пов’язаних з мережею, не буде, а Інтернет / мережа працюватиме відразу після завантаження.

Редагувати:

Про помилку вже повідомили Ubuntu Launchpad та підтвердили


Звернення INITRD_N11.GZз сайту Серви, коли ви згадували, це робило. Я не включив жодного, NFSOPTSоскільки мій сервер samba не використовує автентифікацію.
дозвону

Добре; просто згадати, коли ви завантажуєте CIFS без конкретного NFSOPS в командному рядку, Каспер за замовчуванням CIFSOPTS = "- ouser = root, password =", але він не вказує "ro", що може пізніше мати деякі побічні ефекти; У вашому випадку я б вказав, тобто NFSOPTS = "- ouser = root, password =, ro"
Пат

1
Чи виходить змінене зображення initrd від команди розробників Serva? Або хтось насправді раніше виправляв цю помилку?
дозвону

INITRD_N11.GZ - це серверна розробка, дивіться відредаговану відповідь, ви знайдете посилання на звіт про помилку, який я виконував. Якщо у вас є обліковий запис Ubuntu Launchpad, ви можете "перевірити" помилку; це допоможе виправити це у майбутніх випусках.
Пат
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.