当前位置:TranBon博客 > 首页 > 技术 > 为OpenStack平台提供镜像

为OpenStack平台提供镜像

adminis3年前 (2021-02-23)技术35460

一:前期准备


打开浏览器输入地址:

http://113.105.164.11:81/ISO/


SSH连接到DELL R410,这台没有运行OpenStack,这台R410四大作用:

用于跳板机管理云平台
制作KVM镜像
OpenStack R410的备份机器

OpenStack 平台数据库备份


连接后:
cd /var/lib/libvirt/images/

ll


wget 你想要制作的系统镜像,具体地址在http://113.105.164.11:81/ISO/里找。


比如

wget http://113.105.164.11:81/ISO/win7.iso


Centos 6.5_64位为例,其他例子参考我的另一篇KVM教程:

https://bk.tranbon.com/?id=290


二:安装系统
修改以下红色部分


安装CentOS系统:
创建2G的系统镜像,OpenStack平台专用

virt-install  --name=centos6.5_x64_2G  --ram=4096  --vcpus=2 --virt-type=kvm --os-type=Linux --os-variant=centos6.5  --network default,model=virtio --graphics=spice,password=Zyidc123ABC,listen=0.0.0.0 --noautoconsole  --accelerate  --cdrom=/var/lib/libvirt/images/CentOS-6.5-x86_64-minimal.iso --disk path=/var/lib/libvirt/images/centos6.5_x64_2G.qcow2,device=disk,format=qcow2,bus=virtio,cache=writeback,size=2


创建40G的系统镜像

virt-install  --name=centos6.5_x64_40G  --ram=4096  --vcpus=2 --virt-type=kvm --os-type=linux --os-variant=centos6.5  --network default,model=virtio --graphics=spice,password=Zyidc123ABC,listen=0.0.0.0 --noautoconsole  --accelerate  --cdrom=/var/lib/libvirt/images/CentOS-6.5-x86_64-minimal.iso --disk path=/var/lib/libvirt/images/centos6.5_x64_40G.qcow2,device=disk,format=qcow2,bus=virtio,cache=writeback,size=40


安装Windows 7及以上系统:

先查看支持的操作系统版本
osinfo-query os


根据列表修改操作系统类型
--os-variant=win7


安装命令:

virt-install  --name=win7  --ram=4096  --vcpus=2 --virt-type=kvm --os-type=windows --os-variant=win7  --network bridge=br0,model=virtio --graphics=spice,password=Zyidc123ABC,listen=0.0.0.0 --noautoconsole  --accelerate  --cdrom=/var/lib/libvirt/images/virtio-win.iso --disk path=/var/lib/libvirt/images/win7_x86_64.qcow2,device=disk,format=qcow2,bus=virtio,cache=writeback,size=40 --disk path=/var/lib/libvirt/images/win7_x86_64.iso,device=cdrom,perms=ro


系统安装的过程中,重启会变成关机,解决方法:
virsh start XX

手动启动虚拟即可,用虚拟名称取代XX.


查看TCP连接端口
virsh dumpxml centos6.5_x64_240G |grep port |grep 59


Windows下载SPICE客户端:

https://virt-manager.org/download/


填上地址:
spice://物理机IP:59XX

输入刚刚创建虚拟机时定义的密码


或者把
--graphics=spice,password=Zyidc123ABC,listen=0.0.0.0
改为

--graphics=vnc,password=Zyidc123ABC,listen=0.0.0.0


Windows使用VNC连接

下载VNC客户端:
https://www.realvnc.com/en/connect/download/vnc/
或者:
https://www.tightvnc.com/download.php



制作CentOS镜像要求


连接到虚拟机操作:

Step1:Linux系统记得把grub的启动时间改为0秒:
vi /etc/grub.conf


Step2:安装电源管理模块,不然openstack不能控制它关机,重启
yum -y install acpid


Step3:创建eth0-eth9网卡配置,删除Mac地址和UUID,设置为DHCP,并且开机自启网卡


制作Windows镜像要求


一:安装显卡驱动及其它对应的驱动

注意驱动光盘里的内容:
qxl/: QXL graphics driver for Windows 7 and earlier. (build virtio-win-0.1.103-1 and later),显卡驱动,用于Windows7及更早版本
qxldod/: QXL graphics driver for Windows 8 and later. (build virtio-win-0.1.103-2 and later),显卡驱动,用于Windows8及更新版本


显卡驱动安装后,应该是这样的:
正确安装驱动后应该会显示红帽显卡、红帽网卡、红帽存储控制器、红帽磁盘驱动器


二:强制下次登录需要修改密码


三:确保Adminstrator帐号未禁用

