最近工作中发现有同事提出要在openstack中安装iso并启动vm的需求,于是实践了一下,记录下过程:
1、上传iso镜像到openstack环境
[root@cloud ~]# openstack image create --container-format bare --disk-format iso --public --file CentOS-6.9-x86_64-bin-DVD1.iso ISO_CentOS6.9
2、创建源为刚上传的ISO的volume
进入dashboard,选择Project->Compute->Volumes->Create Volume,配置如下,磁盘大小根据情况定:
3、创建一个空的volume,后续做系统盘
4、创建一个vm,boot from 步骤2所创建的volume
选择Project->Compute->Instances->Launch Instance,配置如下:
- Boot Source选择步骤2创建的volume
- 云主机类型暂时随意选一个,这里选择m3.large
- 网络暂时也随意选一个,由于是必选项,所以必须选择一个才能创建vm,但不影响后续工作,这里随意选择一个:
- 点击launch instance创建vm:
- 创建成功后,通过console进入vm进行安装:
- 安装前,挂载步骤3创建的空volume,在步骤3创建的vm选项中选择manage volume attachments,配置如下:
- 安装注意步骤如下,注意不要配置网卡,后面再修改网卡信息:
这里选择步骤3创建的volume进行安装,分区只分一个/目录
- 安装成功后,不用点击reboot
- 删除刚才创建的vm,这时系统盘就已创建在步骤3创建的volume上面了。
5、对系统盘的volume使能bootable
[root@cloud ~]# openstack volume list | grep os-centos6.9
| 1a1acf3e-3281-4fe1-aa3e-097209ab2fff | os-centos6.9 | available | 20 | |
[root@cloud ~]# openstack volume set 1a1acf3e-3281-4fe1-aa3e-097209ab2fff --bootable
6、清理网络信息,创建vm,boot from 步骤3所创建的volume
进入vm:
首先修改/etc/sysconfig/network-scripts/ifcfg-eth0, 删除其中UUID , MAC两行,ONBOOT=YES.
然后删除/etc/udev/rules.d/70-persistent-net文件
退出vm,然后删除vm