运维自动化之系统安装

自动化安装系统,cobbler的安装使用

运维自动化之系统安装

Centos启动流程

加电自检—mbr—grub—kernel—rc.sysinit—-rootfs—-/sbin/init

Anaconda:系统安装程序

Gui:图形窗口

Tui:=基于图形库curses的文本窗口

安装程序启动过程

MBR:在光盘中isolinux/boot.cat(二进制文件)

Stage2第二阶段    Isolinux/isolinux.bin(二进制文件)

配置文件:isolinux/isolinux.cfg(启动页面菜单)(^表示快捷键,光标跳转的位置)(timeout=600定义了超时时长)

加载内核:isolinuz/vmlinuz

向内核传递参数:append initrd=initrd.img …

进入启动界面

按tab键,敲rescue  可以直接进入救援模式

按ese键,1、敲rescue,也可进入救援模式

  • 敲linux  askmethod可以选择安装方式:光盘,网络(http或者ftp)
  • Linux  askmethod  ip=192.168.24.111 netmask=255.255.255.0(指定IP地址,临时使用)
  • Linux  text(字符界面安装)

 

装载根文件系统,并启动anaconda

默认启动GUI接口

若是显式指定使用TUI接口:向内核传递text参数即可

(1)按tab键,在后面增加text

(2)按ESC键:boot: linux text

Anaconda安装系统分成三个阶段: (安装向导)

安装前配置阶段

安装过程使用的语言

键盘类型

安装目标存储设备

Basic Storage:本地磁盘

特殊设备:iSCSI

设定主机名

配置网络接口

时区

管理员密码

设定分区方式及MBR的安装位置

创建一个普通用户

选定要安装的程序包

安装阶段

在目标磁盘创建分区,执行格式化操作等

将选定的程序包安装至目标位置

安装bootloader和initramfs

图形模式首次启动

iptables

selinux

core dump

系统安装

启动安装过程一般应位于引导设备,后续的anaconda及其安装用到的程序包等可来自下面几种方式:

本地光盘

本地硬盘

NFS

URL:

http://yum repostory

ftp://yum repostory

手动指定安装源:boot>  linux  askmethod

Anaconda的配置方式:

  • 交互式配置方式
  • 通过读取事先给定的配置文件自动完成配置

按特定的语法给出的配置选项

Kickstart文件

安装boot引导选项:boot:

vtext: 文本安装方式

vaskmethod: 手动指定使用的安装方法

v与网络相关的引导选项:

ip=IPADDR

netmask=MASK

gateway=GW

dns=DNS_SERVER_IP

ifname=NAME:MAC_ADDR

v与远程访问功能相关的引导选项:

vnc

vncpassword=’PASSWORD’

指明kickstart文件的位置: ks=

DVD drive: ks=cdrom:/PATH/TO/KICKSTART_FILE

Hard drive: ks=hd:device:/directory/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

NFS server:ks=nfs:host:/path/to/KICKSTART_FILE

启动紧急救援模式: rescue

官方文档:《Installation Guide》

kickstart文件的格式

在centos7中system-config-kickstart打开没有rpm组,需要将/etc/yum.repos.d/base.repo中的【base】改名为【development】

命令段:指明各种安装前配置,如键盘类型等

程序包段:指明要安装的程序包组或程序包,不安装的程序包等

%packages

@group_name

package

-package

%end

脚本段:

%pre: 安装前脚本

运行环境:运行于安装介质上的微型Linux环境

%post: 安装后脚本

运行环境:安装完成的系统

命令段中的命令:

必备命令

authconfig: 认证方式配置

authconfig –useshadow –passalgo=sha512

bootloader:bootloader的安装位置及相关配置

bootloader –location=mbr –driveorder=sda –

append=”crashkernel=auto rhgb quiet”

keyboard: 设定键盘类型

lang: 语言类型

part: 创建分区

rootpw: 指明root的密码

timezone: 时区

可选命令

install OR upgrade

text: 文本安装界面

network

firewall

selinux

halt

poweroff

reboot

repo

user:安装完成后为系统创建新用户

url: 指明安装源

key –skip 跳过安装号码,适用于rhel版本

kickstart文件创建

