首页 > 其他分享 >玩玩虚拟化-KVM

玩玩虚拟化-KVM

时间:2024-10-10 19:22:39浏览次数:6  
标签:存储 虚拟化 -- qcow2 虚拟机 KVM 玩玩 virsh install

1、讲在前面(玩这个的心历路程)

最近一段时间想玩一些集群之类的东西,学习搞一下K8s,集群啥的,但是我没有多台服务器,如果购买云服务器成本太高,后来想到了买台台式机弄点虚拟机来玩,于是我就在某鱼上淘了台二手台式机(24核+32G+512G+4G显卡),价格1280。后来想到要装虚拟机,我就想到了现在经常用到的云平台,于是在网上找了一些开源云平台,于是找了一些开源云平台

2、最终选择KVM的原因

最开始选择的是FreeVM,纯国产化安全虚拟化平台,直接有一体包安装简单,纯中文界面,对于国人相对友好,另外看了介绍操作比较简单并且开源(企业版功能基本上用不到),所以我就使用了这个,官网有一体包,直接下载ISO镜像,像装操作系统一样的,根据官网流程安装很简单。最终舍弃的原因是,不稳定,短短一个星期我云平台重装了两次(可能是我的硬件也太垃圾,或者搭建好之后我总是能精确命中系统bug,总之我的感觉就是不稳定),果断舍弃。

舍弃FreeVM我又查了一下最稳定和历史悠久的要属于OpenStack,一个开源的云计算管理平台项目。OpenStack为私有云和公有云提供可扩展的弹性的云计算服务。项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。当时追求稳定性,没有考虑安装复杂度和配置问题,直接开始找各种教程开始干,趁周末从早上搞到晚上才搞好,最终发现不适用于我这种情况,OpenStack相对来说较重,里面各种组件有十几个,整个服务启动起来,直接把我内存吃完了。于是我果断放弃了

后来想通了,如果想搭建一个即稳定又实用的云平台靠这一台机器这点资源很难实现,于是我就考虑到了最笨的方式,使用虚拟机(类似于VMware)。因为我的原系统定位就是Centos,经过查询之后找到了KVM(一个开源的系统虚拟化模块)。虚拟化需要硬件支持(如Intel VT技术或者AMD V技术)。是基于硬件的完全虚拟化

3、说干就干,开始安装(Centos系统)

我是直接用yum装的,现在因为Centos已经停止维护,yum源可以用阿里源或者腾讯源,阿里源有个问题,使用在虚拟机上时间久了容易被封掉IP,导致你的IP无法再用(当时因为这个让我排查了好久)。如果遇到yum源的问题,可以直接换源解决问题。毕竟都不是慈善家,免费的东西咱也不好说啥。

安装命令步骤直接在下面:

# 构建虚拟机的命令行工具
yum -y install virt-install

# 网络支持工具, 默认已安装
yum -y install bridge-utils 

# 安装虚拟机管理工具
yum -y install libvirt libvirt-devel libvirt-daemon-kvm libvirt-client
yum -y install virt-manager

# 开启 libvirtd KVM服务,以开启相关支持:
systemctl start libvirtd
systemctl enable libvirtd --now
 
# 安装其它工具包:
yum install libvirt-python python-virtinst virt-install virt-viewer –y
yum install libguestfs-tools -y

截止上面最后一步,KVM已经安装好了

这些都是相关的一些命令,看着很多实际上用到的也就两三个(因为我目前只用了两三个)。virsh、virt-install、virt-manager

4、使用kvm创建虚机,virt-install命令

​ 上面已经安装好了KVM,接下来要开始用KVM创建虚机,虚机需要有镜像,这里用还是用Centos来做例子,我是在阿里云的下载的:https://mirrors.aliyun.com/centos/7/isos/x86_64

# 下载镜像
wget https://mirrors.aliyun.com/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-2009.iso

# 把镜像放到你的自定义位置
mv CentOS-7-x86_64-DVD-2009.iso /data/iso/

# 创建一个名称为master 内存8196M 8个C 的虚机 存储卷在/var/lib/libvirt/images/master.qcow2
virt-install --name=master --memory=8196 --vcpus=8 --os-type=linux --location=/data/iso/CentOS-7-x86_64-DVD-2009.iso --disk /data/vmdisk/images/master.qcow2,device=disk,bus=virtio,size=80 --network network=default --network bridge=virbr0 --nographics --extra-args='console=tty0 console=ttyS0,115200n8 serial'

virt-install命令相关

#虚拟机镜像文件默认路径:/var/lib/libvirt/images/
磁盘镜像文件以qcow2、img、raw等格式后缀

