验证是否开启虚拟化

# grep -E 'svm|vmx' /proc/cpuinfo

- vmx is for Intel processors
- svm is for AMD processors

查看是否加载kvm内核

lsmod  |grep kvm

kvm_intel 188740 0
kvm 637289 1 kvm_intel
irqbypass 13503 1 kvm

selinux及防火墙状态

setenforce 0
sed -i '/^SELINUX/s/enforcing/disabled/' /etc/selinux/config systemctl disable iptables --now
systemctl disable firewalld --now

安装kvm工具包

yum install -y epel-release
yum install -y qemu-kvm qemu-kvm-tools libvirt libvirt-client libvirt-python virt-manager virt-install libguestfs-tools acpid nfs-utils iptables-service

systemctl enable libvirtd acpid --now

安装window系统

下载virtio(提供磁盘驱动)

Index of /groups/virt/virtio-win/direct-downloads/archive-virtio/virtio-win-0.1.190-1

创建桥接网络br1(默认nat)

在网卡配置中添加

      BRIDGE=br1

cat >/etc/sysconfig/network-scripts/ifcfg-ens34 <<EOF
TYPE=Ethernet
BOOTPROTO=static
NAME="ens34"
DEVICE="ens34"
ONBOOT="yes"
BRIDGE=br1

EOF

新建  

  ifcfg-br1

cat >/etc/sysconfig/network-scripts/ifcfg-br1 <<EOF
TYPE=Bridge
BOOTPROTO=static
NAME=br1
DEVICE=br1
ONBOOT=yes
IPADDR=192.168.206.128
PREFIX=24

EOF
systemctl restart network 

修改内核参数

echo 'net.ipv4.ip_forward = 1'  >> /etc/sysctl.conf

sysctl -p /etc/sysctl.conf

nfs配置

yum -y install nfs-utils rpcbind   

mkdir /data/kvmdata -p

cat >>/etc/exports <<EOF
/data/kvmdata *(rw,no_root_squash)
EOF #配置生效
exportfs -r

systemctl start rpcbind
systemctl start nfs-server
systemctl enable nfs-server

showmount -e 查看本机共享的路径

virt-manager

virt-manager需要有X服务,可以使用mobaXterm或xmanager

