#注意需要开启虚拟化引擎

1.0 安装kvm 环境

#在宿主机安装kvm环境:
[root@localhost data]# yum install qemu-kvm qemu-img virt-manager libvirt libvirt-python virt-* libvirt-client #启动服务
[root@localhost data]# systemctl start libvirtd
[root@localhost data]# systemctl enable libvirtd
[root@localhost data]# echo "net.ipv4.ip_forward =1">>/etc/sysctl.conf
[root@localhost data]# sysctl -p#创建源镜像目录
[root@localhost data]# mkdir /data

2.0 将centos 镜像上传到data 目录

#上传原版Centos iso镜像文件到/data目录
[root@localhost data]# ls /data
CentOS-7-x86_64-DVD-2009.iso#CentOS7镜像阿里云下载地址
http://mirrors.aliyun.com/centos/7/isos/x86_64/

2.1 创建qcow2 格式镜像文件

[root@localhost data]# qemu-img create -f qcow2 /data/CentOS7_YF.qcow2 100G#创建qcow2 格式 容量为 100G的文件用于之后的操作,此设置,设置了镜像文件启动之后,磁盘大小

3.0 创建kvm虚拟机

virt-install --name CentOS_YF --virt-type kvm \  #创建kvm虚拟机的名字 虚拟化类型
--ram 2048 \                                     #内存大小 随意设置
--vcpus=2 \                                      #cpu 个数 随意设置
--cdrom=/data/CentOS-7x86_64-DVD-2009.iso \      #源镜像文件位置
--disk paht=/data/CentOS7_YF.qocw2 \             #数据盘位置
--network bridge=br0 \                           #使用br0 网络
--graphics vnc,listen=0.0.0.0 \                  #使用vnc登录
--noautoconsole

3.1 使用vnc 链接 下载地址 Download VNC Viewer | VNC® ConnectControl VNC® enabled computers with VNC® Viewer.https://www.realvnc.com/en/connect/download/viewer/3.1.1 虚拟机链接后可进行初始化设置,安装所需要的环境

#关闭网卡图形化设置模式
[root@localhost data]#systemctl stop NetworkManager
[root@localhost data]#systemctl disable NetworkManager#防火墙优化
[root@localhost data]#systemctl disable firewalld
[root@localhost data]#systemctl stop firewalld#下载常用命令
[root@localhost data]#yum -y install vim lrzsz wget lsof net-tools tree screen tcpdump gcc gcc-c++ make telnet ntpdate acpid#更改源
[root@localhost data]#curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos7_base.repo
[root@localhost data]#curl -o /etc/yum.repos.d/epel.repo http://mirrors.cloud.tencent.com/repo/epel-7.repo
[root@localhost data]#sed -i '/UUID/d' /etc/sysconfig/network-scripts/ifcfg-eth*
[root@localhost data]#sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
setenforce 0#容器环境搭建脚本如下:
#!/bin/bash# 安装依赖包yum -y install yum-uitls device-mapper-persistent-data lvm2yum -y install gcc gcc-c++ makeif [ $? -eq 0 ];then
yum -y install docker-ce
else
continue
#!/bin/bash# 安装依赖包yum -y install yum-uitls device-mapper-persistent-data lvm2yum -y install gcc gcc-c++ makeif [ $? -eq 0 ];then
yum -y install docker-ce
else
continue
fiif [ $? -eq 0 ];then
systemctl start docker
systemctl enable docker
else
echo "docker安装成功"
fi[ -f /etc/docker/daemon.json ] || touch /etc/docker/daemon.json
cat > /etc/docker/daemon.json <<EOF
{
"registry-mirrors":[ "https://registry.docker-cn.com" ]
}
EOFecho "重新加载配置"
systemctl daemon-reload
systemctl restart docker# docker-compose 下载
if [ $? -eq 0 ];then
curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.5/docker-compose-`uname -s`-`uname -m` -o /usr/bin/docker-compose
if [ $? -eq 0 ];then
chmod +x /usr/bin/docker-compose
else
echo "重新加载"
fi
else
echo "重新加载docker-compose"
continue
fiif [ $? -eq 0 ];then
echo " docker 安装成功\n docker-compose 安装成功"
else
echo " 安装失败 "
fi
注意: 如果需要修改docker版本可直接修改脚本中版本号

