Linux kvm环境搭建

1.1 安装KVM虚拟机

#系统是否支持KVM虚拟化
[root@jztserver01 ~]# cat /proc/cpuinfo | egrep 'vmx|svm'
[root@jztserver01 ~]# egrep '(vmx|svm)' /proc/cpuinfo |wc -l
#关闭selinux;设置selinux立即生效
[root@jztserver01 ~]# vi /etc/sysconfig/selinux
[root@jztserver01 ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
[root@jztserver01 ~]# setenforce 0
#配置KVM虚拟机; 需关闭|禁用防火墙
[root@jztserver01 ~]# systemctl stop firewalld
[root@jztserver01 ~]# systemctl disable firewalld
#KVM使用的是桥接的方式上网, 打开数据转发功能
[root@jztserver01 ~]# sed -i '/net.ipv4.ip_forward/s/0/1/' /etc/sysctl.conf
#网络数据转发生效
[root@jztserver01 ~]# sysctl -p
#切换目录; 备份镜像源, 下载阿里云镜像
[root@jztserver01 ~]# cd /etc/yum.repos.d/
[root@jztserver01 yum.repos.d]# mv CentOS-Base.repo  CentOS-Base.repo.backup
[root@jztserver01 yum.repos.d]# curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
#清空并生成缓存
[root@jztserver01 yum.repos.d]# yum clean all
[root@jztserver01 yum.repos.d]# yum makecache
[root@jztserver01 yum.repos.d]# yum update
#安装KVM所有需要的依赖包
[root@jztserver01 yum.repos.d]# yum -y install kvm python-virtinst libvirt tunctl bridge-utils virt-manager qemu-kvm-tools virt-viewer virt-v2v virt-install libguestfs-tools
#执行[重启|状态|开机]启动
[root@jztserver01 yum.repos.d]# systemctl restart libvirtd
[root@jztserver01 yum.repos.d]# systemctl status libvirtd
[root@jztserver01 yum.repos.d]# systemctl enable libvirtd
#查看虚机列表
[root@jztserver01 yum.repos.d]# virsh list
#查看KVM使用的模块
[root@jztserver01 yum.repos.d]# lsmod |grep kvm

1.2 配置网络

#切换网络配置目录
[root@jztserver01 /]# cd /etc/sysconfig/network-scripts/
#复制网卡1(物理网口做的交换机)信息桥接网络
[root@jztserver01 network-scripts]# cp ifcfg-enp2s0f0 ifcfg-br1
#配置桥接网络1,上述中KVM采用桥接网络模式
[root@jztserver01 network-scripts]# vi ifcfg-br1
#桥接网络类型为Bridge
TYPE=Bridge
PROXY_METHOD=none
BROWSER_ONLY=no
NM_CONTROLLED=no
#网络驱动为static
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
IPV6_PRIVACY=no
NAME=br1
DEVICE=br1
ONBOOT=yes#配置桥接网络
IPADDR=xxx.xxx.xxx.xxxx
GATEWAY=192.168.0.1
NETMASK=255.255.255.0
DNS1=xxx.xxx.xxx.xxxx
DNS2=114.114.114.114#配置网卡1信息如下
[root@jztserver01 network-scripts]# vi ifcfg-enp2s0f0
#网络类型为Ethernet
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
NM_CONTROLLED=no
#网络驱动为dhcp
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
IPV6_PRIVACY=no
NAME=enp2s0f0
DEVICE=enp2s0f0
ONBOOT=yes
#网卡UUID标识
UUID=78befe25-7a8c-4b2f-a947-b64d773b6c0d
HWADDR=f0:2f:a7:3b:ca:13
#指向桥接网络名
BRIDGE=br1#重启网络服务
[root@jztserver01 network-scripts]# systemctl restart network
#查看网络情况
[root@jztserver01 network-scripts]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope host valid_lft forever preferred_lft forever
2: enp2s0f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master br1 state UP group default qlen 1000link/ether f0:2f:a7:3b:ca:13 brd ff:ff:ff:ff:ff:ffinet6 fe80::f22f:a7ff:fe3b:ca13/64 scope link valid_lft forever preferred_lft forever
3: enp2s0f1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000link/ether f0:2f:a7:3b:ca:14 brd ff:ff:ff:ff:ff:ff
4: br1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000link/ether f0:2f:a7:3b:ca:13 brd ff:ff:ff:ff:ff:ffinet 192.168.0.240/23 brd 192.168.1.255 scope global br1valid_lft forever preferred_lft foreverinet6 fe80::f22f:a7ff:fe3b:ca13/64 scope link valid_lft forever preferred_lft forever
5: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000link/ether 52:54:00:26:5d:d9 brd ff:ff:ff:ff:ff:ffinet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0valid_lft forever preferred_lft forever
6: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN group default qlen 1000link/ether 52:54:00:26:5d:d9 brd ff:ff:ff:ff:ff:ff
7: vnet0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br1 state UNKNOWN group default qlen 1000link/ether fe:54:00:d0:11:ce brd ff:ff:ff:ff:ff:ffinet6 fe80::fc54:ff:fed0:11ce/64 scope link valid_lft forever preferred_lft forever
8: vnet1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br1 state UNKNOWN group default qlen 1000link/ether fe:54:00:67:95:6e brd ff:ff:ff:ff:ff:ffinet6 fe80::fc54:ff:fe67:956e/64 scope link valid_lft forever preferred_lft forever
9: vnet2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br1 state UNKNOWN group default qlen 1000link/ether fe:54:00:04:36:5a brd ff:ff:ff:ff:ff:ffinet6 fe80::fc54:ff:fe04:365a/64 scope link valid_lft forever preferred_lft forever
10: vnet3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br1 state UNKNOWN group default qlen 1000link/ether fe:54:00:41:50:cf brd ff:ff:ff:ff:ff:ffinet6 fe80::fc54:ff:fe41:50cf/64 scope link valid_lft forever preferred_lft forever#查看网桥状态
[root@jztserver01 network-scripts]# brctl show
bridge name     bridge id               STP enabled     interfaces
br1             8000.f02fa73bca13       no              enp2s0f0                #配置的桥接网卡
virbr0          8000.525400265dd9       yes             virbr0-nic               #NAT模式的网卡
#切换目录
[root@jztserver01 network-scripts]# cd /mnt/sdb1
[root@jztserver01 sdb1]# mkdir -p centos-kvm/iso
[root@jztserver01 sdb1]# cd centos-kvm/iso/
#下载阿里云centos7.9 iso镜像
[root@jztserver01 sdb1]# wget https://mirrors.aliyun.com/centos/7.9.2009/isos/x86_64/CentOS-7-x86_64-DVD-2009.iso
#查看镜像
[root@jztserver01 iso]# ls -lh
总用量 4.4G
-rw-r--r-- 1 qemu qemu 4.4G 1024 12:31 CentOS-7-x86_64-DVD-2009.iso
#切换上层目录
[root@jztserver01 iso]# cd ..
#查看当前目录
[root@jztserver01 centos-kvm]# pwd
/mnt/sdb1/centos-kvm
#说明磁盘mnt/sdb1、sdb2、sdb3、sdb4依次大小为1408G;创建镜像大小不能超过1408G
#执行创建磁盘镜像1200G[预留空间给磁盘]
[root@jztserver01 centos-kvm]# qemu-img create -f raw cenos79.raw 1200G
#说明按当前主机参数配置均分[CPU:64核;内存:64G]
#执行创建虚拟机centos1 [CPU:16核;内存:16G]
[root@jztserver01 centos-kvm]# virt-install --name centos1 --vcpus 16 --ram 16384 --location=/mnt/sdb1/centos-kvm/iso/CentOS-7-x86_64-DVD-2009.iso --disk path=/mnt/sdb1/centos-kvm/cenos79.raw,size=1200,format=raw --network=bridge=br1 --os-type=linux --os-variant=rhel7 --extra-args='console=ttyS0' --noautoconsole –force
#启动虚拟机centos1
[root@jztserver01 centos-kvm]# virsh start centos1
#从主机进入虚拟机centos1
[root@jztserver01 centos-kvm]# virsh console centos1
#切换到虚拟机centos1网卡配置目录
[root@jztserver01 centos-kvm]# cd /etc/sysconfig/network-scripts
#================================================================
#配置虚拟机centos1虚拟网卡ifcfg-eth0
[root@localhost network-scripts]# vi ifcfg-eth0
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=eth0
UUID=6388371e-23ae-43f4-9f20-7fce5a0d42f7
DEVICE=eth0
ONBOOT=yes#配置虚拟机网络ip: 192.168.0.241
IPADDR=192.168.0.241
GATEWAY=192.168.0.1
NETMASK=255.255.254.0
DNS1=xxx.xxx.xxx.xxx
DNS2=114.114.114.114
#重启虚拟机centos1网络
[root@localhost network-scripts]# service network restart
#查看虚拟机centos1网络ip
[root@localhost network-scripts]# ip addr
#检查虚拟机centos1网络[宿主机和百度]
[root@localhost network-scripts]# ping 192.168.0.240
[root@localhost network-scripts]# ping 192.168.0.241
[root@localhost network-scripts]# ping www.baidu.com
#================================================================
#退出虚拟机centos1进入宿主机
ctrl + ]
#克隆虚拟机centos1前需暂停
[root@jztserver01 centos-kvm]# virsh shutdown centos1
#依次创建虚拟目录
[root@jztserver01 centos-kvm]# mkdir -p /mnt/sdb2/centos-kvm
[root@jztserver01 centos-kvm]# mkdir -p /mnt/sdb3/centos-kvm
[root@jztserver01 centos-kvm]# mkdir -p /mnt/sdb4/centos-kvm
#从宿主中克隆虚拟机centos2,centos3,centos4; 以centos1为模板
[root@jztserver01 centos-kvm]# virt-clone -o centos1 -n centos2 -f /mnt/sdb2/centos-kvm/centos2.qcow2
[root@jztserver01 centos-kvm]# virt-clone -o centos1 -n centos3 -f /mnt/sdb3/centos-kvm/centos3.qcow2
[root@jztserver01 centos-kvm]# virt-clone -o centos1 -n centos4 -f /mnt/sdb4/centos-kvm/centos4.qcow2
#克隆完毕后;依次启动虚拟机centos1、centos2、centos3、centos4
[root@jztserver01 centos-kvm]# virsh start centos1
[root@jztserver01 centos-kvm]# virsh start centos2
[root@jztserver01 centos-kvm]# virsh start centos3
[root@jztserver01 centos-kvm]# virsh start centos4
#依次进入虚拟机centos2,centos3,centos4; 配置网络, 重启网络;ping外网、内网、宿主
[root@jztserver01 centos-kvm]# virsh console centos2
#依次切换到虚拟机centos2、centos3、centos4网卡配置目录
[root@localhost ~]# cd /etc/sysconfig/network-scripts
#配置网络; 此处缺省;参考#====位置依次配置centos2,centos3,centos4
[root@localhost network-scripts]# cat ifcfg-eth0

