|
Bog BOS: Установка Linux CentOS 7.4 для вычислительного узла (UEFI, PXE, kickstart) |
Последние изменения: |
Последнее изменение файла: 2018.08.06
Скопировано с www.bog.pp.ru: 2024.11.23
Предварительно прочитайте несколько слов о RHEL 7 и CentOS 7.
Устанавливал в режиме UEFI с загрузкой по PXE удалённо с использованием KVM (или IPMI-KVM), kickstart.
Сервера на базе платформы H2000G (H2216XXKR2 и H2224XXLR2): двухсокетная материнская плата под Intel Xeon CPU E5-2667 v4, 2 диска (или SSD) SATA в программный RAID и LVM, встроенные 2 порта 1000Base-T на Intel I350 (модуль igb, eno1 и eno2, объединённые в группу bond0) или IOM плата Intel E10G42BTDA (модуль ixgbe, ens785f0 и ens785f1, объединённые в группу bond0)) в ручном режиме с балансировкой (mode=0, balance-rr, round-robin), предполагается подключить их к 2 коммутаторам Huawei в режиме SVF.
Аналогично поставил CentOS 7.5 на HP ProLiant DL365 Generation 1 (здесь нет UEFI, настройка PXE для ISOLINUX (pxelinux) описана в установке CentOS71), двухсокетная материнская плата под AMD Opteron 2220, 2 диска SAS RAID-1 с кещем и батареей в аппаратный Smart Array P400i (вместо cciss в CentOS7 используется модуль hpsa, для столь древнего устройства необходимы параметры модуля "hpsa.hpsa_allow_any=1 hpsa.hpsa_simple_mode=1"), встроенные 2 порта 1000Base-T на Broadcom Limited NetXtreme II BCM5708 Gigabit Ethernet (модуль bnx2, enp66s0 и enp68s0) - потом будут объединены в bond0.
Назначение сервера - вычислительный узел под Sun Grid Engine (входные узлы устанавливаются аналогично).
Предварительно развёртывается установочный диск CentOS 7.4 x86_64 Everything и обеспечивается анонимный доступ по протоколу FTP по адресу ftp://ftp/pub/CentOS7.4/base/x86_64.
Для каждого устанавливаемого сервера кладём файл для kickstart на сервер FTP по адресу ftp://ftp/pub/kickstarts/полное-имя-хоста.CentOS74.cfg
install url --url=ftp://ftp/pub/CentOS7.4/base/x86_64 #text #autostep cmdline reboot #halt # сервер syslog должен принимать TCP:514 logging --level=info --host=syslog --port=514 firstboot --disabled eula --agreed # можно зайти на сервер во время установки (осторожно: открытый пароль доступен анонимусу) sshpw --username=root пароль --plaintext lang en_US.UTF-8 --addsupport=ru_RU.UTF-8 keyboard --vckeymap=ruwin_alt-UTF-8 --xlayouts='us,ru(typewriter)' --switch=grp:toggle timezone Europe/Moscow --utc --ntpservers=ntp1,ntp2 xconfig --startxonboot device ixgbe --opts=allow_unsupported_sfp=1 network --onboot yes --device=bond0 --bootproto=dhcp --hostname=имя --noipv6 --mtu=9000 --activate --bondslaves=eno1,eno2 --bondopts=mode=balance-rr # MAC адресом bond0 прописывается MAC адрес eno1 (см. CentOS74.node.network_bond.include) #network --onboot yes --device=bond0 --bootproto=dhcp --hostname=имя --noipv6 --mtu=9000 --activate --bondslaves=ens785f0,ens785f1 --bondopts=mode=balance-rr firewall --disabled # осторожно: зашифрованный пароль доступен анонимусу, заменить сразу после установки rootpw --iscrypted $6$... selinux --disabled authconfig --enableshadow --passalgo=sha512 --enableldap --enableldapauth --enableldaptls --ldaploadcacert=ftp://ftp/pub/local/ca.crt \ --ldapserver=ldap --ldapbasedn=dc=имя-предприятия --enablecache --enablesssd --enablesssdauth --enablecachecreds --enablelocauthorize group --name=имя-группы --gid=номер-группы # надо завести хотя бы одного пользователя, осторожно: зашифрованный пароль доступен анонимусу user --name=имя-пользователя --gecos='Имя Пользователя' --groups=имя-группы --gid=номер-группы --uid 1064 --iscrypted --password '$6$...' # всё стереть только на указанных явно дисках (лучше указать явно /dev/disk/by-id/ata-изготовитель_модель_серийник) ignoredisk --only-use=/dev/sda,/dev/sdb zerombr clearpart --drives=/dev/sda,/dev/sdb --all # не создаётся запись для менеджера загрузок UEFI и grub.cfg #bootloader --location=none --driveorder=/dev/sda,/dev/sdb --boot-drive=/dev/sda # MBR: указывается 1 boot-drive, а загрузчик прописывается на оба диска # GPT: весь GRUB в ESP на оба диска bootloader --location=mbr --driveorder=/dev/sda,/dev/sdb --boot-drive=/dev/sda #reqpart # делает ESP только на 1 диске partition raid.008001 --size=200 --asprimary --ondisk=/dev/sda partition raid.008017 --size=200 --asprimary --ondisk=/dev/sdb raid /boot/efi --fstype="efi" --level=1 --device=1 --label=ESP raid.008001 raid.008017 partition raid.008002 --size=1000 --asprimary --ondisk=/dev/sda partition raid.008018 --size=1000 --asprimary --ondisk=/dev/sdb raid /boot --fstype="ext4" --level=1 --device=2 --label=boot raid.008002 raid.008018 partition raid.008003 --size=100 --grow --asprimary --ondisk=/dev/sda partition raid.008019 --size=100 --grow --asprimary --ondisk=/dev/sdb raid pv.009001 --level=1 --device=3 raid.008003 raid.008019 volgroup system pv.009001 logvol / --fstype="ext4" --label=root --name=root --vgname=system --size=20000 logvol swap --fstype="swap" --name=swap --vgname=system --size=60000 # ставим сразу всё и обновления тоже repo --name="CentOS74updates" --baseurl=ftp://ftp/pub/CentOS7.4/updates/x86_64/ --cost=100 # может создать проблем при последующем обновлении #repo --name="CentOS74cr" --baseurl=ftp://ftp/pub/CentOS7.4/cr/x86_64/ --cost=50 repo --name="CentOS74extras" --baseurl=ftp://ftp/pub/CentOS7.4/extras/x86_64/ --cost=100 repo --name="EPEL7" --baseurl=ftp://ftp/pub/EPEL7/x86_64/ --cost=100 # с ходу ставит лишнего и проблемы с зависимостями #repo --name="elrepo7" --baseurl=ftp://ftp/pub/elrepo7/elrepo/x86_64/ --cost=100 # убрать лишние сервисы и добавить нужные services --disabled=autofs,alsa-state,avahi-daemon,bluetooth,pcscd,cachefilesd,colord,fancontrol,fcoe,firewalld,firstboot-graphical,gdm,httpd,initial-setup,initial-setup-text,initial-setup-graphical,initial-setup-reconfiguration,kdump,libstoragemgmt,ModemManager,tog-pegasus,tmp.mount,tuned \ --enabled=bacula-fd,chronyd,edac,gpm,numad,rsyslog,sendmail,smartd,sm-client,sssd,zabbix-agent %packages --instLangs en:en_US:en_US.UTF-8:en_US.utf8:ru:ru_RU:ru_RU.UTF-8:ru_RU.utf8 %include ftp://ftp/pub/kickstarts/CentOS74.node.packages.include %end %post --log=/var/log/anaconda/ks-post.log %include ftp://ftp.cs.niisi.ras.ru/pub/kickstarts/CentOS74.node.systemd.include %include ftp://ftp.cs.niisi.ras.ru/pub/kickstarts/CentOS74.node.grub2.include %include ftp://ftp.cs.niisi.ras.ru/pub/kickstarts/CentOS74.node.users.include %include ftp://ftp.cs.niisi.ras.ru/pub/kickstarts/CentOS74.node.CPU.include %include ftp://ftp.cs.niisi.ras.ru/pub/kickstarts/CentOS74.node.VM.include %include ftp://ftp.cs.niisi.ras.ru/pub/kickstarts/CentOS74.node.IPMI.include %include ftp://ftp.cs.niisi.ras.ru/pub/kickstarts/CentOS74.node.network_bond.include %include ftp://ftp.cs.niisi.ras.ru/pub/kickstarts/CentOS74.node.smartd_sdasdb.include %include ftp://ftp.cs.niisi.ras.ru/pub/kickstarts/CentOS74.node.ld.include %include ftp://ftp.cs.niisi.ras.ru/pub/kickstarts/CentOS74.node.local_fs.include %include ftp://ftp.cs.niisi.ras.ru/pub/kickstarts/CentOS74.node.remote_fs.include %include ftp://ftp.cs.niisi.ras.ru/pub/kickstarts/CentOS74.node.NFS.include %include ftp://ftp.cs.niisi.ras.ru/pub/kickstarts/CentOS74.node.autofs.include %include ftp://ftp.cs.niisi.ras.ru/pub/kickstarts/CentOS74.node.locate.include %include ftp://ftp.cs.niisi.ras.ru/pub/kickstarts/CentOS74.node.tmpwatch.include %include ftp://ftp.cs.niisi.ras.ru/pub/kickstarts/CentOS74.node.rpm.include %include ftp://ftp.cs.niisi.ras.ru/pub/kickstarts/CentOS74.node.mail.include %include ftp://ftp.cs.niisi.ras.ru/pub/kickstarts/CentOS74.node.ssh.include %include ftp://ftp.cs.niisi.ras.ru/pub/kickstarts/CentOS74.node.syslog.include %include ftp://ftp.cs.niisi.ras.ru/pub/kickstarts/CentOS74.node.bacula-fd.include %include ftp://ftp.cs.niisi.ras.ru/pub/kickstarts/CentOS74.node.zabbix_agentd.include %include ftp://ftp.cs.niisi.ras.ru/pub/kickstarts/CentOS74.node.SGE.include %include ftp://ftp.cs.niisi.ras.ru/pub/kickstarts/CentOS74.node.abrtd.include %include ftp://ftp.cs.niisi.ras.ru/pub/kickstarts/CentOS74.node.compatibility.include %include ftp://ftp.cs.niisi.ras.ru/pub/kickstarts/CentOS74.node.environment-modules.include %include ftp://ftp.cs.niisi.ras.ru/pub/kickstarts/CentOS74.node.links.include %end %addon com_redhat_kdump --disable %end
Кладём файл со списком пакетов для kickstart на сервер FTP по адресу ftp://ftp/pub/kickstarts/CentOS74.node.packages.include
@base bacula-client ... yum-plugin-changelog yum-plugin-tmprepo yum-plugin-versionlock ... @compat-libraries @console-internet @core @debugging @desktop-debugging @development compat-gcc-44 compat-gcc-44-c++ cvs nscd nss-pam-ldapd openldap-clients ... -ypbind ... #ошибка multilib -PackageKit.i686 -PackageKit-gtk3-module.i686 -PackageKit-glib.i686 -gnome-software.i686 # для 32-битных САПР-ов libX11.i686 libSM.i686 libXi.i686 libXrender.i686 libXrandr.i686 sssd-client.i686 zlib.i686 elfutils-libelf.i686 compat-libstdc++-33.i686 libXp.i686 libXmu.i686 glib2.i686 mesa-libGLU.i686 ncurses-libs.i686 libXScrnSaver.i686 libXft.i686 libXinerama.i686 libXcursor.i686 libjpeg-turbo.i686 gdbm.i686 gdbm-devel.i686 libtiff.i686 libXtst.i686 libmng.i686 readline.i686 libpng.i686 #openmotif22.i686 glibc-devel.i686 gd.i686 gd-devel.i686 #lcms-libs.i686 libcap.i686 libcap-devel.i686 mesa-dri-drivers.i686 #compat-readline5.i686 libdrm.i686 audit-libs.i686 libstdc++.i686 glibc.i686 libXpm.i686 #db4.i686 nss-softokn-freebl.i686 keyutils-libs.i686 libuuid.i686 libXt.i686 libXdamage.i686 libselinux.i686 mesa-private-llvm.i686 #compat-expat1.i686 libattr.i686 libXxf86vm.i686 gamin.i686 libgcc.i686 krb5-libs.i686 libICE.i686 libXext.i686 pam.i686 cracklib.i686 #compat-libtermcap.i686 expat.i686 freetype.i686 libxcb.i686 libXfixes.i686 libcom_err.i686 libpciaccess.i686 fontconfig.i686 #compat-libstdc++-296.i686 systemtap-sdt-devel.i686 mesa-libGL.i686 pam.i686 cracklib.i686 #compat-libtermcap.i686 expat.i686 freetype.i686 libxcb.i686 libXfixes.i686 libcom_err.i686 libpciaccess.i686 fontconfig.i686 #compat-libstdc++-296.i686 systemtap-sdt-devel.i686 mesa-libGL.i686 libXau.i686 #mesa-dri-filesystem.i686 # UEFI efivar efibootmgr fwupdate mokutil pesign flashrom
Кладём файл с настройками systemd для kickstart на сервер FTP по адресу ftp://ftp/pub/kickstarts/CentOS74.node.systemd.include
systemctl set-default multi-user.target chmod u+x /etc/rc.d/rc.local
Кладём файл с настройками grub2 для kickstart на сервер FTP по адресу ftp://ftp/pub/kickstarts/CentOS74.node.grub2.include
sed -i 's/rhgb quiet/rd.shell ixgbe.allow_unsupported_sfp=1/' /etc/default/grub grub2-mkconfig -o /boot/grub2/grub.cfg grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
Кладём файл для заведения ненормальных локальных пользователей (основная часть пользователей заводится в LDAP) для kickstart на сервер FTP по адресу ftp://ftp/pub/kickstarts/CentOS74.node.users.include
# небезопасно /usr/sbin/useradd -c "GECOS" -g sys -m -r -u идентификатор-пользователя -p '$9$...' имя-пользователя echo "имя-группы:x:идентификатор:root,имя-пользователя" >> /etc/group sed -i 's/\[sssd\]/enumerate = true\n\[sssd\]/' /etc/sssd/sssd.conf
Кладём файл с настройками ЦП для kickstart на сервер FTP по адресу ftp://ftp/pub/kickstarts/CentOS74.node.CPU.include
cat << EOF >> /etc/rc.d/rc.local # cpu performance #modprobe acpi_cpufreq #modprobe powernow-k8 x86_energy_perf_policy performance for cpu in /sys/devices/system/cpu/cpu[0-9]* do echo performance > \$cpu/cpufreq/scaling_governor done # temperature sensors #modprobe coretemp # грузится сам mkdir /dev/cpuset mount -t cpuset none /dev/cpuset # not more than one memory node #mount -t tmpfs -o remount,size=124G tmpfs /dev/shm # not corrected until now (2.6.32-131.17.1.el6.x86_64) #echo 0 > /proc/sys/vm/zone_reclaim_mode EOF
Кладём файл с настройками виртуальной памяти для kickstart на сервер FTP по адресу ftp://ftp/pub/kickstarts/CentOS74.node.VM.include
cat << EOF >> /etc/sysctl.conf vm.dirty_background_bytes = 100000000 vm.dirty_bytes = 400000000 vm.min_free_kbytes = 524288 EOF
Кладём файл с настройками IPMI для kickstart на сервер FTP по адресу ftp://ftp/pub/kickstarts/CentOS74.node.IPMI.include
cat << EOF >> /etc/rc.d/rc.local # IPMI ##modprobe ipmi_msghandler #modprobe ipmi_devintf ##modprobe si EOF
Кладём файл с настройками сети (возможны варианты) для kickstart на сервер FTP по адресу ftp://ftp/pub/kickstarts/CentOS74.node.network_bond.include
cat << EOF >> /etc/sysctl.d/disableipv6.conf net.ipv6.conf.eno1.disable_ipv6 = 1 net.ipv6.conf.eno2.disable_ipv6 = 1 net.ipv6.conf.bond0.disable_ipv6 = 1 EOF cat << EOF >> /etc/sysctl.conf # кто-то его включает обратно net.ipv4.ip_forward = 0 EOF # drivers echo "options ixgbe allow_unsupported_sfp=1" >> /etc/modprobe.d/ixgbe.conf sed -i 's/::1 localhost localhost.localdomain localhost6 localhost6.localdomain6/::1 localhost.localdomain localhost6 localhost6.localdomain6/' /etc/hosts cat << EOF >> /etc/rc.d/rc.local #network ip -6 addr flush dev lo ip -6 addr flush dev bond0 modprobe nf_conntrack_tftp modprobe nf_conntrack_ftp EOF MYIP=`ip a show dev bond0|fgrep 'inet '|awk '{print $2}'|awk -F/ '{print $1}'` MYMAC=`ip l show dev eno1|fgrep link/ether|awk '{print $2}'` MYHOSTNAME=`cat /etc/hostname` echo "MACADDR=$MYMAC" >> /etc/sysconfig/network-scripts/ifcfg-bond0
Кладём файл с настройками мониторинга S.M.A.R.T. (возможны варианты) для kickstart на сервер FTP по адресу ftp://ftp/pub/kickstarts/CentOS74.node.smartd_sdasdb.include
sed -i "s/DEVICESCAN -H -m root/#DEVICESCAN -H -m root/" /etc/smartmontools/smartd.conf cat << EOF >> /etc/smartmontools/smartd.conf /dev/sda -a -m root -I 9 -I 190 -I 194 -M exec /usr/libexec/smartmontools/smartdnotify /dev/sdb -a -m root -I 9 -I 190 -I 194 -M exec /usr/libexec/smartmontools/smartdnotify EOF smartctl --set=wcache,off /dev/sda smartctl --set=wcache,off /dev/sdb
Кладём файл с настройками динамического загрузчика для kickstart на сервер FTP по адресу ftp://ftp/pub/kickstarts/CentOS74.node.ld.include
echo "/usr/local/lib" >> /etc/ld.so.conf echo "/usr/local/lib64" >> /etc/ld.so.conf /sbin/ldconfig
Кладём файл с настройками локальных файловых систем для kickstart на сервер FTP по адресу ftp://ftp/pub/kickstarts/CentOS74.node.local_fs.include
/sbin/tune2fs -r 25000 -c -1 -i 0 /dev/system/root
Кладём файл с настройками удалённых файловых систем для kickstart на сервер FTP по адресу ftp://ftp/pub/kickstarts/CentOS74.node.remote_fs.include
mkdir /remote ... cat << EOF >> /etc/fstab сервер:/remote /remote nfs tcp,bg,hard,intr,rw,nosuid,nodev,exec,auto,nouser,async,_netdev,rsize=1048576,wsize=1048576,nfsvers=3 0 0 ... EOF
Кладём файл с настройками NFS для kickstart на сервер FTP по адресу ftp://ftp/pub/kickstarts/CentOS74.node.NFS.include
# NFS, недоделано sed -i 's/#LOCKD_TCPPORT=32803/LOCKD_TCPPORT=4001/' /etc/sysconfig/nfs sed -i 's/#LOCKD_UDPPORT=32769/LOCKD_UDPPORT=4001/' /etc/sysconfig/nfs sed -i 's/RPCNFSDARGS=""/RPCNFSDARGS="--port 2049"/' /etc/sysconfig/nfs cat << EOF >> /etc/sysconfig/nfs RQUOTAD_PORT=4003 MOUNTD_PORT=4002 STATD_PORT=4000 EOF
Кладём файл с настройками автоматического монтирования для kickstart на сервер FTP по адресу ftp://ftp/pub/kickstarts/CentOS74.node.autofs.include
sed -i 's/+auto.master/#+auto.master/' /etc/auto.master
Кладём файл с настройками locate для kickstart на сервер FTP по адресу ftp://ftp/pub/kickstarts/CentOS74.node.locate.include
sed -i 's/udf usbfs/udf usbfs glusterfs zfs/' /etc/updatedb.conf
Кладём файл с настройками tmpwatch для kickstart на сервер FTP по адресу ftp://ftp/pub/kickstarts/CentOS74.node.tmpwatch.include
# cleaning (systemd-tmpfiles-clean.timer?) cat << EOF >> /etc/tmpfiles.d/devshm.conf #/usr/sbin/tmpwatch 24 /dev/shm d /dev/shm 1777 root root 24h EOF
Кладём файл с настройками rpm и yum для kickstart на сервер FTP по адресу ftp://ftp/pub/kickstarts/CentOS74.node.rpm.include
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #rpm -iv ftp://ftp/pub/EPEL7/x86_64/e/epel-release-7-5.noarch.rpm rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 cat << EOF >> /etc/yum.conf deltarpm=0 EOF mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.orig cat << EOF > /etc/yum.repos.d/CentOS-Base.repo [base] name=CentOS-$releasever - Base #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra baseurl=ftp://ftp.cs.niisi.ras.ru/pub/CentOS7.4/base/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #released updates [updates] name=CentOS-$releasever - Updates #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra baseurl=ftp://ftp.cs.niisi.ras.ru/pub/CentOS7.4/updates/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #additional packages that may be useful [extras] name=CentOS-$releasever - Extras #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra baseurl=ftp://ftp.cs.niisi.ras.ru/pub/CentOS7.4/extras/$basearch/ gpgcheck=1 enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #additional packages that extend functionality of existing packages [centosplus] name=CentOS-$releasever - Plus #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra baseurl=ftp://ftp.cs.niisi.ras.ru/pub/CentOS7.4/centosplus/$basearch/ gpgcheck=1 enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 EOF mv /etc/yum.repos.d/CentOS-fasttrack.repo /etc/yum.repos.d/CentOS-fasttrack.repo.orig cat << EOF > /etc/yum.repos.d/CentOS-fasttrack.repo [fasttrack] name=CentOS-$releasever - fasttrack #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=fasttrack&infra=$infra #baseurl=http://mirror.centos.org/centos/$releasever/fasttrack/$basearch/ baseurl=ftp://ftp.cs.niisi.ras.ru/pub/CentOS7.4/fasttrack/$basearch/ gpgcheck=1 enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 EOF mv /etc/yum.repos.d/CentOS-CR.repo /etc/yum.repos.d/CentOS-CR.repo.orig cat << EOF > /etc/yum.repos.d/CentOS-CR.repo [cr] name=CentOS-$releasever - cr #baseurl=http://mirror.centos.org/centos/$releasever/cr/$basearch/ baseurl=ftp://ftp.cs.niisi.ras.ru/pub/CentOS7.4/cr/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 enabled=1 EOF mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.orig cat << EOF > /etc/yum.repos.d/epel.repo [epel] name=Extra Packages for Enterprise Linux 7 - $basearch #baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch #mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch baseurl=ftp://ftp.cs.niisi.ras.ru/pub/EPEL7/$basearch failovermethod=priority enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 [epel-debuginfo] name=Extra Packages for Enterprise Linux 7 - $basearch - Debug #baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch/debug mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-debug-6&arch=$basearch failovermethod=priority enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 gpgcheck=1 [epel-source] name=Extra Packages for Enterprise Linux 7 - $basearch - Source #baseurl=http://download.fedoraproject.org/pub/epel/7/SRPMS mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-source-6&arch=$basearch failovermethod=priority enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 gpgcheck=1 EOF #mv /etc/yum.repos.d/elrepo.repo /etc/yum.repos.d/elrepo.repo.orig cat << EOF > /etc/yum.repos.d/elrepo.repo [elrepo] name=ELRepo.org Community Enterprise Linux Repository - el7 #baseurl=http://elrepo.org/linux/elrepo/el7/$basearch/ #mirrorlist=http://elrepo.org/mirrors-elrepo.el7 baseurl=ftp://ftp/pub/elrepo7/elrepo/$basearch enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-elrepo.org protect=0 [elrepo-testing] name=ELRepo.org Community Enterprise Linux Testing Repository - el7 baseurl=http://elrepo.org/linux/testing/el7/$basearch/ mirrorlist=http://elrepo.org/mirrors-elrepo-testing.el7 enabled=0 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-elrepo.org protect=0 [elrepo-kernel] name=ELRepo.org Community Enterprise Linux Kernel Repository - el7 #baseurl=http://elrepo.org/linux/kernel/el7/$basearch/ #mirrorlist=http://elrepo.org/mirrors-elrepo-kernel.el7 baseurl=ftp://ftp/pub/elrepo6/kernel/$basearch enabled=0 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-elrepo.org protect=0 [elrepo-extras] name=ELRepo.org Community Enterprise Linux Repository - el7 #baseurl=http://elrepo.org/linux/extras/el7/$basearch/ #mirrorlist=http://elrepo.org/mirrors-elrepo-extras.el7 baseurl=ftp://ftp/pub/elrepo/extras/$basearch enabled=0 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-elrepo.org protect=0 EOF
Кладём файл с настройками почты для kickstart на сервер FTP по адресу ftp://ftp/pub/kickstarts/CentOS74.node.mail.include
# sendmail sed -i 's/DS/DSsmtp\.cs\.niisi\.ras\.ru/' /etc/mail/sendmail.cf # почтовый адрес root echo "root: почтовый-адрес-администратора" >> /etc/aliases
Кладём файл с настройками ssh для kickstart на сервер FTP по адресу ftp://ftp/pub/kickstarts/CentOS74.node.ssh.include
cat << EOF >> /etc/sysconfig/sshd AUTOCREATE_SERVER_KEYS=YES OPTIONS="-u0 -4" EOF mv /etc/ssh/sshd_config /etc/ssh/sshd_config.orig cat << EOF > /etc/ssh/sshd_config Port 22 ListenAddress $MYIP ListenAddress 127.0.0.1 # SSH стартует до определения адреса по DHCP #ListenAddress 0.0.0.0 AcceptEnv LANG TERM COLORTERM LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE AcceptEnv XMODIFIERS AllowUsers ... #AllowGroups ... AllowTcpForwarding yes ChallengeResponseAuthentication no ClientAliveInterval 20 #Compression delayed Compression no GatewayPorts no HostbasedAuthentication no HostKey /etc/ssh/ssh_host_rsa_key HostKey /etc/ssh/ssh_host_dsa_key HostKey /etc/ssh/ssh_host_ecdsa_key IgnoreRhosts yes IgnoreUserKnownHosts yes TCPKeepAlive yes LogLevel INFO MaxSessions 100 MaxStartups 100 #PasswordAuthentication no PasswordAuthentication yes PermitEmptyPasswords no #PermitRootLogin yes PermitRootLogin forced-commands-only PermitUserEnvironment no PrintMotd no Protocol 2 PubkeyAuthentication yes SkeyAuthentication no #StrictModes yes StrictModes no Subsystem sftp /usr/libexec/openssh/sftp-server SyslogFacility AUTHPRIV UseDNS yes UsePAM yes UsePrivilegeSeparation sandbox X11Forwarding yes X11UseLocalhost yes EOF mkdir /home/имя/.ssh chown имя:группа /home/имя/.ssh chmod 700 /home/имя/.ssh cat << EOF >> /home/имя/.ssh/authorized_keys ... EOF chown имя:группа /home/имя/.ssh/authorized_keys chmod 600 /home/имя/.ssh/authorized_keys
Кладём файл с настройками syslog для kickstart на сервер FTP по адресу ftp://ftp/pub/kickstarts/CentOS74.node.syslog.include
cat << EOF >> /etc/rsyslog.conf *.* @syslog.cs.niisi.ras.ru EOF
Кладём файл с настройками клиента bacula для kickstart на сервер FTP по адресу ftp://ftp/pub/kickstarts/CentOS74.node.bacula-fd.include
sed -i 's/.*Name = bacula-dir/ Name = backup-orvs-dir/' /etc/bacula/bacula-fd.conf sed -i 's/.*Password = "@@FD_PASSWORD@@"/ Password = "пароль директора"/' /etc/bacula/bacula-fd.conf sed -i 's/.*Name = bacula-mon/ Name = console-mon/' /etc/bacula/bacula-fd.conf sed -i 's/.*Password = "@@MON_FD_PASSWORD@@"/ Password = "пароль монитора"/' /etc/bacula/bacula-fd.conf sed -i 's/.*director = bacula-dir = .*/ director = backup-orvs-dir = all, !skipped, !restored/' /etc/bacula/bacula-fd.conf
Кладём файл с настройками клиента zabbix для kickstart на сервер FTP по адресу ftp://ftp/pub/kickstarts/CentOS74.node.zabbix_agentd.include
mkdir /etc/zabbix/externalscripts wget -O /etc/zabbix/externalscripts/check_ior.sh ftp://ftp.cs.niisi.ras.ru/pub/local/check_ior.sh chmod 755 /etc/zabbix/externalscripts/check_ior.sh wget -O /etc/zabbix/externalscripts/check_iow.sh ftp://ftp.cs.niisi.ras.ru/pub/local/check_iow.sh chmod 755 /etc/zabbix/externalscripts/check_iow.sh wget -O /etc/zabbix/externalscripts/check_br.sh ftp://ftp.cs.niisi.ras.ru/pub/local/check_br.sh chmod 755 /etc/zabbix/externalscripts/check_br.sh wget -O /etc/zabbix/externalscripts/check_bw.sh ftp://ftp.cs.niisi.ras.ru/pub/local/check_bw.sh chmod 755 /etc/zabbix/externalscripts/check_bw.sh wget -O /etc/zabbix/externalscripts/check_md_stat.sh ftp://ftp.cs.niisi.ras.ru/pub/local/check_md_stat.sh chmod 755 /etc/zabbix/externalscripts/check_md_stat.sh wget -O /etc/zabbix/externalscripts/net_speed.sh ftp://ftp.cs.niisi.ras.ru/pub/local/net_speed.sh chmod 755 /etc/zabbix/externalscripts/net_speed.sh wget -O /etc/zabbix/externalscripts/check_lmgrd_date.pl ftp://ftp.cs.niisi.ras.ru/pub/local/check_lmgrd_date.pl chmod 755 /etc/zabbix/externalscripts/check_lmgrd_date.pl wget -O /etc/zabbix/externalscripts/check_lmgrd_running.pl ftp://ftp.cs.niisi.ras.ru/pub/local/check_lmgrd_running.pl chmod 755 /etc/zabbix/externalscripts/check_lmgrd_running.pl echo "Defaults:zabbix !authenticate,!requiretty" > /etc/sudoers.d/zabbix echo "zabbix ALL=/sbin/mdadm --query --detail /dev/md0, /sbin/mdadm --query --detail /dev/md1, /sbin/mdadm --query --detail /dev/md2, /sbin/mdadm --query --detail /dev/md3" >> /etc/sudoers.d/zabbix sed -i 's/Server=127\.0\.0\.1/Server=192.168.172.196/' /etc/zabbix_agentd.conf sed -i 's/ServerActive=127\.0\.0\.1/ServerActive=192.168.172.196/' /etc/zabbix_agentd.conf # это имя узла zabbix, а не DNS sed -i "s/Hostname=Zabbix server/Hostname=$MYHOSTNAME/" /etc/zabbix_agentd.conf sed -i "s/# SourceIP=/SourceIP=$MYIP/" /etc/zabbix_agentd.conf sed -i "s/# ListenIP=0.0.0.0/ListenIP=$MYIP/" /etc/zabbix_agentd.conf sed -i 's/# Timeout=3/Timeout=10/' /etc/zabbix_agentd.conf echo "UserParameter=check.br[*],/etc/zabbix/externalscripts/check_br.sh '\$1'" >> /etc/zabbix_agentd.conf echo "UserParameter=check.bw[*],/etc/zabbix/externalscripts/check_bw.sh '\$1'" >> /etc/zabbix_agentd.conf echo "UserParameter=check.ior[*],/etc/zabbix/externalscripts/check_ior.sh '\$1'" >> /etc/zabbix_agentd.conf echo "UserParameter=check.iow[*],/etc/zabbix/externalscripts/check_iow.sh '\$1'" >> /etc/zabbix_agentd.conf echo "UserParameter=check.lmgrd.date[*],/etc/zabbix/externalscripts/check_lmgrd_date.pl '\$1'" >> /etc/zabbix_agentd.conf echo "UserParameter=check.lmgrd.running[*],/etc/zabbix/externalscripts/check_lmgrd_running.pl '\$1'" >> /etc/zabbix_agentd.conf echo "UserParameter=check.md.stat[*],/etc/zabbix/externalscripts/check_md_stat.sh '\$1'" >> /etc/zabbix_agentd.conf echo "UserParameter=net_speed[*],/etc/zabbix/externalscripts/net_speed.sh '\$1'" >> /etc/zabbix_agentd.conf
Кладём файл с настройками клиента SGE для kickstart на сервер FTP по адресу ftp://ftp/pub/kickstarts/CentOS74.node.SGE.include
wget -O /root/fedora-usermgmt-0.10-1200.el6.noarch.rpm ftp://ftp/pub/local/fedora-usermgmt-0.10-1200.el6.noarch.rpm wget -O /root/fedora-usermgmt-core-0.10-1200.el6.noarch.rpm ftp://ftp/pub/local/fedora-usermgmt-core-0.10-1200.el6.noarch.rpm wget -O /root/fedora-usermgmt-default-fedora-setup-0.10-1200.el6.noarch.rpm ftp://ftp/pub/local/fedora-usermgmt-default-fedora-setup-0.10-1200.el6.noarch.rpm wget -O /root/fedora-usermgmt-devel-0.10-1200.el6.noarch.rpm ftp://ftp/pub/local/fedora-usermgmt-devel-0.10-1200.el6.noarch.rpm wget -O /root/fedora-usermgmt-shadow-utils-0.10-1200.el6.noarch.rpm ftp://ftp/pub/local/fedora-usermgmt-shadow-utils-0.10-1200.el6.noarch.rpm yum localinstall /root/fedora-usermgmt-core-0.10-1200.el6.noarch.rpm /root/fedora-usermgmt-0.10-1200.el6.noarch.rpm /root/fedora-usermgmt-default-fedora-setup-0.10-1200.el6.noarch.rpm /root/fedora-usermgmt-devel-0.10-1200.el6.noarch.rpm /root/fedora-usermgmt-shadow-utils-0.10-1200.el6.noarch.rpm -y wget -O /root/compat-db43-4.3.29-15.el6.x86_64.rpm ftp://ftp/pub/CentOS6.8/base/x86_64/Packages/compat-db43-4.3.29-15.el6.x86_64.rpm wget -O /root/gridengine-6.1u3-6.el5.x86_64.rpm ftp://ftp/pub/local/gridengine-6.1u3-6.el5.x86_64.rpm wget -O /root/gridengine-execd-6.1u3-6.el5.x86_64.rpm ftp://ftp/pub/local/gridengine-execd-6.1u3-6.el5.x86_64.rpm yum localinstall /root/compat-db43-4.3.29-15.el6.x86_64.rpm -y yum localinstall /root/gridengine-6.1u3-6.el5.x86_64.rpm -y yum localinstall /root/gridengine-execd-6.1u3-6.el5.x86_64.rpm -y yum versionlock add 'gridengine*' sed -i 's/sgeadmin:x:.*:/sgeadmin:x:302:/' /etc/group sed -i 's/sgeadmin.*/sgeadmin\:x\:302\:302\:Grid Engine\:\/usr\/share\/gridengine:\/bin\/bash/' /etc/passwd chown -R 302:302 /usr/share/gridengine chown -R 302:302 /var/spool/gridengine sed -i 's/.*CreateSGEStartUpScripts $euid true master/# CreateSGEStartUpScripts $euid true master/g' /usr/share/gridengine/inst_sge sed -i 's/.*CreateSGEStartUpScripts $euid true execd/# CreateSGEStartUpScripts $euid true execd/g' /usr/share/gridengine/inst_sge sed -i 's/ CreateSGEStartUpScripts 0 true master/# CreateSGEStartUpScripts 0 true master/' /usr/share/gridengine/inst_sge sed -i 's/ CreateSGEStartUpScripts 0 true execd/# CreateSGEStartUpScripts 0 true execd/' /usr/share/gridengine/inst_sge chmod +x /etc/profile.d/sge.* export SGE_ROOT=/usr/share/gridengine cd $SGE_ROOT sed -i 's/^ sge_schedd sge_shadowd \\/ sge_shadowd \\/' /usr/share/gridengine/util/install_modules/inst_common.sh sed -i 's/sge_shepherd qacct qalter/sge_shepherd/' /usr/share/gridengine/util/install_modules/inst_common.sh sed -i '/^ *sge_qmaster \\/d' /usr/share/gridengine/util/install_modules/inst_common.sh rm -rf default ln -s /share4s/sge/default/ default sed -i "s/export SGE_ROOT SGE_CELL/export SGE_ROOT SGE_CELL\nexport FE_TMPDIR=\/globaltemp\/temp/" /etc/init.d/sge_execd # only in RHEL7 sed -i "s/2\.\[46\]\.\*)/2\.\[46\]\.\*|[3-9].\*)/" /usr/share/gridengine/util/arch sed -i "s/2\.6\.\*)/2\.6\.\*|[3-9].\*)/" /usr/share/gridengine/util/arch
Кладём файл с настройками abrtd для kickstart
sed -i 's/MakeCompatCore = yes/MakeCompatCore = no/' /etc/abrt/plugins/CCpp.conf sed -i 's/CreateCoreBacktrace = no/CreateCoreBacktrace = yes/' /etc/abrt/plugins/CCpp.conf sed -i 's/SaveFullCore = yes/SaveFullCore = no/' /etc/abrt/plugins/CCpp.conf sed -i 's/OnlyFatalMCE = no/OnlyFatalMCE = yes/' /etc/abrt/plugins/oops.conf
Кладём файл с настройками совместимости со старыми версиями для kickstart на сервер FTP по адресу ftp://ftp/pub/kickstarts/CentOS74.node.compatibility.include
ln -s /usr/lib/libXft.so.2 /usr/lib/libXft.so.1 ln -s /usr/bin/firefox /usr/bin/netscape wget -O /usr/lib/libstdc++-2-libc6.1-1-2.9.0.so ftp://ftp/pub/CentOS4.9/libstdc++-2-libc6.1-1-2.9.0.so chmod a+x /usr/lib/libstdc++-2-libc6.1-1-2.9.0.so ln -s /usr/lib/libstdc++-2-libc6.1-1-2.9.0.so /usr/lib/libstdc++-libc6.1-1.so.2
Кладём файл с настройками Environment Modules для kickstart на сервер FTP по адресу ftp://ftp/pub/kickstarts/CentOS74.node.environment-modules.include
cat << EOF >> /usr/share/Modules/init/.modulespath ... EOF cat << EOF >> /etc/profile.d/modules.sh #export TMPDIR=/globaltemp/temp export FE_TMPDIR=/globaltemp/temp export MGC_TMPDIR=/globaltemp/temp EOF cat << EOF >> /etc/profile.d/modules.csh #setenv TMPDIR /globaltemp/temp setenv FE_TMPDIR /globaltemp/temp setenv MGC_TMPDIR /globaltemp/temp EOF
Кладём файл с для создания ссылок на домашние каталоги, САПРЫ, системы разработки и прочие местные особенности для kickstart на сервер FTP по адресу ftp://ftp/pub/kickstarts/CentOS74.node.links.include
... mkdir /root/bin wget -O /root/bin/makehomedir ftp://ftp/pub/local/makehomedir chmod u+x /root/bin/makehomedir (crontab -l; echo '3 12-20/2 * * 1-5 /root/bin/makehomedir') | crontab -
Создать каталог uefi для TFTP сервера (на том же сервере, что и DHCP), в который положить:
Отредактировать файл конфигурации GRUB2 uefi/grub.cfg (параметризация по ${net_efinet2_hostname} или ${net_efinet1_hostname} при выключенной загрузке PXE IPv6 - серверов будет много, вариант bond - объединение ethernet портов):
set timeout=60 menuentry 'CentOS 7.4' { linuxefi uefi/CentOS74.vmlinuz ramdisk_size=16000 selinux=0 ip=:::::eno1:dhcp:9000 lang=en_US.UTF-8 rd.locale.LANG=en_US.UTF-8 rd.vconsole.keymap=us rd.vconsole.font=latarcyrheb-sun16 rd.vconsole.unicode inst.geoloc=0 inst.lang=en_US.UTF-8 inst.keymap=us inst.sshd ks=ftp://ftp/pub/kickstarts/${net_efinet1_hostname}.CentOS74.cfg kernel.ixgbe.allow_unsupported_sfp=1 inst.syslog=192.168.172.181:514 inst.loglevel=info inst.kdump_addon=off inst.selinux=0 inst.gpt initrdefi uefi/CentOS74.initrd.img } menuentry 'CentOS 7.4 bond' { linuxefi uefi/CentOS74.vmlinuz ramdisk_size=16000 selinux=0 bond=bond0:eno1,eno2:mode=0 ip=:::::bond0:dhcp:9000 lang=en_US.UTF-8 rd.locale.LANG=en_US.UTF-8 rd.vconsole.keymap=us rd.vconsole.font=latarcyrheb-sun16 rd .vconsole.unicode inst.geoloc=0 inst.lang=en_US.UTF-8 inst.keymap=us inst.sshd ks=ftp://ftp/pub/kickstarts/${net_efinet1_hostname}.CentOS74.cfg kernel.ixgbe.allow_unsupported_sfp=1 inst.syslog=192.168.172.181:514 inst.loglevel=info inst.kdump_addon=off inst.selinux=0 inst.gpt initrdefi uefi/CentOS74.initrd.img menuentry rescue { linuxefi uefi/vmlinuz inst.repo=ftp://ftp/pub/CentOS7.4/base/x86_64 ip=:::::eno1:dhcp:9000 inst.syslog=syslog.cs.niisi.ras.ru lang=en_US.UTF-8 rd.locale.LANG=en_US.UTF-8 rd.vconsole.keymap=us rd.vconsole.font=latarcyrheb-sun16 rd.vconsole.unicode inst.rescue kernel.ixgbe.allow_unsupported_sfp=1 initrdefi uefi/initrd.img } menuentry 'rescue bond' { linuxefi uefi/vmlinuz inst.repo=ftp://ftp/pub/CentOS7.4/base/x86_64 bond=bond0:eno1,eno2:mode=0 ip=:::::bond0:dhcp:9000 inst.syslog=syslog.cs.niisi.ras.ru lang=en_US.UTF-8 rd.locale.LANG=en_US.UTF-8 rd.vconsole.keymap=us rd.vconsole.font=latarcyrheb-sun16 rd.vconsole.unicode inst.rescue kernel.ixgbe.allow_unsupported_sfp=1 initrdefi uefi/initrd.img } menuentry memtest { chainloader uefi/BOOTX64.MEMTEST86-74.EFI }
Настроить DHCP сервер для загрузки установщика PXE:
... allow booting; ... option space PXE; option PXE.mtftp-ip code 1 = ip-address; option PXE.mtftp-cport code 2 = unsigned integer 16; option PXE.mtftp-sport code 3 = unsigned integer 16; option PXE.mtftp-tmout code 4 = unsigned integer 8; option PXE.mtftp-delay code 5 = unsigned integer 8; option PXE.discovery-control code 6 = unsigned integer 8; option PXE.discovery-mcast-addr code 7 = ip-address; # к сожалению, нельзя определить последовательность записей, # придётся инкапсулировать вручную #option PXE.boot-server-list code 8 = seq {unsigned integer 16, unsigned integer 8, array of ip-address}; option PXE.boot-server-list code 8 = string; # к сожалению, нельзя определить последовательность записей, # придётся инкапсулировать вручную #option PXE.menu code 9 = seq {unsigned integer 16, unsigned integer 8, text}; option PXE.menu code 9 = string; option PXE.prompt code 10 = {unsigned integer 8, text}; option PXE.boot-server-type code 71 = {unsigned integer 16, unsigned integer 16}; option space pxelinux; option pxelinux.magic code 208 = string; option pxelinux.configfile code 209 = text; option pxelinux.pathprefix code 210 = text; option pxelinux.reboottime code 211 = unsigned integer 32; option architecture-type code 93 = unsigned integer 16; shared-network имя { authoritative; # MS Windows BINLSVC не умеет возвращать тип сервера загрузки, # поэтому клиент PXE не воспринимает его как свой # RIS сервер с включённой защитой не отдаёт TFTP файл, если не отработал BINLSVC # такие случаи необходимо обслуживать "по-простому" # if hardware = 01:xx:xx:xx:xx:xx:xx { # next-server адрес-RIS-сервера; # filename "RemoteInstall\\OSChooser\\I386\\startrom.com"; # } elsif ... # делаем из ISC DHCP сервера два разных BOOT сервера if substring (option vendor-class-identifier, 0, 9) = "PXEClient" { vendor-option-space PXE; option vendor-class-identifier "PXEClient:Arch:00000:UNDI:002001"; # предлагаем оператору выбрать BOOT сервер и ждём 10 секунд option PXE.prompt 10 "Select Boot Server"; # для сервера типа 0000 приглашение "Local" # для сервера типа 804c (0x8000+'L') приглашение "LIS (Linux Install Server)" # для сервера типа 8057 (0x8000+'W') приглашение "RIS (MS Windows Install)" option PXE.menu 00:00:05:4c:6f:63:61:6c:80:4c:1a:4c:49:53:20:28:4c:69:6e:75:78:20:49:6e:73:74:61:6c:6c:20:53:65:72:76:65:72:29:80:57:18:52:49:53:20:28:4d:53:20:57:69:6e:64:6f:77:73:20:49:6e:73:74:61:6c:6c:29; # запретить multicast option PXE.discovery-control 2; # для сервера типа 804c (0x8000+'L') один BOOT сервер x.y.z.v (адрес нашего DHCP сервера) # для сервера типа 8057 (0x8000+'W') один BOOT сервер x.y.z.v (адрес нашего DHCP сервера) option PXE.boot-server-list 80:4c:01:xx:yy:zz:vv:80:57:01:xx:yy:zz:vv; # ветвление в зависимости от выбора типа BOOT сервера, сделанного оператором if substring (option vendor-encapsulated-options, 3, 1) = "W" { next-server адрес-RIS-сервера; filename "RemoteInstall\\OSChooser\\I386\\startrom.com"; option PXE.boot-server-type 32855 0; } else { next-server адрес-TFTP-сервера-с-pxelinux; if option architecture-type = 00:07 { # rfc4578#section-2.1: 0 - Intel x86PC, 7 - UEFI ByteCode, 9 - UEFI x86-64 filename = "uefi/shim.efi"; } else { # из system-config-netboot-cmd в CentOS 5 или syslinux-tftpboot в CentOS 6/7 filename "linux-install/pxelinux.0"; } option PXE.boot-server-type 32844 0; } } ... # VLAN 3 grid, используется DHCP proxy subnet подсеть netmask 255.255.248.0 { server-identifier адрес-DHCP; option domain-name-servers адрес-DNS-сервера1, адрес-DNS-сервера2; option netbios-name-servers адрес-WINS-сервера; option netbios-node-type 8; option ntp-servers адрес-NTP-сервера1, адрес-NTP-сервера2; option routers адрес-шлюза-для-VLAN3; # тут же DHCP proxy option smtp-server адрес-SMTP-сервера; option pop-server адрес-POP/IMAP-сервера; host полное-доменное-имя { fixed-address IP-адрес; hardware ethernet MAC-адрес; } ... } }
UEFI клиент PXE при DHCP запросе взводит бит требования широковещательного ответа и этот широковещательный ответ не всегда доходит до него (VLAN со внутренней маршрутизацией, DHCP клиент CentOS 7.4 работает без проблем). Пришлось на время установки отключать DHCP Relay и ставить локальный DHCP сервер. Или ставить систему во VLAN1 и потом переключать.
Перевести загрузку сервера в режим UEFI при необходимости (самое время настроить остальные параметры, в т.ч. IPMI), перезагрузиться.
Отредактировать список источников загрузки: загрузка по PXE с первого сетевого интерфейса, при неудаче UEFI Shell, всё лишнее удалить.
Загрузиться по сети, установка должна пройти автоматически.
Ручная настройка (точнее проверка, что ничего не забыли и не напутали в файлах kickstart):
|
Bog BOS: Установка Linux CentOS 7.4 для вычислительного узла (UEFI, PXE, kickstart) |
Последние изменения: |