1. 程式人生 > >Centos7.2 kickstart批量裝機

Centos7.2 kickstart批量裝機

批量 pxe 裝機

本次試用Centos7.2作為PXE服務端批量安裝操作系統。之前嘗試過使用centos6.x做為服務端批量安裝操作系統。本人表示Centos7.2批量裝機“坑”不少最終百度無果無奈去google最終完成此實驗。故此做此博客來Mark下本次實驗過程。

查看操作系統版本並且確定selinux和iptables已經關閉

[[email protected] ~]# cat /etc/redhat-release 
CentOS Linux release 7.2.1511 (Core) 
[[email protected] ~]# getenforce 
Disabled
[[email protected]
/* */ ~]# iptables -L Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination Chain nova-api-FORWARD (0 references) target prot opt source destination Chain nova-api-INPUT (0 references) target prot opt source destination Chain nova-api-OUTPUT (0 references) target prot opt source destination Chain nova-api-local (0 references) target prot opt source destination Chain nova-filter-top (0 references) target prot opt source destination [[email protected]
/* */ ~]#

安裝相關法服務

[[email protected] ~]# yum install dhcp tftp tftp-server syslinux httpd xinetd -y


1、首先配置dhcpd服務器
[[email protected] ~]# egrep -v "^$|^#" /etc/dhcp/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 10.1.1.0  netmask 255.255.255.0 {
}
subnet 10.1.1.0 netmask 255.255.255.0 {
  range 10.1.1.26 10.1.1.200;
  option domain-name-servers ns1.internal.example.org;
  option domain-name "internal.example.org";
  option routers 10.1.1.100;
  default-lease-time 600;
  max-lease-time 7200;
  next-server 10.1.1.100;   ##tftp的ip地址
  filename "/pxelinux.0";   ##tftp的應答文件
}
指定dhcp服務監聽到哪塊網卡
[[email protected]
/* */ ~]# grep ^[^#] /etc/sysconfig/dhcpd DHCPDARGS=eth1 # 指定監聽網卡 啟動dhcpd服務 [[email protected] ~]# systemctl start dhcpd [[email protected] ~]# 2、配置tftpfp服務 [[email protected] ~]# cat /etc/xinetd.d/tftp # default: off # description: The tftp server serves files using the trivial file transfer # protocol. The tftp protocol is often used to boot diskless # workstations, download configuration files to network-aware printers, # and to start the installation process for some operating systems. service tftp { socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -s /var/lib/tftpboot ##默認的放置配置文件的位置 disable = no ##把yes改為no per_source = 11 cps = 100 2 flags = IPv4 } [[email protected] ~]#

拷貝必須的網絡引導文件到tftp的目錄

[[email protected] ~]# cp -v /usr/share/syslinux/controller01linux.0 /var/lib/tftpboot
[[email protected] ~]# cp -v /usr/share/syslinux/menu.c32 /var/lib/tftpboot
[[email protected] ~]# cp -v /usr/share/syslinux/memdisk /var/lib/tftpboot
[[email protected] ~]# cp -v /usr/share/syslinux/mboot.c32 /var/lib/tftpboot
[[email protected] ~]# cp -v /usr/share/syslinux/chain.c32 /var/lib/tftpboot
[[email protected] ~]#
[[email protected] ~]# mkdir /var/lib/tftpboot/pxelinux.cfg
[[email protected] ~]# mkdir /var/lib/tftpboot/networkboot
[email protected] ~]#

3、掛載光盤到httpd的默認路徑下

[[email protected] ~]# mount /dev/cdrom  /var/www/html/Centos7.2

4、配置tftp的配置

[[email protected] pxelinux.cfg]# pwd
/var/lib/tftpboot/pxelinux.cfg
[[email protected] pxelinux.cfg]# cat   default 
default menu.c32    ##展示風格
prompt 0
timeout 150   ##扽等該用戶選擇的超時時間
MENU TITLE LinuxTechi.com PXE Menu
#LABEL lcoal
MENU LABEL lolcal    ##設置第一項為本地引導防止被勿安裝了操作系統當然這是個可選項
LABEL local
    MENU LABEL  ^1) Boot Local Hard Drive
    LOCALBOOT 0
#
LABEL centos7_x64             ###安裝Centos7.2 的操作系統
MENU LABEL CentOS 7_X65
menu label ^2) Install CentOS7x64
kernel vmlinuz
append initrd=initrd.img ks=http://10.1.1.100/centos7-ks.cfg quiet  ###安裝操作系統的應答文件位置
#
LABEL centos6_x64
MENU LABEL CentOS 6_X65
menu label ^3) Install CentOS6x64
kernel centos6/vmlinuz   ###這的相對位置為/var/lib/tftpboot/即 kernal的位置為/var/lib/tftpboot/centos6
append initrd=initrd.img ks=http://10.1.1.100/centos6-ks.cfg

