美文网首页
CentOS系统自动化安装无人值守配置部署

CentOS系统自动化安装无人值守配置部署

作者: SRE1 | 来源:发表于2019-05-05 19:24 被阅读0次

    CentOS系统安装演示:
    CentOS 6.7 x86_64:minimal install

    安装引导选项:

    ks:指明kickstart文件的位置;

    ks=
    DVD drive: ks=cdrom:/PATH/TO/KICKSTART_FILE
    Hard Drive: ks=hd:/DEVICE/PATH/TO/KICKSTART_FILE
    HTTP Server: ks=http://HOST[:PORT]/PATH/TO/KICKSTART_FILE
    FTP Server: ks=ftp://HOST[:PORT]/PATH/TO/KICKSTART_FILE
    HTTPS Server: ks=https://HOST[:PORT]/PATH/TO/KICKSTART_FILE

    CentOS 6 中的 anaconda-ks.cfg

    [root@CentOS6 ~]# cat anaconda-ks.cfg 
    # Kickstart file automatically generated by anaconda.
    
    #version=DEVEL
    install # 安装
    url --url=  # 指明安装时使用的仓库 
    lang en_US.UTF-8  # 指明使用的语言
    keyboard us       # 指明使用的键盘
    network --onboot yes --device eth0 --bootproto dhcp --noipv6 # 配置网络接口
    rootpw  --iscrypted $6$CGsqab6d$Cd.PnnWtlL5XZAyr9J2zoMqyJH1QodcDp1pQp0uZ1f0Cq4eq9.TMkSQU6IfpvYZEYc32.lmF0lKuQwavnC49a0  # 指明root密码 
    # Reboot after installation
    reboot # 安装完成之后的行为
    firewall --disabled  # 防火墙
    authconfig --useshadow  --passalgo=sha512  # 认证方式配置
    selinux --disabled  # SElinux
    timezone Asia/Shanghai # 时区
    bootloader --location=mbr --driveorder=sda --append="crashkernel=auto crashkernel=auto rhgb rhgb quiet quiet"  #
    # Clear the Master Boot Record
    #zerombr
    # The following is the partition information you requested
    # Note that any partitions you deleted are not expressed
    # here so unless you clear all partitions first, this is
    # not guaranteed to work
    #clearpart --all
    
    #part /boot --fstype=ext4 --size=200
    #part pv.008002 --size=61440
    
    #volgroup vg0 --pesize=8192 pv.008002
    #logvol / --fstype=ext4 --name=root --vgname=vg0 --size=20480
    #logvol swap --name=swap --vgname=vg0 --size=2048
    #logvol /usr --fstype=ext4 --name=usr --vgname=vg0 --size=10240
    #logvol /var --fstype=ext4 --name=var --vgname=vg0 --size=20480
    
    repo --name="CentOS"  --baseurl=http://10.1.0.1/cobbler/ks_mirror/6/ --cost=100
    

    kickstart文件的格式

    命令段:

    指定各种安装前配置选项,如键盘类型等;

    必备命令:

    authconfig:认证方式配置
    authconfig --enableshadow --passalgo=sha512
    bootloader:定义bootloader的安装位置及相关配置
    bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"
    keyboard:设置键盘类型
    keyboard us
    lang:语言类型
    lang zh_CN.UTF-8
    part:分区布局;
    part /boot --fstype=ext4 --size=500
    part pv.008002 --size=51200
    rootpw:管理员密码
    timezone:时区
    timezone Asia/Shanghai

    补充:分区相关的其它指令
    clearpart:清除分区
    clearpart --none --drives=sda:清空磁盘分区;
    volgroup:创建卷组
    volgroup myvg --pesize=4096 pv.008002
    logvol:创建逻辑卷
    logvol /home --fstype=ext4 --name=lv_home --vgname=myvg --size=5120

    生成加密密码的方式:

    [root@promote ~]# openssl  passwd  -1  -salt `openssl rand -hex 4`
    passwd:
    
    可选命令:

    install OR upgrade:安装或升级;
    text:安装界面类型,text为tui,默认为GUI
    network:配置网络接口
    network --onboot yes --device eth0 --bootproto dhcp --noipv6
    firewall:防火墙
    firewall --disabled
    selinux:SELinux
    selinux --disabled
    halt、poweroff或reboot:安装完成之后的行为;
    repo:指明安装时使用的repository;
    repo --name="CentOS" --baseurl=cdrom:sr0 --cost=100
    url: 指明安装时使用的repository,但为url格式;
    url --url=http://172.16.0.1/cobbler/ks_mirror/CentOS-6.7-x86_64/

    参考官方文档:《Installation Guide》

    系统安装完成之后禁用防火墙:

    CentOS 6:
    service iptables stop
    chkconfig iptables off

    CentOS 7:
    systemctl stop firewalld.service
    systemctl disable firewalld.service

    系统安装完成后禁用SELinux:

    编辑/etc/sysconfig/selinux或/etc/selinux/config文件,修改SELINUX参数的值为下面其中之一:
    enforcing(强制执行)
    permissive(暂时禁用)
    disabled(彻底禁用)

    立即生效:
    getenforce
    setenforce 0

    [root@promote ~]# getenforce
    Enforcing
    
    程序包段:

    指明要安装程序包,以及包组,也包括不安装的程序包;
    %packages:程序包开始标志
    @group_name:安装的包组名
    package:指明安装的包
    -package:指明不安装的包,但时依赖关系可能会装
    %end:程序包结束标志

    脚本段:
    • %pre:安装前脚本
      运行环境:运行安装介质上的微型Linux系统环境;
    • %post:安装后脚本
      运行环境:安装完成的系统;

    定制kickstart文件:

    直接手动编辑
    依据某模板修改

    使用创建工具
    yum install system-config-kickstart
    system-config-kickstart

    检查语法错误:
    ksvalidator

    基本配置信息
    安装方法
    引导程序安装
    分区信息
    网络配置
    验证
    防火墙和SELinux
    显示配置
    软件包选择 安装前脚本和安装后脚本

    上述界面图参考:https://www.jianshu.com/p/097ca9decae9

    制作光盘镜像:

    1.准备新iso镜像目录myiso并拷贝原iso镜像里自带的isolinux(包含有BootLoader、kernel以及initrd的文件
    [root@promote ~]# mount /dev/cdrom /media/cdrom/
    mount: /dev/sr0 is write-protected, mounting read-only
    [root@promote ~]# mkdir /myiso
    [root@promote ~]# cp -r /media/cdrom/isolinux/ /myiso/
    
    2.为拷贝的isolinux目录文件添加权限
    [root@promote isolinux]# chmod +w *
    [root@promote isolinux]# ll
    total 28614
    -rw-r--r--. 1 root root     2048 Oct 10 08:06 boot.cat
    -rw-r--r--. 1 root root       84 Oct 10 08:06 boot.msg
    -rw-r--r--. 1 root root      293 Oct 10 08:06 grub.conf
    -rw-r--r--. 1 root root 43372552 Oct 10 08:06 initrd.img
    -rw-r--r--. 1 root root    24576 Oct 10 08:06 isolinux.bin
    -rw-r--r--. 1 root root     3068 Oct 10 08:06 isolinux.cfg
    -rw-r--r--. 1 root root   190896 Oct 10 08:06 memtest
    -rw-r--r--. 1 root root      186 Oct 10 08:06 splash.png
    -rw-r--r--. 1 root root     2215 Oct 10 08:06 TRANS.TBL
    -rw-r--r--. 1 root root   152976 Oct 10 08:06 vesamenu.c32
    -rwxr-xr-x. 1 root root  5392080 Oct 10 08:06 vmlinuz
    
    3.拷贝制作的ks文件到新目录
    [root@promote ~]# cp ks.cfg /myiso/
    [root@promote ~]# ls /myiso/
    isolinux  ks.cfg
    
    4.制作光盘镜像
    [root@promote ~]# mkisofs -R -J -T -v --no-emul-boot --boot-load-size 4 --boot-info-table -V "CentOS 7 x86_64 boot" -c isolinux/boot.cat -b isolinux/isolinux.bin -o /root/boot.iso /myiso/
    I: -input-charset not specified, using utf-8 (detected in locale settings)
    genisoimage 1.1.11 (Linux)
    Scanning /myiso/
    Scanning /myiso/isolinux
    Excluded by match: /myiso/isolinux/boot.cat
    ……………………………………….
    [root@promote ~]# ls
    11               Documents                 ks.cfg    Templates
    anaconda-ks.cfg  Downloads                 Music     untilping.sh
    boot.iso         index.php?page=downloads  Pictures  Videos
    Desktop          initial-setup-ks.cfg      Public    whileping.sh
    
    使用xshell上传iso镜像到本地桌面
    root@promote ~]# sz boot.iso
    

    相关文章

      网友评论

          本文标题:CentOS系统自动化安装无人值守配置部署

          本文链接:https://www.haomeiwen.com/subject/qoohoqtx.html