運維自動化之系統安裝
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.www58058.com/91141