🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
在kvm服务器上安装一个虚拟机,然后进行如下配置: # 模板默认配置 制作模版要配置yum源,安装常用软件,yum源可以配置为阿里的源,163的源最好有自己的源 需要安装的常用软件: ``` yum install net-tools wget vim ntpdate bash-completion -y ``` # 配置网卡 删除网卡配置文件中的UUID,网卡设为DHCP(如果内网有DHCP服务器) (1)网卡配置文件一般如下 ``` TYPE=Ethernet DEVICE=eth0 ONBOOT=yes BOOTPROTO=dhcp NM_CONTROLLED=no ``` (2)centos6需要执行`rm -rf /etc/udev/rules.d/70-persistent-net.rules`(centos7不用) (3)`vim /etc/sysconfig/network` 添加如下内容: ``` NOZERCONF=yes ``` NOZERCONF=yes的意思是禁用ZERCONF路由,ZERCONF又被叫做IPv4 Link-Local和Automatic Private IP Addressing。它是一个动态配置协议,系统可以通过它来连接到网络。很多linux发行版本都默认安装该服务,当系统无法连接DHCP server的时候,就会尝试通过ZERCONF来获取IP,一般这个IP地址段为169.254.0.0,我们在做openstack镜像的时候,这个需要禁用,因为VM如果DHCP获取不到IP就让它获取不到,别让它获取其他IP段的地址,所以这里我们禁用。 # 安装cloud服务 ``` yum -y install cloud-utils cloud-init parted ``` 编辑cloud的配置文件 ``` vim /etc/cloud/cloud.cfg ``` 修改如下内容: ``` ssh_pwauth: 1 #在cloud_init_modules:下面添加一个参数 - resolv-conf ``` # 配置脚本文件 ``` vim /etc/rc.d/rc.local ``` 覆盖配置这个脚本(Netron配置文件) ``` chmod +x /etc/rc.d/rc.local systemctl enable cloud-config.service cloud-final.service cloud-init-local.service cloud-init.service ``` 最后重启系统 ``` reboot ``` 尝试运行命令检查服务 ``` systemctl list-dependencies ``` 出现四个(cloud-)开头的服务且是绿色的就说明cloud-init安装成功 # 关机和压缩 找到刚才创建的镜像压缩一下 这里我们进入cd /opt目录压缩(ps:不能在镜像目录下压缩) ``` virt-sparsify --compress /var/lib/libvirt/images/CentOS7.1 CentOS7.1.qcow2 ``` 原大小是2.5g压缩后是500mb左右(特别费时间) du -sh CentOS7.1.qcow2 #查看镜像大小 # 安装windows模版 安装windows的步骤就不再赘述 需要注意的两点是: 网卡选择 virtio模式 usb模式选择Hypervisor default 然后配置一下远程桌面 安装cloud-init(版本为0.99.dev26),安装步骤较为简单不再赘述 要设置用户下一次登陆要修改密码,这是为了安全着想。 最后对`cloud Initialization service Properties`服务属性设置为 `local system account`