本文首发于烂泥行天下。
前几篇文章介绍了FTP、NFS与KVM、kickstart集成的案例,从这篇文章开始,我们来介绍HTTP方式与KVM、kickstart集成。
HTTP方式,我们先来使用nginx进行集成。既然是使用nginx,那么我们就先安装nginx,有关nginx的安装,可以参考这篇文章《烂泥:CentOS上nginx与tengine web服务器》。
本篇文章我们使用的是淘宝定制的nginx,下载安装包如下:
wget http://tengine.taobao.org/download/tengine-2.0.3.tar.gz
下载完毕后,进行解压及安装,如下:
tar -xf tengine-2.0.3.tar.gz
./configure
make && make install
安装完毕后,然后启动nginx,如下:
/usr/local/nginx/sbin/nginx –c /usr/local/nginx/conf/nginx.conf
netstat -tunlp|grep ":80"
因为我们最后的通过http所访问的形式是:http://ip/dir形式。所以我们要做两点,第一个是要配置nginx的二级目录访问,第二个是开启nginx目录的索引功能,nginx索引默认是关闭的。
我们先创建两个目录用于存储kickstart的配置文件和系统的安装文件,如下:
然后把相关的文件复制到相应的目录。然后我们再来配置nginx。
打开nginx配置文件,在server段中加入如下代码,其他的不做修改。如下:
vi /usr/local/nginx/con/nginx.conf
location /ks/ { alias /ks/;
autoindex on;
charset utf-8;
}
location /centos/ { alias /centos/;
autoindex on;
charset utf-8;
}
测试下该配置文件是否有问题如下:
/usr/local/nginx/sbin/nginx -t
测试没有问题,我们再重新启动nginx,如下:
/usr/local/nginx/sbin/nginx –s reload
现在我们来测试下,该二级目录是否可以浏览。如下:
通过上述两张截图,我们可以清晰的看到。我们在nginx中配置的目录已经可以正常浏览。
以上是有关nginx的配置,下面我们开始在KVM中安装VM。使用如下命令:
virt-install -n kickstart -r 2048 --vcpus=1 --os-type=linux -l http://192.168.1.102/centos -f /dev/vg1/kickstart --bridge=br0 -m 00:16:3E:12:D7:5D --nographics -x "console=ttyS0 --device=eth0 ip=192.168.1.220 netmask=255.255.255.0 gateway=192.168.1.1 ks=http://192.168.1.102/ks/ks.cfg ksdevice=eth0"
注意命令中红色标记出来的部分。
其中-l http://192.168.1.102/centos就是nginx作为KVM安装虚拟机的镜像源来使用的。
在这我们可以看出http的连接形式为:http://ip_addr/path,其中/path为http的web访问路径。
ks.cfg文件我们也使用http进行连接,如下:
more /ks/ks.cfg
注意其中配置的http的URL连接如下:
url --url=“http://192.168.1.102/centos”
下面开始正式安装VM,如下:
到此nginx与KVM、kickstart配合使用算是完成。