镜像是装好系统的硬盘文件,这个系统里肯定有自己的DNA
如果我们需要把这个系统里的DNA除去,之后再利用这个镜像生成100个虚拟机,这100个虚拟机是没有DNA的,在启动的时候,会自动生成新的DNA,这100个实例启动起来之后,他们就各有各的DNA
对于OS里面也有很多特有的东西,windows里称为SID,但是这里我们暂且也称之为SID
镜像是装好系统的硬盘文件,这个系统里肯定也有自己的DNA
所以我们需要把系统里的DNA去除,之后再去利用这个镜像生成100个虚拟机,这100个虚拟机是没有DNA的,在启动的时候,会自动生成新的DNA,这100个实例启动起来之后,就各自有自己的DNA
环境如下:
1. 此处使用RHEL7.2的包,安装KVM虚拟机
2. CPU必须开启虚拟化
3. 用vmwareworkstation 模拟物理机
安装KVM虚拟机
[dvd]
name=dvd
baseurl=file:///iso
enabled=1
gpgcheck=0
[osp]
name=osp
baseurl=ftp://192.168.179.137/osp
enabled=1
gpgcheck=0
yum groupinstall virt*
连接光盘:
勾选启动时运行eth0
安装完毕后,取消从光盘引导,改成硬盘引导。
登录进KVM:
在host主机上面建立yum 源 并安装ftp 供VM的yum源使用:
关闭防火墙和selinux
在VM中创建yum源如下:
复制cloudinit到KVM:
更新yum源:
安装必备的软件:
重启KVM:
为了防止ssh慢:
开始制作镜像:把这个KVM配置成openstack里适用的镜像:
1. 安装基本的一些软件包 比如:net-toolsvim bash*
2. 安装acpi
3. cloudint
设置系统:
1. 修改内核参数 串口参数
2. 为了保证后期实例能访问到metadata,所以禁用zeroconf
3. 修改网卡配置文件
4. 删除ssh_host*
安装acpi:高级电源管理
查看服务
安装cloudinit 对系统做重封装的一些操作
设置系统:
KVM里面连接console的方式:
1. virshconsole 连接虚拟机 2.控制台方式dashboard
修改内核的参数(串口参数)
vim /etc/default/grub
2. 为了保证后期实例VM能访问到metadata,禁用zeroconf
3. 修改网卡配置
ifcfg-eth0
除了下面的内容其余的都删除
4. 删除ssh_host*
5. 备份下yum源:
关机虚拟机:
删掉不需要的信息:如下:
光盘:
注意:
显示协议选择的是VNC
使用virt-sysprep 来封装
取消配置文件,没有虚拟机了undefine 下
镜像存放位置:
/var/lib/libvirt/images
查看镜像信息;
压缩并改名:
这个镜像可以作为openstack里可以使用的镜像
下面验证镜像:
创建
用这个镜像创建虚拟机VM:
启动起来之后,查看配置:
之前配置的yum 源等仍然在,说明被完好的封装在这个img镜像文件中