如何定制linux的镜像:
首先需要一个已经安装kvm的系统,并且需要你所要创建的虚拟主机的Iso镜像。如何安装 kvm我这就不说了。
如果查看这个系统安装KVM了呢:ifconfig 看到这个网卡,说明已经安装了。
qemu-img create -f qcow2 image-test.img 10G
#创建10G的磁盘,qcow2 格式,文件名image-test.
virt-install --name image-test --hvm --ram1024 --vcpus 2 --disk path=/mnt/image-test.img,size=10,bus=virtio,format=qcow2--network network:default --accelerate --vnclisten=192.168.1.7 --vnc--vncport=5908 --network bridge=kvmbr0 --force --autostart --cdrom/mnt/CentOS-6.5-x86_64-bin-DVD1.iso --boot cdrom
#虚拟机的名字:image-test,--hvm --ram1024 内存1G, --vcpus 2 使用CPU的核数,path=/mnt/image-test.img,size=10,bus=virtio,format=qcow2使用的硬盘,以及硬盘类型,--network network:default 使用的网络,--accelerate--vnclisten=192.168.1.7 --vnc --vncport=5908 --network bridge=kvmbr0 --force –autostart:VNC在监听的ip地址,vnc端口号,vnc使用本机的那块网卡,--cdrom/mnt/CentOS-6.5-x86_64-bin-DVD1.iso,使用的iso镜像,--bootcdrom虚拟机从光驱启动。
如果创建,因为其它问题创建失败了。
排错:
ERROR Guest name 'image-test'is already in use.
已经有一个虚机叫image-test了,我们可以使用:virsh undefine 虚拟机的名字,将这个虚机杀掉。
使用VNC连接上去:就可以看到安装操作系统画面了。
连接镜像虚拟主机:
注意:镜像虚拟机在安装的过程不要划分其它分区,就一个/分区。
1、 更改网卡 ONBOOT=yes
2、 rm -rf /etc/udev/rules.d/70-persistent-net.rules
3、 清空防火墙 vim /etc/sysconfig/iptables
4、yum install -y http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
5、yum -y install cloud-init #针对云环境一个包,主要功能有自动的磁盘分区、公钥私钥的访问
大家还可以根据自己的需求 定制化其它的东西,这里image 镜像就制作完在了。
将image上传至glance
glanceimage-create --progress --name="Centos6.5" --disk-format=qcow2--container-format=ovf --is-public=true < image-test.img
用virtualBOX也可以做openstack镜像:
只需在安装系统的时候将硬盘的格式选择一下 看下图:
安装完成之后,只需将virtualBOX的镜像文件拷贝到一个带到有KVM的linux主机里,将格式转换一下:
qemu-img convert -f vpc -o raw vhd-test.vhd vhd-test.vid.raw
qemu-img info vhd-test.vhd.raw
大家就可以看到了已经把格式转换过来了,但这个格式文件较大,但性能最好!
这个虚拟机不启动可以更改镜像的文件吗?
答案:当然可以
yum install libguestfs –y
guestfish--rw -a cirros-0.3.1-x86_64-disk.img
run
#启动这个镜像,时间有点慢
下载:
upload /root/aa.txt /tmp/aa.txt
#aa.txt 物理机的文件
注意这个只能文件对文件
从镜像下载到物理机:
download /tmp/aa.txt /mnt/bb.txt