(图形显示: https://www.cnblogs.com/mmio/p/14954433.html

yum install -y xorg-x11-xauth xorg-x11-fonts-* xorg-x11-font-utils xorg-x11-fonts-Type1  mesa-libGLES-devel.x86_64 mesa-dri-drivers mesa-libGLU*.i686 mesa-libGLU*.x86_64 dbus-x11

创建window虚拟机

win10

#创建磁盘文件(可以单独创建,也可以virt-install安装时在--disk path中指定size=200,format=qcow2)
qemu-img create -f qcow2 /var/lib/libvirt/images/win2019.qcow2 200G
#安装
virt-install --virt-type kvm --name win2019 --ram 2072 --vcpus=2 --os-type=windows \
--cdrom=/home/cn_windows_10_enterprise_ltsc_2019_x64_dvd_9c09ff24.iso \
--disk path=/var/lib/libvirt/images/win2019.qcow2,format=qcow2,bus=virtio \
--disk path=/home/virtio-win-0.1.190_amd64.vfd,device=floppy \
--network bridge=br1,model=virtio \
--graphics vnc,listen=0.0.0.0 --noautoconsole

#启动
virsh start win2019

win_server2008

virt-install --virt-type kvm --name win2008 --ram 1572 --vcpus=2 --os-type=windows \
--cdrom=/home/cn_windows_server_2008_r2_standard_enterprise_datacenter_web_x64_dvd_x15-50360.iso \
--disk path=/data/kvm-images/win2008.qcow2,size=100,format=qcow2,bus=virtio \
--disk path=/home/virtio-win-0.1.173_amd64.vfd,device=floppy \
--network network=default,model=virtio \
--graphics vnc,listen=0.0.0.0 --noautoconsole

打开virt-manager

进行选中虚拟机,点击open。进行安装操作

virt-manager

磁盘选择界面

选择软盘-win7

分别加载驱动

若驱动不对,更换virtio版本尝试。

磁盘正常显示


安装完成后手动启动

virsh start win2008

主机迁移

静态迁移需要磁盘文件、配置文件copy,等待时间过长。

动态迁移需要迁移主机的网卡配置相同。

示意图

已有文件迁移

mv /var/lib/libvirt/images/* /opt/

添加存储池

virt-manager

Edit---Connection Details ---Storage    最下面“+”

添加nfs共享目录

验证挂载

待迁移节点操作

同样的操作,在第二个节点挂载/data/kvmdata

将kvm文件移回到nfs共享目录

mv  /opt/*.qcow2   /var/lib/libvirt/images

添加迁移主机的ssh连接

提示异常

按照提示安装openssh-askpass

 yum install -y openssh-askpass 

之后重新连接,确认后输入密码

迁移时kvm需要处理run状态。

默认使用qemu用户启动,若权限有问题,可修改为root。配置文件 /etc/libvirt/qemu.conf

重启libvirtd

systemctl restart libvirtd

勾选“Allow unsafe"

迁移成功

附一:摘录没有X server时

附二:磁盘文件存放自定义目录

mkdir -p  /data/kvm-images

#创建默认nat网络,容量为10G的qcow2格式磁盘
virt-install --virt-type kvm --name centos7 --ram 1024 --vcpus 2 --cdrom=/home/CentOS-7-x86_64-Minimal-2009.iso --disk path=/data/kvm-images/centos7.qcow2,size=10,format=qcow2 --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole --autostart

#查看存储池状态
virsh pool-list --all

附三:freerdp连接windows

yum install freerdp -y 

使用时指定ip、用户名和密码即可。其中各参数定义如下:

/v:<server>[:port]     Server hostname
/port:<number> Server port
/u:[<domain>\]<user> or <user>[@<domain>] Username
/p:<password> Password
/f Fullscreen mode +fonts (default:off) Enable smooth fonts (ClearType)
+aero (default:off) Enable desktop composition
+window-drag (default:off) Enable full window drag
+menu-anims (default:off) Enable menu animations
+clipboard (default:off) Redirect clipboard
/sound:[sys][dev][format][rate][channel][latency][quality] Audio output (sound)
/audio-mode Audio output mode 0 - redirect;1 - leave on server (or laptop); 2 - disable audio
/network:[modem|broadband|broadband-low|broadband-high|wan|lan|auto] Network connection type
xfreerdp /v:192.168.122.221 /u:test /p:Test123 /f +fonts +window-drag +clipboard /audio-mode:0 /sound

附四:RDP协议(使用windows 远程桌面连接kvm中的windows)

实际情况可能没有那么多的ip地址从而使用桥接。在使用nat方式时,通过在安装kvm主机上添加iptabes NAT表转发策略的方式,可实现同网一子网下使用rdp协议访问kvm中windows远程桌面的目的。

iptables -t nat -A PREROUTING -p tcp --dport 13389 -j DNAT --to-destination 192.168.122.128:3389

在远程桌面窗口中使用:  10.0.0.79:13389即可连接到kvm中的windows

kvm安装window系统及使用NFS动态迁移的更多相关文章

  1. 烂泥:kvm安装windows系统蓝屏

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. 最近一直在学习有关KVM的知识,实验一直是在虚拟机VM中进行的.今天刚好公司有一台空闲的服务器,直接拿来安装centos.kvm等等,然后相关的配置. ...

  2. 使用虚拟化KVM安装RHEL7系统

    使用虚拟化KVM安装RHEL7系统 作者:Eric 微信:loveoracle11g 检查真实物理机是否支持虚拟化功能 [root@server ~]# grep vmx /proc/cpuinfo ...

  3. U盘安装window系统

    U盘安装window系统: 1. 制作系统启动U盘,推荐使用老毛桃. 2. 电脑上插入U盘,启动系统,选择U盘启动. 3. 进入老毛桃选择界面,选择生成PE系统.推荐win8,之前在一个戴尔电脑上使用 ...

  4. 使用KVM安装windows10系统出现内存直接占满的情况解决

    情况说明: 在使用kvm安装windows10系统的时候,采用的win10系统不是原版系统,而是经过进一步封装的系统,使用大白菜PE先格式化磁盘,然后再安装的系统,在系统安装好重启的时候,卡在安装界面 ...

  5. Linode KVM安装Windows系统的设置方法

    以前我们用老的Linode VPS主机的时候是采用的XEN架构的,如今我们新注册账户,以及新开的机器是KVM架构.根据后台的设置,我们看到好多网友有在LINODE中安装WINDOWS系统,理论上是可以 ...

  6. 安装window系统

    安装服务器系统,进入windowpe后将iso中sources,bootmgr,和boot拷贝到C盘,执行bootsect.exe  /nt60  c:,调试froad13的consle win8 改 ...

  7. CentOS 7 安装配置KVM 通过KVM安装CentOS系统

    搭建环境 : CentOS 7 [root@KVM ~]# systemctl stop firewalld [root@KVM ~]# systemctl disable firewalld [ro ...

  8. kvm安装windows系统

    1.创建虚拟机镜像文件并指定大小(10G) [root@centos01 ~]# qemu-img create -f raw /opt/windows20031.raw 10G Formatting ...

  9. MySQL 绿色版安装Window 系统

    为了便捷安装现在网上提供了许多的绿色版本MySQL安装包,下载后解压即可使用,但是MySQL 下载直接运行还是有一点小问题,需要把MYSQL 注册成为系统服务: 1.下载mysql绿色版本 例如:my ...

随机推荐

  1. 1TB是多大?

    TB是计算机的存储单位,用来描述计算机的存储容量.另外还有GB.MB.KB.B.就像长度单位米.分米.厘米.毫米一样,它们之间有换算关系: 1KB = 1024B 1M = 1024KB 1GB = ...

  2. 项目版本管理Git使用详细教程

    前言 记得刚开始做项目开发的时候都是一个人完成一个项目,单打独斗的开发,也不知道什么是团队开发,没有这个概念,随着工作后来知道公司里项目都是团队开发,这个时候这么多人怎么开发一个项目呢,难道用u盘拷贝 ...

  3. Layui引起的对前端的一次记录

    前言 首先会做这次记录,也是因为自己也是第一次去接触这个框架,以前总是听说,并没有去用过.这次出于实习的原因,去学习了一下Layui这个"面向后端开发者的框架".其次,此篇记录仅供 ...

  4. MySQL之连接查询和子查询

    多表连接的基本语法 多表连接,就是将几张表拼接为一张表,然后进行查询 select 字段1, 字段2, ... from 表1 {inner|lift|right} join 表2 on 连接条件; ...

  5. viper配置管理

    安装 go get github.com/spf13/viper viper支持的功能 1.可以设置默认值 2.可以加载多种格式的配置文件,如JSON,TOML,YAML,HCL和Java属性配置文件 ...

  6. Linux下Sed命令替换文件中的所有IP

    命令: sed -ri 's/([0-9]{1,3}\.){3}[0-9]{1,3}/localhost/g' es_create_index.sh 如图:

  7. 前缀树及其Java实现

    前缀树 基础知识 Trie树.又称之为单词查找树或者键树,是一种树形结构.应用于统计和排序大量的字符串.常被搜索引擎系统用于文本词频统计.它的优点:能够最大限度的减少无谓的字符串比较,查询效率比哈希表 ...

  8. hyperf从零开始构建微服务(二)——构建服务消费者

    阅读目录 构建服务消费者 安装json rpc依赖 安装JSON RPC客户端 server配置 编写业务代码 编写服务消费者类 consumer配置 配置 UserServiceInterface ...

  9. jdbc核心技术-宋红康

    视频地址 JDBC核心技术 第1章:JDBC概述 1.1 数据的持久化 持久化(persistence):把数据保存到可掉电式存储设备中以供之后使用.大多数情况下,特别是企业级应用,数据持久化意味着将 ...

  10. Map集和

    目录 Map 特点 继承树 常用方法 entrySet 方法 HashMap 特点 HashMap 的重要常量 存储结构 jdk1.8 总结 面试题 HashMap存储自定义类型键值 LinkedHa ...