闲者博客 - 镜像 2022-05-10T23:21:00+08:00 Typecho https://bk1314.com/feed/atom/tag/%E9%95%9C%E5%83%8F/ <![CDATA[nokvm制作模版镜像]]> https://bk1314.com/70.html 2022-05-10T23:21:00+08:00 2022-05-10T23:21:00+08:00 飞鱼 http://www.typecho.org

如何制作模版镜像?

一、基于现有虚拟机制作模版镜像

1.选择一个你要用来制作的虚拟机(举例为ecs8888)
2.在此虚拟机里安装你想要安装的软件/驱动
3.不同操作系统下初始化虚拟机

windows下执行以下操作

(1)在“C:\Windows\System32\”目录下新建一个start.bat,内容为:

call C:\change.bat
call del C:\change.bat

请输入图片描述
(2)运行中输入gpedit.msc打开本地策略组编辑器
请输入图片描述
(3)打开Windows设置→脚本→双击启动

(4)添加C:\Windows\System32\start.bat

(5)正常关闭系统或者在面板上使用软关机
(6)执行拷贝命令把系统镜像拷贝为模版

cp /home/nokvm/resource/ecs8888/uuid_sys.qcow2 /home/nokvm/templates/模版名称.qcow2

Centos7执行以下操作

(1)安装在线修改密码服务并设置为开机启动

yum install qemu-guest-agent
systemctl start qemu-guest-agent
systemctl enable qemu-guest-agent

(2)编辑/etc/rc.d/rc.local在文件中添加以下内容:

sh /root/change.sh && rm -rf /root/change.sh

(3)之后执行chmod +x /etc/rc.d/rc.local
(4)正常关闭系统
(5)执行拷贝命令把系统镜像拷贝为模版

cp /home/nokvm/resource/ecs8888/uuid_sys.qcow2 /home/nokvm/templates/模版名称.qcow2

Centos6执行以下操作

(1)安装在线修改密码服务并设置为开机启动

yum install qemu-guest-agent
chkconfig --add qemu-ga

(2)编辑/etc/rc.d/rc.local在文件中添加以下内容:

sh /root/change.sh && rm -rf /root/change.sh

(3)之后执行chmod +x /etc/rc.d/rc.local
(4)正常关闭系统
(5)执行拷贝命令把系统镜像拷贝为模版

cp /home/nokvm/resource/ecs8888/uuid_sys.qcow2 /home/nokvm/templates/模版名称.qcow2

Ubuntu/Debian执行以下操作

(1)安装在线修改密码服务

sudo apt-get install qemu-guest-agent

(2)编辑/etc/rc.local 文件在exit 0之前添加以下内容:

/etc/init.d/qemu-guest-agent start
sh /root/change_other.sh && rm -rf /root/change_other.sh

(3)之后执行chmod +x /etc/rc.local
(4)正常关闭系统
(5)执行拷贝命令把系统镜像拷贝为模版

cp /home/nokvm/resource/ecs8888/uuid_sys.qcow2 /home/nokvm/templates/模版名称.qcow2


二、通过ISO全新安装制作模版镜像

1.下载windows下virtio驱动ISO文件(linux不用下载)并添加到光盘媒介

https://docs.fedoraproject.org/en-US/quick-docs/creating-windows-virtual-machines-using-virtio-drivers/index.html

2.以下是ISO中包含文件的内容

  • NetKVM/ - Virtio网络驱动程序
  • viostor/ - Virtio块驱动程序
  • viorng/ - Virtio RNG驱动程序
  • vioscsi/ - Virtio小型计算机系统接口(SCSI)驱动程序
  • vioser/ - Virtio串行驱动程序
  • Balloon/ - Virtio记忆气球驱动程序
  • qxl/ - 适用于Windows 7及更早版本的QXL图形驱动程序。(构建virtio-win-0.1.103-1及更高版本)
  • qxldod/ - 适用于Windows 8及更高版本的QXL图形驱动程序。(构建virtio-win-0.1.103-2及更高版本)
  • pvpanic/- QEMU pvpanic设备驱动程序(构建virtio-win-0.1.103-2及更高版本)
  • guest-agent/ - QEMU Guest Agent 32位和64位MSI安装程序
  • qemupciserial/- QEMU PCI串行设备驱动程序

