KVM环境初搭建【工作笔记】

#####################################################################################
#安装系统
#####################################################################################
# 按F2进入BIOS
# 在CPU 配置中的socket1和socket0中查看是否激活了Inter vt-d的功能

# 网络配置接口 ens117f3
# 参考该服务器的接口配置 /etc/sysconfig/network-scripts/ifcfg-ens117f3 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
DEVICE=eno1
HWADDR=6c:0b:84:92:e0:32
ONBOOT=yes
BOOTPROTO=none
IPADDR=10.111.95.32
NETMASK=255.255.192.0
GATEWAY=10.111.127.254
IPV6INIT=yes
IPV6_AUTOCONF=no
DHCPV6=no
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

如果添加网卡到网桥br0
ifcfg-br0
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
DEVICE=br0
TYPE=bridge
ONBOOT=yes
BOOTPROTO=static
IPADDR=10.111.95.32
NETMASK=255.255.192.0
GATEWAY=10.111.127.254
DNS1=10.96.1.18
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>


ifcfg-eno1
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
TYPE=Ethernet
DEVICE=eno1
NAME=eno1
HWADDR=6c:0b:84:92:e0:32
ONBOOT=yes
BOOTPROTO=none
DEFROUTE=yes
BRIDGE=br0
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

#重启网络服务
systemctl restart network.service 
# 添加路由
route add default gw 10.74.120.1
route add -net 10.74.0.0 netmask 255.255.0.0 gw 10.74.120.1


#查看libvirt的版本
virsh version

#解除网桥绑定
virsh iface-unbridge br0

#查看libvirt所管理的接口
virsh iface-list

#将接口添加到网桥
virsh iface-bridge ens117f3 br0
virsh iface-bridge enp0s25 br0

#建立/dev/loop0
mount -o loop win7.iso /mnt

#修改libvirt权限
vim /etc/libvirt/qemu.conf
# 修改如下字段
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
user = "root"
group = "root"
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
systemctl restart libvirtd.service
systemctl status libvirtd.service

#然后再注释掉这两行
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
#user = "root"
#group = "root"
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
systemctl restart libvirtd.service
systemctl status libvirtd.service

#修改
#/usr/lib/udev/rules.d/80-kvm.rules 参考40刀片配置

# 关闭SELINUX
setenforce 0
vim /etc/selinux/config
# 修改如下字段
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
SELINUX=disabled
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
#查看当前状态
getenforce

#查看KVM模块
lsmod | grep kvm

#建立/dev/loop0
mount -o loop win7.iso /mnt
#系统就会自动建立/dev/loop0
#使用了/dev/loop0后就会自动产生/dev/loop1

#查看已经建立的/dev/loop
losetup -l

#查看下一个建立的/dev/loopn
losetup -f

losetup -o 32256 /dev/loop0 /home/kvm/iso/CgelImg
losetup -l
mount -o loop /dev/loop0 /home/kvm/mnt


######################################################################################
# 关闭防火墙
######################################################################################
service firewalld stop
systemctl disable firewalld.service
systemctl is-enabled firewalld.service

######################################################################################
# Samba配置
######################################################################################
yum install samba.x86_64
rpm -qa | grep samba
smbpasswd -a root
vim /etc/samba/smb.conf
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[root]
        path = /home/liufeng
        available = yes
        browsealbe = yes
        public = yes
        writable = yes
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
service smb restart
service nmb restart
systemctl enable smb.service
systemctl enable nmb.service

#修改cgel_lf.xml

#####################################################################################
#挂载IMAGE文件中的内容
#####################################################################################
mkdir mnt
losetup -o 32256 /dev/loop2 iso/CgelImg 
mount -o loop /dev/loop2 mnt

#####################################################################################
#通过修改GRUB来选择启动不同的内核和文件系统
#####################################################################################
cd mnt
[root@zxvei-b2 image]# cat grub/grub.conf 
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/mapper/VolGroup-lv_root
#          initrd /initrd-[generic-]version.img
#boot=/dev/hda
default=0
timeout=5
title CGEL4.x
        root (hd0,0)
        kernel /bzImage ro root=/dev/ram console=ttyS0,115200
        initrd /initrd_wyc.gz

        
        
