Openstack镜像制作_windows_2008_R2

news/2024/7/18 15:26:45 标签: openstack, 镜像, 云计算

  • 1.环境说明
    • 1.1硬件环境
    • 1.2软件环境
  • 2.环境搭建
    • 2.1 软件安装
    • 2.2网络设置
    • 3.镜像制作
    • 3.1创建磁盘(创建将来的Openstack镜像)
    • 3.2启动镜像
    • 3.3连接vnc进行系统安装系统初始化
      • 3.3.1vnc连接
      • 3.3.2 安装系统
      • 3.3.3 初始化
    • 4.2 压缩对比
    • 4.3 检测
  • 5.上传镜像(Kilo)

NOTE: ‘#’开头的是root权限执行的命令
‘virsh #’开头的是virsh命令行下执行的命令

1.环境说明

1.1硬件环境

项目版本
服务器类型VMware虚拟机
服务器系统CentOS7.1
服务器网络桥接模式
服务器IP192.168.1.111
磁盘空间40G

注:磁盘空间尽量大一点,windwos占空间比最小化安装的linux大很多

1.2软件环境

项目版本
hypervisorqemu-kvm-1.5.3-141.el7_4.4
镜像网络模式Bridge
Windows镜像版本windows_server_2012 r2
驱动镜像版本virtio-win-0.1.141
VNC客户端VNC-Viewer-6.17.1113-Windows-64bit

由于windows没有自带的驱动可以检测opentack磁盘以及网络,所以需要用virtio驱动
virtio镜像下载地址 https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/virtio-win-0.1.141-1/virtio-win-0.1.141.iso

2.环境搭建

2.1 软件安装

安装kvm

# yum install -y qemu-kvm libvirt libvirt-python  \
libguestfs-tools virt-install

启动服务

# systemctl enable libvirtd && systemctl start libvirtd

2.2网络设置

由于我用的是VMware虚拟机,启动的镜像也采用bridge模式会使后续的远程连接调试更加方便
添加网桥br0需修改ifcfg-ens33与ifcfg-br0(dhcp模式),配置如下:

# cat /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE="Ethernet"
DEVICE="ens33"
ONBOOT="yes"
BRIDGE="br0"
# cat /etc/sysconfig/network-scripts/ifcfg-br0
TYPE="bridge"
BOOTPROTO="dhcp"
DEVICE="br0"
ONBOOT="yes"

修改完网卡配置需要重启网络服务

# systemctl restart network
或者
# systemctl restart NetworkManager
重启那个服务取决于你使用那个服务

镜像制作">3.镜像制作

openstack镜像">3.1创建磁盘(创建将来的Openstack镜像)

# qemu-img create -f qcow2 /tmp/windows_server_2008r2.qcow2 30G

镜像">3.2启动镜像

virt-install --name win2008r2 --ram 1024 \
--os-type=windows --os-variant=win2k12r2 \
--disk path=/tmp/windows_server_2008r2.qcow2,bus=virtio \
--disk /data/img/cn_windows_server_2012_r2_x64_dvd_2707961.iso,device=cdrom,bus=ide \
--disk /data/img/virtio-win-0.1.141.iso,device=cdrom,bus=ide \
--network bridge=br0,model=virtio  \
--graphics vnc,listen=0.0.0.0 --noautoconsole
##cdrom后面的镜像需要从微软官网或者msdn i tell you下载

3.3连接vnc进行系统安装系统初始化

3.3.1vnc连接

查看vnc端口

virsh # vncdisplay win2008r2
:0

外部连接的vnc端口为590x例如上面就为5900,以192.168.1.111:5900连接之后进行安装系统
openstack-staudy/blob/master/note/Opestack%E9%95%9C%E5%83%8F%E5%88%B6%E4%BD%9C/WindowsServer_2012R2/1.png?raw=true" alt="这里写图片描述" title="" />

3.3.2 安装系统

