@ Карта сайта News Автора!

Bog BOS: Установка Linux CentOS 5.3/5.4/5.5/5.6/5.7 для вычислительного узла (kickstart)

Последние изменения:
2024.11.22: sysadmin: systemd-journald (централизованное хранение)
2024.11.11: sysadmin: Linux: пространства имён
2024.11.06: sysadmin: настройка TCP/IP в Linux: виртуальный интерфейс и виртуальный мост
2024.10.25: sysadmin: Linux VFS, атрибуты, расширенные атрибуты, ACL

Последнее изменение файла: 2015.03.11
Скопировано с www.bog.pp.ru: 2024.11.24

Bog BOS: Установка Linux CentOS 5.3/5.4/5.5/5.6/5.7 для вычислительного узла (kickstart)

Предварительно прочитайте несколько слов о RHEL 5 и CentOS 5.

Устанавливал с загрузкой по PXE, консоль через виртуальный последовательный порт iLO 2, для полностью автоматического выбора параметров используется kickstart.

Сервер HP ProLiant DL365 Generation 5, AMD Opteron 2356 (2.3 GHz), 16 GB памяти (8x2GB, DDR2 667), RAID контроллер HP Smart Array P400i, НЖМД SAS SFF HP DG146BAAJB (146 GB, 10000 RPM, Seagate, 2.5", 1 порт), CD-RW/DVD-ROM (ide1, /dev/hda, TSSTcorp CDW/DVD TS-L462D, udma2 (33)), USB 2.0, встроенный HP NC373i (Broadcom NetXtremeII BCM5708, bnx2, eth0 для управления, eth1 - не используется). Дополнительная двухпортовая сетевая карта NC360T (eth2 - port 1 основного сервера хранения HP MSA 2012i (iSCSI), eth3 - port 0 запасного сервера хранения). И ещё одна двухпортовая сетевая карта NC360T (eth4 - port 1 запасного сервера хранения, eth5 - port 0 основного сервера хранения). Настройки BIOS на оптимизацию вычислений.

А также серверы Intel SR2625URLX.

А также серверы Intel SR1530SH.

А также серверы Intel SR1680MV.

А также серверы HP ProLiant DL360 Generation 6.

А также серверы HP ProLiant DL585 Generation 6.

А также множество мелких железок и подключение к Fiber Channel и InfiniBand.

Назначение - вычислительный узел [и файловый сервер].

Установка и настройка системы загрузки по протоколу PXE (FTP сервер и дерево файлов для CentOS 5.3 x86_64 и CentOS 5.4 x86_64 и CentOS 5.5 x86_64 и CentOS 5.7 x86_64, сервер tftp и образы для загрузки с помощью pxeos, сервер dhcp и pxelinux ). Специальная конфигурация для загрузки данного сервера /tftpboot/linux-install/pxelinux.cfg/01-MACадрес, обеспечивающая установку нужной версии ОС с использованием kickstart-файла

default local
timeout 100
prompt 1
label local
  localboot 1

label 0
  localboot 1

label 1
  kernel CentOS5.3-x86_64-install/vmlinuz
  append initrd=CentOS5.3-x86_64-install/initrd.img ramdisk_size=8262 \
       method=ftp://ftp-сервер/pub/CentOS5.3/base/x86_64 ip=dhcp noipv6 \
       syslog=адрес-сервера lang=en_US text serial console=ttyS0,9600n8 utf8 nofb \
       ksdevice=bootif ks=ftp://ftp-сервер/pub/kickstarts/имя-сервера.cfg

label 2
  kernel CentOS5.4-x86_64-install/vmlinuz
  append initrd=CentOS5.4-x86_64-install/initrd.img [nodmraid] ramdisk_size=8262 \
       method=ftp://ftp-сервер/pub/CentOS5.4/base/x86_64 ip=dhcp noipv6 \
       syslog=адрес-сервера lang=en_US text serial console=ttyS0,9600n8 utf8 nofb \
       ksdevice=bootif ks=ftp://ftp-сервер/pub/kickstarts/имя-сервера.cfg

label 3
  kernel CentOS5.5-x86_64-install/vmlinuz
  append initrd=CentOS5.5-x86_64-install/initrd.img [nodmraid] ramdisk_size=8262 \
       method=ftp://ftp-сервер/pub/CentOS5.5/base/x86_64 ip=dhcp noipv6 \
       syslog=адрес-сервера lang=en_US text serial console=ttyS0,9600n8 utf8 nofb \
       ksdevice=bootif ks=ftp://ftp-сервер/pub/kickstarts/имя-сервера.cfg

label 4
  kernel CentOS5.7-x86_64-install/vmlinuz
  append initrd=CentOS5.7-x86_64-install/initrd.img [nodmraid] ramdisk_size=8262 \
       method=ftp://ftp-сервер/pub/CentOS5.7/base/x86_64 ip=dhcp noipv6 \
       syslog=адрес-сервера lang=en_US text serial console=ttyS0,9600n8 utf8 nofb \
       ksdevice=bootif ks=ftp://ftp-сервер/pub/kickstarts/имя-сервера.cfg

label 6
  kernel CentOS6.2-x86_64-install/vmlinuz
  append initrd=CentOS6.2-x86_64-install/initrd.img ramdisk_size=16000 \
       method=ftp://ftp-сервер/pub/CentOS6.2/base/x86_64 ip=dhcp noipv6 \
       syslog=адрес-сервера lang=en_US text serial console=ttyS0,9600n8 utf8 nofb \
       ksdevice=bootif ks=ftp://ftp-сервер/pub/kickstarts/имя-сервера.cfg

Подготовка файла с настройками kickstart (положить его на ftp://ftp-сервер/pub/kickstarts/имя-сервера.cfg)

install
url --url ftp://ftp-сервер/pub/CentOS5.3/base/x86_64
#text
#interactive
cmdline
reboot
logging --host=syslog-сервер

#firstboot --enabled
firstboot --disabled

lang en_US.UTF-8
keyboard us-acentos
xconfig --resolution 1280x1024 --depth 32 --startxonboot  --defaultdesktop gnome # только CentOS 5
network --activate --onboot yes --device eth0 --bootproto dhcp --noipv6
network --device eth1 --onboot no --bootproto dhcp --noipv6
network --device eth2 --onboot no --bootproto dhcp --noipv6
network --device eth3 --onboot no --bootproto dhcp --noipv6
network --device eth4 --onboot no --bootproto dhcp --noipv6
network --device eth5 --onboot no --bootproto dhcp --noipv6

#key --skip
rootpw --iscrypted пароль
selinux --disabled
#firewall --enabled --port=22:tcp
firewall --disabled
authconfig --enableshadow --passalgo=sha512 --enableldapauth --ldapserver=имя --ldapbasedn=dc=имя --enableldaptls

timezone --utc Europe/Moscow

# ignoredisk --only-use=disk/by-path/pci-0000:0d:00.0-scsi-0:1:1:0
bootloader --location=mbr --driveorder=cciss/c0d0 # --driveorder=disk/by-path/pci-0000:0d:00.0-scsi-0:1:1:0
clearpart --drives=cciss/c0d0 --all --initlabel # --drives=disk/by-path/pci-0000:0d:00.0-scsi-0:1:1:0
part /boot --fstype ext3 --size=500 --ondisk=cciss/c0d0 # --ondisk=disk/by-path/pci-0000:0d:00.0-scsi-0:1:1:0
part pv.11 --size=100 --grow --asprimary # --ondisk=disk/by-path/pci-0000:0d:00.0-scsi-0:1:1:0
volgroup system --pesize=8192 pv.11
logvol / --fstype ext4 --name=root --vgname=system --size=15000
logvol swap --fstype swap --name=swap --vgname=system --size=40000
#logvol /usr/cads --fstype ext3 --name=cads --vgname=system --size=60000
#logvol /tmp --fstype ext4 --name=tmp --vgname=system --size=60000

# repo --name="CentOS 5.3"  --baseurl=ftp://ftp/pub/CentOS5.3/base/x86_64/ --cost=100

# набор пакетов и групп отличается для CentOS 6.2
%packages
@development-libs
@editors
@system-tools
@russian-support
@text-internet
@gnome-desktop
@core
@base
@ftp-server
@legacy-software-development
@java
@legacy-software-support
@smb-server
@base-x
@web-server
@printing
@admin-tools
@development-tools
@graphical-internet
lapack
lam
pvm
perl-libxml-perl
perl-XML-SAX
perl-Convert-ASN1
perl-DateManip
perl-XML-Twig
perl-XML-Grove
perl-XML-Dumper
python-imaging
libstdc++43-devel
perl-Crypt-SSLeay
perl-Mozilla-LDAP
perl-Archive-Zip
perl-XML-NamespaceSupport
emacs-nox
emacs
vim-X11
gnuplot-emacs
nedit
ktune
rdesktop
hwbrowser
wireshark-gnome
e4fsprogs
gnutls-utils
am-utils
createrepo
arpwatch
lsscsi
lslk
arptables_jf
audit
net-snmp-utils
mc
sysstat
iptraf
lynx
imake
vlock
libgnome-java
gob2
libgtk-java
libglade-java
libgconf-java
xorg-x11-xbitmaps
mesa-libGLw-devel
openmotif-devel
mesa-libGLU-devel
xorg-x11-server-sdk
libXp-devel
rsh-server
tftp-server
gconf-editor
gnome-keyring-manager
hal-gnome
dasher
kexec-tools
convmv
fipscheck
hardlink
x86info
device-mapper-multipath
gtk+
compat-db
openssl097a
qt4
compat-readline43
compat-openldap
compat-slang
openmotif22
xorg-x11-utils
gftp
OpenIPMI-tools
libXpm
yum-utils
dialog
-zsh
-zisofs-tools
-bluez-hcidump
-bluez-gnome
-slrn
-fetchmail
-mutt
-cadaver
-nano
-pcmciautils
-yum-updatesd
-pam_smb
-NetworkManager
-NetworkManager-glib
-NetworkManager-gnome
-evolution
-evolution-connector
-krb5-auth-dialog
-sysreport
-rp-pppoe
-irda-utils
-ypbind
-bluez-utils
-dovecot
-spamassassin
-diffstat
-valgrind

%post
# добавление групп пользователей
/usr/sbin/groupadd -g ид имя
# добавление пользователей
/usr/sbin/useradd -c "описание" -g sys -m -r -u идентификатор -p кодированный-пароль имя
# уменьшение зарезервированного места, отказаться от регулярных fsck
/sbin/tune2fs -r 25000 -c -1 -i 0 /dev/system/root
#/sbin/tune2fs -r 25000 -c -1 -i 0 /dev/system/cads
# убрать лишние сервисы
/sbin/chkconfig --level 12345 avahi-daemon off
/sbin/chkconfig --level 12345 cpuspeed off
/sbin/chkconfig --level 12345 firstboot off
/sbin/chkconfig --level 12345 lm_sensors off
/sbin/chkconfig --level 12345 pcscd off
# динамический загрузчик
echo "/usr/local/lib" >> /etc/ld.so.conf
echo "/usr/local/lib64" >> /etc/ld.so.conf
/sbin/ldconfig
# настройка rpm
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5 # 6
rpm -iv ftp://ftp/pub/EPEL5/x86_64/epel-release-5-4.noarch.rpm # 6
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL # 6
# настройка yum (в нужных местах поменять номер версии)
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
baseurl=ftp://ftp/pub/CentOS5.7/base/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

#released updates 
[updates]
name=CentOS-$releasever - Updates
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
baseurl=ftp://ftp/pub/CentOS5.7/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

#packages used/produced in the build but not released (только в версии 5)
[addons]
name=CentOS-$releasever - Addons
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=addons
baseurl=ftp://ftp/pub/CentOS5.7/addons/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
baseurl=ftp://ftp/pub/CentOS5.7/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

#contrib - packages by Centos Users
[contrib]
name=CentOS-$releasever - Contrib
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib
#baseurl=http://mirror.centos.org/centos/$releasever/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
EOF

cat << 'EOF' > /etc/yum.repos.d/epel.repo
[epel]
name=Extra Packages for Enterprise Linux 5 - $basearch
baseurl=ftp://ftp/pub/EPEL5/$basearch
#mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=epel-5&arch=$basearch
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL

[epel-debuginfo]
name=Extra Packages for Enterprise Linux 5 - $basearch - Debug
#baseurl=http://download.fedoraproject.org/pub/epel/5/$basearch/debug
mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=epel-debug-5&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL
gpgcheck=1

[epel-source]
name=Extra Packages for Enterprise Linux 5 - $basearch - Source
#baseurl=http://download.fedoraproject.org/pub/epel/5/SRPMS
mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=epel-source-5&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL
gpgcheck=1
EOF

# multipath (в CentOS6 - /etc/multipath/bindings)
cat << EOF > /var/lib/multipath/bindings
# Format:
# alias wwid
#
mpathИМЯ ВВИД-стр83
EOF

# iLO (в CentOS6 нет настоящего inittab)
cat << EOF >> /etc/inittab
# For iLO
s0:2345:respawn:/sbin/agetty 115200 ttyS0 vt100
EOF

# need update warning
mkdir /root/bin
cat << EOF >> /root/bin/check-update.sh
#!/bin/bash

result=`yum -d 0 check-update`

if [ $? ]
then
  echo $result | mail -s "`hostname`: `cat /etc/redhat-release`: need updates" root
fi
EOF
chmod u+x /root/bin/check-update.sh
# синхронизация времени
echo -e "23 5 * * 1 /root/bin/check-update.sh\n53 * * * * /usr/sbin/ntpdate -s -B ntp1 ntp2" | /usr/bin/crontab -

# отключить prelink
echo "PRELINKING=no" >> /etc/sysconfig/prelink

# почтовый адрес root
echo "root: адрес" >> /etc/aliases

# IPMI
cat << EOF >> /etc/rc.local
modprobe ipmi_msghandler
modprobe ipmi_devintf
modprobe ipmi_si

%end

Заходим на виртуальный последовательный порт через iLO 2

ssh адрес-iLO
vsp

Сброс сервера ("Esc R Esc r Esc R").

Загрузка PXE с правильной сетевой карты ("Esc @")

При установке RHEL5 предлагается выбрать сетевую карту, хотя я указывал явно "ksdevice=bootif", хорошо хоть на виртуальном порту.

Журнал на сервер syslog выдаётся в самом конце установки, когда это уже неинтересно (и ошибки выводятся только на экран).

Ручная настройка:

@ Карта сайта News Автора!

Bog BOS: Установка Linux CentOS 5.3/5.4/5.5/5.6/5.7 для вычислительного узла (kickstart)

Последние изменения:
2024.11.22: sysadmin: systemd-journald (централизованное хранение)
2024.11.11: sysadmin: Linux: пространства имён
2024.11.06: sysadmin: настройка TCP/IP в Linux: виртуальный интерфейс и виртуальный мост
2024.10.25: sysadmin: Linux VFS, атрибуты, расширенные атрибуты, ACL



Copyright © 1996-2024 Sergey E. Bogomolov; www.bog.pp.ru