一:前期准备
打开浏览器输入地址:
http://113.105.164.11:81/ISO/
SSH连接到DELL R410,这台没有运行OpenStack,这台R410四大作用:
用于跳板机管理云平台
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 [root@10.0.0.11](mailto:root@10.0.0.41):~/
登录OpenStack控制节点,使用命令行上传镜像:
ssh root@10.0.0.11
加载变量环境:
. 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/ynoteshare/index.html?id=fe1713efe2712a5ee71fbdb984969b9f