选择带有gui的服务器,如果选择第一个的话安装完成之后图形界面只有一个powershell
openstack-staudy/blob/master/note/Opestack%E9%95%9C%E5%83%8F%E5%88%B6%E4%BD%9C/WindowsServer_2012R2/2.png?raw=true" alt="这里写图片描述" title="" />
选择自定义安装
openstack-staudy/blob/master/note/Opestack%E9%95%9C%E5%83%8F%E5%88%B6%E4%BD%9C/WindowsServer_2012R2/3.png?raw=true" alt="这里写图片描述" title="" />
可以看到如果没有加载virtio驱动是识别不到磁盘的,进行加载
openstack-staudy/blob/master/note/Opestack%E9%95%9C%E5%83%8F%E5%88%B6%E4%BD%9C/WindowsServer_2012R2/4.png?raw=true" alt="这里写图片描述" title="" />
选择磁盘驱动
openstack-staudy/blob/master/note/Opestack%E9%95%9C%E5%83%8F%E5%88%B6%E4%BD%9C/WindowsServer_2012R2/5.png?raw=true" alt="这里写图片描述" title="" />
openstack-staudy/blob/master/note/Opestack%E9%95%9C%E5%83%8F%E5%88%B6%E4%BD%9C/WindowsServer_2012R2/6.png?raw=true" alt="这里写图片描述" title="" />
加载完磁盘驱动就可以看到磁盘了
openstack-staudy/blob/master/note/Opestack%E9%95%9C%E5%83%8F%E5%88%B6%E4%BD%9C/WindowsServer_2012R2/7.png?raw=true" alt="这里写图片描述" title="" />
openstack-staudy/blob/master/note/Opestack%E9%95%9C%E5%83%8F%E5%88%B6%E4%BD%9C/WindowsServer_2012R2/8.png?raw=true" alt="这里写图片描述" title="" />
进行文件拷贝系统安装
openstack-staudy/blob/master/note/Opestack%E9%95%9C%E5%83%8F%E5%88%B6%E4%BD%9C/WindowsServer_2012R2/9.png?raw=true" alt="这里写图片描述" title="" />
安装更新完成之后启动的镜像会重启
如果拷贝中途虚拟机挂起,很可能是磁盘空间不够,需要扩容
openstack-staudy/blob/master/note/Opestack%E9%95%9C%E5%83%8F%E5%88%B6%E4%BD%9C/WindowsServer_2012R2/10.png?raw=true" alt="这里写图片描述" title="" />
实际上是没有正常启动的

virsh # list --all
 Id    Name                           State
----------------------------------------------------
 -     win2008r2                      shut off

手动启动

virsh # start win2008r2
Domain win2008r2 started

启动之后镜像是没有网卡驱动的,打开 设备管理器 进行驱动安装,浏览计算机以查找驱动程序
openstack-staudy/blob/master/note/Opestack%E9%95%9C%E5%83%8F%E5%88%B6%E4%BD%9C/WindowsServer_2012R2/11.png?raw=true" alt="这里写图片描述" title="" />
openstack-staudy/blob/master/note/Opestack%E9%95%9C%E5%83%8F%E5%88%B6%E4%BD%9C/WindowsServer_2012R2/12.png?raw=true" alt="这里写图片描述" title="" />
安装成功之后右下角任务栏网络连接上的小红叉就没了
openstack-staudy/blob/master/note/Opestack%E9%95%9C%E5%83%8F%E5%88%B6%E4%BD%9C/WindowsServer_2012R2/13.png?raw=true" alt="这里写图片描述" title="" />