4、拷貝vmlimz和initrd.img到/var/lib/tftpboot/networkboot/下

[[email protected] tftpboot]# cp /var/www/html/Centos7.2/isolinux/vmlinuz networkboot/
cp /var/www/html/Centos7.2/isolinux/initrd.img networkboot/

5、生成pxe的應答文件可以安裝[[email protected] ~]# yum -y install system-config-kickstart.noarch此過程省略下面直接看我們已經做好的應答文件

[[email protected] ~]# cat /var/www/html/centos7-ks.cfg
#platform=x86, AMD64, or Intel EM64T
#version=DEVEL
# Firewall configuration
firewall --disabled
# Install OS instead of upgrade
install
# Use FTP installation media
url --url=" ##文件下載的位置 
# Root password
rootpw --iscrypted $1$lgzpzCCE$Y6xpvPBLom/J4zAipUjfr.  ##此密碼為123.com
# System authorization information
auth useshadow passalgo=sha512
# Use graphical install
graphical
firstboot disable
# System keyboard
keyboard us
# System language
lang en_US
# SELinux configuration
selinux disabled
# Installation logging level
logging level=info
# System timezone
timezone Europe/Amsterdam
# System bootloader configuration
# Reboot afer installing
reboot  ##一定要有此 選項否則操作系統安裝完後不會自動重啟。
######
bootloader location=mbr
clearpart --all --initlabel
part swap --asprimary --fstype="swap" --size=1024
part /boot --fstype xfs --size=300
part pv.01 --size=1 --grow
volgroup root_vg01 pv.01
logvol / --fstype xfs --name=lv_01 --vgname=root_vg01 --size=1 --grow
%packages    ###要安裝的包
@^minimal
@core
acpid
iputils
man
net-tools
ntp
ntpdate
parted
vim-enhanced
wget
%end   ###以%end結尾
#%addon com_redhat_kdump --disable --reserve-mb=‘auto‘ 
#%end
%post #--nochroot --log=/mnt/sysimage/var/log/ks.post01.log
#%post --interpreter=/bin/bash
mkdir /roo/test
hostnamectl set-hostname test
%end
[[email protected] ~]#

下面說下pxe應答文件沒一項的意義

##軟件包段###
%packages
@groupname指定安裝的包組
package_name指定安裝的包
-package_name指定不安裝的包
###腳本段(可選)#####

%pre:安裝系統前執行的命令或腳本(由於只依賴於啟動鏡像支持的命令很少)
%post:安裝系統後執行的命令或腳本(基本支持所有命令)

##
關鍵字含義
install    告知安裝程序這是一次全新安裝而不是升級upgrade。    
url --url=" "    通過FTP或HTTP從遠程服務器上的安裝樹中安裝。
url --url="http://10.0.0.7/CentOS-6.7/"
url --url ftp://<username>:<password>@<server>/<dir>    
nfs    從指定的NFS服務器安裝。
nfs --server=nfsserver.example.com --dir=/tmp/install-tree    
text    使用文本模式安裝。    
lang    設置在安裝過程中使用的語言以及系統的缺省語言。lang en_US.UTF-8    
keyboard    設置系統鍵盤類型。keyboard us    
zerombr    清除mbr引導信息。    
bootloader    系統引導相關配置。
bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"
--location=,指定引導記錄被寫入的位置.有效的值如下:mbr(缺省),partition(在包含內核的分區的第一個扇區安裝引導裝載程序)或none(不安裝引導裝載程序)。
--driveorder,指定在BIOS引導順序中居首的驅動器。
--append=,指定內核參數.要指定多個參數,使用空格分隔它們。    
network    為通過網絡的kickstart安裝以及所安裝的系統配置聯網信息。
network --bootproto=dhcp --device=eth0 --onboot=yes --noipv6 --hostname=CentOS6
--bootproto=[dhcp/bootp/static]中的一種缺省值是dhcp。bootp和dhcp被認為是相同的。
static方法要求在kickstart文件裏輸入所有的網絡信息。
network --bootproto=static --ip=10.0.0.100 --netmask=255.255.255.0 --gateway=10.0.0.2 --nameserver=10.0.0.2
請註意所有配置信息都必須在一行上指定,不能使用反斜線來換行。
--ip=,要安裝的機器的IP地址.
--gateway=,IP地址格式的默認網關.
--netmask=,安裝的系統的子網掩碼.
--hostname=,安裝的系統的主機名.
--onboot=,是否在引導時啟用該設備.
--noipv6=,禁用此設備的IPv6.
--nameserver=,配置dns解析.    
timezone    設置系統時區。timezone --utc Asia/Shanghai    
authconfig    系統認證信息。authconfig --enableshadow --passalgo=sha512
設置密碼加密方式為sha512 啟用shadow文件。    
rootpw    root密碼    
clearpart    清空分區。clearpart --all --initlabel
--all 從系統中清除所有分區--initlable 初始化磁盤標簽    
part    磁盤分區。
part /boot --fstype=ext4 --asprimary --size=200
part swap --size=1024
part / --fstype=ext4 --grow --asprimary --size=200
--fstype=,為分區設置文件系統類型.有效的類型為ext2,ext3,swap和vfat。
--asprimary,強迫把分區分配為主分區,否則提示分區失敗。
--size=,以MB為單位的分區最小值.在此處指定一個整數值,如500.不要在數字後面加MB。
--grow,告訴分區使用所有可用空間(若有),或使用設置的最大值。    
firstboot    負責協助配置redhat一些重要的信息。
firstboot --disable    
selinux    關閉selinux。selinux --disabled    
firewall    關閉防火墻。firewall --disabled    
logging    設置日誌級別。logging --level=info    
reboot    設定安裝完成後重啟,此選項必須存在不然kickstart顯示一條消息並等待用戶按任意鍵後才重新引導也可以選擇halt關機。