3.2 安装完成关机,清理虚拟机碎片

清理机器信息 virt-sysprep -d CentOS7_YF
[root@localhost data]# virt-sysprep -d CemtOS_YF
[ 0.0] Examining the guest ...
[ 4.7] Performing "abrt-data" ...
[ 4.7] Performing "backup-files" ...
[ 5.9] Performing "bash-history" ...
[ 5.9] Performing "blkid-tab" ...
[ 5.9] Performing "crash-data" ...
[ 5.9] Performing "cron-spool" ...
[ 6.0] Performing "dhcp-client-state" ...
[ 6.0] Performing "dhcp-server-state" ...
[ 6.0] Performing "dovecot-data" ...
[ 6.0] Performing "logfiles" ...
[ 6.0] Performing "machine-id" ...
[ 6.0] Performing "mail-spool" ...
[ 6.0] Performing "net-hostname" ...
[ 6.1] Performing "net-hwaddr" ...
[ 6.1] Performing "pacct-log" ...
[ 6.1] Performing "package-manager-cache" ...
[ 6.2] Performing "pam-data" ...
[ 6.2] Performing "passwd-backups" ...
[ 6.2] Performing "puppet-data-log" ...
[ 6.2] Performing "rh-subscription-manager" ...
[ 6.3] Performing "rhn-systemid" ...
[ 6.3] Performing "rpm-db" ...
[ 6.3] Performing "samba-db-log" ...
[ 6.3] Performing "script" ...
[ 6.3] Performing "smolt-uuid" ...
[ 6.3] Performing "ssh-hostkeys" ...
[ 6.3] Performing "ssh-userdir" ...
[ 6.3] Performing "sssd-db-log" ...
[ 6.3] Performing "tmp-files" ...
[ 6.3] Performing "udev-persistent-net" ...
[ 6.3] Performing "utmp" ...
[ 6.3] Performing "yum-uuid" ...
[ 6.3] Performing "customize" ...
[ 6.3] Setting a random seed
[ 6.3] Setting the machine ID in /etc/machine-id
[ 6.7] Performing "lvm-uuids" ...

3.3 virt-sparsify compress 压缩镜像

mkdir /data/tmp
chmod 1777 /data/tmp/
export TEMP=/data/tmp
export TMPDIR=/data/tmp
echo 'export TEMP=/data/tmp' >> /etc/profile
echo 'export TMPDIR=/data/tmp' >> /etc/profile
source /etc/profile压缩镜像;
[root@localhost data]#virt-sparsify --compress /data/CentOS7_YF.qcow2 /data/CentOS7_YF_allinone.qcow2
[ 0.1] Create overlay file in /data/tmp to protect source disk
[ 0.2] Examine source disk
◓ 25% ⟦▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒═══════════════════════════════════════════════════════════⟧ --:--
100% ⟦▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒⟧ --:--
[ 24.8] Fill free space in /dev/centos/root with zero
100% ⟦▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒⟧ 00:00
[ 504.3] Clearing Linux swap on /dev/centos/swap
100% ⟦▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒⟧ 00:00
[ 511.3] Fill free space in /dev/sda1 with zero
[ 511.7] Fill free space in volgroup centos with zero
[ 515.2] Copy to destination and make sparse
[1540.3] Sparsify operation completed with no errors.
virt-sparsify: Before deleting the old disk, carefully check that the
target disk boots and works correctly.

4.0 执行命令创建虚拟机