3.新建或选择一台现有虚拟机加载需要系统的ISO镜像
4.如何扩大或缩小系统盘?

关闭系统后执行以下命令:
qemu-img resize 镜像文件 +10G    #扩大10G容量
qemu-img resize 镜像文件 -10G    #缩小10G容量

5.然后进入正常windows/linux正常安装流程

linux可以正常安装。windows则需要加载virtio-win的驱动。
在光驱挂载页面先取消windows系统的挂载,然后挂载virtio-win-XXX.iso加载硬盘驱动。
加载驱动完成后取消驱动ISO挂载,重新挂载windows系统ISO然后继续按照安装流程安装。

![]()

6.安装完毕后进入系统后执行以下操作

(1)在“C:\Windows\System32\”目录下新建一个start.bat,内容为:

call C:\change.bat
call del C:\change.bat

(2)运行中输入gpedit.msc打开本地策略组编辑器
(3)打开Windows设置→脚本→双击启动
(4)添加C:\Windows\System32\start.bat

7.加载virtio-win-的驱动ISO,安装如下程序

必须安装,否则无法在线修改密码

guest-agent/ - QEMU Guest Agent 32位和64位MSI安装程序

8.优化安装你自己的软件
9.安装驱动请继续从virtio-win-的驱动ISO中安装
10.正常关机/主控面板中软关机
11.执行拷贝命令把系统镜像拷贝为模版

cp /home/nokvm/resource/ecs8888/uuid_sys.qcow2 /home/nokvm/templates/模版名称.qcow2

[scode type="green" size="small"]镜像命名方式 以下开头命名镜像名称:
centos
windows
debian
ubuntu[/scode]

]]>
<![CDATA[windows 和linux模板镜像系统]]> https://bk1314.com/24.html 2022-02-23T22:19:00+08:00 2022-02-23T22:19:00+08:00 飞鱼 http://www.typecho.org 点击进入百度网盘备用下载


windows模版
wget -O /home/nokvm/templates/windows7.qcow2 http://45.253.64.15:8013/templates/vip/win/windows7.qcow2

wget -O /home/nokvm/templates/windows10_x64_zh.qcow2 http://45.253.64.15:8013/templates/vip/win/windows10_x64_zh.qcow2

wget -O /home/nokvm/templates/windows10_x64_en.qcow2 http://45.253.64.15:8013/templates/vip/win/windows10_x64_en.qcow2

wget -O /home/nokvm/templates/windows2003r2.qcow2 http://45.253.64.15:8013/templates/vip/win/windows2003r2.qcow2

wget -O /home/nokvm/templates/windows2003r2_x86.qcow2 http://45.253.64.15:8013/templates/vip/win/windows2003r2_x86.qcow2

wget -O /home/nokvm/templates/windows2003R2_10G.qcow2 http://45.253.64.15:8013/templates/vip/win/windows2003R2_10G.qcow2

wget -O /home/nokvm/templates/windows2008r2.qcow2 http://45.253.64.15:8013/templates/vip/win/windows2008r2.qcow2

wget -O /home/nokvm/templates/windows2012r2.qcow2 http://45.253.64.15:8013/templates/vip/win/windows2012r2.qcow2

wget -O /home/nokvm/templates/windows2012r2_standard.qcow2 http://45.253.64.15:8013/templates/vip/win/windows2012r2_standard.qcow2

wget -O /home/nokvm/templates/windows2016.qcow2 http://45.253.64.15:8013/templates/vip/win/windows2016.qcow2


wget -O /home/nokvm/templates/windows10_x64_zh.qcow2 http://45.253.64.15:8013/templates/vip/win/windows10_x64_zh.qcow2