3.3.3 初始化

  • 例如安装agent
  • 同步时间
  • 修补漏洞
  • 关闭防火墙等操作
  • 开启远程桌面
  • 安装cloudbase-init(https://cloudbase.it/cloudbase-init/#download)

最好安装下cloudbase-init或者直接用sysprep对服务器用户的SID做下修改,否则用这个镜像产生的虚拟机Administrator的SID以及主机名千篇一律,如果有两台这样的服务器在同一个域,dhcp获取ip的时候会出错
初始化完成后关闭虚拟机,进行镜像压缩上传

# 4.镜像压缩(保证磁盘空间足够)
## 4.1 压缩镜像
用virt-sparsify压缩建议开机压缩,占用磁盘空间小,如果关机状态压缩的话会生成一个sparsify文件实测(22G)占用大量空间,开机状态压缩的话sparsify文件占用磁盘空间相对较小(193K)

bash
# virt-sparsify --compress /tmp/windows_server_2008r2.qcow2 /tmp/windows_server_2008r2_cmp.qcow2

# ll -h
total 12G
-rw-r--r--. 1 root root 3.9G Mar 23 19:55 windows_server_2008r2_cmp.qcow2
-rw-r--r--. 1 qemu qemu 7.5G Mar 23 19:48 windows_server_2008r2.qcow2

4.2 压缩对比

1.-rw-r--r--. 1 root root 3.9G Mar 23 19:55 windows_server_2008r2_cmp.qcow2 #通过sparsify压缩3得到
2.-rw-r--r--. 1 root root 3.9G Mar 23 20:05 windows_server_2008r2_cmp.qcow2.tar.gz #通过tar压缩1得到
3.-rw-r--r--. 1 qemu qemu 7.5G Mar 23 19:48 windows_server_2008r2.qcow2 #原始惊醒
4.-rw-r--r--. 1 root root 3.7G Mar 23 20:13 windows_server_2008r2.qcow2.tar.gz #通过tar压缩3得到
#3为初始镜像

tar压缩之后占的空间比sparsify要少

# tar zcvf windows_server_2008r2.qcow2.tar.gz windows_server_2008r2.qcow2

4.3 检测

压缩完测试下压缩之后的镜像是否可用,用压缩的镜像磁盘启动虚拟机,如果运行正常则可用

# virt-install --name ws2012r2 --memory 1024  \
--disk /tmp/windows_server_2008r2_cmp.qcow2,format=qcow2 \
--import --os-type=windows --os-variant=win2k12r2  \
--disk /data/img/virtio-win-0.1.141.iso,device=cdrom,bus=ide  \
--network bridge=br0,model=virtio  \
--graphics vnc,listen=0.0.0.0 --noautoconsole

压缩完毕上传镜像

镜像kilo">5.上传镜像(Kilo)

镜像拷贝到glance服务器解压然后进行上传

# tar zxvf windows_server_2008r2.qcow2.tar.gz
# glance image-create --name 'windows_server_2008r2' \
--file=/root/img/windows_server_2008r2.qcow2 \
--disk-format qcow2 --container-format bare \
--is-public=true

参考:
https://blog.csdn.net/wylfengyujiancheng/article/details/50468173
https://www.jianshu.com/p/c92c3c9a2d6f


http://www.niftyadmin.cn/n/1075482.html

相关文章

Spark Mllib里如何建立向量标签(图文详解)

不多说,直接上干货! 注意: val pos LabeledPoint(1, vd) val neg LabeledPoint(2, vs)    除了这两种建立向量标签。还可以从数据库中获取固定格式的数据集方法。 具体,见 Spark Mllib机器学习实战的第4章 Mllib基本数据类…

记一次ceph排错过程

问题描述排错思路&排错过程思路笨办法排错过程 相对比较效率的办法 关于这儿提到的俩种解决思路(归根节点还是一种),算是openstack对接ceph最基础的排错方式 问题描述 ceph作为openstack cinder的后端存储,在openstack创建云硬盘的时候报错&#…

Openstack虚拟机关机后无法启动(start).md

Openstack虚拟机关机后无法启动(start) 文章目录Openstack虚拟机关机后无法启动(start)分析解决通过日志直接分析问题排查flag,先看他是什么东西再看异常查看系统日志#现象执行启动虚拟机(nova start)之后,虚拟机并未启动,到该计算节点母机查…

Openstack基础环境交换机常用配置(CISCO 3750G为例).md

Openstack基础环境交换机常用配置(CISCO 3750G为例) 文章目录Openstack基础环境交换机常用配置(CISCO 3750G为例)基础操作初始化配置备份原交换机配置交换机重置硬重置软重置交换机初始化配置三层交换机开启路由功能PXE 配置配置生成树协议配置交换机禁用自身dhcpVLAN划分新建v…

Centos6.7 Openstack镜像制作.md

Centos6.7 Openstack镜像制作 文章目录Centos6.7 Openstack镜像制作镜像需求镜像制作环境准备硬件环境软件环境kvm环境搭建软件安装网络设置镜像制作创建磁盘(创建将来的Openstack镜像)启动虚拟机连接vnc进行系统安装系统初始化基础软件包基础优化配置磁盘分区,自动…

Spring日期格式初始化

原文链接地址 一、初始化参数绑定[一种日期格式] 配置步骤&#xff1a; ①&#xff1a;在applicationcontext.xml中只需要配置一个包扫描器即可 12<!-- 包扫描器 --><context:component-scan base-package"cn.happy.controller"></context:component-…

openstack虚拟机resize源码分析

openstack虚拟机resize源码分析 文章目录openstack虚拟机resize源码分析resize过程python-client端debugdebug分析获取keystone版本详情验证admin信息并生成token带着token去请求虚拟机信息带着token去获取resizede的目标flavor发送调整实例请求再次获取虚拟机信息 监控服务器状…

BZOJ1047: [HAOI2007]理想的正方形

1047: [HAOI2007]理想的正方形 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 3448 Solved: 1894[Submit][Status][Discuss]Description 有一个a*b的整数组成的矩阵&#xff0c;现请你从中找出一个n*n的正方形区域&#xff0c;使得该区域所有数中的最大值和最小值 的差最小…