5、重啟xinetd、httpd服務

[[email protected] ~]# systemctl restart xinetd
[[email protected] ~]# systemctl restart httpd

6、下面用客戶端PXE啟動


本文出自 “完美世界!” 博客,請務必保留此出處http://shyln.blog.51cto.com/6890594/1941704

Centos7.2 kickstart批量裝機

相關推薦

Centos7.2 kickstart批量裝機

批量 pxe 裝機 本次試用Centos7.2作為PXE服務端批量安裝操作系統。之前嘗試過使用centos6.x做為服務端批量安裝操作系統。本人表示Centos7.2批量裝機“坑”不少最終百度無果無奈去google最終完成此實驗。故此做此博客來Mark下本次實驗過程。查看操作系統版本並且確定

批量裝機環境 、 配置PXE引導 、 kickstart自動應答

pxe 虛擬機A 1. 將防火墻狀態設置為trusted 2.SELinux當前修改為permissive 3.SELinux永久狀態修改為permissive 4.清空Yum緩存,檢查Yum是否可用 虛擬機B 1. 將防火墻狀態設置為trusted 2.SELinux

centos7.2 搭建PXE+kickstart多版本系統安裝

PXE CentOs7.2 kickstart 多系統安裝 網上眾多文章,但是自己搭建起來卻很少又能用的。總結下自己的 原理+單系統的實驗 這裏說明下,最好使用kickstart工具來生成ks.cfg文件(網上參數實在太多,不同系統還要不同的參數) 實驗 系統:CentOS Li

記一次用PXE+kickstart批量為20臺新服務器安裝centos7

根據 命令行界面 exe user size linux c mman win8 windows 基於PXE+kickstart批量安裝centos7: 本文是純文字,後續會補充圖片 1.環境: CentOS Linux release 7.4.1708 (Core)ker

PXE批量自動安裝centos6.7和centos7.2

一、PXE簡介 PXE(preboot execute environment,預啟動執行環境)是由Intel公司開發的最新技術,工作於Client/Server的網路模式,支援工作站通過網路從遠端伺服器下載映像,並由此支援通過網路啟動作業系統,在啟動過程中,終端要求伺服器分配IP地址,再用TFTP

04: 批量裝機環境 配置PXE引導 kickstart自動應答 總結和答疑

Top NSD SERVICES DAY04 1 案例1:PXE基礎裝機環境 1.1 問題 本例要求為後續的PXE伺服器構建提供RHEL7軟體倉庫,完成下列任務: 在CentOS真機部署Web目錄/var/www/html/rh7dvd 掛載RHEL7光碟映象

Pxe+kickstart 無人值守安裝centos7.2(最小化)

一、PXE解釋與工作流程圖:1.什麼是pxePXE(preboot execute environment,預啟動執行環境)是由Intel公司開發的技術,工作於Client/Server的網路模式,支援工作站通過網路從遠端伺服器下載映像,並由此支援通過網路啟動作業系統,在啟動

超好懂的PXE+Kickstart批量安裝CentOS6.2教程(山寨版)

