OpenStack挂载ISO镜像解决
Summary
本次在OpenStack平台上进行,基于kvm,挂载iso镜像到OpenStack虚拟机中。
1、针对linux:
上传所需要挂载的iso镜像(必须位于计算节点上,假设虚拟机运行在kvm-bjctc31.dstack.net 上,那么一切操作需要在kvm-bjctc31.dstack.net 上),本次上传的是centos6.7的iso镜像,上传到root目录下
执行dd命令:
dd if=/root/CentOS-7.0-1406-x86_64-Minimal.iso of=/dev/test_iso(test_iso名字随便取)
执行virsh attach-disk命令,自然也可以用attach-device命令(这里的测试虚拟机名字为test_iso_centos位于kvm-bjctc31.dstack.net )
virsh attach-disk instance-00000969 /dev/test_iso vdb(必须是vdb,如果有多个iso那么接下去便是vdc....)
此外还可以将其用cdrom的格式挂载到虚拟机中,具体命令如下:
virsh attach-disk --type cdrom instance-00000969 /dev/test_iso hdd(必须是hdd)
2、针对windows:
上传所需要挂载的iso镜像(必须位于计算节点上,假设虚拟机运行在kvm-bjctc29.dstack.net 上,那么一切操作需要在kvm-bjctc29.dstack.net 上),本次上传的是centos6.7的iso镜像,上传到root目录下
执行dd命令:
dd if=/root/CentOS-7.0-1406-x86_64-Minimal.iso of=/dev/test_iso(test_iso名字随便取)
执行virsh attach-disk命令,自然也可以用attach-device命令(这里的测试虚拟机名字为test_cdrom_win2008位于kvm-bjctc29.dstack.net )
将其用cdrom的格式挂载到虚拟机中,具体命令如下:
virsh attach-disk --type cdrom instance-0000097b /dev/test_iso hdd(必须是hdd)
注意:
针对windows的情况下比较特殊,将iso镜像以disk形式挂载到虚拟机中是raw格式,由于windows不识别,所以此种情况下,是无法行得通的,只能以cdrom的格式将其挂载到虚拟机上。不论是在linux上还是在windows上,如果我们的平台支持cloud-init,并且系统上装有cloud-init那么很遗憾的是,当我们以cdrom的格式将iso镜像挂载到虚拟机中的时候,我们将会失去一些cloud-init的元数据。这里之所以不直接用CentOS-7.0-1406-x86_64-Minimal.iso这个文件,dd似乎是画蛇添足,其实如果不先用dd命令,直接将iso文件挂载到OpenStack虚拟机中,那么即使你将所有的权限赋值个该iso文件,在重启nova compute服务之后,你会发现,他是会dead的。是因为我们权限不足够。