龙空技术网

kvm虚拟化实战

专注互联网开发 1552

前言:

今天朋友们对“pythonkvm”大约比较讲究,同学们都需要分析一些“pythonkvm”的相关内容。那么小编在网上收集了一些对于“pythonkvm””的相关内容,希望大家能喜欢,大家快快来了解一下吧!

系统环境

硬件

类型型号明细CPUIntel 酷睿i5 460M8C内存DDR32条,共8G硬盘机械硬盘200G

操作系统

Linux centos 7

目标

主机3台。配置:1C CPU, 2G 内存, 40G 硬盘网络:使用网络桥接接入网络,使网络内其他主机可以访问虚拟主机操作系统:Centos 7

准备

yum环境配置

#备份配置mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup#替换墙内yum源curl -o /etc/yum.repos.d/CentOS-Base.repo 生成缓存yum clean allyum makecache
系统盘

1、下载centos 7系统盘

前往 Centos官网下载页下载CentOS-7-x86_64-DVD-1708.iso

2、上传安装包

上传ISO安装包”CentOS-7-x86_64-DVD-1708.iso”到路径”/data/kvm”目录

+ 网络配置

1、安装桥接工具

yum install bridge-utils

2、配置网桥

# 查看网络配置$ ifconfig# 这里会显示当前的网配置# 其中enp4s0为网卡配置,lo本级环路地址$ cd /etc/sysconfig/network-scripts/ #进入网络配置脚本目录$ cp ifcfg-enp4s0 ifcfg-enp4s0.bak #备份网卡配置$ vi ifcfg-br0 #新增网桥配置TYPE=bridge # 类型BOOTPROTO=static # 静态地址DEFROUTE=yesPEERDNS=yesPEERROUTES=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_PEERDNS=yesIPV6_PEERROUTES=yesIPV6_FAILURE_FATAL=noIPV6_ADDR_GEN_MODE=stable-privacyNAME=br0 #配置名称UUID=ab508da9-c3a2-4d3d-9917-435025b8910aDEVICE=br0ONBOOT=yes #开机启动MM_Controlled=noIPADDR=192.168.1.118 #ip地址NETMASK=255.255.255.0 #子网掩码GATEWAY=192.168.1.1 #网管地址DNS1=114.114.114.114 #dns地址$ vi ifcfg-enp4s0 #修改配置为TYPE=Ethernet #类型为以太网BOOTPROTO=noneNAME=enp4s0 #名称DEVICE=enp4s0ONBOOT=yes #开机自起BRIDGE=br0 #网桥名称$ service network restart # 重启网卡

操作步骤

1、安装kvm环境

# 安装 kvm 管理工具yum -y install qemu-kvm python-virtinst libvirt libvirt-python virt-manager libguestfs-tools bridge-utils virt-install# 重启宿主机,以便加载 kvm 模块reboot# 查看KVM模块是否被正确加载lsmod | grep kvm

2、关闭SELinux

将 /etc/sysconfig/selinux 中的 SELinux=enforcing 修改为 SELinux=disabled

$ cat /etc/sysconfig/selinux# This file controls the state of SELinux on the system.# SELINUX= can take one of these three values:# enforcing - SELinux security policy is enforced.# permissive - SELinux prints warnings instead of enforcing.# disabled - No SELinux policy is loaded.# SELINUX=enforcing 更新为下行SELinux=disabled# SELINUXTYPE= can take one of three two values:# targeted - Targeted processes are protected,# minimum - Modification of targeted policy. Only selected processes are protected.# mls - Multi Level Security protection.SELINUXTYPE=targeted

3、启动libvert,并设置开机启动

systemctl start libvirtdsystemctl enable libvirtd

4、创建虚拟机文件存放目录

mkdir -p /data/kvm/images

5、创建虚拟机

$ virt-install \--name kvm-1 \--memory 2018 \--vcpus 1 \--cpu host \--location /data/kvm/CentOS-7-x86_64-DVD-1708.iso \--disk /data/kvm/images/docker-1.img,size=40,format=qcow2 \--network bridge=br0 \--os-type=linux \--os-variant=rhel7.3 \--virt-type kvm \--graphics none \--extra-args='console=ttyS0' \--force

5、更新config配置

Installation1) [x] Language settings2) [!] Time settings(English (United States)) (Timezone is not set.)3) [!] Installation source4) [!] Software selection(Processing...) (Processing...)5) [!] Installation Destination6) [x] Kdump(No disks selected) (Kdump is enabled)7) [ ] Network configuration8) [!] Root password(Not connected) (Password is not set.)9) [!] User creation(No user will be created)Please make your choice from above ['q' to quit | 'b' to begin installation |'r' to refresh]:
1、语言设置——设置中文2、时区设置——设置上海时区3、安装源——可以不处理4、Software selection——预装软件,可以不处理,默认mini安装5、安装目的地——可以不处理6、Kdump 存储分区,可以选择默认分区lvm7、网络配置——可以不处理8、Root用户密码——建议设置9、用户创建——可以不处理

6 修改kvm虚机网络配置

TYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=noBOOTPROTO=staticDEFROUTE=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_FAILURE_FATAL=noIPV6_ADDR_GEN_MODE=stable-privacyNAME=eth0UUID=a6deaf5d-c21e-4704-bbd6-973976a8aeb7DEVICE=eth0ONBOOT=yesDNS1=114.114.114.114GATEWAY=192.168.1.1IPADDR=192.168.1.121NETMASK=255.255.255.0
重启虚机网络

service network restart

+ ip addr 查看虚机ip

7、克隆多台主机

关闭kvm-1宿主机执行$virsh shutdown kvm-1克隆kvm-2

$ virt-clone -o kvm-1 -n kvm-2 -f /data/kvm/images/kvm-2.img
启动kvm-2
$ virsh start kvm-2
更新kvm-2网络配置
$ vi /etc/sysconfig/network-scripts/ifcfg-eth0#修改为新ip IPADDR=192.168.1.122

总结

宿主机权限

如果不能清晰的管理用户,权限建议使用root用户

系统安装包

我最初使用的是CentOS-7-x86_64-Minimal-1708.iso ,没有安装成功,后来改为CentOS-7-x86_64-DVD-1708.iso 安装成功了。

主要遇到的问题是在未设置虚机网络前不能不能登录虚机。

虚机访问虚机通过桥接方式接入网络,在局域网内任何机器都可以使用ssh访问虚机。虚机未设置网络前可以使用vnc,virt-viewer,console 几种方式连接。笔者在安装过程中只试验通过了console方式,安装参考,在安装过程中参考了多篇文章,最终摸索出了一个可行的方案,主要问题是宿主机硬件不一致,操作系统不一致,安装包版本一致,可能导致于参考文章的结果不一致。所以多摸索,参考文章+具体问题具体分析。

标签: #pythonkvm