创建kickstart文件的方式

Ü直接手动编辑

依据某模板修改

Ü可使用创建工具:system-config-kickstart

依据某模板修改并生成新配置

/root/anaconda-ks.cfg

检查ks文件的语法错误:ksvalidator

ksvalidator /PATH/TO/KICKSTART_FILE

系统光盘中isolinux目录列表

vsolinux.bin:光盘引导程序,在mkisofs的选项中需要明确给出文件路径,这个文件属于SYSLINUX项目

visolinux.cfg:isolinux.bin的配置文件,当光盘启动后(即运行isolinux.bin),会自动去找isolinux.cfg文件

vvesamenu.c32:是光盘启动后的安装图形界面,也属于SYSLINUX项目,menu.c32版本是纯文本的菜单

vMemtest:内存检测,这是一个独立的程序

vsplash.jgp:光盘启动界面的背景图

vvmlinuz是内核映像

vinitrd.img是ramfs (先cpio,再gzip压缩)

制作引导光盘和U盘

创建引导光盘:

Ümkdir –pv /app/myiso

Ücp -r /misc/cd/isolinux/ /app/myiso/

Üvim /app/myiso/isolinux/isolinux.cfg

initrd=initrd.img text ks=cdrom:/myks.cfg

Ücp /root/myks.cfg /app/myiso/

Ümkisofs -R -J -T -v –no-emul-boot –boot-load-size 4 –boot-info-table -V “CentOS 6.9 x86_64 boot” -b isolinux/isolinux.bin -c isolinux/boot.cat -o /root/boot.iso /app/myiso/

注意:以上相对路径都是相对于光盘的根,和工作目录无关

v创建U盘启动盘

Üdd if=/dev/sr0 of=/dev/sdb

注意:制作U盘启动时,可能MBR的512个字节没有,需要用Isohybrid  boot.iso  做格式装换,写入U盘

 

mkisofs选项

v-o 指定映像文件的名称。

v-b 指定在制作可开机光盘时所需的开机映像文件。

v-c 制作可开机光盘时,会将开机映像文件中的 no-eltorito-catalog 全部内容作成一个文件。

v-no-emul-boot 非模拟模式启动。

v-boot-load-size 4 设置载入部分的数量

v-boot-info-table 在启动的图像中现实信息

v-R 或 -rock 使用 Rock RidgeExtensions

v-J 或 -joliet 使用 Joliet 格式的目录与文件名称

v-v 或 -verbose 执行时显示详细的信息

v-T 或 -translation-table 建立文件名的转换表,适用于不支持 Rock Ridge Extensions 的系统上

实验:制作完整版的iso启动

  • 复制光盘内容

cp -rv /misc/cd /app/centos6

  • 将不需要文件删除

find /app/centos6/ -name TRANS.TBL -exec rm {} \;