1.3 KVM常见命令

#查看正在运行的虚拟机
[root@jztserver01 /]# virsh list
#查看虚拟机版本
[root@jztserver01 /]# virsh –version
#开机自动启动
[root@jztserver01 /]# virsh autostart 虚拟机名
#启动虚拟机
[root@jztserver01 /]# virsh start 虚拟机名
#暂停虚拟机
[root@jztserver01 /]# virsh shutdown 虚拟机名
#进入虚拟机
[root@jztserver01 /]# virsh console 虚拟机名
#销毁虚拟机
[root@jztserver01 /]# virsh destroy 虚拟机名
#挂起虚拟机
[root@jztserver01 /]# virsh suspend 虚拟机名
#修改配置文件
[root@jztserver01 /]# virsh edit 虚拟机名
#取消定义虚拟机
[root@jztserver01 /]# virsh undefine 虚拟机名
#查看虚拟机硬件信息
[root@jztserver01 /]# virsh dominfo centos1
Id:             2
名称:       centos1
UUID:           37c389a7-749d-41b6-8eee-f9788f185719
OS 类型:    hvm
状态:       running
CPU:          16
CPU 时间:   54.9s
最大内存: 16777216 KiB
使用的内存: 16777216 KiB
持久:       是
自动启动: 启用
管理的保存: 否
安全性模式: none
安全性 DOI: 0
#查看网卡信息
[root@jztserver01 /]# virsh domiflist centos1
接口     类型     源        型号      MAC
-------------------------------------------------------
vnet1      bridge     br1        virtio      52:54:00:67:95:6e     

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/60862.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2020年计挑赛往届真题(C++)