如果操作系统是Windows桌面版,如Window 7或者Windows 10,那么需要在安装Cloudbase-init前确保Adminstrator帐号未禁用。以Windows 7为例,具体操作请以实际为准。
在操作系统中单击“开始”,选择的“控制面板 > 系统和安全 > 管理工具”。
双击“计算机管理”。
选择“系统工具 > 本地用户和组 > 用户”。
右键单击“Administrator”,选择“属性”。

确认已取消勾选“帐户已禁用”选项。


四:Windows里安装Cloudbase-Init工具

下载地址:

https://github.com/cloudbase/cloudbase-init


下载稳定版Stable

或者


直接使用跳板机上的iso文件,我已经封装成了iso,包括32位和64位

光盘里还有一个spice_gu的工具,用于远程文字的复制与粘贴。需要时就安装。
光盘镜像文件位置:
/var/lib/libvirt/images/CloudbaseInitSetup.iso


使用方法就是:


Step1:调整常用功能后,关闭虚拟机


Step2:修改虚拟机配置文件指定光盘镜像iso文件CloudbaseInitSetup.iso的位置:

virsh edit XXX


类似于这样的配置

   <disk type='file' device='cdrom'>
     <driver name='qemu' type='raw'/>
     <source file='/var/lib/libvirt/images/CloudbaseInitSetup_x86.iso'/>
     <target dev='hda' bus='ide'/>
     <readonly/>
     <address type='drive' controller='0' bus='0' target='0' unit='0'/>
   </disk>


Step3:

重新定义配置文件
virsh define /etc/libvirt/qemu/XXX.xml


Step4:

开机后安装光盘里的软件,注意区分32位和64
virsh start XXX


进入光盘开始安装


选择COM1


不用勾选。如果你想把镜像定义为通用镜像,包括重新激活Windows,可以考虑勾选,下次启动相当于重新安装一遍系统。


把以下三行选项加入到C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf\cloudbase-init.conf
光盘里有文本文件,可以直接复制


netbios_host_name_compatibility=false
metadata_services=cloudbaseinit.metadata.services.httpservice.HttpService
first_logon_behaviour=yes


解释:
使Windows系统的hostname长度支持到63个字符:

netbios_host_name_compatibility=false



配置agent访问openstack数据源:

metadata_services=cloudbaseinit.metadata.services.httpservice.HttpService



首次登录修改密码:

first_logon_behaviour=yes


运行cmd.exe,以管理员身份运行cmd.exe,执行以下命令,使用DiskPart工具来查询云服务器当前的SAN策略。


执行命令:
diskpart


执行以下命令查看云服务器当前的SAN策略。
输入命令
san
如果SAN策略为OnlineAll或者中文显示:全部联机,请执行exit命令退出DiskPart。
否则,请执行以下命令修改云服务器SAN策略为OnlineAll。

san policy=onlineall


关闭虚拟机。


所有镜像上传之前必须压缩节省Controller的硬盘空间:

cd /var/lib/libvirt/images/

qemu-img convert -c -O qcow2 原硬盘.qcow2 压缩后硬盘.qcow2


上传到OpenStack控制节点/root目录:
cd /var/lib/libvirt/images/
scp 压缩后硬盘.qcow2 [[email protected]](mailto:[email protected]):~/


登录OpenStack控制节点,使用命令行上传镜像:

ssh [email protected]


加载变量环境:

. admin-openrc


命令行上传镜像:

openstack image create "镜像自定义名称" --file 压缩后硬盘.qcow2 --disk-format qcow2 --container-format bare --public


检查:

openstack image list


如果是Windows,还需要修改镜像属性为windows,否则镜像开机时间不同步。


openstack image set –property os_type=”windows” 镜像UUID


例如:

openstack image set --property os_type="windows" 092eeb3f-f9f9-47c6-b679-8ccb38a97d4c



其它的操作在网页里操作。



有道云笔记 https://note.youdao.com/ynoteshare1/index.html?id=fe1713efe2712a5ee71fbdb984969b9f&type=note#/

第2条随机版权

扫描二维码推送至手机访问。

版权声明:本文由TranBon博客发布,如需转载请注明出处。

本文链接:https://bk.tranbon.com/?id=287

相关文章

centos7破密时提示Authentication token manipulation error

centos7破密时提示Authentication token manipulation error

需要在passwd 前输入 chattr -i /etc/passwd chattr -i /etc/shadow如下:...

cnetos系统mysql配置my.cnf文件,跳过密码认证登录并设置远程登录(不一定有效)

cnetos系统mysql配置my.cnf文件,跳过密码认证登录并设置远程登录(不一定有效)

cnetos手动安装mysql没有my.cnf配置文件时, 1.可以从其它服务器把my.cnf文件拷贝到需要的服务器上,2.可以touch创建my.cnf文件 这边是直接使用touch命令my.c...

iis7 asp网站 500 - 内部服务器错误。

iis7 asp网站 500 - 内部服务器错误。

其它配置正常的情况下解决方法: 处理完成了!...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。