rm -f /app/centos6/repodata/*

在光盘repodata目录中,有一行没有被压缩的内容,存放着rpm包的信息,不能被删除

Cp /misc/cd/repodata/43d8fd068164b0f042845474d6a22262798b9f0d1f49ad1bf9f95b953089777d-c6-x86_64-comps.xml  /app/centos6/repodata/

  • 重新创建rpm包组信息(生成rpm包的元数据)

createrepo -g repodata/43d8fd068164b0f042845474d6a22262798b9f0d1f49ad1bf9f95b953089777d-c6-x86_64-comps.xml ./

  • 查看repodata元数据是否生成
  • 创建应答文件

修改isolinux/isolinux.cfg

启动路径修改为cdrom

  • 制作为光盘文件

mkisofs -R -J -T -v –no-emul-boot –boot-load-size 4 –boot-info-table -V “CentOS 6.9 x86_64 boot” -b isolinux/isolinux.bin -c isolinux/boot.cat -o /root/centos6ks.iso /app/centos6/

  • 用制作成的光盘启动计算机

DHCP服务(Dynamic Host Configure Protocol)

  • 动态主机配置协议
  • 局域网协议,UDP协议
  • 自动分配IP地址给用户,适用于管理严管理
  • DHCP服务必须基于本地
  • 先到先得的原则
  • DHCP服务端用的端口 UDP 67   ,客户端用UDP   68
  • 关闭dhcp client 端口  killall  -9   dhclient

DHCP实现

Linux DHCP协议的实现程序:dhcp, dnsmasq(dhcp,dns)

vDhcp Server

/usr/sbin/dhcpd

/etc/dhcp/dhcpd.conf –> /etc/rc.d/init.d/dhcpd

/etc/dhcp/dhcpd6.conf–> /etc/rc.d/init.d/dhcpd6

/usr/sbin/dhcrelay

/etc/rc.d/init.d/dhcrelay

dhcp server:67/udp

dhcp client: 68/udp

dhcpv6 client:546/udp

Dhcp client

dhclient

自动获取的IP信息: /var/lib/dhclient

DHCP配置文件

全局配置   subnet 192.168.24.0  netmask 255.255.255.0 {

Range 192.168.24.100  192.168.24.200

Option routers 192.168.24.1(网关)

}

host passacaglia {(将IP地址绑定到MAC)

hardware ethernet 0:0:c0:5d:bd:95;

filename “vmunix.passacaglia”;

server-name “toccata.fugue.com”;

}

地址分配记录  /var/lib/dhcpd/dhcpd.leases

dhcpd.conf示例 option domain-name “magedu.com”;

option domain-name-servers 192.168.0.1,8.8.8.8;

default-lease-time 86400;

max-lease-time 86400;

subnet 192.168.100.0 netmask 255.255.255.0 {

range 192.168.100.1 192.168.100.200;

option routers 192.168.100.1;

}

其它配置选项:

filename: 指明引导文件名称

next-server:提供引导文件的服务器IP地址

v示例: TFTP

filename “pxelinux.0”;

next-server 192.168.100.100;

检查语法

service dhcpd configtest

Pxe:(Preboot Excution Environment) 

TFTP用端口  UDP:69

工作原理

基于C/S架构的网络模式,支持远程主机通过网络从远端服务器下载映像,并由此支持通过网络启动操作

DHCP—TFTP—–HTTP服务

1、Client向PXE Server上的DHCP发送IP地址请求消息,DHCP检测Client是否合法(主要是检测Client的网卡MAC地址),如果合法则返回Client的IP地址,同时将启动文件pxelinux.0的位置信息一并传送给Client

2、Client向PXE Server上的TFTP发送获取pxelinux.0请求消息,TFTP接收到消息之后再向Client发送pxelinux.0大小信息,试探Client是否满意,当TFTP收到Client发回的同意大小信息之后,正式向Client发送pxelinux.0

3、Client执行接收到的pxelinux.0文件

4、Client向TFTP Server发送针对本机的配置信息文件(在TFTP 服务的pxelinux.cfg目录下),TFTP将配置文件发回Client,继而Client根据配置文件执行后续操作。

5、Client向TFTP发送Linux内核请求信息,TFTP接收到消息之后将内核文件发送给Client

6、Client向TFTP发送根文件请求信息,TFTP接收到消息之后返回Linux根文件系统

7、Client启动Linux内核

8、Client下载安装源文件,读取自动化安装脚本

Pxe自动化安装centos7

安装前准备:关闭防火墙和SELINUX,DHCP服务器静态IP

v安装软件包

httpd tftp-server dhcp syslinux system-config-kickstart

v配置文件共享服务:

systemctl enable httpd

systemctl start httpd

mkdir /var/www/html/centos/7

mount /dev/sr0 /var/www/html/centos/7

v准备kickstart文件

/var/www/html/ks/centos7.cfg 注意:权限

v配置tftp服务

systemctl enable tftp.socket

systemctl start tftp.socket

实验:PXE安装centos7

  • 安装并启动服务,dhcp   tftp    http
  • 将启动脚本放置到http服务目录下,并进行修改

cp anaconda-ks.cfg  /var/www/html/ksdir/ks7-desktop.cfg

启动方式:url –url=http://192.168.24.130/centos/7

清空磁盘# Partition clearing information

clearpart –all –initlabel

Zerombr

修改完成检查语法

ksvalidator ks7-desktop.cfg

修改权限

Chmod   644   desktop.cfg

在http服务目录下,新建文件夹,将centos系统光盘,挂载到http服务新建文件夹下

Ks7-desktop.cfg文件

#version=DEVEL

# System authorization information

auth –enableshadow –passalgo=sha512

# Use CDROM installation media

url –url=http://192.168.27.7/centos/7

# Use graphical install

firewall –disabled

selinux –disabled

text

reboot

# Run the Setup Agent on first boot

firstboot –disable

ignoredisk –only-use=sda

# Keyboard layouts

keyboard –vckeymap=us –xlayouts=’us’

# System language

lang en_US.UTF-8

# Network information

network  –bootproto=dhcp –device=ens33 –onboot=on –ipv6=auto –activate

network  –hostname=centos7.magedu.com

 

# Root password

rootpw –iscrypted $1$r9hxtxq.$ZPeZrROP984jGsem5pApC/

# System services

services –disabled=”chronyd”

# System timezone

timezone Asia/Shanghai –isUtc –nontp

# X Window System configuration information

xconfig  –startxonboot

# System bootloader configuration

bootloader –location=mbr –boot-drive=sda

# Partition clearing information

zerombr

clearpart –all –initlabel

# Disk partitioning information

part swap –fstype=”swap” –ondisk=sda –size=2048

part /boot –fstype=”xfs” –ondisk=sda –size=1024

part / –fstype=”xfs” –ondisk=sda –size=51200

part /app –fstype=”xfs” –ondisk=sda –size=20480

eula –agreed

%packages

@base

@core

@dial-up

@fonts

@gnome-desktop

@guest-agents

@guest-desktop-agents

@internet-browser

@multimedia

@network-file-system-client

@networkmanager-submodules

@x11

%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

 

%post(脚本文件)

rm -f /etc/yum.repos.d/*

cat > /etc/yum.repos.d/base.repo <<EOF

[base]

name=base

baseurl=http://172.18.0.7/centos/7

gpgcheck=0

EOF

useradd wang

echo magedu | passwd –stdin wang &> /dev/null

systemctl  set-default  multi-user.target(默认以字符界面安装)必须写

systemctl  disable  initial-setup-graphical.service(关闭自动初始化)

必须写

%end

 

 

  • 配置DHCP

vim /etc/dhcp/dhcpd.conf

option domain-name “example.com”;

default-lease-time 600;

max-lease-time 7200;

subnet 192.168.100.0 netmask 255.255.255.0 {

range 192.168.100.1 192.168.100.200;

filename “pxelinux.0”;

next-server 192.168.100.100;

}

  • 在tftp服务目录/var/lib/tftpboot目录下准备文件

安装软件包:syslinux

Cp /usr/share/syslinux/{menu.c32,pxelinux.0} /var/lib/tftpboot

cp /misc/cd/isolinux/{vmlinuz,initrd.img} /var/lib/tftpboot复制光盘文件

cp /misc/cd/isolinux/isolinux.cfg  /var/lib/tftpboot/pxelinux.cfg/default

修改default文件

 

pxelinux.cfg/default

 

 

 

自动化安装centos6

1、安装服务 http  dhcp   tftp-server

2、启动服务Chkconfig   httpd|dhcpd|tftp|xinted   start

添加为开机启动 chkconfig  httpd|dhcpd|tftp   on

Tftp依赖于xinted服务,所以需要启动xinted 服务

  • 准备dhcp

准备dhcp配置文件cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf

修改/etc/dhcp/dhcpd.conf

subnet 192.168.24.0 netmask 255.255.255.0 {

range 192.168.24.201 192.168.24.240;

option routers 192.168.24.1;

filename “pxelinux.0”

nameserver 192.168.24.129

}

  • 在http服务/var/www/html目录下创建文件夹,挂载光盘,当做系统的安装路径

Mkdir  -pv   /var/www/html/centos/6

mount /dev/sr0 centos/6/

  • 准备应答文件,放在/var/www/html/ksdir/ks6-mini.cfg

[root@centos6 ksdir]#cat ks6-mini.cfg

# Kickstart file automatically generated by anaconda.

#version=DEVEL

install

text

reboot

url –url=http://192.168.24.129/centos/6

lang en_US.UTF-8

keyboard us

network –onboot yes –device eth0 –bootproto dhcp –noipv6

rootpw –iscrypted $1$j8OHDz.p$.EbKkVrfBkNP6gxC5.aYC1

firewall –disabled

authconfig –enableshadow –passalgo=sha512

selinux –disabled

timezone Asia/Shanghai

bootloader –location=mbr –driveorder=sda –append=”crashkernel=auto rhgb quiet”

# 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

zerombr

part /boot –fstype=ext4 –size=1024

part / –fstype=ext4 –size=50000

part /app –fstype=ext4 –size=20000

part swap –size=2048

%packages

@core

@server-policy

@workstation-policy

%end

  • 修改应答文件权限

Chmod   644  ks6-mini.cfg

  • 准备/var/lib/tftpboot/文件夹下的内容

Cp  /usr/share/syslinux/{pxelinux.0,menu.c32}  /var/lib/tftpboot/

Cp  /misc/cd/isolinux/{initrd.img,vmlinuz}  /var/lib/tftpboot/ 内核文件

cp /misc/cd/isolinux/isolinux.cfg pxelinux.cfg/default  菜单目录

cp /misc/cd/isolinux/{}vesamenu.c32,boot.msg,splash.jpg}  /var/lib/tftpboot 菜单图片

 

  • 编辑cfg/default 文件

default vesamenu.c32

#prompt 1

timeout 600

display boot.msg

menu background splash.jpg

menu title PXE Install Centos 6

menu color border 0 #ffffffff #00000000

menu color sel 7 #ffffffff #ff000000

menu color title 0 #ffffffff #00000000

menu color tabmsg 0 #ffffffff #00000000

menu color unsel 0 #ffffffff #00000000

menu color hotsel 0 #ff000000 #ffffffff

menu color hotkey 7 #ffffffff #ff000000

menu color scrollbar 0 #ffffffff #00000000

label linux

menu label ^Install Desktop system 6

kernel vmlinuz

append initrd=initrd.img

label vesa

menu label Install ^Mini System 6

menu default

kernel vmlinuz

append initrd=initrd.img ks=http://192.168.24.129/ksdir/ks6-mini.cfg

label local

menu label Boot from ^local drive

localboot 0xffff

  • 启动虚拟机,自动安装

自动安装centos6 和 7

自动安装6和7 和单独安装6 ,7步骤一样,只是在/pxelinux.cfg/default文件需要进行修改,例如:

default menu.c32

timeout 600

menu background splash.jpg

label Desktop

menu label ^Install Desktop centos  7

kernel 7/vmlinuz

append initrd=7/initrd.img ks=http://192.168.24.130/ksdir/ks7-desktop.cfg

label vesa

menu label Install Mini system 6

kernel 6/vmlinuz

append initrd=6/initrd.img ks=http://192.168.24.130/ksdir/ks6-mini.cfg

label local

menu default(不选择,默认启动)

menu label Boot from ^local drive

localboot 0xffff

menu end

Cobbler

快速网络安装linux操作系统的服务,支持众多的Linux发行版:Red Hat、Fedora、CentOS、Debian、Ubuntu和SuSE,也可以支持网络安装windows

工作流程

client裸机配置了从网络启动后,开机后会广播包请求DHCP服务器(cobbler server)发送其分配好的一个IP

vDHCP服务器(cobbler server)收到请求后发送responese,包括其ip地址

vclient裸机拿到ip后再向cobbler server发送请求OS引导文件的请求

vcobbler server告诉裸机OS引导文件的名字和TFTP server的ip和port

vclient裸机通过上面告知的TFTP server地址通信,下载引导文件

vclient裸机执行执行该引导文件,确定加载信息,选择要安装的os,期间会再向cobbler server请求kickstart文件和os image

vcobbler server发送请求的kickstart和os iamge

vclient裸机加载kickstart文件

vclient裸机接收os image,安装该os image

配置文件和目录说明

配置文件:/etc/cobbler

启动服务: systemctl  start   cobblerd

/etc/cobbler/settings : cobbler 主配置文件

384行:修改为server: 192.168.24.130(IP指向自己)

274行:修改为next_server:192.168.24.130(指向自己)

/etc/cobbler/iso/: iso模板配置文件

/etc/cobbler/pxe: pxe模板文件

/etc/cobbler/power: 电源配置文件

/etc/cobbler/user.conf: web服务授权配置文件

/etc/cobbler/users.digest: web访问的用户名密码配置文件

/etc/cobbler/dhcp.template : dhcp服务器的的配置末班

/etc/cobbler/dnsmasq.template : dns服务器的配置模板

/etc/cobbler/tftpd.template : tftp服务的配置模板

/etc/cobbler/modules.conf : 模块的配置文件

数据目录

/var/lib/cobbler/config/: 用于存放distros,system,profiles 等信息配置文件

/var/lib/cobbler/triggers/: 用于存放用户定义的cobbler命令

/var/lib/cobbler/kickstart/: 默认存放kickstart文件

/var/lib/cobbler/loaders/: 存放各种引导程序

镜像目录

/var/www/cobbler/ks_mirror/: 导入的发行版系统的所有数据

/var/www/cobbler/images/ : 导入发行版的kernel和initrd镜像用于远程网络启动

/var/www/cobbler/repo_mirror/: yum 仓库存储目录

日志目录

/var/log/cobbler/installing: 客户端安装日志

/var/log/cobbler/cobbler.log : cobbler日志

Cobbler命令介绍

Cobbler check  检查当前设置是否有问题

Cobbler  list   列出所有的cobbler元素

Cobbler  report  列出元素的详细信息

Cobbler  sync  同步配置到数据目录,更改配置最好都要执行下

Cobbler   reposync  同步yum 仓库

Cobbler  distro   查看导入的发行版系统信息

Cobbler  distro  remove –name=      可用于删除菜单选项

Cobbler  system  查看添加的系统信息

Cobbler  profile  查看配置信息

Cobbler   profile   add   可用于添加菜单选项

Remove   删除菜单选项,删除关联文件

Rename   改名字

排错步骤

1、/etc/cobbler/settings : cobbler 主配置文件

384行:修改为server: 192.168.24.130(IP指向自己)

274行:修改为next_server:192.168.24.130(指向自己)

  • cobbler get-loaders 执行命令(需要联网下载,不联网需要拷贝pxelinux.0 和menu.c32文件)
  • 生成加密口令

openssl passwd -1

将生成的加密口令复制到/etc/cobbler/settings文件中,如下

default_password_crypted

$1$7ijO6LEu$zFB/mUJq7XIYjxK3wLb6m/“将引号中口令替换(centos)

Manage_dhcp : 1

Manage_tftpd :1

Pxe_just_once :1 下次重启不在重装系统,不会覆盖系统

用Cobbler管理dhcp

1、修改/etc/cobbler/settings文件中manage_dhcp: 1(将0改为1)

2、按照cobbler提供的模板修改dhcp文件

Vim  /etc/cobbler/dhcp.template

  • 重启cobblerd 服务
  • 同步  cobbler  sync
  • 可以看到已生成conf文件

生成yum源

  • 导入光盘做成yum源

挂载光盘 mount  /dev/sr0  /mnt/centos7

  • cobbler import –path=/mnt/centos7/ –name=centos-7.4 –arch=x86_64

Import  :导入

–path:导入的路径

–name:导入之后的名字

–arch:cpu架构

放置目录: /var/www/cobbler/ks_mirror目录中,文件名两位 –name+–arch

应答文件关联

将自己的应答文件关联到cobbler,当cobbler安装系统的时候用我们自己的应答文件:设置如下

  • /var/lib/tftpboot/pxelinux.cfg/default 改目录下放置启动时菜单文件

用命令 : cobbler  profile  list  可以查看菜单选项

  • 将自己的应答文件拷贝到  /var/lib/cobbler/kickstarts/ 目录下

修改自己的应答文件:

修改安装路径:url –url=$tree

增加菜单名称:cobbler profile add –name=centos7-desktop –distro=centos-7.4-x86_64 –kickstart=/var/lib/cobbler/kickstarts/ks7-desktop.cfg

Cobbler  profile  add :命令加入

–name : 增加入菜单的名字

–distro : 菜单对应的yum安装源

–kickstart :应答文件的放置路径

  • Cobbler  profile  list  可以看到已经加入启动菜单

 

在centos6.9上安装cobbler

  • 安装 httpd ,tftp-server  ,dhcp  ,syslinux
  • 启动服务

Service  httpd|dhcpd |tftpd(xinetd)  start

Tftp依赖于 xinetd 服务,

Chkconfig   tftp  on

Service  xinetd  restart

  • 关闭SELINUX  和防火墙
  • Yum install cobbler cobbler-server
  • Service  cobblerd  start
  • Cobbler check
  • vim /etc/cobbler/settings

server: 192.168.24.129

next_server: 192.168.24.129

  • openssl  passwd  -1 (centos)

将生成口令添加到 /etc/cobbler/settings

default_password_crypted: “$1$GMAJjvpy$E2L30JJH.0BbPyPWKgdjc1”

  • cobbler get-loaders(执行命令下载文件)
  • Cobbler  sync (同步)
  • 配置DHCP

subnet 192.168.24.0 netmask 255.255.255.0 {

range 192.168.24.50 192.168.24.99;

option routers 192.168.24.1;

filename “pxelinux.0”;

next-server 192.168.24.129;

}

  • 重启DHCP服务
  • 将光盘内容导入
  • 将应答文件导入/var/lib/cobbler/kickstarts/目录下,并且修改启动方式  url   –url=$tree
  • 将启动菜单和应答文件和yum源做关联

Cobbler profile add  –name=Centos-6.9-Desktop(启动菜单名字)  –distro=Centos-6.9-x86_6(关联yum源)  –kickstart=/var/lib/cobbler/kickstarts/ks-6-desktop.cfg(应答文件绝对路径)

安装cobbler的WEB界面

  • 给cobbler加管理员:

htdigest -c /etc/cobbler/users.digest Cobbler cobbleradmin

Cobbleradmin管理员登录名字

Cat  /etc/cobbler/users.digest 看到账户已经覆盖原有内容

  • 修改cobbler的验证方式

module = authn_pam

创建cobbler账号

Useradd  -s  /sbin/nologin  cobbleradm

vim /etc/cobbler/users.conf(pam模块的配置文件,验证方法设置)

[admins]

 admin = “cobbleradm”  将创建的用户添加

cobbler = “”

 

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/91142

(0)
燕李鹏燕李鹏
上一篇 2018-01-15
下一篇 2018-01-15

相关推荐

  • bash脚本入门之变量、运算、条件测试

    概述     脚本编程能力是作为运维工程师不可或缺的一项基本技能,各种系统的运维,如果完全靠命令行一条一条命令来执行,工作效率可想而知,而脚本却可以将完成一定功能的各个命令依据一定的流程控制,逻辑判断去完成某种功能,提升工作效率。本章就简单介绍一些linux下的bash脚本编程的基础入门知识,具体内容分为以下几个方面:…

    Linux干货 2016-08-12
  • 8.10作业

    1、编写脚本/root/bin/systeminfo.sh,显示当前主机系统信息,包括主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小。 echo  "your host is `hostname` " echo  "ip address is `ifconfig | sed -n…

    Linux干货 2016-08-15
  • 01

    0101

    Linux干货 2016-08-08
  • 面向对象的实例方法,类方法和静态方法

    类方法和静态方法 普通函数 class Person: def normal_method(): print(‘normal’) Person.normal_method() # Person().normal_method() print(Person.__dict__) Person.normal_method()可以,是因为这个方法只是被Person这…

    2017-11-11
  • 高级文件系统管理的相关理解

    1.RAID是什么     RAID:Redundant Arrays of Inexpensive Disks,是指由多个磁盘合成一个阵列,来提供更好的性能,冗余或者两者都提供。在生产生活中,通常一个硬盘往往不能满足我们的存储需要,这是就需要通过RAID磁盘阵列来对磁盘进行“扩容”,来满足我们的日常需要,相比较于单一…

    Linux干货 2016-08-30
  • N25-第五周

    一.显示当前系统上root、fedora或user1用户的默认shell;    [root@localhost ~]# useradd fedora && useradd user1 && grep "^\(root\|fedora\|user1\)" /etc/passwd | cu…

    Linux干货 2017-01-09