搭建KVM服务器(1)

article/2025/11/5 10:59:07

安装虚拟化服务器平台

虚拟化概念

• KVM /QEMU /LIBVIRTD
– KVM是linux内核的模块,它需要CPU的支持,采用硬件辅劣虚拟化技术 Intel-VT,AMD-V,内存的相关如Intel的 EPT 和 AMD 的 RVI 技术。
– QEMU 是一个虚拟化的仿真工具,通过 ioctl 不内核kvm 交互完成对硬件的虚拟化支持。
– Libvirt 是一个对虚拟化管理的接口和工具,提供用户端程序 virsh ,virt-install, virt-manager, virt-view 与用户交互。

必备软件:
• qemu-kvm
– 为 kvm 提供底层仿真支持
• libvirt-daemon
– libvirtd 守护进程,管理虚拟机
• libvirt-client
– 用户端软件,提供客户端管理命令
• libvirt-daemon-driver-qemu
– libvirtd 连接 qemu 的驱劢安装虚拟化服务器平台
• 可选功能
– virt-install
系统安装工具
– virt-manager   # 图形管理工具
– virt-v2v           # 虚拟机迁移工具
– virt-p2v           # 物理机迁移工具
• 虚拟化平台的安装

]#yum install -y qemu-kvm  libvirt-daemon  libvirt-client  libvirt-daemon-driver-qemu
]#systemctl start libvirtd

虚拟机的组成

• 虚拟机平台的组成:
– 内核虚拟化模块(KVM)
– 系统设备仿真(QEMU)
– 虚拟机管理程序(LIBVIRT)
• 一台虚拟机的组成:
– 一个 XML 文件(虚拟机配置声明文件)   路径: /etc/libvirt/qemu/
– 一个磁盘镜像文件(虚拟机的硬盘)  路径: /var/lib/libvirt/images/

管理KVM平台virsh命令工具介绍

• 提供管理各虚拟机的命令接口
– 支持交互模式,查看/创建/停止/关闭 .. ..
– 格式:virsh 控制指令 [虚拟机名称] [参数]

[root@nova01 ~]# virsh
Welcome to virsh, the virtualization interactive terminal.
Type: 'help' for help with commands
'quit' to quit

virsh       //查看虚拟化信息
• 查看KVM节点(服务器)信息
– virsh nodeinfo
• 列出虚拟机
– virsh list [--all]
• 列出虚拟网络
– virsh net-list [--all]
• 查看指定虚拟机的信息
– virsh dominfo 虚拟机名称

开关机操作

• 运行|重启|关闭指定的虚拟机
– virsh start|reboot|shutdown 虚拟机名称
• 强制关闭指定的虚拟机
– virsh destroy 虚拟机名称
• 将挃定的虚拟机设为开机自劢运行
– virsh autostart [--disable] 虚拟机名称

常用镜像盘类型

• 虚拟机的磁盘镜像文件格式

 

qemu-img

• qemu-img 是虚拟机的磁盘管理命令

• qemu-img 支持非常多的磁盘格式,例如 raw、qcow2、vdi、vmdk 等等

• qemu-img 命令格式:

– qemu-img   命令  参数  块文件名称  大小

– 常用的命令有

– create 创建一个磁盘

– convert 转换磁盘格式

– info 查看磁盘信息

– snapshot 管理磁盘快照

创建新的镜像盘文件

– qemu-img create -f 格式 磁盘路径 大小

– qemu-img create -f qcow2 disk.img 50G

• 查询镜像盘文件的信息

– qemu-img info 磁盘路径

– qemu-img info disk.img

• -b 使用后端模板文件

– qemu-img create -b disk.img -f qcow2 disk1.img

COW技术原理

• Copy On Write(写时复制)

– 直接映射原始盘的数据内容

– 当原始盘的旧数据有修改时,在修改之前自劢将旧数据存入前端盘

– 对前端盘的修改不回写到原始盘

virsh虚拟机管理

连接本地/远程KVM

• 使用 virsh 客户端工具

– 连接本地

– ]#virsh

– virsh# connect qemu:///system (默认选项)

– 连接远程

– virsh# connect qemu+ssh://user@ip.xx.xx.xx:port/system虚拟机远程管理

[root@room9pc01 ~]# virsh -c qemu+ssh://root@176.130.4.3/system

• 使用 virt-manager 客户端工具

– virt-manager 也可以通过 add connection 管理其它机器上的虚拟机,一般通过"remote tunnel over ssh"就可以了

– 需要注意的是 virt-manager 需要使用 ssh 免密码登录如果没有免密码登录需要单独安装 python 的 ssh 相关模块,这里我们可以使用部署 key 的方法解决。

