Ржевский Дмитрий Rzhevskiy Dmitry

вторник фев 22, 2011

загрузочная сеть


У нас на работе понадобилось установить 12 бездисковых станций (тонкие клиенты) с линуксом. Загрузка операционной системы предполагалась по сети:

В локальной сети стоит сервер с расшаренынми по NFS директориями:

/diskless/client1

/diskless/client2

...

/diskless/client12

 

C этих директорий и грузятся тонкие клиенты. Директории одинаковые - в них копии установленных дистрибутивов Gentoo Linux.

Загружаясь тонкий клиент  запускает только браузер - всю работу рабочие делают через браузер и данные ф файлах нигде не сохраняют.

Задача: хорошо бы сделать чтобы на сервере была расшарена только одна директория в режиме только для чтения (RO), с ней грузились бы все клиенты.

Зачем: система с одной директорией в режиме RO намого легче в поддержке. чтобы загрузить компьютер по сети достаточно просто выбрать загрузку в биосе - и компьютер грузится.

Сложности: расшаренную NFS директорию монтировать как RO корневую директорию / нельзя т.к. в процессе загрузки создаются временные файлы, логи, pid запущенных сервисов и т.д.

На запись обязательно должны быть доступны файлы внутри директорий /etc /var а также желательно для работы программ /tmp и домашняя директория.

Гугление на эту тему дало мало результатов - нашлось больше вопросов чем ответов. В месте с тем была уверенность что такая загрузка возможна: грузится же линукс с liveCD.

liveCD использует для записи нужных данных файловые системы unionfs, aufs2.

Наибольшую помощь оказал документ http://mozart.informatik.fh-kl.de/download/Software/GentooDiskless/diskless2_en.pdf

оттуда я стырил некоторые идеи.

 

Что я сделал:

1) установил систему  в режиме чтение/запись по документу http://www.gentoo.org/doc/en/altinstall.xml#doc_chap4

2) установил ядро с поддержкой aufs (sys-kernel/zen-sources)

3) создал файл /diskless/pxelinux.cfg/default :

DEFAULT /bzImage
APPEND ip=dhcp root=/dev/nfs nfsroot=192.168.0.240:/diskless/defaultfs init=/sbin/stateless.sh

4)Создал файл в директории тонкого клиента

/sbin/stateless.sh:

mkdir -p /mnt/tmp
mount -t tmpfs /dev/shm /mnt/tmp
mkdir -p /mnt/tmp/etc
mkdir -p /mnt/tmp/var
mkdir -p /mnt/tmp/tmp
mkdir -p /mnt/tmp/home
mkdir -p /mnt/tmp/root
echo "stateless.sh finished"
exec /sbin/init

 

5) добавил в /etc/fstab тонкого клиента:

none                   /etc             aufs      br:/mnt/tmp/etc=rw:/etc=ro,noxino    0       0
none                    /var             aufs      br:/mnt/tmp/var=rw:/var=ro,noxino    0       0
none                    /home             aufs      br:/mnt/tmp/home=rw:/home=ro,noxino    0       0
none                    /root             aufs      br:/mnt/tmp/root=rw:/root=ro,noxino    0       0
tmpfs                   /tmp            tmpfs       defaults,noatime,mode=1777

 

теперь можно экспортировать NFS в режим RO и загружаться/

Поздравляю, теперь у вас загрузочная сеть - достаточно включить любой компьютер в сеть, выставить в биосе загрузку по сети  и ура - система готова к работе.

Кроме работы на заводе для контроля станков, как используется загрузочная сеть у нас, можно использовать для:

-установки в интернет кафе

-частого восстановления данных на дисках при ремонте компьютеров

-в кластерном окружении. Много одинаковых компьютеров выполняют какую нибудь задачу - операционная система намного легче в поддержке.

Комментарии:

Опубликовать комментарий:
  • HTML Syntax: Подключен
Дмитрий Ржевский

Тэги:
1912 256 256-ой_день _край a-3 a-3.ru archlinux borodino c3350 cave caves cloud clustecloud coin eagle eclipse engine experiments glusterfs hadoop heroku holiday java java7 jboss jdk7 jelastic jelastic.com job krasnodar_region labinsk linux livejournal lucene lunar new_job new_release paas paraglider pass phone programmer_day ruby samsung samsung_c3350 search supercomputers syany text usage_share xcover а_3 вычисления день_программиста доля_рынка затмение конкурсы краснодарский кутузов лабинск линукс луна лунное_затмение новая новая_работа облако облачные орёл параплан поиск праздник программирование работа распределённая рыбалка система суперкомпьютер телефон файловая ява

Calendar



Feeds

Search

Links

Navigation


  • Я в ЖЖ    
  • MirTesen.ru
  • Я в "Linked In"

  • Мои друзья
  • Алекслёха
  • Latron

  • Links:
    log4j.ru
    Apache Maven
    моё родовое имение
    Виндсёрфинг


    Моё резюме
    My resume


    XFN Friendly

    Поиск