KVM创建虚拟机(六)

一、概述

kvm创建虚拟机有三种方式:

1. 通过qemu-kvm创建
2. 通过virt-install创建
3. 通过virt-manager创建

在使用这三种创建虚拟机前提是 宿主机必须支持 cpu 的硬件虚拟化技术(Intel 是 vmx,AMD 是svm),通过下面方式进行查看是否支持:

egrep '(vmx|svm)' /proc/cpuinfo

结果显示:

flags : fpu vme de pse tsc msr pae mce cx8 apic 
sep mtrr pge mca cmov pat pse36 clflush dts mmx 
fxsr sse sse2 ss syscall nx rdtscp lm constant_tsc 
arch_perfmon pebs bts nopl xtopology tsc_reliable 
nonstop_tsc aperfmperf pni pclmulqdq vmx ssse3 cx16 
pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer 
aes xsave avx f16c rdrand hypervisor lahf_lm epb 
tpr_shadow vnmi ept vpid fsgsbase tsc_adjust smep 
dtherm ida arat pln pts

输出结果应有红色的vmx。如果没有开启虚拟化请进入电脑bios开启虚拟化支持。

创建网桥网络:

yum install libvirt -y
mv /etc/libvirt/qemu/networks/default.xml /tmp/
systemctl stop NetworkManger 
systemctl start libvirtd

创建网桥设备:br0
virsh iface-bridge eth0 br0
二、通过qemu-kvm创建

在 qemu-kvm 创建虚拟机中,又分为:

  • 直接启动虚拟磁盘文件为虚拟机

  • 通过iso镜像文件安装虚拟机

1、通过虚拟磁盘文件直接启动的方式

yum install qemu-kvm -y
ln -vs /usr/libexec/qemu-kvm /usr/bin/
mkdir /images
cd /images/
wget http://download.cirros-cloud.net/0.3.5/cirros-0.3.5-i386-disk.img

编写桥接使用的脚本,/etc/qemu-ifup

#!/bin/bash
#
BRIDGE=br0
if [-n $1];then
	ifconfig $1 up
	sleep 1
	brctl addif $BRIDGE $1
[ $? -eq 0 ] && exit 0 || exit 1
else
	echo "Error:no interface specified."
exit 1
fi

执行

qemu-kvm -cpu host -smp 1 -m 512m -drive file=/images/cirros-0.3.5-i386-disk.img,if=virtio,cache=writeback \
-net nic,model=virtio,macaddr=52:54:00:bb:d2:88 -net tap,ifname=vnet0.0,script=/etc/qemu-ifup -daemonize

说明:
-name 虚拟机名称
-cpu 执行虚拟机cpu类型,可通过 -cpu ? 查看支持的cpu类型
-smp 虚拟机cpu数,支持多核心多线程设置 -smp n[,scores=scores][,threads=threads][,sockets=sockets]
-drive 指定虚拟磁盘文件属性设置
    file: 指定具体虚拟磁盘文件目录
    if: 设置虚拟磁盘文件类型,virtio 为半虚拟化类型
    cache: 虚拟磁盘文件属性,是回写(writeback) 还是 透写(writethrough)
  
-nographic 设置虚拟机工作方式
    不写直接在前台执行,Ctrl + C 会终止虚拟机运行
    -nographic 直接命令行显示在控制端
    -daemonize 后台执行虚拟机进程

2、通过iso文件安装虚拟机

ls /mnt/iso/

显示结果:

Centos-7-x86_64-DVD-1511.iso

安装 vnc 客户端 和 x11 需要的插件

yum install tigervnc xorg-x11-xauth -y
qemu-img create -f qcow2 -o size=20G,preallocation=metedata /images/Centos&.qcow2
qemu-kvm -name 'centos7' -cpu host -smp 1 -m 1024m -drive file=/images/Centos7.qcow2 -cdrom /mnt/iso/CentOS-7-x86_64-DVD-1511.iso -daemonize

如果这里召唤不出界面,建议重新开启一个终端执行
vncviewer :5900
三、virt-install 创建虚拟机

在使用 virt-install 创建虚拟机的时候,首先把一些要使用的程序包安装:

yum install virt-viewer dejavu-sans-fonts.noarch xorg-x11-xauth -y

说明:
virt-viewer 用于通过vnc直接查看虚拟机控制台
dejavu-sans-fonts.noarch xorg-x11-xauth 用于通过 xmanager直接界面访问

在 virt-install 中创建虚拟机的方式有以下几种:

1、直接启动虚拟磁盘文件为虚拟机

virt-install --name test --memory 512 --disk /images/cirros-0.3.5-i386-disk.img --import --network bridge=br0 --graphics=vnc
--name 虚拟机名
--memory 内存(默认单位: MB)
--disk 指定虚拟磁盘文件
--import 导入虚拟磁盘文件
--network 执行网络,不指定网络是无法启动的。bridge 执行网桥设备
--graphics 通过什么方式访问界面,这里使用 vnc ,否则无法输入。

2、通过 iso 文件安装虚拟机

首先通过 qemu-img 创建虚拟磁盘文件

qemu-img create -f qcow2 -o size=20G,preallocation=metadata CentOS7.qcow2

virt-install --name centos --vcpus 2 --memory 2048 --disk /images/CentOS7.qcow2,format=qcow2,bus=virtio,cache=writeback \
--network bridge=br0,model=virtio --cdrom /usr/local/src/CentOS-7-x86_64-Minimal-1708.iso --graphics vnc --noautoconsole
 
--name 虚拟机名
--memory 内存(默认单位: MB)
--disk 指定虚拟磁盘文件,format指定虚拟磁盘格式,bus 指定半虚拟化(virtio) cache 指定磁盘缓存(回写)
--network 执行网络,不指定网络是无法启动的。bridge 执行网桥设备 model 指定虚拟网卡为半虚拟化,优化性能
--graphics 通过什么方式访问界面,这里使用 vnc ,否则无法输入。
--noautoconsole 不用在界面直接弹出安装界面,后面可以通过 virt-view centos 唤出图形界面
四、virt-manager 创建虚拟机

virt-manager 是通过图形界面直接鼠标选择安装,这个不再演示。注意以下几个点:

  • 通过命令 virt-manager 无法唤出界面,需要安装 xorg-x11-xauth , 然后重新开启一个会话执行virt-manger
  • 如果 virt-manager 出现乱码,需要安装 dejavu-sans-mono-fonts
  • 注意防火墙和selinux

原文链接:https://www.cnblogs.com/hukey/p/11307129.html

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值