最近工作比较不是很忙,自己部署了一套Linux自动化部署操作系统,现将操作步骤记上,加深印象。
一、环境
准备两台虚拟机,其中一台已以Desktop、BASE SERVER 的方式安装好了,操作系统是CentOS6.5-x86_64,作为服务端使用;另一台只安装了虚拟机,未安装操作系统,用于自动化部署测试使用;
注:必须安装桌面图形化,要不然后面用到的kickstart无人值守的功能,没办法启动配置;
需要用到的主要软件:
http
dhcp
xinetd
tftp-server
tftp
syslinux
system-config-kickstart
以上这些软件,都可以直接使用yum安装使用,非常方便;
二、安装配置DHCP
yum -y install dhcp
chkconfig dhcpd on
cd /etc/dhcp/
mv dhcpd.conf dhcpd.conf.bak
cp /usr/share/doc/dhcp*/dhcpd.conf.sample ./dhcpd.conf
vim dhcpd.conf //编辑DHCP服务的主体配置文件;
大约在11行下新增如下内容:
filename "pxelinux.0"; //PXE网络引导程序;
next-server 192.168.1.231; //IP为本机的IP地址,即服务端的IP地址;
更改大约49-57行的内容如下(根据您的实际情况进行调整):
subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.241 192.168.1.245; option domain-name-servers 192.168.1.1; option domain-name "example.com"; option routers 192.168.1.1; option broadcast-address 192.168.1.255; default-lease-time 600; max-lease-time 7200; }
最后保存退出;
vim /etc/rsyslog.conf //定义DHCP日志;
在文件中间位置增加如下内容:
local7.* /var/log/dhcpd.log
service dhcpd configtest //测试配置文件是否异常;
service rsyslog restart //重启日志服务;
service dhcpd restart //重启DHCP服务;
防火墙开启TCP/UDP 67端口;
三、安装配置TFTP
yum -y install xinetd tftp-server tftp syslinux
chkconfig xinetd on
chkconfig tftp on
service xinetd restart
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
mkdir /mnt/share
mkdir /mnt/centos6
mount -t cifs -o usernaem=administrator,password=123456 //192.168.1.77/ISO /mnt/share/ //linux访问windows共享的ISO文件夹的目录;
[[email protected] tftpboot]# ll /mnt/share/
total 4363264
-rwxr-xr-x 1 root user1 4467982336 Mar 3 10:48 centos6.5x86_64.iso
mount -o loop /mnt/share/centos6.5x86_64.iso /mnt/centos6 //挂载iso到相应目录;
防火墙开启TCP/UDP 69端口;
四、安装配置HTTP
yum -y install httpd
chkconfig httpd on
mkdir /var/www/html/pub
mount --bind /mnt/centos6/ /var/www/html/pub/
service httpd start
防火墙开启TCP 80端口;
五、安装配置kickstart
yum -y install system-config-kickstart
system-config-kickstart //启动图形化配置界面,此处省略,最后生成文件"ks.cfg"保存至/var/www/html/ 目录下,内容大概如下:
[[email protected] html]# cat ks.cfg
# Reboot after instal#platform=x86, AMD64, or Intel EM64T #version=DEVEL # Firewall configuration firewall --disabled # Install OS instead of upgrade install # Use network installation url --url="http://192.168.1.231/pub" # Root password rootpw --iscrypted $1$GywDU125$2FuR.r57g/J7bKHX7F6pk1 # System authorization information auth --useshadow --passalgo=sha512 # Use text mode install text firstboot --disable # System keyboard keyboard us # System language lang en_US # SELinux configuration selinux --disabled # Installation logging level logging --level=infolation reboot # System timezone timezone --isUtc Asia/Shanghai # Network information network --bootproto=dhcp --device=eth0 --onboot=on # System bootloader configuration bootloader --location=mbr # Clear the Master Boot Record zerombr # Partition clearing information clearpart --all # Disk partitioning information part /boot --fstype="ext4" --size=100 part swap --fstype="swap" --size=2000 part / --fstype="ext4" --grow --size=1
打开浏览器,输入:http://192.168.1.231/ks.cfg 正常即可查阅文件;
六、配置PXE
cd /var/lib/tftpboot/
mkdir pxelinux.cfg
cp /mnt/centos6/isolinux/* /var/lib/tftpboot/
cp isolinux.cfg ./pxelinux.cfg/default
vim ./pxelinux.cfg/default //编辑PXE配置文件,在大约22行下增加一个label,内容如下:
label centos6.5 menu label ^Install CentOS6.5-x86_64 system kernel vmlinuz append initrd=initrd.img ks=http://192.168.1.231/ks.cfg
service xinetd restart
最后 就打开未安装操作系统的虚拟机,开机后,选择我们自定义的label进行安装,约等15分钟,系统全自动的安装好了。