磁盘镜像文件格式:
  虚拟机磁盘文件有raw、qcow2格式和qed(这种已经不用了)。qcow2格式是kvm支持的标准格式,raw格式为虚拟磁盘文件通用格式。raw格式性能最好,速度最快,其缺点是不支持一些新的功能,如镜像,Zlib磁盘压缩、AES加密、快照等,另外raw格式文件比qcow2格式文件大很多,将近15倍吧。而qcow2格式是支持快照模式,做快照要把它转换成qcow2格式。
 
#命令创建虚拟机示例
virt-install \        #创建命令 
-n kvm1 \          #虚拟机显示名(非虚拟机主机名)
-r 4096 \          #虚拟机内存大小 
--vcpus 2 \          #虚拟机cpu个数 
--disk path=/var/lib/libvirt/images/kvm1.qcow2,size=50,format=qcow2,bus=virtio \     #指定硬盘路径,大小,格式为qcow2,总线类型为virtio 
--location /root/iso/CentOS-7-x86_64-Minimal-2009.iso \    #系统安装iso路径 
--nographics \                    #不调用图形化界面 
--network network=default \                #网卡1指定网桥 
--network bridge=br0 \                #网卡2指定网桥 
--console pty,target_type=serial \          #console控制通道 
--extra-args 'console=ttyS0,115200n8 serial'      #文本输出 
 
或者vnc方式连接安装
 
virt-install \
--name=kvm001 --ram 1024 --vcpus=1 \
--disk path=/home/raw/kvm001.raw,size=10,format=raw,bus=virtio \
--cdrom=/mnt/CentOS-7-x86_64-Minimal-1810.iso --network bridge=br0,model=virtio \
--graphics vnc,listen=0.0.0.0 --noautoconsole
 
参数说明:
 
--name    #虚拟机名称
--ram     #分配给虚拟机的内存,单位MB
--vcpus   #分配给虚拟机的cpu个数
--cdrom   #指定CentOS镜像ISO文件路径
--disk    #指定虚拟机raw文件路径
  size    #虚拟机文件大小,单位GB
  bus     #虚拟机磁盘使用的总线类型,为了使虚拟机达到好的性能,这里使用virtio
  cache   #虚拟机磁盘的cache类型
--network bridge    #指定桥接网卡
   model            #网卡模式,这里也是使用性能更好的virtio
--graphics          #图形参数 
 
 

5、虚机管理 virsh

虚拟机状态维护

virsh list --all                 #查看所有虚拟机
virsh dominfo 虚拟机名或虚拟机ID    #查看虚拟机信息概览
virsh console 虚拟机名或虚拟机ID    #进入虚拟机
快捷键: ctrl+]   								 #退出虚拟机
virsh shutdown 虚拟机名或虚拟机ID   #关闭虚拟机 
virsh destroy 虚拟机名或虚拟机ID    #强制关闭虚拟机 
virsh start 虚拟机名或虚拟机ID      #开机虚拟机  
virsh suspend 虚拟机名或虚拟机ID    #挂起虚拟机 
virsh resume 虚拟机名或虚拟机ID     #恢复虚拟机 
virsh reset 虚拟机名或虚拟机ID      #重置虚拟机 
virsh undefine 虚拟机名或虚拟机ID   #删除虚拟机
virsh autostart 虚拟机名或虚拟机ID  #设置虚拟机自动启动
virsh autostart --disable 虚拟机名 #关闭虚拟机自动启动
virsh dumpxml 虚拟机名或虚拟机ID    #查看虚拟机配置文件 
virsh edit 虚拟机名或虚拟机ID       #修改虚拟机配置,必须关机
virsh snapshot-create-as 虚拟机名 快照名   #创建虚拟机快照
virsh snapshot-list 虚拟机名       #查看虚拟机快照列表  
virsh snapshot-revert 虚拟机名 虚拟机快照名   #恢复虚拟机快照
virt-clone -o 源虚拟机名 -n 新虚拟机名 -f 存储新虚拟机的文件路径 #克隆虚拟机

KVM存储池管理

virsh pool-list --all    #查看当前存储池列表 
virsh pool-info 存储池名     #查看存储池信息 
virsh  pool-dumpxml 存储池名    #查看存储池信息  注:存储池的配置信息也是xml的格式,存放在/etc/libvirt/storage中
virsh pool-destroy vmdisk   #取消激活存储池
virsh pool-undefine vmdisk    #取消定义存储池
virsh pool-delete vmdisk    #删除存储池定义的目录

#创建本地存储池,存储池所在的目录
mkdir -p /data/vmfs     # 存储池所在的目录
virsh pool-define-as vmdisk --type dir --target /data/vmfs/   #定义存储池
virsh pool-build vmdisk     #创建已定义的存储池
virsh pool-start vmdisk     #激活并启动已定义的存储池,存储池不激活是无法使用的
virsh pool-autostart vmdisk #激活并自动启动已定义的存储池,存储池不激活是无法使用的