原文題目: 超好懂的PXE+Kickstart批量安裝RHEL5教程。大家應該能搜著。(csdn不能新增此連結?!) 對原文做的修改: 1 一些路徑錯誤等; 2 CentOS6.2差異; 修改均以紅字標明。 試驗環境: 伺服器環境:     虛擬機器 vmware wo

CentOS7.2下unison+inotify的Web目錄同步方案

web 同步 unison inotify CentOS7.2下unison+inotify的Web目錄同步方案學習 unisonCentOS7.2下unison+inotify的Web目錄同步方案1. 背景2. Unison簡介3. 環境準備4. 安裝Objective Caml compi

CentOS7.2安裝oracle 12c RAC

linux oracle一、基礎結構:二、存儲規劃: 1、 GRID集群組件磁盤組+dggrid: 1個,由三個10G磁盤組成normal 2、 數據庫安裝磁盤組+dgsystem:用於數據庫基本表空間,控制文件,參數文件等+dgrecovery:用於歸檔與閃回日誌空間+dgdata:用戶數據

CentOS7.2 上 Nginx PHP Mariadb 環境搭建

lnmp centos7.2最近有個ERP+PHP-web 測試頁面環境部署需求,需要部署nginx+php的cgi+socket的模式、mysql環境。查看服務端口是否起來,我們習慣使用netstat指令查看,所以如果你的系統裏尚未安裝netstat,可直接安裝 yum install -y net-to

centos7.2安裝mysql5.7.17

修改密碼 password 安全性 mysql start CentOS 7之後的版本yum的默認源中使用MariaDB替代原先MySQL,因此安裝方式較為以往有一些改變:下載mysql的源wget http://dev.mysql.com/get/mysql57-community-re

centos7.2 安裝svn服務

centos7 安裝svn服務簡介Subversion(SVN) 是一個開源的版本控制系統, 也就是說 Subversion 管理著隨時間改變的數據。這些數據放置在一個中央資料檔案庫(repository) 中。這個檔案庫很像一個普通的文件服務器, 不過它會記住每一次文件的變動。這樣你就可以把檔案恢復到舊的版

centos7.2 搭建lnmp環境(轉)

現在 working arc emctl 加密解密 容易 restart lis 三方 一.nginx安裝 1.下載對應當前系統版本的nginx包(package) ? wget http://nginx.org/packages/centos/7/noarch/RPMS/

Centos7.2下部署Java開發環境

$path 2.x ava x64 jdk server telnet 選擇 new 1.安裝JDK   如果以前安裝過JDK,想要重新安裝可執行如下命令進行卸載,這裏安裝的是JDK1.8:   先查詢: rpm -qa|grep jdk   然後再通過下面命令進行卸載

CentOS7.2通用二進制格式安裝mariadb-5.5.46-linux-x86_64.tar.gz文檔與啟動時失敗排查分析

centos7.2通用二進制格式安裝mariadb-5.5.46-linux-x86_64.tar.gzCentOS7.2通用二進制格式安裝mariadb-5.5.46-linux-x86_64.tar.gz提前準備好mariadb-5.5.46-linux-x86_64.tar.gz[[email 

阿裏雲centos7.2 搭建 laravel 框架走過的坑

阿裏雲centos7.2 搭建 laravel 框架走過的坑centos7.2 搭建 laravel框架走過的坑前言 公司正在處於發展階段最近開發的夥伴和運維的夥伴一直在忙碌著 開發人員一直在寫laravel架構的代碼以及新項目的拓展,時間很趕所以作為linux運維的我也不能怠慢。首先搭建lnmp架構 ngi

Centos7.2搭建LNMP

firewall 配置文件 防火墻 enable lnmp 一 . 配置防火墻,開啟80端口、3306端口CentOS 7默認使用的是firewall作為防火墻,這裏改為iptables防火墻。1. 關閉firewall:systemctl stop firewalld.service #

阿裏雲服務器centos7.2操作系統搭建PHP+Apache+Mysql+phpMyAdmin環境以及網站上線

ast 頁面 根目錄 index 完成 權限 out 網站 內存 沒有誰是一生下來就會編程的,只要肯學,慢慢地就能學到越來越多的編程技術及知識。                                       --自創引言 前言:一開始客戶購買的服務器是wi

CentOS7.2下一鍵安裝Openstack

centos7.2下一鍵安裝openstackCentOS7.2下一鍵安裝Openstack 系統環境:Oracle VirtualBox 4.38CentOS-7.2-x86_64-bin-DVD1.iso 安裝前需要修改 /etc/hosts文件,添加 127.0.0.1 dev-100 (dev-100