kvm安装window系统及使用NFS动态迁移

验证是否开启虚拟化

# 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

posted @ 2021-09-02 15:11  滑了个蛋  阅读(395)  评论(0)    收藏  举报