kvm2
kvm虚拟机的桥接网络
默认的虚拟机网络是NAT模式,网段192.168.122.0/24
1:创建桥接网卡
创建桥接网卡命令 virsh iface-bridge eth0 br0 取消桥接网卡命令 virsh
iface-unbridge br0
新虚拟机使用桥接模式
2默认NAT模式
virt-install --virt-type kvm --os-type=linux --os-
variant rhel7 --name web04 --memory 1024 --vcpus 1 --
disk /opt/web04.qcow2 --boot hd --network
network=default --graphics vnc,listen=0.0.0.0 --
noautoconsole
桥接模式
virt-install --virt-type kvm --os-type=linux --os-
variant rhel7 --name web04 --memory 1024 --vcpus 1 --
disk /data/web04.qcow2 --boot hd --network bridge=br0 --
graphics vnc,listen=0.0.0.0 --noautoconsole
如果虚拟机获取不到ip地址
3 将已有虚拟机网络修改为桥接模式
a:关机状态下修改虚拟机配置文件:
例如:virsh edit centos7
b:启动虚拟机,测试虚拟机网络
如果上层没有开启dhcp,需要手动配置ip地
址,IPADDR,NATMASK.GATEWAY,DNS1
echo 'TYPE="Ethernet"
BOOTPROTO="none"
NAME="eth0"
DEVICE="eth0"
ONBOOT="yes"
IPADDR="10.0.0.102"
NETMASK="255.255.255.0"
GATEWAY="10.0.0.254"
DNS1="223.5.5.5"' >/etc/sysconfig/network-scripts/ifcfg-eth0
热添加技术
热添加硬盘、网卡、内存、cpu
宿主机kvm
首先添加磁盘
[root@kvm1 opt]# qemu-img create -f qcow2 /opt/web04_add01.qcow2 10G
[root@kvm1 opt]# qemu-img info web04_add01.qcow2 #查看
热添加磁盘
[root@kvm1 opt]# virsh attach-disk web04 /opt/web04_add01.qcow2 vdb --subdriver qcow2
不加--subdriver参数时, 创建的磁盘没有大小
临时剥离硬盘(摘取),重新添加
virsh detach-disk web01 vdb
进入虚拟机进行磁盘的初始化
[root@kvm1 opt]# virsh console web04
[root@localhost ~]# hostnamectl set-hostname web04
[root@localhost ~]# bash
[root@web04 ~]# fdisk -l
[root@web04 ~]# mkfs.xfs /dev/vdb #使用时进行格式化,格式化会分配inode和block大小
meta-data=/dev/vdb isize=256 agcount=4, agsize=655360 blks
= sectsz=512 attr=2, projid32bit=1
= crc=0 finobt=0
data = bsize=4096 blocks=2621440, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=0
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
挂载磁盘
[root@web04 ~]# mount /dev/vdb /mnt
[root@web04 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 10G 1.1G 9.0G 11% /
devtmpfs 488M 0 488M 0% /dev
tmpfs 497M 0 497M 0% /dev/shm
tmpfs 497M 6.6M 490M 2% /run
tmpfs 497M 0 497M 0% /sys/fs/cgroup
tmpfs 100M 0 100M 0% /run/user/0
/dev/vdb 10G 33M 10G 1% /mnt
可以写数据
[root@web04 ~]# cp /etc/services /mnt/
[root@web04 ~]# ll /mnt/
扩容
[root@kvm1 opt]# virsh detach-disk web04 vdb #摘取
[root@kvm1 opt]# qemu-img resize /opt/web04_add01.qcow2 30G #扩容
[root@kvm1 opt]# qemu-img info /opt/web04_add01.qcow2 #查看
[root@kvm1 opt]# virsh attach-disk web04 /opt/web04_add01.qcow2 vdb --subdriver qcow2 #热添加
进入虚拟机
[root@web04 ~]# umount /mnt/
[root@web04 ~]# mount /dev/vdb /mnt #直接挂载,不需要在格式化,一格式化,前面的数据会丢失
[root@web04 ~]# ll /mnt/
total 656
-rw-r--r--. 1 root root 670293 Nov 28 13:20 services
[root@web04 ~]# df -h
[root@web04 ~]# xfs_growfs /dev/vdb #一定要更新扩容盘的信息
冷迁移
需要重新克隆一台kvm2宿主机,和它配置一样的环境
10.0.0.99 给2G 注意勾选处理器---->虚拟化引擎(虚拟化IntelVT-x)
[root@kvm2 opt]# cd /etc/yum.repos.d/
[root@kvm2 opt]# rm -f local.repo
[root@kvm2 opt]# echo "192.168.37.200 mirrors.aliyun.com" >>/etc/hosts
[root@kvm2 opt]# curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
[root@kvm2 opt]# yum install libvirt virt-install qemu-kvm -y
[root@kvm2 opt]# systemctl start libvirtd
[root@kvm2 opt]# systemctl status libvirtd
基于完整克隆的冷迁移
[root@kvm1 opt]# virsh dumpxml web03|grep qcow2
<driver name='qemu' type='qcow2'/>
<source file='/opt/web03.qcow2'/>
[root@kvm1 opt]# virsh list --all #查看是否关机
[root@kvm1 opt]# scp -rp /opt/web03.qcow2 10.0.0.99:/opt/
[root@kvm1 opt]# virsh dumpxml web03 >web03.xml
[root@kvm1 opt]# scp -rp /opt/web03.xml 10.0.0.99:/opt/
[root@kvm2 opt]# virsh define web03.xml
[root@kvm2 opt]# virsh start web03
[root@kvm2 opt]# virsh list
[root@kvm2 opt]# virsh console web03
基于链接克隆的冷迁移
[root@kvm1 opt]# virsh list --all #查看是否关机
[root@kvm1 opt]# virsh shutdown web04
[root@kvm1 opt]# qemu-img info web04.qcow2
[root@kvm1 opt]# scp -rp web03.qcow2 web04.qcow2 10.0.0.99:/opt/
[root@kvm1 opt]# virsh dumpxml web04 > web04.xml
[root@kvm1 opt]# scp -rp web04.xml 10.0.0.99:/opt/
[root@kvm2 opt]# virsh define web04.xml
[root@kvm2 opt]# virsh start web04
[root@kvm2 opt]# virsh list --alls
[root@kvm2 opt]# virsh edit web03
#热迁移
#热迁移kvm虚拟机:配置文件,nfs共享
[root@kvm1 ~]# rpm -qa|grep nfs
nfs-utils-1.3.0-0.65.el7.x86_64
libnfsidmap-0.25-19.el7.x86_64
[root@kvm1 ~]# yum history
Loaded plugins: fastestmirror
ID | Login user | Date and time | Action(s) | Altered
5 | root <root> | 2019-11-27 15:06 | Install | 1
4 | root <root> | 2019-11-27 11:07 | I, U | 124
3 | root <root> | 2019-04-19 12:38 | Install | 12
2 | root <root> | 2019-04-19 12:38 | Install | 1
1 | System <unset> | 2019-04-19 12:16 | Install | 473
history list
#利用nfs实现共享上网,将kvm1和kvm2看作客户端,nfs为服务端
实现共享存储(nfs)10.0.0.31
[root@nfs ~]# systemctl restart nfs
[root@nfs ~]# systemctl status nfs
[root@nfs ~]# cat /etc/exports
/vm 10.0.0.0/24(rw,async,no_all_squash,no_root_squash)
[root@nfs ~]# systemctl restart nfs
#查看
[root@kvm1 ~]# showmount -e 10.0.0.31
Export list for 10.0.0.31:
/vm 10.0.0.0/24
[root@kvm2 opt]# showmount -e 10.0.0.31
Export list for 10.0.0.31:
/vm 10.0.0.0/24
[root@nfs ~]# mkdir /vm
#不能直接将/vm/ 挂载到/opt/ 否则查看/opt/为空,所以需将/opt/下的内容移走,再挂载
[root@kvm2 opt]# ls /srv/
[root@kvm2 opt]# ls
web03.qcow2 web03.xml web04.qcow2 web04.xml
[root@kvm2 opt]# mv /opt/* /srv/
[root@kvm2 opt]# mount -t nfs 10.0.0.31:/vm /opt/
[root@kvm2 opt]# mv /srv/web03.qcow2 /opt/
[root@nfs ~]# ls /vm
web03.qcow2
[root@nfs ~]# ll -h /vm/
total 1.1G
-rw------- 1 107 107 1.1G Nov 28 19:44 web03.qcow2
[root@kvm2 opt]# id qemu
uid=107(qemu) gid=107(qemu) groups=107(qemu),36(kvm)
[root@kvm2 opt]# virsh list
Id Name State
1 web03 running
2 web04 running
[root@kvm2 opt]# ps -ef|grep qemu
[root@kvm2 opt]# pkill qemu-kvm
[root@kvm1 ~]# virsh list --all
[root@kvm1 ~]# pkill qemu-kvm
[root@kvm1 ~]# virsh list --all
[root@kvm1 ~]# ll /etc/libvirt/qemu/*.xml
[root@kvm1 ~]# rm -rf、
[root@kvm1 ~]# virsh list --all
[root@kvm1 ~]# systemctl restart libvirtd
[root@kvm1 ~]# virsh list --all
[root@kvm2 srv]# echo 1024|awk '{print $1*1024}'
1048576
[root@kvm2 srv]# mv /opt/web03.qcow2 /opt/web04.qcow2
[root@kvm2 srv]# virsh define web04.xml
[root@kvm2 srv]# virsh start web04
[root@kvm2 srv]# brctl show
[root@kvm1 ~]# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.000c298e67e3 yes eth0
virbr0 8000.525400ee419b yes virbr0-nic
[root@kvm1 ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.37.200 mirrors.aliyun.com
10.0.0.100 kvm1
10.0.0.99 kvm2
[root@kvm1 ~]# scp -rp /etc/hosts 10.0.0.99:/etc/hosts
[root@kvm2 srv]# virsh migrate --live --verbose web04 qemu+ssh://10.0.0.100/system --unsafe --persistent --undefinesource
[root@kvm2 srv]# virsh migrate --live --verbose web03 qemu+ssh://10.0.0.100/system --unsafe --persistent --undefinesource
root@10.0.0.100's password:
Migration: [100 %]
[root@kvm2 srv]# virsh list --all
Id Name State
[root@kvm1 ~]# virsh list --all
Id Name State
2 web04 running
3 web03 running
[root@kvm1 ~]# virsh console web04
[root@localhost ~]# ip add
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# mv ifcfg-eth0 ifcfg-eth1
[root@localhost network-scripts]# echo 'TYPE="Ethernet"
> BOOTPROTO="none"
> NAME="eth0"
> DEVICE="eth0"
> ONBOOT="yes"
> IPADDR="10.0.0.102"
> NETMASK="255.255.255.0"
> GATEWAY="10.0.0.254"
> DNS1="223.5.5.5"' >/etc/sysconfig/network-scripts/ifcfg-eth1
[root@kvm1 opt]# ls
web04.qcow2
[root@kvm1 opt]# virsh migrate --live --verbose web04 qemu+ssh://10.0.0.99/system --unsafe --persistent --undefinesource
root@10.0.0.99's password:
Migration: [100 %]
[root@kvm1 opt]# virsh list --all
Id Name State
3 web03 running
[root@kvm2 opt]# virsh list --all
Id Name State
9 web04 running
[root@kvm1 opt]# virsh list --all #查看是否关机
[root@kvm1 opt]# virsh shutdown web04
[root@kvm1 opt]# qemu-img info web04.qcow2
[root@kvm1 opt]# scp -rp web03.qcow2 web04.qcow2 10.0.0.99:/opt/
[root@kvm1 opt]# virsh dumpxml web04 > web04.xml
[root@kvm1 opt]# scp -rp web04.xml 10.0.0.99:/opt/
[root@kvm2 opt]# virsh define web04.xml
[root@kvm2 opt]# virsh start web04
[root@kvm2 opt]# virsh list --alls
[root@kvm2 opt]# virsh edit web03
[root@kvm1 opt]# virsh dumpxml web04|grep qcow
<driver name='qemu' type='qcow2'/>
<source file='/opt/web04.qcow2'/>
<source file='/opt/web03.qcow2'/>
<driver name='qemu' type='qcow2'/>
<source file='/opt/web04_add01.qcow2'/>
kvm2的更多相关文章
- docker 命令汇总
命令汇总 docker history fa5fa5为镜像id或者镜像名 docker export 30b >h.tar30b为容器id或者容器名# docker export angry_b ...
- docker2
https://github.com/docker/distribution daocloud 数人云 时速云 http://jpetazzo.github.io/2014/06/23/docker- ...
- linux服务之vnc和x2go
三种方式连接linux桌面 1.传统的vnc linux桌面上安装vncserver windows桌面上安装vncviewer 2.x2go 在linux桌面上安装x2goserver与x2gose ...
- linux工具类之硬盘检测
软raidmount /dev/md0 /opt [root@localhost root]# cp /usr/share/doc/raidtools-1.00.3/ra ...
- linux知识点
通过gui来使用通过api来使用通过cli来使用通过tui来使用 进程不在,但tcp连接还一直存在的解决办法--tcpkill命令 http://www.centoscn.com/CentOS/Int ...
- 虚拟化之kvm与xen对比
xen XenServer is the leading open source virtualization platform, powered by the Xen Project hypervi ...
- RSA加密解密及RSA加签验签
RSA安全性应用场景说明 在刚接触RSA的时候,会混淆RSA加密解密和RSA加签验签的概念.简单来说加密解密是公钥加密私钥解密,持有公钥(多人持有)可以对数据加密,但是只有持有私钥(一人持有)才可以解 ...
- kvm之四:从网上镜像安装虚拟机Centos6.8
1.再加块硬盘,格式化挂载至新建目录/kvm2下 2.CentOS 6.8镜像地址 http://mirrors.163.com/centos/6.8/os/x86_64/ 3.配置安装参数,执行安装 ...
- Linux-KVM虚拟化
kvm安装 1.在宿主机上准备好yum(只需要本地镜像yum就可以) 2.查看CPU是否支持inter或AMD的虚拟技术 # cat /proc/cpuinfo |grep -E "vmx| ...
随机推荐
- React: 研究Redux的使用
一.简介 在上一篇文章中,大概讲了下Flux设计模式的使用,在末尾顺便提了一些基于Flux的脚本库,其中Redux已经毋庸置疑地成为了众多脚本库的翘楚之一.是的,Redux是基于Flux开发的,Red ...
- iOS开发makeKeyAndVisible和makeKeyWindow区别
参考链接:https://www.jianshu.com/p/c7647caa8bd1
- 阿里云MVP 第十期全球发布:让天下没有难做的技术
简介: MVPs与阿里云一起探索前路,用技术改变世界! 在云的世界中,从来没有“简单”二字,想成为一个优秀的开发者,也没有“简单”二字,而阿里云MVP就一直是云计算中最为顶尖的专家.现在,阿里云MVP ...
- Python活力练习Day3
Day3:请输入星期几的第一个字母来判断是星期几,如果第一个字母一样,则继续判断第二个字母. #这是一道典型的题,一次输入一个字母,首字母匹配一个list里的内容.如果匹配到多个,再输入并匹配第二个字 ...
- IT兄弟连 HTML5教程 CSS3属性特效 盒模型阴影
除了为文字添加阴影,我们还可以为盒模型添加阴影.盒模型阴影的属性名称为box-shadow,此属性与text-shadow一样有4个值,前两个值分别表示水平方向位移距离和垂直方向的位移距离,第三个值表 ...
- 如何在 Chrome中导出、导入书签和密码
目录 书签 密码 书签 1.导出 点击浏览器右上角的三小点,选择"书签",再选择"书签管理器",进入如下页面 点击蓝色书签栏右上角的三小点,选择"导出 ...
- C# 多线程、异步、同步之间的联系与区别
C# 多线程.异步.同步之间的联系与区别 假设这样一个例子: 我想炒五样菜,但是只有两个炉子可以用,只能同时炒两样. 炉子就是线程,那同步跟异步怎么解释比较好? 同时炒是不是算异步? 如果是的话,那什 ...
- Consul-template+nginx实现自动负载均衡
前言 consul-template 是 Consul 的一个守护程序,使用 consul-template 可以方便快速的实现对 Consul Key/Value 存储系统的访问,可以从 KV 系统 ...
- MySQL修改数据库时区
--查看数据库时区设置mysql> show variables like "%time_zone%"; +------------------+--------+ | Va ...
- QGIS练手 - 数据
又熬夜了... 这篇博客可能会将QGIS数据管理部分和ArcGIS数据管理进行对比学习. 1. 本地数据文件与数据库(矢量) 1.1 文件 QGIS用的是shp文件.kml文件.geojson文件较多 ...