虚拟机的迁移:

 

宿主机 KVM               VMWare

冷迁移:需要关机

cd images

scp 域.qcow2      ip:/root     rsync -avz比scp更快

“若是也能c”  哈哈哈

 

热迁移:

宿主机 KVM               VMWare

 

              NFS

为什么说很快?因为nfs挂载在上面就像在自己电脑上面移动文件一样快

黄老师是192.168.1.250

吴老板是192.168.1.133

康老板是192.168.1.181

 

康老板:

mkdir /kvm

chmod 777/kvm

vim/etc/exports

/kvm192.168.1.0/24(rw,no_root_squash)

systemctlrestart nfs

 

黄老师:

showmount -e192.168.1.181

强调不要手动挂,要自动挂

 

吴老板、黄老师:

选中虚拟机-编辑-kvm-添加新存储池:名称:kvm;类型netfs;前进,主机名:康老板ip,源路径:康老板挂载的文件夹/kvm;(目标路径就是本机宿主机的那个路径)

 

黄老师:

ssh到吴老板,ssh到康老板认证嘛

创建存储卷:名称:nfs你的系统将会装在这里面;最大容量40G

复制位置

ll 粘贴,你的系统将会装在这里面

QEMU创建新的虚拟机,注意管理的路径是kvm的那个目录,

连接SHH 1.133,要迁移的虚拟机-右键-迁移-模式-直连地址是对象ip,cache!none

磁盘-性能选项-缓存模式调为none,需要重启

nfs共享的目录正常权限755,不要设置为777

重启存储池

 

 

 

存储卷那个卷,最终的迁移的磁盘的系统文件

 

迁移完了之后用virsh list --all命令看的到但是在virt-manager里面看不到是因为你没有重启libvirtd服务,无可用连接就需要发公钥,免密操作呀。模式:隧道

 

 

/etc/libvirt/qemu/autostart里面都是软链接,可以直接给域做一个软链接就完成了自动启动

 

能够进QEMU的虚拟机的方法:

virt-manager、virt-viewer需要图形化的VMWare虚拟机

 

vnc的两种功能:

1.autoport自动端口随机生成端口

2.固定端口

 

consolecentos6(grub)不需要ip和图形化界面

vim/etc/default/grub --> 将倒数第二行最后面的引号里面加上console=ttyS0

grub2-mkconfig-o /etc/grub2.cfg生效

 

virtBox需要经过dnat端口转发,有人访问22号端口,要映射那个人,而hostonly可以直接连接ssh

 

迁移p2v  v2v,很少用

虚拟化的迁移分为两种:冷迁移、热迁移

冷迁移:有图形界面的话,只拷镜像即可。没有图形界面的话要拷镜像和配置文件

存储很重要、docker、容器、集群、20k、30k

LAMP一键脚本!要多久?

容器:智能伸缩,4个可销毁两个

node1挂了,物理机要做迁移,快速迁移也需要共享存储

 

/var/lib/libvirt/images/kvm

nfs挂载的rw后面加一个sync同步的权限

systemctlrestart nfs

 

老师:

mount -t nfs192.168.1.181:/kvm /var/lib/libvirt/images/kvm

 

存储池是否活跃:virt-manager

umount/var/lib/libvirt/images/kvm,是因为

存储池是否活跃:virt-manager

连接详情-添加存储池:nfs,前进,nfs的ip,netfs   /kvm

存储卷:nfs.qcow2,管理-虚拟化-nfs.qcow2存储卷

 

网络:

vmware:bridge、hostonly、nat三种网络类型

外部   host宿主机    vm

 

连接SHH 1.133,要迁移的虚拟机-右键-迁移-模式-直连地址是对象ip,cache!none

磁盘-性能选项-缓存模式调为none,需要重启

nfs共享的目录正常权限755,不要设置为777

重启存储池

 

桥接:

                             vm1

host1:1.1    host2:1.250      vm2

都能访问

 

仅主机模式hostonly的效果:

外部     host真机      vm1       vm2

同一子网能相互访问,一旦启动hostonly就会多出来一个网卡,这个网卡是不同子网的,用于和内部通信

外部能与host真机通信,host真机能与vm1或vm2互相通信,但是外部不能与vm1或vm2通信,注意dhcp要添加一个路由route add default gw192.168.123.1 eth0,静态的话要写GATEWAY=192.168.123.1

 