创建虚拟交换机  (可以连接外网)

• libvirtd 网络接口

– 原理:调用 dnsmasq 提供DNS、DHCP等功能

– 创建配置文件 /etc/libvirt/qemu/networks/vbr.xml

[root@room9pc01 ~]# vim /etc/libvirt/qemu/networks/vbr.xml

<network><name>vbr</name><forward mode='nat'/><bridge name='vbr' stp='on' delay='0'/><ip address='192.168.3.254' netmask='255.255.255.0'><dhcp><range start='192.168.3.100' end='192.168.3.200'/></dhcp></ip>
</network>

[root@room9pc01 ~]# cd /etc/libvirt/qemu/networks/    #要进入到相关目录里新建虚拟网卡。

[root@room9pc01 network]# virshvirsh # net-define vbr.xml从 vbr定义网络vbr.xmlvirsh # net-list 名称               状态     自动开始  持久
----------------------------------------------------------default              活动     是           是private1             活动     是           是private2             活动     是           是public1              活动     是           是public2              活动     是           是rhce                 活动     是           是vbr                  活动     否           是virsh # net-autostart vbr
网络vbr标记为自动启动virsh # net-list 名称               状态     自动开始  持久
----------------------------------------------------------default              活动     是           是private1             活动     是           是private2             活动     是           是public1              活动     是           是public2              活动     是           是rhce                 活动     是           是vbr                  活动     是           是virsh # quit[root@room9pc01 images]# ifconfig vbr
vbr: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 192.168.3.254  netmask 255.255.255.0  broadcast 192.168.3.255ether 52:54:00:0d:2f:13  txqueuelen 1000  (Ethernet)RX packets 6223  bytes 523942 (511.6 KiB)RX errors 0  dropped 0  overruns 0  frame 0TX packets 7985  bytes 54000037 (51.4 MiB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

网络管理

• virsh 管理虚拟网络

– net-list                   查看虚拟网络

– net-define vbr.xml  创建虚拟网络

– net-undefine vbr    删除虚拟网络

– net-start vbr          启动虚拟网络

– net-destroy vbr      停止虚拟网络

– net-edit vbr            修改 vbr 网络的配置

– net-autostart vbr    设置 vbr 虚拟网络开机自启

xml管理

导出虚拟机

xml配置文件

– 定义了一个虚拟机的名称、CPU、内存、虚拟磁盘、 网卡等各种参数设置

– 默认位置: /etc/libvirt/qemu/虚拟机名.xml

• 导出xml配置文件

– 查看:virsh dumpxml 虚拟机名

– 备份:virsh dumpxml 虚拟机名 > 虚拟机名.xml

编辑虚拟机设置

• 对虚拟机的配置进行调整

– 编辑虚拟机配置:virsh edit 虚拟机名

– 若修改 name、memory、disk、network,可自动保存为新虚拟机配置

[root@kvmsvr ~]# virsh edit rhel-207<domain type='kvm'><name>rhel-207</name><uuid>76d5dc2c-5eef-4e30-8b6c-e58851814f84</uuid><disk type='file' device='disk'><source file='/var/lib/libvirt/images/rhel7.2.qcow2'/>.. ..<interface type='network'><mac address='52:54:00:91:52:e4'/>.. ..

导入虚拟机

• 根据修改后的独立xml文件定义新虚拟机

virsh define XML描述文件

[root@kvmsvr ~]# virsh define /root/rhel-207.xml定义域 rhel-207(从 /root/rhel-207.xml)[root@kvmsvr ~]# virsh list --allId        名称              状态-----------------------------------------------------       rhel-207           关闭-       rhel7.2            关闭

删除虚拟机

• 必要时可去除多余的xml配置

– 比如虚拟机改名的情况

– 避免出现多个虚拟机的磁盘戒MAC地址冲突

virsh undefine 虚拟机名

[root@kvmsvr ~]# virsh undefine rhel7.2

域 rhel7.2 已经被取消定义

自定义虚拟机

网络yum源的安装和配置

• 快速配置网络 yum 源

– 配置ftp

yum install vsftp

– 修改配置文件 /etc/vsftpd/vsftpd.conf

– listen=YES

– listen_ipv6=NO

– systemctl enable vsftpd

– systemctl start vsftpd

– vsftp 默认根目录为 /var/ftp网络yum源的安装和配置

• 快速配置网络 yum 源

– 在 ftp 跟目录创建文件夹 centos7

– 把 CentOS7 的光盘挂载到刚刚创建的目录上

mount –t iso9660 –o loop,ro /xx/xx.iso /var/ftp/centos7

– 在客户机里面配置 /etc/yum.repos.d/xxx.repo

[Centos_repo]

name= CentOS packet

baseurl=ftp://xx.xx.xx.xx/centos7

enabled=1

gpgcheck=0

– ]#yum repolist

