标签:escrow system city figure tar guide ble pam ldap
<!doctype html>
# 上传CentOS的镜像到Cobbler server端
$ mkdir /mnt/centos7
$ mount CentOS-7-x86_64-DVD-1804.iso /mnt/centos7/
$ cobbler import --path=/mnt/centos7 --arch=x86_64 --name=centos7
导入完镜像之后会生成一个distros和默认的profile(将distros和ks绑定在一起就相当于是一个profiles),profiles展示在安装选择栏
可以通过cobbler profile report查看当前profile的信息。
在上述中我们可以看到与之绑定的ks文件,我们可以去修改这个ks文件的内容,也可以自己编辑一个新的ks文件,通过去
$ cobbler profile edit --name="centos7-x86_64" \
--kickstart="/var/lib/cobbler/kickstarts/centos7.ks"
修改绑定的ks文件
也可以创建一个新的profile绑定一个新的ks文件,通过定制不同的ks文件,从而实现不同的profile定制不同的机器。
$ cobbler profile add --name="centos7-web" \
--kickstart="/var/lib/cobbler/kickstarts/centos7-web.ks" \
--kopts="net.ifnames=0 biosdevname=0" \
--distro="centos7-x86_64"
两个不同的profile显示在装机界面效果如下:
至此就可以根据自定义的选择栏去选择,但是要实现完全的自动化,应该也不需要我们手动选择。我们可以根据MAC地址去实现。
# 前面DHCP获取了动态IP,但是我们想要设置他固定IP,并且是在固定的其他网段,则可以在system加上ip-address之后的一些列参数
$ cobbler system add \
--name="web" \
--profile="centos7-web" \
--interface="eth0" \
--mac="00:0C:29:C7:96:77" \
--hostname="web" \
--ip-address="10.0.0.10" \
--subnet="255.0.0.0" \
--gateway="10.0.0.1" \
--name-servers="114.114.114.114 8.8.8.8" \
--static="1" \
--netboot-enabled="Y"
?
# 查看system是否生成
$ cobbler system list
至此,我们打开机器,识别到mac地址,则会完全自动的安装机器。
特别说明:指定固定IP时,必须指定的IP要可以访问到cobber的IP ,否则获取不到安装源,就会报错
如果有多台机器则先获取他们的mac地址就可以实现机器的安装,脚本化实现
配置文件:
00:50:56:24:C8:14 centos7 eth0 web-1 web-1 192.168.0.111 255.255.255.0 192.168.0.1 114.114.114.114 1 Y
00:50:56:2F:FC:9B centos7 eth0 web-2 web-2 192.168.0.112 255.255.255.0 192.168.0.1 8.8.8.8 1 Y
脚本
while read line
do
# 获取变量值
mac=`echo $line | awk ‘{print $1}‘`
profile=`echo $line | awk ‘{print $2}‘`
interface=`echo $line | awk ‘{print $3}‘`
name=`echo $line | awk ‘{print $4}‘`
hostname=`echo $line | awk ‘{print $5}‘`
ip=`echo $line | awk ‘{print $6}‘`
subnet=`echo $line | awk ‘{print $7}‘`
gateway=`echo $line | awk ‘{print $8}‘`
dns=`echo $line | awk ‘{print $9}‘`
static=`echo $line | awk ‘{print $10}‘`
onboot=`echo $line | awk ‘{print $11}‘`
?
# 赋值执行
cobbler system add \
--name="${name}" \
--profile="${profile}" \
--interface="${interface}" \
--mac="${mac}" \
--hostname="${hostname}" \
--ip-address="${ip}" \
--subnet="${subnet}" \
--name-servers="${dns}" \
--static="${static}" \
--netboot-enabled="${onboot}"
done < ./menu_host.txt
从上述report中可以看到,导入系统相关配置文件路径为/var/lib/cobbler/kickstarts/sample_end.ks,可以指定其他文件,也可以直接修改该文件
参考实例 ks 文件
# This kickstart file should only be used with EL > 5 and/or Fedora > 7.
# For older versions please use the sample.ks kickstart file.
?
#platform=x86, AMD64, or Intel EM64T
# System authorization information
auth --useshadow --enablemd5
# System bootloader configuration
bootloader --location=mbr
# Partition clearing information
clearpart --all --initlabel
# Use text mode install
text
# Firewall configuration
firewall --disabled
# Run the Setup Agent on first boot
firstboot --disable
# System keyboard
keyboard us
# System language
lang en_US
# Use network installation
url --url=$tree
# If any cobbler repo definitions were referenced in the kickstart profile, include them here.
$yum_repo_stanza
# Network information
$SNIPPET(‘network_config‘)
# Reboot after installation
reboot
?
#Root password
# perl -e ‘print crypt("redhat",q($1$password)),"\n"‘ 设置加密的密码,也可以直接使用明文
rootpw --iscrypted $default_password_crypted
# SELinux configuration
selinux --disabled
# Do not configure the X Window System
skipx
# System timezone
timezone Asia/Shanghai
# Install OS instead of upgrade
install
# Clear the Master Boot Record
zerombr
# Allow anaconda to partition the system as needed
autopart
?
%pre
$SNIPPET(‘log_ks_pre‘)
$SNIPPET(‘kickstart_start‘)
$SNIPPET(‘pre_install_network_config‘)
# Enable installation monitoring
$SNIPPET(‘pre_anamon‘)
%end
?
%packages
$SNIPPET(‘func_install_if_enabled‘)
%end
?
%post --nochroot
$SNIPPET(‘log_ks_post_nochroot‘)
%end
?
%post
$SNIPPET(‘log_ks_post‘)
# Start yum configuration
$yum_config_stanza
# End yum configuration
$SNIPPET(‘post_install_kernel_options‘)
$SNIPPET(‘post_install_network_config‘)
$SNIPPET(‘func_register_if_enabled‘)
$SNIPPET(‘download_config_files‘)
$SNIPPET(‘koan_environment‘)
$SNIPPET(‘redhat_register‘)
$SNIPPET(‘cobbler_register‘)
# Enable post-install boot notification
$SNIPPET(‘post_anamon‘)
# Start final steps
$SNIPPET(‘kickstart_done‘)
# End final steps
%end
配置文件中使用$tree是在导入镜像时会自动生成,我们可以通过cobbler distro report
看到tree的值
自动生成分区: root(/)分区(1GB或者更大),该架构的swap分区和正确的/boot 分区。在有足够空间的驱动器(50GB和更大的驱动器)中还会生成/home分区
autopart 选项不能与 part /partition,raid、logvol 或者volgroup在同样的Kickstart文件中一同使用。
--type= - 选择您要使用的预定义的自动分区方案之一。
--fstype= - 选择可用文件系统类型之一。可用值为ext2ext3ext4xfs,默认是xfs。
--nolvm - 不使用LVM或者Btrfs进行自动分区。
--encrypted - 加密所有分区。等同于在手动图形安装过程中的起始分区页面选中加密分区复选框
--passphrase= - 为所有加密设备提供默认的系统范围内的密码短语
--escrowcert= URL_of_X.509_certificate - 将所有加密卷数据加密密码保存在/root中,使用来自 URL_of_X.509_certificate 指定的URL的X.509证书加密。每个加密卷的密码作为单独的文件保存。只有指定--encrypted时这个选项才有意义。
--backuppassphrase - 为每个加密卷添加随机生成的密码短语。将这些密码保存在/root 目录下的独立文件,使用 --escrowcert指定的X.509证书加密。只有指定 --escrowcert 时,这个选项才有意义。
--cipher= - 如果指定Anaconda 默认 aes-xts-plain64 无法满足需求,则可以指定要使用的加密类型。这个选项必须与 --encrypted 选项一同使用,单独使用无效
Kickstart安装会跳过不必要的页面。这个选项可让安装程序浏览所有页面,并摘要显示每个页面。部署系统时不应使用这个选项,因为它会干扰软件包安装。
/tmp/anaconda-screenshots
中,并在安装完成后保存在 /root/anaconda-screenshots
中。标签:escrow system city figure tar guide ble pam ldap
原文地址:https://www.cnblogs.com/xll970105/p/12409167.html