#####################################################################################        
#通过 qemu-img 制作虚拟硬盘
#####################################################################################
qemu-img create -f raw cgel.img 2G
qemu-img create -f qcow2 -o size=20G win8-64.img
qemu-img create -f qcow2 -o size=20G win8-32.img
qemu-img create -f qcow2 -o size=20G win81-32.img
qemu-img create -f qcow2 -o size=10G CentOS65-32.img
#qemu-img create -f qcow2 -b 1G.img temp.qcow
#qemu-img create -f qcow2 -o size=10G temp.qcow
mkfs -t ext3 cgel.img
# 修改backing file的位置
qemu-img rebase cirros.disk -b /home/kvm/nfv/cirros/backup.disk 

#####################################################################################        
#通过 dd 制作虚拟硬盘
#####################################################################################
# 1024 * 1024 K = 1048576 K = 1G
dd if=/dev/zero of=1G.img bs=1k count=1048576 
mkfs.ext2 1G.img 
#修改cgel_lf.xml
#进入虚拟机后
mkdir /mnt
mount /dev/hdb /mnt    

#####################################################################################
#修改文件系统内容
#####################################################################################
mkdir rootfs
cp mnt/initrd_wyc.gz rootfs/
cd rootfs
# 解开文件系统
gunzip -d initrd_wyc.gz 
cpio -i < initrd_wyc 
rm initrd_wyc 

#修改文件系统内容
#..................

#压缩文件系统,并替换老的文件系统
find . | cpio -H newc -o | gzip -9 > ../initrd_cpio_glibc.gz
cd ..
mv initrd_cpio_glibc.gz mnt/


#####################################################################################
# 创建并启动虚拟机
#####################################################################################
virsh create cgel.xml     
#查看启动命令和日志
cat /var/log/libvirt/qemu/cgel_lf_kvm.log

# 看虚拟机情况
virsh list

#停止虚拟机
virsh destroy 43

#####################################################################################
#登陆虚拟机
#####################################################################################
telnet 0.0.0.0 5000

#挂载硬盘
mkdir /mnt
mount /dev/hdb /mnt
sync


#查看硬盘情况
mount
fdisk -l

#配置网络
ifconfig eth0 10.74.169.73
route add -net 10.74.0.0 netmask 255.255.0.0 gw 10.74.169.254
route -n


############################################
# VNC管理命令
############################################
vncserver -list
vncserver -kill :2

#####################################################################################
# 手工启动QEMU
#####################################################################################
#/usr/local/bin/qemu-system-x86_64 -m 2048 -smp 2 -kernel my/bzImage -initrd my/initrd_cpio_glibc.gz
/usr/local/bin/qemu-system-x86_64 -m 2048 -smp 2 -kernel my/bzImage -initrd my/initrd_cpio_glibc.gz -vnc :2

/usr/local/bin/qemu-system-x86_64 -m 2048 -smp 2 my/bzImage


#####################################################################################
# 图形界面安装WIN7
#####################################################################################
# 下载ISO ISO 文件所在位置 10.74.169.44 root/root123
# 44 上使用: scp win7.img root@10.74.169.72:/home/liufeng/
# 制作硬盘
qemu-img create -f raw win7.img 20G
# 制作XML文件,启动命令解释见win7.xml

# 设置VNC,realvnc安装好后,避免连接虚拟机一闪而过,依次选择“options”->"advanced"->"expert"->"colourlevel",将这项改为“full”即可


#启动虚拟机
virsh create xml/win7.xml 

# 连接VNC  10.74.169.72:5910

# 后面驱动去掉从CDROM启动,并直接使用win7.img即可

# win7 激活密钥
J783Y-JKQWR-677Q8-KCXTF-BHWGC
C4M9W-WPRDG-QBB3F-VM9K8-KDQ9Y
2VCGQ-BRVJ4-2HGJ2-K36X9-J66JG
MGX79-TPQB9-KQ248-KXR2V-DHRTD
FJHWT-KDGHY-K2384-93CT7-323RC
THHH2-RKK9T-FX6HM-QXT86-MGBCP
KH2J9-PC326-T44D4-39H6V-TVPBY
D8BMB-BVGMF-M9PTV-HWDQW-HPCXX
TFP9Y-VCY3P-VVH3T-8XXCC-MF4YK 
236TW-X778T-8MV9F-937GT-QVKBB 
87VT2-FY2XW-F7K39-W3T8R-XMFGF
KH2J9-PC326-T44D4-39H6V-TVPBY 
TFP9Y-VCY3P-VVH3T-8XXCC-MF4YK
J783Y-JKQWR-677Q8-KCXTF-BHWGC 
C4M9W-WPRDG-QBB3F-VM9K8-KDQ9Y 
2VCGQ-BRVJ4-2HGJ2-K36X9-J66JG 
MGX79-TPQB9-KQ248-KXR2V-DHRTD 
FJHWT-KDGHY-K2384-93CT7-323RC