virt-manager安装虚拟机

• 启动 virt-manager 软件,选择新建虚拟机

• 选择网络安装源

          

创建后端盘文件

– ]#qemu-img create -f qcow2 node.qcow2 10G     //大小没有要求

      

网络选择前面创建的自定义的 vbr   (可以连接外网)

–此虚拟机作为后端盘语言选择英语、软件选择 minimal、关闭 KDUMP、 选择手工分区

• 手动分区

• 使用标准分区格式,只分一个根分区

• 选取一个根分区,开启安装系统

系统装完后可以进行初始化操作,见搭建KVM服务器(2)。

 


http://chatgpt.dhexx.cn/article/dm62bslF.shtml

相关文章

稳定kvm服务器vps,kvm的服务器vps

kvm的服务器vps 内容精选 换一换 oVirt Engine是运行在基于JBoss的Java应用程序。该服务与主机上的VDSM进行通信&#xff0c;以部署、启动、停止、迁移和监控VM&#xff0c;并且还可以通过模板在存储上创建新的镜像。oVirt Engine以可扩展性、安全性、高性能为基础的架构技术&a…

维护华为服务器的好工具KVM

以前维护服务器&#xff0c;要么打开远程桌面&#xff0c;要么打开telnet&#xff0c;或者使用其他的远程工具&#xff0c;今天维护一台新购买的华为服务器&#xff0c;使用了华为官网下载的KVM&#xff0c;真好用&#xff01; 使用网线&#xff0c;找到Mgmt的网口插入&#xf…

服务器系统kvm安装,云服务器安装kvm

云服务器安装kvm 内容精选 换一换 安装完操作系统后的临时云服务器需要进行相关配置&#xff0c;并安装原生的XEN和KVM驱动&#xff0c;才能保证后续创建的云服务器正常使用。该任务指导用户完成Linux云服务器的相关配置与驱动安装&#xff0c;从而创建为Linux系统盘镜像。配置…

vnc远程管理kvm,在办公室连接kvm服务器

文章目录 vnc远程管理kvm vnc远程管理kvm vnc概念图 首先试试服务器装了VNC没 rpm -q tigervnc tigervnc-server没安装的话会直接出现 package tigervnc is not installed package tigervnc-server is not installed第一步&#xff0c;安装VNC packages&#xff1a; yum …

安装一台KVM服务器

1.安装一台KVM服务器 问题 本例要求安装一台可用的KVM服务器&#xff1a; 1)准备一台CentOS6服务器 2)安装虚拟化相关包组 3)启动libvirtd服务 方案 在CentOS6系统中&#xff0c;KVM虚拟化相关的软件组包括四个&#xff1a;虚拟化、虚拟化客户端、虚拟化工具、虚拟化平台&a…

kvm服务器创建虚拟机

virsh创建kvm虚拟机 详细讲解在Linux服务器上通过virsh工具创建kvm虚拟机&#xff0c;以及一些kvm虚拟机常用命令&#xff0c;如&#xff1a;创建、启动、删除、销毁等。 注意事项&#xff1a;在进行kvm虚拟机创建前需要确认Linux内核已经开启kvm功能。另一方面&#xff0c;vi…

Linux 安装KVM服务器

1.安装一台KVM服务器 问题 本例要求安装一台可用的KVM服务器&#xff1a; 1)准备一台CentOS6服务器 2)安装虚拟化相关包组 3)启动libvirtd服务 方案 在CentOS6系统中&#xff0c;KVM虚拟化相关的软件组包括四个&#xff1a;虚拟化、虚拟化客户端、虚拟化工具、虚拟化平台&a…

KVM如何装服务器系统,手把手教你配置KVM服务器

1 Ubuntu系统安装 1.1 制作启动盘 准备一个U盘,将其清空后,去官网下载Ubuntu18.04系统的iso镜像文件,并将其拷进U盘。然后下载一个UltralOS软碟通工具,完成安装后打开软碟通,文件->打开,打开我们的iso镜像,选择U盘点击启动->写入硬盘映像,最后写入就完成U盘启动盘…

Centos7安装kvm服务器

Centos7安装kvm服务器 什么是kvmvirt-manager及相关软件简介KVMQEMULibvirt KVM常用配置文件查看libvirtd配置文件查看libvirtd 守护进程的环境变量和参数 查看QEMU虚拟机监控程序配置 0.检查硬件是否支持kvm虚拟化检查CPU是否支持KVM虚拟化启动kvm虚拟化内核模块 1.启用嵌套虚…