linux模版:
wget -O /home/nokvm/templates/centos6.5.qcow2 http://45.253.64.15:8013/templates/vip/linux/centos6.5.qcow2

wget -O /home/nokvm/templates/centos6.8.qcow2 http://45.253.64.15:8013/templates/vip/linux/centos6.8.qcow2

wget -O /home/nokvm/templates/centos7.0.qcow2 http://45.253.64.15:8013/templates/vip/linux/centos7.0.qcow2

wget -O /home/nokvm/templates/centos7.2.qcow2 http://45.253.64.15:8013/templates/vip/linux/centos7.2.qcow2

wget -O /home/nokvm/templates/centos7.4.qcow2 http://45.253.64.15:8013/templates/vip/linux/centos7.4.qcow2

wget -O /home/nokvm/templates/centos7.5.qcow2 http://45.253.64.15:8013/templates/vip/linux/centos7.5.qcow2

wget -O /home/nokvm/templates/centos7.6.qcow2 http://45.253.64.15:8013/templates/vip/linux/centos7.6.qcow2

wget -O /home/nokvm/templates/centos8.1.qcow2 http://45.253.64.15:8013/templates/vip/linux/centos8.1.qcow2

wget -O /home/nokvm/templates/ubuntu16.4.qcow2 http://45.253.64.15:8013/templates/vip/linux/ubuntu16.4.qcow2

wget -O /home/nokvm/templates/ubuntu18.4.qcow2 http://45.253.64.15:8013/templates/vip/linux/ubuntu18.4.qcow2

wget -O /home/nokvm/templates/ubuntu19.10.qcow2 http://45.253.64.15:8013/templates/vip/linux/ubuntu19.10.qcow2

wget -O /home/nokvm/templates/debian10.3.qcow2 http://45.253.64.15:8013/templates/vip/linux/debian10.3.qcow2
]]>
<![CDATA[修改qcow2文件镜像和压缩的教程]]> https://bk1314.com/13.html 2022-02-23T17:09:00+08:00 2022-02-23T17:09:00+08:00 飞鱼 http://www.typecho.org 一、 修改镜像内容步骤

guestfish --rw -a qcow2
#镜像文件绝对路径 (例子:guestfish --rw -a /home/kvm/images/CentOS-7.8.2003-x64.qcow2)
进入后先执行run;
随后执行list-filesystems 查看分区信息;
以魔方centos7.8镜像为例,分区信息为 /dev/sda1: ext4 ,执行mount /dev/sda1 / 进行分区挂载;
接下来可以修改任意文件,例如操作ssh登录提示 vi /etc/motd
执行exit 退出
目前发现一个重点问题:在挂载xfs分区时会出现分区格式不兼容的情况。例如CentOS8官方的云镜像,默认是xfs分区格式,CentOS8与CentOS7的xfs格式不相同,会出现兼容问题 运行不成功或挂载不成功,请注意区分。

1.另外一种挂载到宿主机目录方式

guestmount -a qcow2 -m 分区  /宿主机目录
#镜像文件绝对路径 (例子:guestmount -a /home/kvm/images/CentOS-7.8.2003-x64.qcow2 -m /dev/sda1  /mnt)
#卸载命令
guestunmount /mnt

二、 清除磁盘空洞

virt-sparsify -x 原qcow2镜像文件路径 --convert qcow2 新qcow2镜像文件路径
(例子:virt-sparsify -x /home/kvm/images/CentOS-7.8.2003-x64.qcow2 --convert qcow2 /home/kvm/images/tmp.qcow2)

如果出错提示tmp不足可以参考下面这个文章

[post cid="134" /]

操作完成后,可先进行重装验证是否可以正常引导启动,最后修改新qcow2镜像文件名称

三、对qcow2镜像文件进行打包压缩

qemu-img convert -c -O qcow2 需要压缩的镜像文件路径 压缩后的镜像文件路径
(例子:qemu-img convert -c -O qcow2 /home/kvm/images/tmp.qcow2 /home/kvm/images/CentOS-7.8.2003-x64.qcow2)
]]>