因为17号要开赛了&#xff0c;甚至是用云端编辑器&#xff0c;debuff拉满&#xff0c;只能临时抱佛脚了 各个选择题的选择项我就不标出来了&#xff0c;默认ABCD排&#xff0c;手打太麻烦了 目录 单选题&#xff1a; 1.阅读以下语句:double m0;for(int i3;i>0;i--)m1/i;…

2 的幂算法

给你一个整数 n&#xff0c;请你判断该整数是否是 2 的幂次方。如果是&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 如果存在一个整数 x 使得 n 2x &#xff0c;则认为 n 是 2 的幂次方。 示例 1&#xff1a; 输入&#xff1a;n 1 输出&#xff1a;tr…

ubuntu20.04默认的python3.8升级到python3.10

Python 3.8 于 2019 年 10 月发布&#xff0c;距今已有五年时间。2024 年 10 月是 Python 3.8 版本发布的最后一个月&#xff0c;从 2024 年 10 月开始&#xff0c;如果存在安全错误&#xff0c;Python 开发团队将不会修复该错误。有必要把python3.8升级python3.10。 新加apt源…

CTF-RE 从0到N: windows反调试-获取Process Environment Block(PEB)信息来检测调试

在Windows操作系统中&#xff0c;Process Environment Block (PEB&#xff0c;进程环境块) 是一个包含特定进程信息的数据结构。它可以被用于反调试中 如何获取PEB指针&#xff1f; 在Windows操作系统中&#xff0c;获取PEB指针的常见方法主要有以下几种。&#xff1a; 1. 使…

