Kickstart(RedHat)、Preseed(Debian)、cloud-init(云) 进行自动化部署
跳到导航
跳到搜索
CentOS Kickstart自动化安装
服务器端 安装源服务器 安装HTTP、DHCP和TFTP服务 client 这个就是我们要安装os的机器
以下是一个使用Kickstart在Red Hat、CentOS或Fedora上进行自动化部署的例子: ### 环境准备 1. **安装服务器**:准备一台服务器作为安装源服务器,安装好Red Hat/CentOS/Fedora系统。 2. **关闭防火墙**:为了简化操作,暂时关闭防火墙: ```bash systemctl disable firewalld systemctl mask firewalld ``` 3. **安装必要的服务**:安装HTTP、DHCP和TFTP服务: ```bash yum install -y httpd dhcp tftp-server syslinux ``` ### 配置HTTP服务 1. **创建安装源目录**:在HTTP服务的根目录下创建一个目录来存放安装源: ```bash mkdir -p /var/www/html/os ``` 2. **挂载ISO镜像**:将Red Hat/CentOS/Fedora的安装ISO镜像挂载到创建的目录: ```bash mount -o loop /path/to/iso /var/www/html/os ``` 3. **启动HTTP服务**:确保HTTP服务已启动: ```bash systemctl start httpd systemctl enable httpd ``` ### 创建Kickstart文件 1. **编写Kickstart文件**:创建一个名为`ks.cfg`的Kickstart文件,内容如下: ```bash # Kickstart file for automated installation #version=DEVEL install url --url="http://<your-server-ip>/os" lang en_US.UTF-8 keyboard us network --bootproto=dhcp rootpw --iscrypted $1$V4WuX$5GZKZ8s6l5l6z7u5z3s2 firewall --disabled selinux --disabled timezone Asia/Shanghai bootloader --location=mbr zerombr clearpart --all --initlabel part /boot --fstype="ext4" --size=200 part / --fstype="xfs" --size=1 %packages @base @development-tools %end ``` 将`<your-server-ip>`替换为你的安装源服务器的IP地址。 2. **将Kickstart文件放置到HTTP根目录**: ```bash cp ks.cfg /var/www/html/ ``` ### 配置DHCP和TFTP服务 1. **配置DHCP服务**:编辑DHCP配置文件`/etc/dhcp/dhcpd.conf`,添加以下内容: ```bash subnet <your-subnet> netmask <your-netmask> { range <your-ip-range>; option routers <your-gateway>; option domain-name-servers <your-dns>; filename "pxelinux.0"; next-server <your-server-ip>; } ``` 将`<your-subnet>`、`<your-netmask>`等替换为你的网络信息。 2. **配置TFTP服务**:确保TFTP服务已启动,并将PXE引导文件复制到TFTP根目录: ```bash systemctl start tftp-server systemctl enable tftp-server cp /var/www/html/os/isolinux/* /var/lib/tftpboot/ ``` ### 配置PXE引导 1. **编辑PXE引导配置文件**:在TFTP根目录下创建`pxelinux.cfg`目录,并在其中创建`default`文件: ```bash mkdir -p /var/lib/tftpboot/pxelinux.cfg vi /var/lib/tftpboot/pxelinux.cfg/default ``` 添加以下内容: ```bash default menu.c32 prompt 0 menu title PXE Boot Menu timeout 300 label linux menu label ^Install CentOS menu default kernel vmlinuz append initrd=initrd.img ks=http://<your-server-ip>/ks.cfg ``` ### 测试部署 1. **启动目标主机**:将需要安装系统的主机设置为从网络启动(PXE启动)。 2. **开始安装**:目标主机将从网络获取IP地址,并从TFTP服务器下载PXE引导文件,然后按照Kickstart文件的配置自动进行系统安装。 通过以上步骤,就可以使用Kickstart在Red Hat、CentOS或Fedora上实现自动化部署。
==
==