稳定的kvm服务器,kvm服务器

kvm服务器 内容精选 换一换 可以。平台近期对磁盘功能进行了升级&#xff0c;对于系统升级后创建的弹性云服务器&#xff0c;系统最多支持挂载60块磁盘。具体如下&#xff1a;创建弹性云服务器时&#xff0c;您可以为弹性云服务器添加24块磁盘。弹性云服务器创建成功后&#xf…

KVM服务器安装

KVM服务器安装 问题 本例要求安装一台可用的KVM服务器&#xff1a; 1)准备一台CentOS6服务器 2)安装虚拟化相关包组 3)启动libvirtd服务 方案 在CentOS6系统中&#xff0c;KVM虚拟化相关的软件组包括四个&#xff1a;虚拟化、虚拟化客户端、虚拟化工具、虚拟化平台&#xf…

KVM架构VPS服务器有哪些优势?

KVM技术是一种允许用户在一台物理机器上运行多个操作系统的系统。使用这种类型的服务器的主要优势是通过在VPS服务器之间分配资源来实现成本效率和性能优势&#xff0c;还可以达到远程软件同时访问的目的。如果用户想要保证客户的数据安全&#xff0c;同时享受更高的正常运行时…

搭建及使用KVM服务

KVM是基于内核的虚拟化服务&#xff0c;是主机能够运行多个隔离虚拟环境&#xff0c;即虚拟客户机或虚拟机&#xff08;VM&#xff09; 一个完整的虚拟化平台&#xff1a;QEMUKVM (QEMU并不是唯一选项) qemu是一个纯软件&#xff0c;本身不包含或依赖KVM。qemu提供硬件虚…

《云计算》lunix中安装一台KVM服务器

安装一台KVM服务器 问题 本例要求安装一台可用的KVM服务器:准备一台CentOS6服务器安装虚拟化相关包组启动libvirtd服务  方案 在CentOS6系统中,KVM虚拟化相关的软件组包括四个:虚拟化、虚拟化客户端、虚拟化工具、虚拟化平台;如果当前环境不支持中文,则对应的软件组分…

调整KVM服务器

2.调整KVM服务器 问题 沿用练习一&#xff0c;通过对KVM服务器做适当调整&#xff0c;为KVM虚拟机的网络访问及磁盘存储提供条件。主要完成以下事项&#xff1a; 1&#xff09;建立隔离网卡virbr1 2&#xff09;建立桥接网卡br0 3&#xff09;建立一个不小于40G的文件系统&am…

基于PHP的图书管理系统(图片详情版)

前言 项目可包部署 Q 1115487855 交流群&#xff1a;758350964(已满) 交流群2&#xff1a;511496356 一 项目介绍 基于AJAXPHP的图书管理系统(图片详情版) 系统分为前后台 管理员可以上传图书图片和图书详情信息(包括作者&#xff0c;出版社&#xff0c;图书简介&#xff0c…

宠物医院管理系统

摘 要 随着科学技术的飞速发展&#xff0c;社会的方方面面、各行各业都在努力与现代的先进技术接轨&#xff0c;通过科技手段来提高自身的优势&#xff0c;宠物医院管理系统当然也不能排除在外。宠物医院管理系统是以实际运用为开发背景&#xff0c;运用软件工程开发方法&…

ThinkPHP5旅游管理系统

ThinkPHP5旅游管理系统 一 系统介绍 本旅游管理系统基于ThinkPHP5开发&#xff0c;系统角色分为用户和管理员两种&#xff0c;系统分为前后台&#xff0c;用户可在前台注册登录、发布行程单和游记等&#xff0c;管理员登录后台进行管理。 技术栈 ThinkPHP5mysqlbootstrapjquer…

学校后台管理系统 php,基于ssm的校园门户网站+后台管理系统

校园门户网站系统 功能分析: 本站点分为前台和后台两个管理层面: (1)后台管理系统主要是对网站前台的信息管理,如管理员对社团组织(一个社团一个账号)、教师信息的管理,管理员可以统筹地对其信息进行查询、添加、删除以及修改操作,确保所有的用户信息的完整和安全,也可以…

信息管理系统项目前端界面设计

信息管理系统 1.图书信息管理系统 2.学生信息管理系统 3.课程信息管理系统 4.档案信息管理系统 5.成绩信息管理系统 许多即将毕业的计算机专业学生不知道如何去做用户登录界面&#xff0c;做完简单页面之后又觉得太low了纯文字不够美观&#xff0c;现在我教你一个方法&…