数据结构 ——— 层序遍历链式二叉树

目录 链式二叉树示意图​编辑 何为层序遍历 手搓一个链式二叉树 实现层序遍历链式二叉树 链式二叉树示意图 何为层序遍历 和前中后序遍历不同&#xff0c;前中后序遍历链式二叉树需要利用递归才能遍历 而层序遍历是非递归的形式&#xff0c;如上图&#xff1a;层序遍历的…

RHEL/CENTOS 7 ORACLE 19C-RAC安装(纯命令版)

一 首先需要安装两个CENTOS 7虚拟机(此处省略)。 由于我们是要安装ORCLE-RAC双节点集群所以至少每个CENTOS虚拟机上需要两块网卡&#xff0c;并且两块网卡都是HOST-ONLY具体步骤请看视频一《为虚拟机添加网卡》 这里大家需要注意的是&#xff0c;我们需要绑定两台机器的IP一共…

DevOps工程技术价值流:加速业务价值流的落地实践与深度赋能

DevOps的兴起&#xff0c;得益于敏捷软件开发的普及与IT基础设施代码化管理的革新。敏捷宣言虽已解决了研发流程中的诸多挑战&#xff0c;但代码开发仅是漫长价值链的一环&#xff0c;开发前后的诸多问题仍亟待解决。与此同时&#xff0c;虚拟化和云计算技术的飞跃&#xff0c;…

ubuntu24.04设置开机自启动Eureka

ubuntu24.04设置开机自启动Eureka 之前我们是在/root/.bashrc的文件中增加了一条命令 nohup java -jar /usr/software/eurekaServer-auth-prd-03.jar > /usr/software/log.log 2>&1 &但上面这条命令只有在登录root的用户时&#xff0c;才会执行&#xff0c;如果…

python json详解

json 是 Python 中用于处理 JSON 数据的标准库。JSON&#xff08;JavaScript Object Notation&#xff09;是一种轻量级的数据交换格式&#xff0c;易于人类阅读和编写&#xff0c;同时也易于机器解析和生成。Python 的 json 模块提供了将 Python 对象与 JSON 数据相互转换的功…

WPS宏编辑器开发,单元格内容变更自动触发事件

WPS中Excel的“触发器” 写在前面宏的开发1、切换宏编辑器开发环境2、小练习&#xff1a;自定义函数3、完成功能需求&#xff1a;单元格内容变更自动触发事件 总结 写在前面 我先生用EXCEL做了一张学生存款表。设计得很简单&#xff0c;A学生已存款X元&#xff0c;A学生再次存…