# 网络IP 10.74.169.75 网关 10.74.169.254 DNS 10.41.132.9


#####################################################################################
# 图形界面安装RHEL
#####################################################################################
# 下载ISO ISO 文件所在位置 10.74.169.44 root/root123
# 44 上使用: scp rhel-server-7.0-x86_64-dvd.iso root@10.74.169.72:/home/liufeng/iso
# 制作硬盘
qemu-img create -f raw rhel.img 20G
# 制作XML文件,启动命令解释见rhel_lf.xml

#启动虚拟机
virsh create xml/rhel_lf.xml

# 连接VNC  10.74.169.72:5910

# 后面驱动去掉从CDROM启动,并直接使用rhel_lf.img即可

# 选择GUI 安装,选择必须要的服务;选择

# 网络IP 10.74.169.75 网关 10.74.169.254 DNS 10.41.132.9
cd /etc/sysconfig/network-scripts
vi ifcfg-ens3
>>HWADDR=52:54:00:85:D2:BA
>>TYPE=Ethernet
>>BOOTPROTO=static
>>DEFROUTE=yes
>>PEERDNS=yes
>>PEERROUTES=yes
>>IPV4_FAILURE_FATAL=no
>>IPV6INIT=yes
>>IPV6_AUTOCONF=yes
>>IPV6_DEFROUTE=yes
>>IPV6_PEERDNS=yes
>>IPV6_PEERROUTES=yes
>>IPV6_FAILURE_FATAL=no
>>NAME=ens3
>>UUID=c59f0d06-7774-499a-8c56-47dfe61dbf39
>>ONBOOT=yes
>>IPADDR=10.74.169.76
>>NETMASK=255.255.254.0
>>GATEWAY=10.74.169.254


#################################################3
# 迁移的步骤
###################################################
# NFS操作
#主机1:10.74.169.79
#主机2:10.74.169.72
#在主机1上启动nfs服务器
vim /etc/exprots 添加内容:/home/wyc/CGSL-V4 10.74.169.0/24(rw)
systemctl start nfs-server.service
#主机2上执行操作:
mount 10.74.169.79:/home/wyc/CGSL-V4 /home/wyc/CGSL-V4
mount 10.74.120.168:/home/cgel_img_nfs /home/cgel_img_nfs/
mount 10.74.120.219:/home/iso /home/iso

losetup -o 32256 /dev/loop0 /home/kvm/iso/CgelImg
losetup -l
mount -o loop /dev/loop0 /home/kvm/mnt

#制作登陆key在主机1上执行下列命令,主机2上也可执行(ssh登录不用输入密码)。
ssh-keygen -t rsa 
ssh-copy-id -i ~/.ssh/id_rsa.pub root@10.74.120.172
ssh-copy-id -i ~/.ssh/id_rsa.pub root@10.74.120.153

ssh-keygen -t rsa 
ssh-copy-id -i ~/.ssh/id_rsa.pub root@10.74.120.171


#设定主机名称
hostnamectl set-hostname lf-127
reboot

#修改uuid,解决error: internal error: Attempt to migrate guest to the same host 00020003-0004-0005-0006-000700080009问题
#修改后需要重启libvirtd
sed -i "/#host_uuid/ahost_uuid = \"`uuidgen`\"" /etc/libvirt/libvirtd.conf
systemctl restart libvirtd.service
systemctl status libvirtd.service

