|
Bog BOS: Установка Linux CentOS 7.1 для служебного сервера (kickstart) |
Последние изменения: |
Последнее изменение файла: 2017.10.21
Скопировано с www.bog.pp.ru: 2024.11.23
Предварительно прочитайте несколько слов о RHEL 7 и CentOS 7.
Устанавливал с загрузкой по PXE с использованием KVM, kickstart.
Сервера на базе шасси SuperMicro Super Storage System 6047R-E1R36L: двухсокетная материнская плата Intel Xeon CPU E5-2643 v2 (всего 8 ядер по 3.50GHz), 128GB ОП, RAID контроллер >LSI Logic MegaRAID SAS 9266-8i (2 полки на 12 и 24 диска LFF), 2 SSD Intel SSDSC2BB240G4 (SATA, 240GB, устойчивость к отключению питания и истиранию) в программный RAID, встроенные 4 порта 1000Base-T на Intel I350 (модуль igb, eno1 для установки и управления), дополнительная двухпортовая сетевая карта Intel X520-DA2 (модуль ixgbe, enp4s0f0 для передачи данных) и трансивер Finisar FTLX8571D3BCL (SFP+, мультимод, 10GBASE-SR, LC) .
Назначение - служебные сервера (резервное копирование, архив, мелкие СУБД).
Установка и настройка системы загрузки по протоколу PXE (FTP сервер и дерево файлов для CentOS 7.1 x86_64 Everything, сервер tftp и образы для загрузки с помощью pxeos, сервер dhcp и pxelinux ). Специальная конфигурация для загрузки данного сервера /tftpboot/linux-install/pxelinux.cfg/01-MACадрес, обеспечивающая установку нужной версии ОС с использованием kickstart-файла:
default local timeout 100 prompt 1 display msgs/boot7.msg ipappend 2 label local localboot 1 label 0 kernel memtest/memtest86+.v501 label 1 kernel CentOS6.6-x86_64-install/vmlinuz append initrd=CentOS6.6-x86_64-install/initrd.img ramdisk_size=16000 ip=dhcp noipv6 syslog=адрес-сервера-syslog lang=en_US.UTF-8 ksdevice=eth2 ks=ftp://ftp/pub/kickstarts/x134.CentOS66.cfg label 2 kernel CentOS6.6-x86_64-install/vmlinuz append initrd=CentOS6.6-x86_64-install/initrd.img ramdisk_size=16000 repo=ftp://ftp/pub/CentOS6.6/base/x86_64 ip=dhcp noipv6 syslog=адрес-сервера-syslog lang=en_US.UTF-8 linux rescue label 3 kernel CentOS7.0-x86_64-install/vmlinuz append initrd=CentOS7.0-x86_64-install/initrd.img ramdisk_size=16000 ip=enp4s0f0:dhcp ip=eno1:dhcp bootdev=enp4s0f0 rd.ipv6.disable inst.multilib inst.syslog=адрес-сервера-syslog lang=en_US.UTF-8 rd.locale.LANG=en_US.UTF-8 rd.vconsole.keymap=us rd.vconsole.font=latarcyrheb-sun16 rd.vconsole.unicode ks=ftp://ftp/pub/kickstarts/имя-сервера.CentOS7.cfg inst.geoloc=0 label 4 kernel CentOS7.0-x86_64-install/vmlinuz append initrd=CentOS7.0-x86_64-install/initrd.img ramdisk_size=16000 inst.repo=ftp://ftp/pub/CentOS7/base/x86_64 ip=enp4s0f0:dhcp ip=eno1:dhcp rd.ipv6.disable inst.syslog=адрес-сервера-syslog lang=en_US.UTF-8 rd.locale.LANG=en_US.UTF-8 rd.vconsole.keymap=us rd.vconsole.font=latarcyrheb-sun16 rd.vconsole.unicode linux inst.rescue kernel.ixgbe.allow_unsupported_sfp=1 label 5 kernel CentOS7.1-x86_64-install/vmlinuz append initrd=CentOS7.1-x86_64-install/initrd.img ramdisk_size=16000 ip=eno1:dhcp ixgbe.allow_unsupported_sfp=1 rd.ipv6.disable inst.multilib inst.geoloc=0 lang=en_US.UTF-8 rd.locale.LANG=en_US.UTF-8 rd.vconsole.keymap=us rd.vconsole.font=latarcyrheb-sun16 rd.vconsole.unicode ks=ftp://ftp/pub/kickstarts/x130.CentOS71.cfg label 6 kernel CentOS7.1-x86_64-install/vmlinuz append initrd=CentOS7.1-x86_64-install/initrd.img ramdisk_size=16000 ip=eno1:dhcp ixgbe.allow_unsupported_sfp=1 rd.ipv6.disable lang=en_US.UTF-8 rd.locale.LANG=en_US.UTF-8 rd.vconsole.keymap=us rd.vconsole.font=latarcyrheb-sun16 rd.vconsole.unicode linux inst.rescue inst.repo=ftp://ftp/pub/CentOS7.1/base/x86_64
Подготовка файла с настройками kickstart (положить его на ftp://ftp-сервер/pub/kickstarts/имя-сервера.версия.cfg)
install url --url=ftp://ftp-сервер/pub/CentOS7.1/base/x86_64 #text #interactive #autostep cmdline reboot # сервер syslog должен принимать TCP:514 logging --level=info --host=адрес-сервера-syslog lang en_US.UTF-8 --addsupport=ru_RU.UTF-8 keyboard --vckeymap=ruwin_alt-UTF-8 --xlayouts='us,ru(typewriter)' --switch=grp:toggle firstboot --disabled network --onboot no --device eno1 --bootproto dhcp --hostname полное-имя --mtu=9000 --activate network --onboot no --device eno2 --bootproto dhcp --hostname полное-имя --mtu=9000 network --onboot no --device eno3 --bootproto dhcp --hostname полное-имя --mtu=9000 network --onboot no --device eno4 --bootproto dhcp --hostname полное-имя --mtu=9000 network --onboot yes --device enp4s0f0 --bootproto dhcp --hostname полное-имя --mtu=9000 network --onboot no --device enp4s0f1 --bootproto dhcp --hostname полное-имя --mtu=9000 # действует ли? device ixgbe --opts=allow_unsupported_sfp=1 rootpw --iscrypted ... selinux --disabled firewall --disabled authconfig --enableshadow --passalgo=sha512 --enableldap --enableldapauth --enableldaptls --ldaploadcacert=ftp://ftp... --ldapserver=имя-ldap-сервера --ldapbasedn=dc=... --enablecache --enablesssd --enablesssdauth --enablecachecreds --enablelocauthorize timezone Europe/Moscow --utc --ntpservers=список xconfig --startxonboot # всё стереть только на указанных явно дисках ignoredisk --only-use=/dev/disk/by-id/ata-INTEL_SSDSC2BB240G4_серийник1,/dev/disk/by-id/ata-INTEL_SSDSC2BB240G4_серийник2 zerombr clearpart --drives=/dev/disk/by-id/ata-INTEL_SSDSC2BB240G4_серийник1,/dev/disk/by-id/ata-INTEL_SSDSC2BB240G4_серийник2 --all # указывается 1 boot-drive, а загрузчик прописывается на оба диска # ERR anaconda: bios order specified unknown disk /dev/disk/by-id/ata-INTEL_SSDSC2BB240G4_серийник1 bootloader --location=mbr --driveorder=/dev/disk/by-id/ata-INTEL_SSDSC2BB240G4_серийник1,/dev/disk/by-id/ata-INTEL_SSDSC2BB240G4_серийник2 --boot-drive=/dev/disk/by-id/ata-INTEL_SSDSC2BB240G4_серийник1 partition raid.008001 --size=500 --asprimary --ondisk=/dev/disk/by-id/ata-INTEL_SSDSC2BB240G4_серийник1 partition raid.008017 --size=500 --asprimary --ondisk=/dev/disk/by-id/ata-INTEL_SSDSC2BB240G4_серийник2 raid /boot --fstype="ext4" --level=1 --device=0 --label="/boot" raid.008001 raid.008017 partition raid.008002 --size=100 --grow --asprimary --ondisk=/dev/disk/by-id/ata-INTEL_SSDSC2BB240G4_серийник1 partition raid.008018 --size=100 --grow --asprimary --ondisk=/dev/disk/by-id/ata-INTEL_SSDSC2BB240G4_серийник2 raid pv.009001 --level=1 --device=1 raid.008002 raid.008018 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="CentOS7.1updates" --baseurl=ftp://ftp-сервер/pub/CentOS7.1/updates/x86_64/ --cost=100 repo --name="CentOS7.1cr" --baseurl=ftp://ftp-сервер/pub/CentOS7.1/cr/x86_64/ --cost=50 repo --name="CentOS7.1extras" --baseurl=ftp://ftp-сервер/pub/CentOS7.1/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 group --name=cds --gid=1001 # не работает #service --disabled=bluetooth,dbus-org.bluez,ModemManager,avahi-daemon %packages --multilib @additional-devel #@backup-client bacula-client @base dos2unix genisoimage gpm i2c-tools logwatch mtools ncurses-term oddjob pax sgpio squashfs-tools star tmpwatch udftools wodim x86info yum-plugin-changelog yum-plugin-tmprepo yum-plugin-versionlock @compat-libraries @console-internet ftp lftp whois @core @debugging @desktop-debugging oprofile-gui xrestop ##@desktop-platform @development ant babel cmake compat-gcc-44 compat-gcc-44-c++ cvs dejagnu expect imake javapackages-tools libstdc++-docs mercurial mod_dav_svn nasm python-docs rpmdevtools rpmlint @dial-up minicom @directory-client nscd nss-pam-ldapd openldap-clients samba-winbind @directory-server openldap-servers samba @mail-server sendmail sendmail-cf ##@eclipse @emacs @ftp-server xferstats @fonts bitmap-fixed-fonts bitmap-lucida-typewriter-fonts @gnome-desktop alacarte dconf-editor gconf-editor gedit-plugins vim-X11 @graphical-admin-tools gnome-disk-utility wireshark-gnome @graphics dcraw netpbm-progs ImageMagick @hardware-monitoring edac-utils lm_sensors mcelog @infiniband compat-dapl infiniband-diags libibcommon opensm perftest qperf srptools @internet-applications thunderbird thunderbird-enigmail thunderbird-lightning thunderbird-lightning-gdata xchat @internet-browser @java-platform java-1.6.0-openjdk system-switch-java @kde-desktop @large-systems @legacy-unix cups-lpd ksh ncompress rsh tcp_wrappers telnet tftp xinetd @legacy-x xorg-x11-fonts-75dpi xorg-x11-fonts-ISO8859-1-75dpi xorg-x11-fonts-cyrillic @mariadb @mariadb-client perl-DBD-MySQL @network-file-system-client cachefilesd @network-tools arptables arpwatch dropwatch iptraf-ng nmap wireshark @office-suite libreoffice-base #libreoffice-javafilter # в списке есть, а в реальности нет libreoffice-ogltrans #libreoffice-presentation-minimizer obsoleted by libreoffice-impress #libreoffice-report-builder # в списке есть, а в реальности нет libreoffice-wiki-publisher @php php-ldap php-mysql php-xmlrpc @performance hdparm sdparm sg3_utils tuned-utils @perl-runtime perl-DBD-SQLite perl-Date-Manip perl-LDAP @platform-devel @print-server @print-client @remote-desktop-clients freerdp spice-xpi tigervnc vinagre # тянет много лишнего #@remote-system-management net-snmp net-snmp-utils @scientific atlas mpitests-openmpi numpy openmpi @security-tools hmaccalc trousers ##@server-platform ##@storage-client-iscsi @system-management freeipmi ipmitool openhpi OpenIPMI @system-admin-tools crypto-utils dump lsscsi mc screen scrub @technical-writing @virtualization-hypervisor qemu-kvm-tools @virtualization-client libguestfs-tools @virtualization-platform libvirt-snmp @virtualization-tools libguestfs-tools @web-server mod_nss perl-CGI @x11 tigervnc-server xorg-x11-drv-keyboard xorg-x11-drv-mouse # нет в группах epel-release kdesdk kernel-doc libbonobo-devel libglade2-devel libgnomeui-devel libreoffice-headless libreoffice-langpack-en libreoffice-langpack-ru lzo-devel xfce4-panel xfce4-settings xfce4-session xfce4-session-engines xfce4-session-devel xfce4-panel-devel xfce4-power-manager xfce4-appfinder xfce4-dev-tools zabbix22 zabbix22-agent # пропали? ##nss_db ##cpufrequtils ##systemtap-client ##systemtap-initscript ##eclipse-mylyn-cdt ##eclipse-pde ##eclipse-mylyn-pde ##eclipse-mylyn-wikitext ##eclipse-mylyn-trac ##eclipse-subclipse-graph ##eclipse-mylyn-webtasks ##spice-client ##virt-v2v - обещан в 7.1, нет в списке ##mod_authz_ldap ##elrepo-release ##compat-libtermcap.i686 #compat-libstdc++-33.i686 #mesa-libGLU.i686 #gdbm-devel.i686 ##compat-readline5.i686 ##compat-expat1.i686 -gcc-gfortran -ypbind -ipa-client -dovecot -spamassassin -lohit-assamese-fonts -lohit-bengali-fonts -thai-scalable-waree-fonts -lohit-kannada-fonts -paktype-tehreer-fonts -tibetan-machine-uni-fonts -lohit-devanagari-fonts -smc-meera-fonts -lohit-gujarati-fonts -paktype-naqsh-fonts -sil-padauk-fonts -lohit-punjabi-fonts -lohit-tamil-fonts -lohit-telugu-fonts -madan-fonts -lohit-oriya-fonts -pulseaudio-module-gconf -kde-settings-pulseaudio -alsa-plugins-pulseaudio -pulseaudio-utils -pulseaudio-module-x11 -libgweather.i686 -evolution.i686 -evolution-data-server.i686 -evolution-data-server-devel.i686 -evolution-ews.i686 -evolution-mapi.i686 -kde-wallpapers -wireshark.i686 -metacity.i686 %end %post --log=/var/log/anaconda/ks-post.log # users /usr/sbin/useradd -c информация-Gecos -g номер-группы -m -r -u номер-пользователя -p шифрованный-пароль имя-пользователя # /sbin/tune2fs -r 25000 -c -1 -i 0 /dev/system/root # ld echo "/usr/local/lib" >> /etc/ld.so.conf echo "/usr/local/lib64" >> /etc/ld.so.conf /sbin/ldconfig # убрать лишние сервисы и добавить нужные systemctl disable bluetooth.service systemctl disable dbus-org.bluez.service systemctl disable ModemManager.service systemctl disable avahi-daemon.service systemctl disable tmp.mount systemctl disable firstboot-graphical.service # /sbin/chkconfig --level 12345 NetworkManager off systemctl disable autofs systemctl disable cachefilesd.service systemctl disable alsa-state.service systemctl disable colord.service systemctl enable smartd.service systemctl enable sssd.service systemctl set-default multi-user.target # graphical.target systemctl disable gdm.service systemctl disable tuned.service # drivers echo "options ixgbe allow_unsupported_sfp=1" >> /etc/modprobe.d/ixgbe.conf # locate sed -i 's/udf usbfs/udf usbfs glusterfs/' /etc/updatedb.conf # отключить prelink echo "PRELINKING=no" >> /etc/sysconfig/prelink # sendmail sed -i 's/DS/DSдоменное-имя-SMTP-сервера/' /etc/mail/sendmail.cf # почтовый адрес root echo "root: адрес" >> /etc/aliases # SSH 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_conf Port 22 #ListenAddress адрес #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 RhostsRSAAuthentication no RSAAuthentication no 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 ssh-dss ... EOF chown пользователь:группа /home/пользователь/.ssh/authorized_keys chmod 600 /home/пользователь/.ssh/authorized_keys # yum and rpm 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-сервер/pub/CentOS7.1/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-сервер/pub/CentOS7.1/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-сервер/pub/CentOS7.1/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-сервер/pub/CentOS7.1/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-сервер/pub/CentOS7.1/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-сервер/pub/CentOS7.1/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-сервер/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 # rpm 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 # yum # не работает? yum langinstall en ru # grub2 sed -i 's/rhgb quiet/rd.shell ixgbe.allow_unsupported_sfp=1/' /etc/default/grub grub2-mkconfig -o /boot/grub2/grub.cfg # 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 # remote file system mkdir точка-монтирования ... cat << EOF >> /etc/fstab сервер:каталог точка-монтирования nfs tcp,bg,hard,intr,rw,nosuid,nodev,exec,auto,nouser,async,_netdev,rsize=32768,wsize=32768,nfsvers=3 0 0 EOF # autofs sed -i 's/+auto.master/#+auto.master/' /etc/auto.master # 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 # syslog cat << EOF >> /etc/rsyslog.conf *.* @имя-сервера-syslog EOF # smartd 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 /dev/sdc -a -m root -I 9 -I 190 -I 194 -M exec /usr/libexec/smartmontools/smartdnotify /dev/sdd -a -m root -I 9 -I 190 -I 194 -M exec /usr/libexec/smartmontools/smartdnotify /dev/sda -d megaraid,10 -a -m root -M exec /usr/libexec/smartmontools/smartdnotify ... EOF # модули окружения cat << EOF >> /usr/share/Modules/init/.modulespath каталог ... EOF cat << EOF >> /etc/profile.d/modules.sh настройка общих переменных окружения EOF cat << EOF >> /etc/profile.d/modules.csh настройка общих переменных окружения EOF sed -i 's/::1 localhost localhost.localdomain localhost6 localhost6.localdomain6/::1 localhost.localdomain localhost6 localhost6.localdomain6/' /etc/hosts # zabbix агент sed -i 's/Server=127\.0\.0\.1/Server=IP-адрес-сервера/' /etc/zabbix_agentd.conf sed -i 's/ServerActive=127\.0\.0\.1/ServerActive=IP-адрес-сервера/' /etc/zabbix_agentd.conf sed -i 's/Hostname=Zabbix server/Hostname=имя-клиента/' /etc/zabbix_agentd.conf sed -i 's/# SourceIP=/SourceIP=IP-адрес-клиента/' /etc/zabbix_agentd.conf sed -i 's/# ListenIP=0.0.0.0/ListenIP=IP-адрес-клиента/' /etc/zabbix_agentd.conf mkdir /etc/zabbix/externalscripts echo "awk '{print \$1}' < /sys/block/\$1/stat" > /etc/zabbix/externalscripts/check_ior.sh chmod 755 /etc/zabbix/externalscripts/check_ior.sh echo "awk '{print \$5}' < /sys/block/\$1/stat" > /etc/zabbix/externalscripts/check_iow.sh chmod 755 /etc/zabbix/externalscripts/check_iow.sh echo "awk '{print \$3}' < /sys/block/\$1/stat" > /etc/zabbix/externalscripts/check_br.sh chmod 755 /etc/zabbix/externalscripts/check_br.sh echo "awk '{print \$7}' < /sys/block/\$1/stat" > /etc/zabbix/externalscripts/check_bw.sh chmod 755 /etc/zabbix/externalscripts/check_bw.sh 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 systemctl enable zabbix-agent.service # bacula client sed -i 's/.*Name = bacula-dir/ Name = имя-директора-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 = имя-монитора-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 = имя-директора-dir = all, !skipped, !restored/' /etc/bacula/bacula-fd.conf systemctl enable bacula-fd.service cat << EOF >> /etc/sysctl.d/disableipv6.conf net.ipv6.conf.eno1.disable_ipv6 = 1 net.ipv6.conf.eno2.disable_ipv6 = 1 net.ipv6.conf.eno3.disable_ipv6 = 1 net.ipv6.conf.eno4.disable_ipv6 = 1 net.ipv6.conf.enp4s0f0.disable_ipv6 = 1 net.ipv6.conf.enp4s0f1.disable_ipv6 = 1 EOF cat << EOF >> /etc/sysctl.conf net.ipv4.ip_forward = 0 vm.dirty_background_bytes = 100000000 vm.dirty_bytes = 400000000 EOF # rc.local (CPU, сеть) cat << EOF >> /etc/rc.d/rc.local # cpu performance #modprobe powernow-k8 modprobe coretemp #modprobe acpi-cpufreq x86_energy_perf_policy performance for cpu in /sys/devices/system/cpu/cpu[0-9]* do echo performance > \$cpu/cpufreq/scaling_governor done #network modprobe nf_conntrack_tftp modprobe nf_conntrack_ftp /opt/MegaRAID/storcli/storcli64 /c0 set time=systemtime echo noop > /sys/block/sda/queue/scheduler echo noop > /sys/block/sdb/queue/scheduler echo noop > /sys/block/sdc/queue/scheduler echo noop > /sys/block/sdd/queue/scheduler echo 256 > /sys/block/sda/queue/nr_requests echo 256 > /sys/block/sdb/queue/nr_requests echo 256 > /sys/block/sdc/queue/nr_requests echo 256 > /sys/block/sdd/queue/nr_requests EOF chmod u+x /etc/rc.d/rc.local #systemctl start rc-local # compability 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 # local mkdir /orvs ... # всякая мелочь mkdir /root/bin %end
Загрузка PXE с правильной сетевой карты (не все материнские платы позволяют загрузиться с дополнительной 10-гигибитной сетевой карты).
Ручная настройка:
MakeCompatCore = no CreateCoreBacktrace = yes SaveFullCore = no
OnlyFatalMCE = yes
|
Bog BOS: Установка Linux CentOS 7.1 для служебного сервера (kickstart) |
Последние изменения: |