存储卷管理

#创建存储卷,在vmdisk存储池中,创建一个容量为80G、格式为qcow2的虚拟机存储卷,名称为master.qcow2
virsh vol-create-as vmdisk master.qcow2 80G --format qcow2   

#删除存储卷
virsh vol-delete --pool vmdisk kvm2_2.qcow2   

标签:存储,虚拟化,--,qcow2,虚拟机,KVM,玩玩,virsh,install
From: https://www.cnblogs.com/KingArmy/p/18456963

相关文章

  • AMD 线程撕裂者7970X 搭配双卡A5000,打造模具设计公司工作站虚拟化方案
    客户背景客户为一家模具设计公司,使用UG/NX设计软件,现有10名设计师。当前面临以下问题:信息安全:设计图纸存在泄密风险,无法确保数据安全。远程访问:设计师无法通过远程方式访问工作站进行设计工作。资源共享:设计工作站目前归属于个人,设计资源难以高效共享,工作站资源利用率较低......
  • debian12 最小化安装以后配置kvm
    今年是centos停止更新的日子,陪伴了多年,熟悉的操作环境很人很纠结换系统,特别是到了我这个年龄阶段,重新再学习简直比要人命还难受。安装完系统之后,第一个就是配置ssh允许root用户登录,这个根据自己需求,我们的环境必须用root,加上堡垒机,也算安全。(在安全和便利之间折中) 1、安装kvm......
  • 苹果笔记本安装双系统,如何开启虚拟化
    1开启以下Windows功能并重启Hyper-v虚拟机监控程序,如果不能开,也可以不开。2下载rEFInd-bin软件并解压https://sourceforge.net/projects/refind/ 我的下载目录是:D:\refind-bin-0.14.23编辑文件将refind目录下的refind.conf-sample的文件名改为refind.conf,notepad++打开......
  • 服务器虚拟化详解
    服务器虚拟化详解服务器虚拟化是一种将物理服务器资源转化为虚拟服务器资源的技术,它允许在一台物理服务器上运行多个虚拟服务器,每个虚拟服务器都拥有独立的操作系统、应用程序和资源配置。这种技术极大地提高了服务器的利用率、灵活性和可扩展性,成为现代数据中心和云计算环......
  • 小主机虚拟化平台搭建记录
    小主机搭建虚拟化的一些记录:1,如果主机是Intel平台,目前建议还是使用VMwareEsxi6.7,如果你的主机网卡驱动没有包含在ESXI官方安装包内,去恩山找封装了网卡驱动的版本https://www.right.com.cn/FORUM/thread-7881507-1-1.html 2,如果你的主机是AMD平台,并且是ZEN系列,那么优先选......
  • 云平台和虚拟化智慧运维监控,全面提升故障感知与处置能力
        随着云计算、大数据技术等发展,虚拟化的普及不断深入,已成为现代IT基础设施建设中不可或缺的组成部分,成为推动企业数字化转型的关键力量。虚拟化的应用在降低软硬件成本和复杂性的同时,如何保障虚拟环境的高效运行,也给运维人员带来了更大的挑战。    北京智和信......
  • Centos7使用pxe安装KVM虚拟机
    Centos7使用pxe安装KVM虚拟机一、安装服务所需的软件[root@localhost~]yuminstallnginxdhcpvsftpdsyslinux-y[root@localhost~]mount-ploop-tiso9660images/CentOS-7-x86_64-DVD-1804.iso/mnt#提前上传镜像[root@localhost~]systemctlstart......
  • macOS 15 Blank OVF - macOS Sequoia 虚拟化解决方案
    macOS15BlankOVF-macOSSequoia虚拟化解决方案适用于VMwareESXi和VMwareWorkstation的macOSSequoia虚拟化模板请访问原文链接:https://sysin.org/blog/macos-15-ovf/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgiPhone镜像、Safari浏览器重大更新......
  • 在VMware中实现嵌套虚拟化
    如果你也跟我一样想在虚拟机里安装和运行docker,但遇到这种情况查询多次无果后面红耳赤,那么恭喜你,我将把我的解决办法不拖泥带水的讲给你听。解决方法检查你的Windows版本,wsl2开启嵌套虚拟化只支持win11以上。这里的wsl指的是wsl2,docker指的是基于wsl2的docker,wsl1不......
  • 基于RHEL 9 搭建 KVM 虚拟化环境
    一、准备工作1.检查硬件虚拟化支持KVM要求处理器支持硬件虚拟化技术:IntelVT-x(虚拟化技术扩展)或AMD-V(虚拟化技术扩展)。检查方法:使用以下命令检查CPU是否支持虚拟化:egrep'(vmx|svm)'/proc/cpuinfo输出含有vmx的为Intel处理器支持虚拟化输出含有svm的为A......