新版Apache Tomcat ⽬目录文件讲解(笔记)

简介&#xff1a;Tomcat⽬目录⽂文件讲解 bin &#xff08;关注&#xff09; 启动和关闭tomcat脚本 startup.sh/startup.bat (Linux平台或Mac上的启动脚本/Windows平台上的启动脚本) shutdown.sh/shutdown.bat (Linux平台或Mac上的关闭脚本/Windows平台上的关闭脚本) conf&am…

java Arrays 详解

Java Arrays 类详解 Arrays 是 Java 中一个专门用于操作数组的工具类&#xff0c;位于 java.util 包中。它提供了多种用于数组操作的方法&#xff0c;例如排序、搜索、填充、比较、转换等。 1. 常用方法分类 1.1 排序 方法描述Arrays.sort(array)对数组进行升序排序&#xf…

Go 语言已立足主流,编程语言排行榜24 年 11 月

Go语言概述 Go语言&#xff0c;简称Golang&#xff0c;是由Google的Robert Griesemer、Rob Pike和Ken Thompson在2007年设计&#xff0c;并于2009年11月正式宣布推出的静态类型、编译型开源编程语言。Go语言以其提高编程效率、软件构建速度和运行时性能的设计目标&#xff0c;…

一个win32 / WTL下多线程库(CThread类)的使用心得

说是多线程库&#xff0c;其实就是一个单独的.h文件&#xff0c;可以方便的放入WTL/win32工程中。 下载地址&#xff1a;CThread. 里面也简单介绍了 用法。 具体用法&#xff0c;首先自定义一个子线程类继承CThreadImpl<T>&#xff0c;注意他是个模板类。 class CMySu…

Kettle配置数据源错误“Driver class ‘org.gjt.mm.mysql.Driver‘ could not be found”解决记录

问题描述 错误提示&#xff1a;“Driver class ‘org.gjt.mm.mysql.Driver’ could not be found, make sure the ‘MySQL’ driver (jar file) is installed.” 原因分析&#xff1a; 根据错误提示是缺少了相关的数据源连接jar包。 解决方案&#xff1a; 安装对应的Mysql…

PCA 原理推导

针对高维数据的降维问题&#xff0c;PCA 的基本思路如下&#xff1a;首先将需要降维的数据的各个变量标准化&#xff08;规范化&#xff09;为均值为 0&#xff0c;方差为 1 的数据集&#xff0c;然后对标准化后的数据进行正交变换&#xff0c;将原来的数据转换为若干个线性无关…

河道无人机雷达测流监测系统由哪几部分组成?

在现代水利管理中&#xff0c;河道无人机雷达监测系统正逐渐成为一种重要的工具&#xff0c;为河道的安全和管理提供了强大的技术支持。那么&#xff0c;这个先进的监测系统究竟由哪几部分组成呢&#xff1f; 河道无人机雷达监测系统工作原理 雷达传感器通过发射电磁波或激光束…

DDRPHY数字IC后端设计实现系列专题之数字后端floorplanpowerplan设计

3.2.3 特殊单元的布局 布图阶段除了布置 I/O 单元和宏单元&#xff0c;在 28nm 制程工艺时&#xff0c;还需要处理两种特 殊的物理单元&#xff0c;Endcap 和 Tapcell。 DDRPHY数字IC后端设计实现系列专题之后端设计导入&#xff0c;IO Ring设计 &#xff08;1&#xff09;拐…

实现金蝶云与MySQL的无缝数据集成

金蝶云与MySQL的费用申请单数据集成案例 金蝶云星空数据集成到MySQL的技术案例分享 在企业信息化系统中&#xff0c;数据的高效流转和准确对接是业务顺利运行的关键。本文将聚焦于一个具体的系统对接集成案例&#xff1a;如何通过轻易云数据集成平台&#xff0c;将金蝶云星空中…

Flink Source 详解

Flink Source 详解 原文 flip-27 FLIP-27 介绍了新版本Source 接口定义及架构 相比于SourceFunction&#xff0c;新版本的Source更具灵活性&#xff0c;原因是将“splits数据获取”与真“正数据获取”逻辑进行了分离 重要部件 Source 作为工厂类&#xff0c;会创建以下两…