Введение в круг понятий. UNIX/Linux  
  Сетевая установка - обзор возможностей  


Эти материалы являются объектом авторского права и защищены законами РФ и международными соглашениями о защите авторских прав. Перед использованием материалов вы обязаны принять условия лицензионного договора на использование этих материалов, или же вы не имеете права использовать настоящие материалы

Авторская площадка "Наши орбиты" состоит из ряда тематических подразделов, являющихся моими лабораторными дневниками, содержащими записи за разное, иногда продолжительно отличающееся, время. Эти материалы призваны рассказать о прошедшем опыте, они никого ни к чему не призывают и совершенно не обязательно могут быть применимы кем-то ещё. Это только лишь истории о прошлом


ОС Linux реализует множество варинтов установки новой системы, и наиболее распространённый - это установка вручную. Однако в случае, когда парк превышает несколько машин, более удобным является предварительная подготовка инфраструктуры сетевой установки и последующая автоматизированная установка. Эта возможность обеспечивается несколькими технологиями. Это сетевая загрузка PXE, встроеные в инсталлятор ОС возможности приёма файла ответов и получения дистрибутива из сетевого источника. Для дистрибутивов RHEL и CentOS Linux образы ядра Linux и initrd для начальной сетевой загрузки серез PXE уже содержатся в самом дистрибутиве

Инфраструктура сетевой установки позволяет с минимальными телодвижениями развернуть множество типовых конфигураций серверов и рабочих станций. Существуют также расширенные возможности по конфигурированию, обеспечиваемые механизмом файлов ответов kickstart, однако есть и альтенативы в виде подготовленного набора конфигурационных скриптов, тиражируемых через инфраструктуру удалённоего шифрованного доступа по SSH, использование которой можно автоматизировать, используя авторизацию по ключам и штатный планировщик заданий операционной системы UNIX/Linux

 
  Сетевая установка. Настройка инфраструктуры  

Ниже описывается заведомо работающий и простой в конфигурировании вариант резвёртывания среды для сетевой установки Linux на примере Linux CentOS 5.3

  • В операционную систему необходимо доустановить нужные пакеты:
    yum install dhcp tftp-server syslinux
     
  • Сервер DHCP, развёрнутый в локальной сети ранее, или установленный в предидущем пункте, необходимо доконфигурировать. В конфигурацию dhcp добавить
    allow booting ;
    allow bootp ;
    next-server 192.168.0.1 ;
    filename "pxelinux.0" ;
    # - опционально
    range dynamic-bootp 192.168.0.4 192.168.0.254 ;
     
  • Для сервера TFTP необходимо провести следующие манипуляции:
    • Копируем в корень PXE загрузчик из пакета syslinux. Для Cent OS эта задача выполняется при установке пакета syslinux, причём копирование просиходит в папку /tftpboot/linux-install. Для Debian необходимо скачать небольшой архив netboot.tag.gz с серверов Debian. но он должен соответствовать версии дистрибутива установки, или же будет получено сообщение об ошибке. Для других RPM дистрибутивов вариантом может являться команда:
      cp $(rpm -ql syslinux | grep pxelinux.0) /tftpboot/
       
    • Для каждого дистрибутива, который будет доступен для сетевой установки, создать каталог и скопировать PXE версию ядра и initrd файла дистрибутива:

      mkdir /tftpboot/linux-install/{centos_5.5,rhel_5.5}
      cp /mnt/CentOS_5.5/images/pxeboot/* /tftpboot/linux-install/centos_5.5/
      cp /mnt/RHEL_5.5/images/pxeboot/* /tftpboot/linux-install/rhel_5.5/
       
    • --- создать файл подсказки /var/lib/tftpboot/boot.msg. Пример содержания:
      ninst_cnt55_001 - install CENTOS 5.5
      ninst_rhel55_001 - install RHEL 5.5
      local - boot local (default)
       
    • --- создать конфигурационный файл PXE загрузчика:
      для Cent OS уже всё лежит в подпапке linux-install, иначе говорми
      mkdir /tftpboot/pxelinux.cfg; echo > /var/lib/tftpboot/pxelinux.cfg/default

      # пример содержания
      default local
      timeout 100
      prompt 1
      display msgs/boot.msg

      label local
        localboot 1

      label ninst_cnt55_001
        kernel centos_5.5/vmlinuz
        append initrd=centos_5.5/initrd.img ks=http://192.168.0.2/ks/ks.cfg

      label ninst_rhel55_001
        kernel rhel_5.5/vmlinuz
        append initrd=rhel_5.5/initrd.img ks=http://192.168.0.2/ks/ks_rhel.cfg
       
    • для httpd. Считаем Apache развёрнутым предварительно, и смонтированные дистрибутивы смапированы в папки сайта (или же в папках размещены копии дисков дистрибутивов). Ниже приведён пример добавления конфигурационного блока для раздела, отдающего дистрибутив в сеть по протоколу http (здесь важны закрывающие каталог слэши)

      Alias /netinstall_centos_5.3/ "/mnt/Distributs/CentOS/CentOS.5.3/"
      <Directory "/mnt/Distributs/CentOS/CentOS.5.3/">
         Options Indexes MultiViews
         AllowOverride None
         Order allow,deny
         Allow from all
      </Directory>

      Alias /netinstall_rhel_5.5/ "/mnt/Distributs/RHEL/RHEL_5.5/"
      <Directory "/mnt/Distributs/RHEL/RHEL_5.5/">
         Options Indexes
         AllowOverride None
         Order allow,deny
         Allow from all
      </Directory>
       
  • Возможность создания меню означает возможность указания различных файлов ответов, то есть не только разичных дистрибутивов, но и различных конфигураций. Это позволяет автоматизировать установку и восстановление типовых серверных и пользовательских конфигураций относительно малыми трудозатратами, заранее подготовив соответствующие типовые файлы ответов. В файле ответа (kickstart для rhel/rpm - дистрибутивов) необходимо не забыть указать источник - откуда будет браться дистрибутив, например
    url --url http://IP_сервера/путь_к_корню_дистрибутива/
     

Примечание 1. PXE ищет конфигурационный файл, как описано в документации к пакету syslinux. Сначала MAC адрес, потом IP в формате, который можно получить командой gethostip из того же пакета syslinux, и потом уже файл с именем default. Это позволяет готовить разные конфигурационные файлы для полностью автоматизированной установки различных машин на основании разных ks - файлов, указанных в разных конфигурационных файлах PXE (удобно использовать с символическими ссылками)

Примечание 2. Возможны варианты в конфигурировании DHCP, которые описаны в документации пакета syslinux


Белонин С.С. (С), июль 2004 года

(даты последующих модификаций не фиксируются)


 
     
   
   
    Нравится      

(C) Белонин С.С., 2000-2021. Дата последней модификации страницы:2019-12-04 00:43:28