[ALTSP] PXE boot and ARP timeout

Michael Shigorin mike на osdn.org.ua
Пт Янв 25 11:52:53 MSK 2008


On Thu, Jan 24, 2008 at 06:40:24PM +0500, Дмитрий wrote:
> С иксами разобрался, благополучно всё заработало. Требуется
> соответствие имени хоста в dhcp и /etc/hosts. Либо DNS
> поднимать.

Только добрался отвечать -- да, именно так.

Вообще с этой штукой лучше знакомиться, начиная с нашего
установочного диска и рекомендованной сетевой конфигурации,
чтоб не ломать голову, где из трёх областей (железо, начиная
с PXE-прошивки; сеть, т.е. адресация; терминальный сервер)
проблема-то.

Может, попробовать сделать совсем лёгкий ТС с icewm для таких
проверок? (чтоб поменьше образ был -- только тогда с текущим
расчётом на kdm надо будет что-то делать)

> Теперь возникла следующая проблема. Решил попробовать ну с
> очень слабенькой машинки, на которой сейчас стоит ALS4 с
> иксами, тормозит всё, но в аське сидеть можно. Собственно ядро
> загрузилось и по ходу не может смонтироваться nfs. пишет
> постоянно not responding, still trying.
> 
> Эта проблема по моей догадке видимо возникает из за того, что
> nfs кидает слишком большие пакеты.  На этой слабой машине стоит
> древняя 10MBit'ная карточка.

Меняйте сразу на сотку, иначе будет на глаз заметно
притормаживать.  Странно, но факт (так понимаю, что 
проблема получается в латентности, скорее чем в полосе).

> делаю ping -s 25000 и пингуется.
> делаю ping -s 27000 и не пингуется.
> 
> На той машине где всё завелось(rtl8139 100MBit):
> делаю ping -s 65000 и пингуется, т.е. с максимальным размером пакета.
> 
> Что можно в NFS настроить, чтобы пакеты стали меньше?
> И возможно ли это сделать для конкретной машины, а не всех сразу?

Ммм... совсем ту страничку не найду, но "nfs site:ltsp.org":
http://www.ltsp.org/twiki/bin/view/Ltsp/Troubleshooting-mount-problems

Там есть разница между tcp и udp, а также rsize/wsize.

Но всё равно сначала лучше заменить сетевую,
чем выкрасить-выбросить.

PS: про "подвисание" загрузки с бутромом: возможно, это проблема
прошивки (которая нарушает стандарт, не отвечая на ARP-запросы
во время загрузки того же ядра с initrd) и поведения Linux
(которое разумно) -- через некоторые интервалы времени
перепроверять записи в ARP cache; описано здесь:

http://www.cs.helsinki.fi/linux/linux-kernel/2002-07/0179.html

и далее здесь:

http://gazette.linux.ru.net/rus/articles/lartc/x1727.html

/proc/sys/net/ipv4/neigh/DEV/gc_stale_time

    Определяет частоту проверки записей в таблице ARP на предмет
    "устаревания". Если запись "устарела", то она должна быть
    подтверждена при первой же возможности (бывает полезным в
    случае динамического распределения IP-адресов). В случае,
    если параметр ucast_solicit имеет значение больше 0, то
    сначала выполняется попытка послать ARP-пакет напрямую
    известному хосту, а в случае неудачи, когда mcast_solicit
    больше 0, выполняется широковещательный ARP-запрос. 

Попробуйте увеличить значение для DEV, на котором висит dhcpd?
(и, возможно, retrans_time -- оно не в секундах, а в ticks)

См. тж. http://linux-ip.net/html/ether-arp.html

-- 
 ---- WBR, Michael Shigorin <mike at altlinux.ru>
  ------ Linux.Kiev http://www.linux.kiev.ua/


Подробная информация о списке рассылки Ltsp-server