NAT:

                                              kvm1:172.16.0.10/16

host1:1.1    host2:1.250和172.16.0.1/16      kvm2:172.16.0.20/16
vm1和vm2能从右到左甚至到云都能通信,从里面走出来哪里都能去,但是host1不能直接访问kvm1或kvm2
 
网桥bridge:
bridge id是用来算二层生成树的,防止回路
公司搭vping,子网掩码需要在网卡配置文件里面写上,PREFIX=24这个不要省略了,所以飞哥就要在我上面写子网掩码了。
 
图形化代替virsh iface-bridge eth0br0:
编辑-连接详情
 
brctl --help
brctl addbrbr0 添加网桥
brctl addifeth0 br0 添加接口
brctl show 查看网桥
brctl delbr 正在用那个网卡的时候不能删除网卡的网桥,所以没有使用的时候可删
ifconfig br0down
brctldelif  (delete  iface删除接口的意思)
 
QEMU里面的网卡设置:大小写的问题:左大右小
br0网桥:
DEVICE="br1"
ONBOOT="yes"
TYPE="Bridge"
BOOTPROTO="static"
IPADDR="192.168.1.250"
PREFIX=24
STP="on"
DELAY="0.0"
 
物理网卡:
DEVICE=enp3s0
ONBOOT=yes
BRIDGE="br1"
 
热迁移:
1.nfs共享/kvm192.168.1..0/24(....)
2.kvm1添加存储池

3.kvm2添加存储池,直接用ssh认证一下这两个机器,添加存储卷,创建新的虚拟机

4.用kvm2去QEMU SSH kvm1

 

怎么将QEMU新创建的虚拟机将NAT模式改为桥接模式?答:点灯泡(QEMU的桥接不需要插网线),宿主机绑定的是哪个网段就只能ping通那个网段

 

ping -I br1192.168.122.39强制指定接口去ping

 

编辑-虚拟网络-是NAT的,+ host-only 前进,注意这一步如果去掉IPV4的勾就会导致host-only宿主机不会生成一个与QEMU里面的网卡,就是只能QEMU与QEMU之前通信了,我们这里不去掉这个IPV4的勾,前进,完成

设置网卡dhcp,点灯泡,选host-only的,重启network

 

QEMU上 都在/etc/libvirt/qemu/networks里面

NAT和HOST-ONLY都在这个目录下

 

cp default.xml   my-nat.xml
vim my-nat.xml
virshnet-define my-nat.xml定义网络NAT,define后面只能加xml文件
virshnet-start my-nat开始
virshnet-autostart my-nat标记为自动启动(编辑-虚拟网络-自动启动)
 
cphost-only.xml   only.xml
vim only.xml删掉mod那一行就是仅主机模式了
virshnet-define only.xml定义网络NAT,define后面只能加xml文件
virshnet-start only网络运行
virshnet-autostart only标记为自动启动

 

吴老板QEMU的NAT  ping只ping的通自己的宿主机,ping不通外网,怎么办?需要手动重新

sysctl -a |grep ip_for网卡有多张就要开启这个路由转发(我想起来了这个之前老郭教我们做过路由route的实验,route机就要开启这个)
net.ipv4.ip_forward= 1
net.ipv4.ip_forward_use_pmtu= 0
在vim /etc/sysctl.conf里面加一行这个net.ipv4.ip_forward = 1
临时的:
echo 1 >/proc/sys/net/ipv4/ip_forward
永久:
echo “net.ipv4.ip_forward= 1”   >> /etc/sysctl.conf
sysctl -p生效

 

磁盘的镜像管理:

qemu-img -h可以看到支持的镜像文件后缀格式

raw 支持稀疏文件,不支持快照

qcow2  支持后端镜像backing_file(快速创建虚拟机),支持快照

 

cd/var/lib/libvirt/images

qemu-imginfo 域.qcow2   可以查看镜像的格式、磁盘大小

镜像的格式转换未完待续....

 

创建镜像文件,空的:

这个空的磁盘镜像有什么用?

1.可以将创建虚拟机的镜像放里面

2.可以给磁盘扩容

 

qemu-imgcreate -f qcow2 -o size=20G test1.qcow2 是输出。
qemu-imginfo test1.qcow2格式是-f  -o是大小。
还可以这样写:
qemu-imgcreate -f qcow2 test1.qcow2 20G将大小写到后面也行
qemu-imginfo test1.qcow2 查看
qemu-imgcreate -f qcow2 -o preallocation=full,size=8G c3.img这个也是创建空的镜像文件

 