#测试镜像文件
[root@localhost data]#virt-install \
--virt-type kvm \
--name test01 \
--ram 2048 \
--vcpus=1 \
--import \
--disk path=/data/test.qcow2 \
--network bridge=br0 \
--graphics vnc,listen=0.0.0.0,port=8899 \
--os-type=linux注意:模板机创建的网路类型,通过模板文件启动的时候,需要和创建模板机时的网络类型一至,如果不一致,会导致网卡启动不起来;

5.0 kvm常用命令

#virt-install [选项]
-h 查看帮助
--connect=CONNECT   #连接非默认的hypervisor,默认为qemu:///system
-n name             #新的虚拟机主机实例名称
--virt-type kvm     #虚拟化的类型
--os-type=linux     #系统类型
--os-variant fhel7  #系统版本
-r MEMORT           #虚拟机内存设置
--arch=ARCH cpu     #架构
--machine=MACHINE   #虚拟机模拟机类型,Xen或者KVM等。
--vcpus=VCPUS       #虚拟主机CPU个数
-c CDROM            #设置光盘镜像或光盘设备路径
-l LOCATION         #指定安装源路径
--pxe               #使用pxe协议启动
--import            #导入现有的虚拟机
-x EXTRA            #附加的内核参数,如-x "ks=http://server/server.ks"
--os-type=Type      #操作系统类型,如linux、windwos等
--disk=DISKOPTS     #设置虚拟机磁盘,如--disk /dev/storage/path
-w NETWORK          #设置虚拟机网络,如-w bridge=br0
--noneworks         #虚拟机不设置任何网络接口
-m MAC              #设置虚拟机MAC地址
--vnc               #设置通过vnc查看虚拟机
--hvm               #使用全虚拟化
--paravirt          #使用半虚拟化技
--soundhw MODEL     #设置声卡设备
--autostart         #设置虚拟机为开机启动
--disk /opt/centos2.raw,format=raw,size=10   #设置硬盘大小,位置
--cdrom /opt/centos-7-x86_64-DVD.iso         #设置镜像
#kvm虚拟机管理工具的部分常用命令;
virt-install # 建立kvm虚拟机
virsh list --all # 查看正在运行的KVM虚拟机
virsh list --all # 查看所有KVM虚拟机
virsh start name # 启动KVM虚拟机
virsh shutdown name # 正常关闭KVM虚拟机(一般要等几分钟)
virsh destroy name # 强制关闭KVM虚拟机(类似于直接断电)
virsh suspend name # 挂起KVM虚拟机
virsh resume name # 恢复挂起的KVM虚拟
virsh dumpxml name # 查看KVM虚拟机配置文件
virsh edit name # 编辑KVM虚拟机的xml配置文件(虚拟机关机后生效)
virsh undefine name # 彻底删除KVM虚拟机,建议先用virsh dumpxml name > xxx.xml 保存配置文件)
virsh define xxx.xml # 根据xxx.xml文件定义虚拟机
virsh console name # 字符界面控制虚拟机
virsh domiflist name # 显示虚拟机的网卡信息
virsh attach-interface name --type bridge --source br0 --medol virtio--config
# 给虚拟机增加网卡,后面是网卡参数,根据 domiflist 查看情况来确定(虚拟机关机后生效,宿主机重启后失效,需要保存到配置文件中,在重新define)
virsh detach-interface name --type bridge --mac 物理地址
# 删除虚拟机网卡,参数根据 domiflist 查看情况来