#添加对端主机名称的DNS,解决error: Unable to resolve address 'zxvei-b2' service '49152': Name or service not known
vim /etc/hosts 添加: 
10.74.120.172 zxvei-b2
10.74.121.127 lf-127
#开始迁移
virsh migrate cgel_kvm_nfs --live qemu+ssh://10.74.120.172/system --unsafe --verbose
virsh migrate cgel_kvm_nfs --live qemu+ssh://10.74.121.127/system --unsafe --verbose

virsh migrate rhel_kvm_nfs --live qemu+ssh://10.74.120.172/system --unsafe --verbose
virsh migrate rhel_kvm_nfs --live qemu+ssh://10.74.121.127/system --unsafe --verbose

virsh migrate rhel_kvm_nfs --live qemu+ssh://10.74.120.171/system --unsafe --verbose
virsh migrate rhel_kvm_nfs --live qemu+ssh://10.74.121.127/system --unsafe --verbose

virsh migrate rhel_kvm_nfs --live qemu+ssh://10.74.120.9/system --unsafe --verbose
virsh migrate rhel_kvm_nfs --live qemu+ssh://10.74.121.8/system --unsafe --verbose


virsh migrate win7_kvm_nfs --live qemu+ssh://10.74.120.172/system --unsafe --verbose
virsh migrate win7_kvm_nfs --live qemu+ssh://10.74.121.127/system --unsafe --verbose

virsh migrate win7_kvm_nfs --live qemu+ssh://10.74.120.171/system --unsafe --verbose
virsh migrate win7_kvm_nfs --live qemu+ssh://10.74.121.127/system --unsafe --verbose


172 <==> 171
virsh migrate win7_kvm_nfs --live qemu+ssh://10.74.120.172/system --unsafe --verbose --compressed
virsh migrate win7_kvm_nfs --live qemu+ssh://10.74.120.171/system --unsafe --verbose --compressed

virsh migrate win7_kvm_nfs --live qemu+ssh://10.74.120.172/system --unsafe --verbose tcp://10.74.120.172
virsh migrate win7_kvm_nfs --live qemu+ssh://10.74.120.171/system --unsafe --verbose tcp://10.74.120.171

virsh migrate win7_kvm_nfs --live qemu+ssh://10.74.120.9/system --unsafe --verbose tcp://10.74.120.9
virsh migrate win7_kvm_nfs --live qemu+ssh://10.74.120.8/system --unsafe --verbose tcp://10.74.120.8

virsh migrate win7_kvm_nfs --live qemu+ssh://192.168.0.9/system --unsafe --verbose tcp://192.168.0.9
virsh migrate win7_kvm_nfs --live qemu+ssh://192.168.0.8/system --unsafe --verbose tcp://192.168.0.8

127 <==> 153
virsh migrate win7_nfs_kvm --live qemu+ssh://10.74.120.153/system --unsafe --verbose 
virsh migrate win7_nfs_kvm --live qemu+ssh://10.74.121.127/system --unsafe --verbose

virsh migrate rhel_nfs_kvm --live qemu+ssh://10.74.120.153/system --unsafe --verbose 
virsh migrate rhel_nfs_kvm --live qemu+ssh://10.74.121.127/system --unsafe --verbose

virsh migrate cgslv5_kvm_nfs --live qemu+ssh://10.74.120.153/system --unsafe --verbose 
virsh migrate cgslv5_kvm_nfs --live qemu+ssh://10.74.121.127/system --unsafe --verbose


105 <==> 106
virsh migrate centos_kvm_vm --live qemu+ssh://192.168.2.106/system --unsafe --verbose 
virsh migrate centos_kvm_vm --live qemu+ssh://192.168.2.105/system --unsafe --verbose 
virsh migrate centos_kvm_vm --live qemu+ssh://192.168.2.106/system --unsafe --verbose 
#XBEZLE
virsh migrate centos_kvm_vm --live qemu+ssh://192.168.2.105/system --unsafe --verbose --compressed


#多线程压缩迁移
virsh migrate centos_kvm_vm --live qemu+ssh://192.168.2.105/system --unsafe --verbose --comp-methods mt --comp-mt-level 1 --comp-mt-threads 12 --comp-mt-dthreads 3


#libvirt中调试MT迁移功能需要的断点
b qemuMonitorJSONSetMigrationCompression
b qemu_monitor_json.c:297
p cmdstr
b qemuMonitorJSONSetMigrationCapability if capability==QEMU_MONITOR

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值