克隆装机、pxe装机都很慢怎么办?使用后端镜像:

       

winxp后端镜像
                         (20G)
 
 
           winxp      winxp      winxp  差异镜像
           (kb)       (kb)       (kb)
           A          B          C

 

启动winxp差异镜像的时候太小了,几十kb,启动不了,所以要去找模板

 

A创建新文件,母模板上面不会跟着创建,其他上面也不会跟着创建

 

如何创建后端镜像:

先将QEMU里的虚拟机关机,比如一个虚拟机的镜像是centos7.0.qcow2

qemu-imgcreate -f qcow2 (row也行)  -b centos7.0.qcow2 mj1.qcow2
qemu-imginfo mj1.qcow2查看

 

QEMU-新建虚拟机导入现有磁盘映像-前进-default里面

 

这个后台镜像相当于软链接克隆

bash回车就是进入子shell,exit就回来了,可以达到修改主机名看到效果的作用

 

 

1.qemu-imgcreate -f qcow2 (row也行)  -b centos7.0.qcow2 mj1.qcow2创建后背镜像文件

2.用配置文件创建网络:

cd/etc/libvirt/qemu
ls
cppxe001.xml mj1.xml
vim 域.xml
要改的东西
name
uuid
source 镜像绝对路径改正确,
网络的mac改一下
virsh definemj1.xml
virsh start mj1开机
 
[mac]
生成mac地址:openssl rand -hex 6|sed -r -e 's#(..)#\1:#g;s#.$##'
openssl rand-hex 6 |sed -r 's#(..)(..)(..)(..)(..)(..)#52:54:\3:\4:\5:\6#'
前面两个mac地址参数可以不用改
 
[uuid]
uuidgen

 

1.我需要qcow2的镜像文件

2.根据qcow2的域照着全局配置的模板写一个配置文件

3.激活配置文件virsh define 域.xml

这样虚拟机就创建成功了

 

# 创建一个QEMU虚拟机的脚本
# 在宿主机里面执行该脚本
read -p"想要软链接克隆哪个虚拟机:"motherName
read -p"为新虚拟机起一个名字:"mjName
uuidMake=`uuidgen`
macAddr=`opensslrand -hex 6 |sed -r 's#(..)(..)(..)(..)(..)(..)#52:54:\3:\4:\5:\6#'`
cd/var/lib/libvirt/images
qemu-imgcreate -f qcow2 -b ${motherName}.qcow2 ${mjName}.qcow2
cd/etc/libvirt/qemu
\cp${motherName}.xml ${mjName}.xml
sed -i -r -e"/<name>/s#${motherName}#${mjName}#" -e "/uuid/c\  <uuid>${uuidMake}</uuid>" -e"/images/s#${motherName}.qcow2#${mjName}.qcow2#" -e"/<mac/c\    <macaddress='${macAddr}'/>" ${mjName}.xml
virsh define${mjName}.xml

# 删除指定QEMU虚拟机的脚本

# 在宿主机里面执行该脚本

read -p"想要删除哪个虚拟机:"delName

virshdestroy ${delName}
virshundefine ${delName}
rm -rf/var/lib/libvirt/images/${delName}.qcow2
 
udev

统一的机器将提供完全一样的网站

网卡的心跳系统

udev就能改硬件的名字,就是让每一个网卡的名字都改成eth0

ip、uuid、mac地址不能一样,不然起不来有冲突,所以设置为dhcp

配置yum源

模板机:console=ttyS0,避免进不去
SSH链接慢bim/etc/ssh/sshd_config
GSSAPIAuthenticationno 关掉
vim/etc/ssh/ssh_config
ask那里yes/no
<graphicstype='vnc' port='-1' autoport='yes' listen='0.0.0.0' keymap='en-us'>
vncviewerip:5901
 
QEMU快照
 virshsnapshot-create-as mj2 mj2Init创建快照 

 ls /var/lib/libvirt/qemu/snapshot/mj2快照文件所在地 

 snapshot-list查看快照的列表 

 virsh snapshot-revert mj2 mj2Init还原快照 或下面的 

 virsh snapshot-revert cs1 --snapshotname 12312414 

 virsh snapshot-current mj2 查看当前快照的内容 

 就是将全局配置文件做个备份而已