Centos7 kvm环境制作qcow2 格式镜像相关推荐

  1. 【OpenStack(Train版)安装部署(十二)】之win7系统安装,qcow2格式镜像制作

    文章目录 本文章由公号[开发小鸽]发布!欢迎关注!!! 1.win7系统qcow2格式镜像制作 (1)概述 (2)-失败-安装ISO镜像到qcow2磁盘. (3)vnc viewer连接虚机 (4)C ...

  2. linux系统制作qcow2,制作centos的qcow2格式镜像

    首选创建虚拟磁盘 qemu-img create -f qcow2 CentOS-6.3-x86_64.qcow2 10G 其次从iso启动镜像 virt-install --name centos- ...

  3. openstack在dashboard用iso制作qcow2的镜像【制作linux为例】、linux重封装

    文章目录 说明 制作流程 1.上传iso镜像到dashboard 2.创建源为刚上传的ISO的volume 3.创建一个空的volume,后续做系统盘 4.创建一个实例,boot from 步骤2所创 ...

  4. VMware环境下修改Centos qcow2格式镜像

    1.创建centos7宿主机 使用VMware环境,宿主机创建成功后,需要CPU开启虚拟化,需要关机才能开启. 2.配置yum镜像源 yum install wget wget -O /etc/yum ...

  5. ISO格式云主机创建QCOW2格式镜像

    1: 找到ISO镜像,创建的可运行云主机 2:点击右边下拉框 3:镜像列表观察,镜像创建情况 镜像创建中, 格式为ISO 镜像创建完成,格式为RAW,即qcow2镜像在ceph中的格式: 4:拿镜像直 ...

  6. windows个人电脑上用vmware作为宿主机制作qcow2镜像

    通常云服务商提供的多为基础镜像主机,无法定制系统环境. 本篇主要为了解决项目上云过程有自定义镜像需求以达到快速部署集群需求以节约时间成本的场景 如:项目镜像需要集成k8s.agent脚本等各种集成场景 ...

  7. [zz]kvm环境快照(snapshot)的使用方法

    实例一  使用qemu-img命令使用快照 kvm环境下qcow2的镜像支持快照 1 确认镜像的格式   [root@nc1 boss]# qemu-img info test.qcow2    im ...

  8. 制作openstack镜像(qcow2格式的win10系统)

    制作openstack镜像(qcow2格式的win10系统) 1.准备KVM虚拟机 1.1 所需工具 1.2 安装KVM虚拟机详细步骤 1.3 制作qcow2系统 1.准备KVM虚拟机 搭建opens ...

  9. 使用iso制作qcow2镜像

    (1)首先用qemu-image创建ISO需安装在的系统盘centos.qcow2, (2)在执行以下以下virt-install 启动虚拟机 # qemu-img create -f qcow2 / ...

最新文章

  1. scrapy-redis使用以及剖析
  2. C++实现计数排序(附完整源码)
  3. Oracle 创建函数的权限
  4. Spring-RestTemplate之urlencode参数解析异常全程分析
  5. 分布式面试 - dubbo 的 spi 思想是什么?
  6. origin 设置数据显示位数
  7. 创邻科技张晨:智能物联为图数据库的迅速发展提供了良好应用场景
  8. mybatis如何查询主键
  9. 战神背光键盘如何关系_神舟战神K660E-i7D8红色背光键盘,深夜战火不熄!
  10. 用js内置对象XMLHttpRequest 来用ajax
  11. 资产管理系统可行性分析报告
  12. 海量数据和高并发下的 Redis 业务优化实践
  13. 使用预计算实时全局光照优化照明-设置场景
  14. 安装搭配VUE使用的UI框架ElementUI
  15. php毕业论文总结,毕业设计总结
  16. lighttpd跟php,lighttpd上php的配置
  17. 华为ICT题目-云服务题库3
  18. D:\anaconda3\envs\py2\python.exe: can‘t open file ‘create‘: [Errno 2] No such file or directory
  19. python 概率分布函数_如何在Python中实现这五类强大的概率分布
  20. 存储国家秘密的计算机实行 管理,存储处理国家秘密的计算机实行什么保护

热门文章

  1. 做数据分析必看的书有哪些?
  2. 阿里云Centos系统下部署静态前端页面
  3. 开源社已加入群聊,思否 AIGC Hackathon 扩列
  4. vue打包app网络错误和空白页问题
  5. matplotlib高级篇——坐标轴设置(坐标轴居中、坐标轴箭头、刻度设置、标识设置)
  6. Reversing.kr-Ransomware
  7. RPM REBUILD
  8. R语言绘制PCoA图
  9. ins显示未连接到服务器,ins未能连接到服务器
  10. SIP协议详解(中文)-6