• Linux服务之批量部署篇


    批量部署步骤:

    1.检查环境

    getenforce               #检查内核防火墙是否关闭

    systemctl status firewalld       #检查firewalld是否开启

    2.配置yum

    mkdir /iso

    mount /dev/cdrom /iso

    ls /iso/

    cd /etc/yum.repos.d/

    rm -rf ./*.repo

    vim suibian.repo

    #######################

    [suibian]

    name=suibianle iso

    baseurl=file:///iso

    enabled=1

    gpgcheck=0

    #######################

    yum clean all

    yum makecache

    pxe工作示意图:

    3.安装dhcp

    #给批量装机的新机器分配IP

    yum -y install dhcp

    cd /etc/dhcp/

    cat dhcpd.conf

    cat /usr/share/doc/dhcp*/dhcpd.conf.example |egrep -v '^#' |egrep -v '^$' > dhcpd.conf

    vim dhcpd.conf

    #############################

    option domain-name "example.org";                       

    option domain-name-servers ns1.example.org, ns2.example.org;

    default-lease-time 600;

    max-lease-time 7200;

    log-facility local7;                         #以上为系统默认数值,需保留

    subnet 192.168.10.0 netmask 255.255.255.0 { #自己的子网和掩码

      range 192.168.10.180 192.168.10.200;         #自动分配的IP范围

      option routers 192.168.10.105;               #路由,写本机IP

      filename "pxelinux.0";                     #安装引导文件

      next-server 192.168.10.105;                   #去哪找引导文件,本机IP

    }

    ################################

    systemctl start dhcpd      #启动DHCP服务

    systemctl enable dhcpd

    firewall-cmd --add-port=67/udp        #关闭对应端口的防火墙

    firewall-cmd --add-port=67/udp --permanent

    4.安装xinetdTFTP

    xinetdextended internet daemon)是新一代的网络守护进程服务程序,又叫超级Internet服务器,常用来管理多种轻量级Internet服务。

    使用xinetd启动守护进程:

    原则上任何系统服务都可以使用xinetd,然而最适合的应该是那些常用的网络服务,同时,这个服务的请求数目和频繁程度不会太高。像DNSApache就不适合采用这种方式,而像FTPTelnetSSH等就适合使用xinetd模式,系统默认使用xinetd的服务可以分为如下几类。

    标准Internet服务:telnetftp

    信息服务:fingernetstatsystat

    邮件服务:imapimapspop2pop3pops

    RPC服务:rquotadrstatdrusersdspraydwalld

    BSD服务:comsatexecloginntalkshelltalk

    内部服务:chargendaytimeechoserversservicestime

    安全服务:irc

    其他服务:nametftpuucp

    具体可以使用xinetd的服务在/etc/services文件中指出。

    TFTPTrivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。端口号为69。协议为UDPTFTP server 是一个多线程TFTP服务器,允许任何数量的客户端连接同时进行。

    yum -y install tftp-server xinetd

    vim /etc/xinetd.d/tftp

    ####################

    service tftp

    {

            socket_type            = dgram

            protocol           = udp

            wait                 = yes

            user                  = root

            server        = /usr/sbin/in.tftpd

            server_args             = -s /tftpboot        #指定tftp服务的目录-s指定为可以创建文件

            disable             = no              #启用tftp服务

            per_source              = 11

            cps                   = 100 2

            flags                 = IPv4

    }

    ########################

    mkdir /tftpboot         #创建tftp服务的传输目录

    systemctl restart xinetd         #启动xinetd

    systemctl enable xinetd

    firewall-cmd --add-port=69/udp

    firewall-cmd --add-port=69/udp --permanent

    5.安装httpd

    httpd是一个wed服务器,用来创建网站

    syslinux是一个功能强大的引导加载程序,而且兼容各种介质。它的目的是简化首次安装Linux的时间,并建立修护或其它特殊用途的启动盘。它的安装很简单,一旦安装syslinux好之后,sysLinux启动盘就可以引导各种基于DOS的工具,以及MS-DOS/Windows或者任何其它操作系统。不仅支持采用BIOS结构的主板,而且从6.0版也开始支持采用EFI结构的新型主板。

    yum -y install httpd syslinux

    cd /var/www/html/

    mkdir iso

    mount /dev/cdrom /var/www/html/iso/              #将本地系统光盘挂载到Apache网站上

    vim /etc/fstab

    #####################

    /dev/sr0 /var/www/html/iso  iso9660  defaults 0 0     #永久挂载

    ######################

    cd iso/isolinux/         #切换到网站文件目录里的Linux系统目录下

    cp vmlinuz /tftpboot/       #将系统内核拷贝到tftp传输目录下

    cp initrd.img /tftpboot/    #initrd文件拷贝到tftp传输目录下

    mkdir /tftpboot/pxelinux.cfg          #创建配置文件存放目录,名称最好固定写成pxelinux.cfg

    cp isolinux.cfg /tftpboot/pxelinux.cfg/default

    cp /usr/share/syslinux/pxelinux.0 /tftpboot/

    cd /tftpboot/

    ls

    cd pxelinux.cfg/

    vim default        #编辑isolinux.cfg文件

    #########################

    default ks          #更改默认程序段名

    label ks              #配置默认的引导程序

      MENU LABEL Install CentOS 7 x86_64

      KERNEL vmlinuz

      APPEND initrd=initrd.img label ks

      menu label ^Install CentOS 7

      kernel vmlinuz

      append initrd=initrd.img method=http://192.168.10.105/iso ks=http://192.168.10.105/ks.cfg devfs=nomount

    ###########################

    文件简介:

    1isolinux

    SYSLINUXISOLINUX制作启动U盘或光盘 SYSLINUX/ISOLINUX 是专门用来引导可移动介质的轻量级引导程序,因为这样的介质通常不会固定只针对一种硬件。ISOLINUX其实是一个简单的Linux系统

    2vmlinuz

    vmlinuz可引导的、压缩的内核。“vm”代表 Virtual Memory”。Linux 支持虚拟内存,不像老的操作系统比如DOS640KB内存的限制。Linux能够使用硬盘空间作为虚拟内存,因此得名“vm”。vmlinuz是可执行的Linux内核,它位于/boot/vmlinuz,它一般是一个软链接。

    3initrd.img

    Linux初始RAM磁盘(initrd)是在系统引导过程中挂载的一个临时根文件系统,用来支持两阶段的引导过程。initrd文件中包含了各种可执行程序和驱动程序,它们可以用来挂载实际的根文件系统,然后再将这个 initrd RAM磁盘卸载,并释放内存。在很多嵌入式Linux系统中,initrd 就是最终的根文件系统。

    4isolinux.cfg

    ISOLINUX启动后,默认会去读出cd光盘根目录的一个isolinux.cfg 文件,用来指定的内核镜像位置等。

    5pxelinux.0

    编辑pxelinux.0的配置文件,以使pxelinux可以正确载入Red Hat Linux安装程序。对于每一个要被安装的Red Hat Linux版本,都需要执行一次该操作。 启动镜像pxelinux.0文件在执行过程中,会读取配置文件以确定它应该载入什么Linux内核文件来运行。所有的配置文件都放在启动服务器的 /tftpboot/pxelinux.cfg/目录下。pxelinux.0根据一定的规则来搜索合适的配置文件名

    6.编辑ks文件

    anaconda-ks.cfg这个文件记录的是安装系统时的一些基本信息

    这个配置文件经修改之后可以用于雷同环境下,使用Kickstart来自动安装大量同样的操作系统,可以把这个文件经修改之后放入U盘,命名为ks.cfg

    在装系统时,出现boot界面时就可以输入:

    linux ks=/dev/sdb:/yourpath/ks.cfg  #ks的路径视你的U盘的为哪个盘而定

    也可以放入nfs服务器,通过网络安装,出现boot界面时就可以输入:

    linux ks=nfs:servername:/yourpath/ks.cfg

    cd

    cp anaconda-ks.cfg /var/www/html/ks.cfg         #ks文件放入httpd工作目录下

    cd /var/www/html

    vim ks.cfg

    ################################

    #version=DEVEL

    # System authorization information     #系统授权信息

    auth --enableshadow --passalgo=sha512

    # Use CDROM installation media       #使用哪种安装方式

    install

    url --url="http://192.168.10.105/iso"

    # Use graphical install

    graphical

    # Run the Setup Agent on first boot

    firstboot --enable

    ignoredisk --only-use=sda

    # Keyboard layouts

    keyboard --vckeymap=cn --xlayouts='cn'

    # System language

    lang zh_CN.UTF-8

    # Network information    #网络配置信息

    network  --bootproto=dhcp --device=ens33 --onboot=off --ipv6=auto --no-activate

    network  --hostname=localhost.localdomain

    # Root password      #root密码

    rootpw --iscrypted $6$9oIvP8ebYe9.bidH$zDjlVMJdPGnWttUXbHTrSUu0upERGQV5OBEgcv9vqh36Dnmw/OJ132AkmiUr9dt/ExfPt3mtlsm1Ej.A8.dF60

    # System services

    services --enabled="chronyd"

    # System timezone   #系统时区

    timezone Asia/Shanghai --isUtc

    # System bootloader configuration      #启动引导分区

    bootloader --location=mbr --boot-drive=sda

    autopart --type=lvm

    # Partition clearing information    #磁盘分区信息

    clearpart --all --initlabel --drives=sda

    %packages        #安装是选择的软件包

    @^minimal

    @core

    chrony

    %end

    %addon com_redhat_kdump --disable --reserve-mb='auto'

    %end

    %anaconda

    pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty

    pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok

    pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty

    %end

    ########################

    chmod a+r ks.cfg            #ks文件增加所有人可读权限

    systemctl enable httpd   #启动Apache服务

    systemctl restart dhcpd xinetd httpd

    netstat -anp|grep httpd

    firewall-cmd --add-port=80/tcp  #添加防火墙端口

    firewall-cmd --add-port=80/tcp --permanent

  • 相关阅读:
    ASP.NET MVC Controller向View传值的几种方式
    ASP.NET MVC View向Controller提交数据
    ASP.NET MVC 让@Html.DropDownList显示默认值
    Sublime Cssrem rem自动转换
    Sublime install package插件安装
    HTML+CSS 清除浮动三种方式
    Sublime View In Browser
    Sublime html <head>自动补全
    Ubuntu编译源码为deb
    Pycharm安装激活
  • 原文地址:https://www.cnblogs.com/renyz/p/11294090.html
Copyright © 2020-2023  润新知