1. 宿主机环境(dell备份服务器)
  1. 宿主机环境(dell备份服务器)

  项目实战种类,总架构图 

  项目实战种类,总架构图 

Ubuntu 14.04 LTS 64位 内存:16G 硬盘:2T

Ubuntu 14.04 LTS 64位
内存:16G 硬盘:2T

KVM的牵线、准备干活和qemu-kvm 命令详解

KVM的牵线、准备工作和qemu-kvm 命令详解

  1. 认可CPU是不是辅助硬件虚拟化
  1. 确认CPU是或不是支持硬件虚拟化

1、介绍

(1)介绍

  KVM:就是Keyboard
Video Mouse的缩写。KVM 互换机通过一向连接键盘、视频和鼠标 (KVM)
端口,让你可以访问和决定电脑。KVM
技术无需目标服务器修改软件。那就代表可以在 Windows 的 BIOS
环境下,随时访问目标总括机。KVM
提供真正的主板级别访问,并匡助多平台服务器和串行设备。

  KVM
技术早已从初期的底子SOHO办公型,发展成为集团 IT
基础机房设施管理种类。可以从kvm
客户端管理软件轻松的第一手访问位于多少个长途地方的服务器和设施。KVM over IP
解决方案具备周详的多地方故障转移效果、符合新服务器管理标准 (IPMI)
的第一手界面,以及将地点存储媒体映射至远程地点的作用。

  KVM
是个”怪胎”,原本是项目2 的主机虚拟化;但万一在OS 上加载了kvm.ko
模块,就会”感染”OS,使其改为hypervisor(kvm),原本的软件空间作为控制台,转化成类型1
形式的主机虚拟化

澳门金沙国际 1

 

(2)KVM的组件

① kvm.ko:模块

  API 应用程序编程接口

qemu-kvm:用户空间的工具程序;

  qemu-KVM是一种开源虚拟器,它为KVM管理程序提供硬件仿真。

   运行中的一个kvm虚拟机就是一个qemu-kvm进程,运行qemu-kvm程序并传递给它至极的选拔及参数即能到位虚拟机启动,终止此进度即能关闭虚拟机;

③ libvirt
虚拟化库:Libvirt是一个C工具包,可以与近日版本的Linux(以及任何操作系统)的虚拟化功用拓展交互。主包蕴含了导出虚拟化援救的libvirtd服务器。

  C/S:

    Client:

      libvirt-client

      virt-manager

  Daemon:

    libvirt-daemon

 

(3)KVM模块load进内存之后,系统的运转方式:

  内核方式:GuestOS执行IO类的操作时,或其他的非正规指令操作时的情势;它也被叫作”Guest-Kernel”形式;

  用户情势:Host OS的用户空间,用于代为GuestOS发出IO请求;

  拉萨形式:GuestOS的用户格局;所有的非IO类请求

 

1、介绍

(1)介绍

  KVM:就是Keyboard
Video Mouse的缩写。KVM 沟通机通过间接连接键盘、摄像和鼠标 (KVM)
端口,让您可以访问和决定电脑。KVM
技术无需目的服务器修改软件。那就意味着可以在 Windows 的 BIOS
环境下,随时访问目的电脑。KVM
提供真正的主板级别访问,并接济多平台服务器和串行设备。

  KVM
技术早已从初期的功底SOHO办公型,发展变成企业 IT
基础机房设施管理连串。能够从kvm
客户端管理软件轻松的直白访问位于多个长途地点的服务器和装备。KVM over IP
解决方案具备周详的多地方故障转移效果、符合新服务器管理标准 (IPMI)
的第一手界面,以及将地面存储媒体映射至远程地点的出力。

  KVM
是个”怪胎”,原本是项目2 的主机虚拟化;但要是在OS 上加载了kvm.ko
模块,就会”感染”OS,使其改为hypervisor(kvm),原本的软件空间作为控制台,转化成类型1
形式的主机虚拟化

澳门金沙国际 2

 

(2)KVM的组件

① kvm.ko:模块

  API 应用程序编程接口

qemu-kvm:用户空间的工具程序;

  qemu-KVM是一种开源虚拟器,它为KVM管理程序提供硬件仿真。

   运行中的一个kvm虚拟机就是一个qemu-kvm进度,运行qemu-kvm程序并传递给它适合的挑选及参数即能成功虚拟机启动,终止此进度即能关闭虚拟机;

③ libvirt
虚拟化库:Libvirt是一个C工具包,可以与近期版本的Linux(以及别的操作系统)的虚拟化成效进行交互。主包包罗了导出虚拟化辅助的libvirtd服务器。

  C/S:

    Client:

      libvirt-client

      virt-manager

  Daemon:

    libvirt-daemon

 

(3)KVM模块load进内存之后,系统的运行形式:

  内核格局:GuestOS执行IO类的操作时,或其他的特有指令操作时的情势;它也被誉为”Guest-Kernel”形式;

  用户格局:Host OS的用户空间,用于代为GuestOS发出IO请求;

  资阳形式:GuestOS的用户情势;所有的非IO类请求

 

root@shwilling:~# egrep -o ‘(vmx | svm)’ /proc/cpuinfo

root@linuxidc:~# egrep -o ‘(vmx | svm)’ /proc/cpuinfo

2、使用KVM 的准备

(1)前提:

① 必须跑在x86 系统的架构上

② 必须援助硬件级虚拟化

  vmx:Intel VT-x

  svm:AMD AMD-v

③ 在虚拟机上再虚拟化,需开启虚拟化 AMD VT-x/EPT

澳门金沙国际 3

 

(2)判断CPU是还是不是帮助硬件虚拟化:

[root@master ~]# grep -i -E ‘(vmx|svm|lm)’ /proc/cpuinfo

注意:vmx 或 svm 必须出现一个,表示是帮衬的

  vmx:Intel VT-x

  svm:AMD AMD-v

澳门金沙国际 4

 

(3)安装前准备

① 装载KVM 模块

[root@master ~]# yum install libvirt-daemon-kvm qemu-kvm
virt-manager
-y

[root@master ~]# modprobe
kvm
装载kvm 模块

 

② 检测kvm 模块是或不是装载

[root@master ~]# lsmod |grep kvm

澳门金沙国际 5

[root@master ~]# ll /dev/kvm 字符设备

澳门金沙国际 6

 

③ 安装用户端工具 qemu-kvm

[root@master ~]# yum install libvirt-daemon-kvm qemu-kvm
virt-manager -y

 

2、使用KVM 的准备

(1)前提:

① 必须跑在x86 系统的架构上

② 必须支持硬件级虚拟化

  vmx:Intel VT-x

  svm:AMD AMD-v

③ 在虚拟机上再虚拟化,需开启虚拟化 速龙 VT-x/EPT

澳门金沙国际 7

 

(2)判断CPU是或不是襄助硬件虚拟化:

[root@master ~]# grep -i -E ‘(vmx|svm|lm)’ /proc/cpuinfo

小心:vmx 或 svm 必须出现一个,表示是永葆的

  vmx:Intel VT-x

  svm:AMD AMD-v

澳门金沙国际 8

 

(3)安装前准备

① 装载KVM 模块

[root@master ~]# yum install libvirt-daemon-kvm qemu-kvm
virt-manager
-y

[root@master ~]# modprobe
kvm
装载kvm 模块

 

② 检测kvm 模块是不是装载

[root@master ~]# lsmod |grep kvm

澳门金沙国际 9

[root@master ~]# ll /dev/kvm 字符设备

澳门金沙国际 10

 

③ 安装用户端工具 qemu-kvm

[root@master ~]# yum install libvirt-daemon-kvm qemu-kvm
virt-manager -y

 

vmx

vmx

3、qemu-kvm命令语法

qemu-kvm [options] [disk_image]

接纳有无数档次:专业选项、块设备相关选项、显示选项、互联网选项、…

(1)标准选项:
  -machine [type=]name:-machine help来获取列表,用于指定模拟的主机类型; 
  -cpu cpu:-cpu help来获取列表;用于指定要模拟的CPU型号;
  -smp n[,maxcpus=cpus][,cores=cores][,threads=threads]多少线程[,sockets=sockets]多少核:指明虚拟机上vcpu的数量及拓扑;
  -boot [order=drives][,once=drives]只用一次(如按照系统时只用一次光盘引导)[,menu=on|off] [,splash=sp_name][,splash-time=sp_time][,reboot-timeout=rb_time][,strict=on|off]
  order:各设备的引导次序:c表示第一块硬盘,d表示第一个光驱设备;-boot order=dc,once=d
  -m megs:虚拟机的内存大小;
  -name NAME:当前虚拟机的名称,要惟一;

(2)块设备相关的选项:
  -hda/-hdb file:指明IDE总线类型的磁盘映像文件路径;第0和第1个;
  -hdc/-hdd file:第2和第3个;
  -cdrom file:指定要使用光盘映像文件; 
  -drive [file=file路径][,if=type接口][,media=d接口对应的设备类型][,index=i] [,cache=writethrough|writeback|none|directsync|unsafe][,format=f]:
    ① file=/PATH/TO/SOME_IMAGE_FILE:映像文件路径;
    ② if=TYPE:块设备总线类型,ide, scsi, sd, floppy, virtio,...
    ③ media=TYPE:介质类型,cdrom和disk;
    ④ index=i:设定同一类型设备多个设备的编号;
    ⑤ cache=writethrough|writeback|none|directsync|unsafe:缓存方式;
    ⑥ format=f:磁盘映像文件的格式;
  CentOS磁盘镜像文件下载: https://cloud.centos.org/centos/7

(3)显示选项:
  -display type:显示的类型,sdl, curses, none和vnc;
  -nographic:不使用图形接口; 显卡型号
  -vga [std|cirrus|vmware|qxl|xenfb|none]:模拟出的显卡的型号;
  -vnc display[,option[,option[,...]]]]:启动一个vnc server来显示虚拟机接口; 让qemu进程监听一个vnc接口; 
    display:
      ① HOST:N
        在HOST主机的第N个桌面号输出vnc;
      ② unix:/PATH/TO/SOCK_FILE
      ③ none
    options:
      password:连接此服务所需要的密码;
  -monitor stdio:在标准输出上显示monitor界面;
    Ctrl-a, c:在console和monitor之间切换;
    Ctrl-a, h

(4)网络选项:
  -net nic[,vlan=n][,macaddr=mac][,model=type][,name=str][,addr=str][,vectors=v]
    为虚拟机创建一个网络接口,并将其添加至指定的VLAN;
    model=type:指明模拟出的网卡的型号,ne2k_pci,i82551,i82557b,i82559er,rtl8139,e1000,pcnet,virtio;
      net nic,model=?
    macaddr=mac:指明mac地址;52:54:00:

  -net tap[,vlan=n][,name=str][,fd=h][,fds=x:y:...:z][,ifname=name][,script=file][,downscript=dfile]:
    通过物理的TAP网络接口连接至vlan;
    script=file:启动虚拟机时要执行的脚本,默认为/etc/qemu-ifup
    downscript=dfile:关闭虚拟机时要执行的脚本,/etc/qemu-ifdown
    ifname=NAME:自定义接口名称;
其它选项:
  -daemonize:以守护进程运行;

 

3、qemu-kvm命令语法

qemu-kvm [options] [disk_image]

选用有过多项目:专业选项、块设备相关选项、显示选项、网络选项、…

(1)标准选项:
  -machine [type=]name:-machine help来获取列表,用于指定模拟的主机类型; 
  -cpu cpu:-cpu help来获取列表;用于指定要模拟的CPU型号;
  -smp n[,maxcpus=cpus][,cores=cores][,threads=threads]多少线程[,sockets=sockets]多少核:指明虚拟机上vcpu的数量及拓扑;
  -boot [order=drives][,once=drives]只用一次(如按照系统时只用一次光盘引导)[,menu=on|off] [,splash=sp_name][,splash-time=sp_time][,reboot-timeout=rb_time][,strict=on|off]
  order:各设备的引导次序:c表示第一块硬盘,d表示第一个光驱设备;-boot order=dc,once=d
  -m megs:虚拟机的内存大小;
  -name NAME:当前虚拟机的名称,要惟一;

(2)块设备相关的选项:
  -hda/-hdb file:指明IDE总线类型的磁盘映像文件路径;第0和第1个;
  -hdc/-hdd file:第2和第3个;
  -cdrom file:指定要使用光盘映像文件; 
  -drive [file=file路径][,if=type接口][,media=d接口对应的设备类型][,index=i] [,cache=writethrough|writeback|none|directsync|unsafe][,format=f]:
    ① file=/PATH/TO/SOME_IMAGE_FILE:映像文件路径;
    ② if=TYPE:块设备总线类型,ide, scsi, sd, floppy, virtio,...
    ③ media=TYPE:介质类型,cdrom和disk;
    ④ index=i:设定同一类型设备多个设备的编号;
    ⑤ cache=writethrough|writeback|none|directsync|unsafe:缓存方式;
    ⑥ format=f:磁盘映像文件的格式;
  CentOS磁盘镜像文件下载: https://cloud.centos.org/centos/7/images/

(3)显示选项:
  -display type:显示的类型,sdl, curses, none和vnc;
  -nographic:不使用图形接口; 显卡型号
  -vga [std|cirrus|vmware|qxl|xenfb|none]:模拟出的显卡的型号;
  -vnc display[,option[,option[,...]]]]:启动一个vnc server来显示虚拟机接口; 让qemu进程监听一个vnc接口; 
    display:
      ① HOST:N
        在HOST主机的第N个桌面号输出vnc;
      ② unix:/PATH/TO/SOCK_FILE
      ③ none
    options:
      password:连接此服务所需要的密码;
  -monitor stdio:在标准输出上显示monitor界面;
    Ctrl-a, c:在console和monitor之间切换;
    Ctrl-a, h

(4)网络选项:
  -net nic[,vlan=n][,macaddr=mac][,model=type][,name=str][,addr=str][,vectors=v]
    为虚拟机创建一个网络接口,并将其添加至指定的VLAN;
    model=type:指明模拟出的网卡的型号,ne2k_pci,i82551,i82557b,i82559er,rtl8139,e1000,pcnet,virtio;
      net nic,model=?
    macaddr=mac:指明mac地址;52:54:00:

  -net tap[,vlan=n][,name=str][,fd=h][,fds=x:y:...:z][,ifname=name][,script=file][,downscript=dfile]:
    通过物理的TAP网络接口连接至vlan;
    script=file:启动虚拟机时要执行的脚本,默认为/etc/qemu-ifup
    downscript=dfile:关闭虚拟机时要执行的脚本,/etc/qemu-ifdown
    ifname=NAME:自定义接口名称;
其它选项:
  -daemonize:以守护进程运行;

 

vmx

vmx

实战一:图形化工具virt-manager 创造虚拟机

实战一:图形化工具virt-manager 创立虚拟机

倘若有结果突显就OK

比方有结果突显就OK

1、创制物理桥桥接接口br0

[root@master ~]# systemctl start libvirtd.service

[root@master ~]# virsh iface-bridge eth0 br0

浅析:把温馨的物理网卡eth0 作为交流机,把br0 当网卡,提供IP

专注:命令可能会卡死或出错,终端被胁持退出;等一会,在签到就OK 了

澳门金沙国际 11

 

1、成立物理桥桥接接口br0

[root@master ~]# systemctl start libvirtd.service

[root@master ~]# virsh iface-bridge eth0 br0

解析:把温馨的物理网卡eth0 作为沟通机,把br0 当网卡,提供IP

只顾:命令可能会卡死或出错,终端被挟持退出;等一会,在报到就OK 了

澳门金沙国际 12

 

 

  1. 安装相关软件包

2、图形化工具成立虚拟机

(1)打开窗口

[root@master ~]# virt-manager

注意:那么些命令需在协助图形化界面的机械才能履行, 用其他机器 ssh -X
连接,再实施

澳门金沙国际 13

 

(2)成立虚拟机

① 创设新的虚拟机

澳门金沙国际 14

② 采用操作系统类型和本子

澳门金沙国际 15

③ 选用内存和CPU 设置

澳门金沙国际 16

④ 虚拟硬盘有多大

澳门金沙国际 17

⑤ 互联网拔取

澳门金沙国际 18

⑥ 详细布署,起始安装

澳门金沙国际 19

⑦ 进入虚拟化图形管理窗口,接纳安装系统版本

澳门金沙国际 20

 

2、图形化工具创立虚拟机

(1)打开窗口

[root@master ~]# virt-manager

瞩目:那么些命令需在帮衬图形化界面的机械才能实施, 用其余机器 ssh -X
连接,再实行

澳门金沙国际 21

 

(2)创设虚拟机

① 创制新的虚拟机

澳门金沙国际 22

② 选取操作系统类型和本子

澳门金沙国际 23

③ 选拔内存和CPU 设置

澳门金沙国际 24

④ 虚拟硬盘有多大

澳门金沙国际 25

⑤ 网络选用

澳门金沙国际 26

⑥ 详细计划,开始设置

澳门金沙国际 27

⑦ 进入虚拟化图形管理窗口,选用安装系统版本

澳门金沙国际 28

 

  1. 设置相关软件包

apt-get install qemu-kvm qemu-system libvirt-bin bridge-utils

实战二:命令行工具qemu-kvm创设使用虚拟机

实战二:命令行工具qemu-kvm创立使用虚拟机

apt-get install qemu-kvm qemu-system libvirt-bin bridge-utils

qemu-kvm是虚拟机

1、准备桥

(1)命令管控虚拟网桥:brctl

[root@master ~]# yum -y install bridge-utils   下载brctl 命令的包

[root@master ~]# brctl addbr br-int0   添加网桥

[root@master ~]# brctl show   查询所有网桥

[root@master ~]# ifconfig -a  
每一个桥,在机械上都突显为一个网卡接口,只是没有激活

澳门金沙国际 29

[root@master ~]# ip link set br-int0 up   激活桥,会分配mac 地址

澳门金沙国际 30

除去网桥

[root@master ~]# ip link set br-int0 down   先down掉网桥

[root@master ~]# brctl delbr br-int0   再删除

[root@master ~]# ifconfig -a   查询不到那些网卡了

[root@master ~]# brctl show   查询不到网桥

 

(2)手动创设物理网桥

① 创设网桥对应的布局文件

[root@master network-scripts]# pwd

/etc/sysconfig/network-scripts

[root@master network-scripts]# cp ifcfg-eth1 ifcfg-br0

[root@master network-scripts]# vim ifcfg-br0

DEVICE=br0
NAME=br0
TYPE=Bridge
ONBOOT=yes
IPADDR=172.16.1.7
NETMASK=255.255.0.0
GATEWAY=172.16.0.1
DNS1=172.16.0.1

小心:是要充当正常网卡使用的,所有IP、NETMASK、GATEWAY、DNS1 都要有

 

② 把主机的网卡连接到桥上

[root@master network-scripts]# vim ifcfg-eth1

DEVICE=eth1
ONBOOT=yes
BRIDGE=br0

注意:主机的网卡连接网桥后,是要充当调换机的,所以不需求IP、NETMASK、GATEWAY、DNS1

 

③ 重启网络服务

[root@master network-scripts]# systemctl restart network

[root@master ~]# ifconfig

澳门金沙国际 31

[root@master ~]# brctl show 也能查到

澳门金沙国际 32

 

1、准备桥

(1)命令管控虚拟网桥:brctl

[root@master ~]# yum -y install bridge-utils   下载brctl 命令的包

[root@master ~]# brctl addbr br-int0   添加网桥

[root@master ~]# brctl show   查询所有网桥

[root@master ~]# ifconfig -a  
每一个桥,在机械上都突显为一个网卡接口,只是没有激活

澳门金沙国际 33

[root@master ~]# ip link set br-int0 up   激活桥,会分配mac 地址

澳门金沙国际 34

删去网桥

[root@master ~]# ip link set br-int0 down   先down掉网桥

[root@master ~]# brctl delbr br-int0   再删除

[root@master ~]# ifconfig -a   查询不到那个网卡了

[root@master ~]# brctl show   查询不到网桥

 

(2)手动创制物理网桥

① 成立网桥对应的计划文件

[root@master network-scripts]# pwd

/etc/sysconfig/network-scripts

[root@master network-scripts]# cp ifcfg-eth1 ifcfg-br0

[root@master network-scripts]# vim ifcfg-br0

DEVICE=br0
NAME=br0
TYPE=Bridge
ONBOOT=yes
IPADDR=172.16.1.7
NETMASK=255.255.0.0
GATEWAY=172.16.0.1
DNS1=172.16.0.1

在意:是要担任正常网卡使用的,所有IP、NETMASK、GATEWAY、DNS1 都要有

 

② 把主机的网卡连接到桥上

[root@master network-scripts]# vim ifcfg-eth1

DEVICE=eth1
ONBOOT=yes
BRIDGE=br0

注意:主机的网卡连接网桥后,是要充当沟通机的,所以不要求IP、NETMASK、GATEWAY、DNS1

 

③ 重启网络服务

[root@master network-scripts]# systemctl restart network

[root@master ~]# ifconfig

澳门金沙国际 35

[root@master ~]# brctl show 也能查到

澳门金沙国际 36

 

qemu-kvm是虚拟机

bridge用于互连网桥接虚拟机和宿主机之间通讯

2、创造虚拟机前准备

使用virt-manager管理KVM

(1)准备 qemu-kvm 命令

[root@master ~]# yum install qemu-kvm libvirt-daemon-kvm virt-manager
  安装qemu-kvm 命令行工具

[root@master ~]# modprobe kvm   加载模块

[root@master ~]# lsmod |grep kvm

澳门金沙国际 37

[root@master ~]# rpm -ql qemu-kvm 因为qemu-kvm 命令路径不在PATH
路径下

澳门金沙国际 38

开创软连接,或者写入PATH 变量都行

[root@master ~]# ln -sv /usr/libexec/qemu-kvm /usr/bin/

[root@master ~]#【澳门金沙国际】店铺级虚拟化Virtualization,kvm虚拟化安排。 qemu-kvm -h 查询命令援救

澳门金沙国际 39

 

2、创造虚拟机前准备

使用virt-manager管理KVM

(1)准备 qemu-kvm 命令

[root@master ~]# yum install qemu-kvm libvirt-daemon-kvm virt-manager
  安装qemu-kvm 命令行工具

[root@master ~]# modprobe kvm   加载模块

[root@master ~]# lsmod |grep kvm

澳门金沙国际 40

[root@master ~]# rpm -ql qemu-kvm 因为qemu-kvm 命令路径不在PATH
路径下

澳门金沙国际 41

始建软连接,或者写入PATH 变量都行

[root@master ~]# ln -sv /usr/libexec/qemu-kvm /usr/bin/

[root@master ~]# qemu-kvm -h 查询命令辅助

澳门金沙国际 42

澳门金沙国际 ,  

bridge用于互连网桥接虚拟机和宿主机之间通信

apt-get install virt-manager python-spice-client-gtk

3、创造一个虚拟机

(1)成立一个虚拟机,用kubuntu 的镜像文件(用windows、linux
什么镜像文件都行)

[root@master ~]# qemu-kvm -cpu host -smp 2,sockets=1,cores=2,threads=1 -m 512 -drive file=/data/imgs/test.img,if=virtio,media=disk,format=qcow2 -drive file=/root/kubuntu-17.10-desktop-amd64.iso,if=ide,media=cdrom -boot order=dc,once=d -vnc 172.16.1.7:0

剖析:命令详解见上面

 

(2)vnc 登录实验虚拟机

[root@master ~]# vncviewer 172.16.1.7:0

澳门金沙国际 43

 

3、成立一个虚拟机

(1)创造一个虚拟机,用kubuntu 的镜像文件(用windows、linux
什么镜像文件都行)

[root@master ~]# qemu-kvm -cpu host -smp 2,sockets=1,cores=2,threads=1 -m 512 -drive file=/data/imgs/test.img,if=virtio,media=disk,format=qcow2 -drive file=/root/kubuntu-17.10-desktop-amd64.iso,if=ide,media=cdrom -boot order=dc,once=d -vnc 172.16.1.7:0

剖析:命令详解见上面

 

(2)vnc 登录实验虚拟机

[root@master ~]# vncviewer 172.16.1.7:0

澳门金沙国际 44

 

 

virt-manager为虚拟机管理程序(在x
window中运作,须求动用python-spice-client-gtk)

实战三:手动打造虚拟机间的虚构通道、仅主机网桥和NAT 网桥

实战三:手动营造虚拟机间的虚构通道、仅主机网桥和NAT 网桥

apt-get install virt-manager python-spice-client-gtk

  1. 履行上边的通令查看kvm是还是不是安装成功

1、准备虚拟机镜像文件

(1)下载cirros 镜像文件

用cirros 来演示测试,因为它很小,不占资源

去网站下载cirros

CentOS磁盘镜像文件下载: https://cloud.centos.org/centos/7

[root@master ~]# qemu-img info
cirros-no_cloud-i386.img

澳门金沙国际 45

 

(2)准备2分创立虚拟机的镜像文件

[root@master ~]# mkdir -pv /data/imgs/

[root@master ~]# cp cirros-no_cloud-i386.img /data/imgs/c1.img

[root@master ~]# cp cirros-no_cloud-i386.img /data/imgs/c2.img

 

1、准备虚拟机镜像文件

(1)下载cirros 镜像文件

用cirros 来演示测试,因为它很小,不占资源

去网站下载cirros

CentOS磁盘镜像文件下载: https://cloud.centos.org/centos/7/images/

[root@master ~]# qemu-img info
cirros-no_cloud-i386.img

澳门金沙国际 46

 

(2)准备2分创造虚拟机的镜像文件

[root@master ~]# mkdir -pv /data/imgs/

[root@master ~]# cp cirros-no_cloud-i386.img /data/imgs/c1.img

[root@master ~]# cp cirros-no_cloud-i386.img /data/imgs/c2.img

 

virt-manager为虚拟机管理程序(在x
window中运行,必要利用python-spice-client-gtk)

root@linuxidc:~# kvm-ok

2、创立虚拟的准备

(1)准备物理网桥

[root@master imgs]# brctl addbr br-c1-and-c2 创制网桥接口

[root@master imgs]# ifconfig br-c1-and-c2 up 激活网桥

[root@master imgs]# brctl show

澳门金沙国际 47

 

(2)准备激活连接网桥脚本

① [root@master ~]# vim /etc/qemu-ifup-pn1

#!/bin/bash
#
bridge=br-c1-and-c2
if [ -n "$1" ];then
        ip link set $1 up
        sleep 1
        brctl addif $bridge $1
        [ $? -eq 0 ] && exit 0 || exit 1
else
        echo "Error: no interface specified."
        exit 2
fi

② 加执行权限

[root@master ~]# chmod +x /etc/qemu-ifup-pn1

 

2、创制虚拟的预备

(1)准备物理网桥

[root@master imgs]# brctl addbr br-c1-and-c2 制造网桥接口

[root@master imgs]# ifconfig br-c1-and-c2 up 激活网桥

[root@master imgs]# brctl show

澳门金沙国际 48

 

(2)准备激活连接网桥脚本

① [root@master ~]# vim /etc/qemu-ifup-pn1

#!/bin/bash
#
bridge=br-c1-and-c2
if [ -n "$1" ];then
        ip link set $1 up
        sleep 1
        brctl addif $bridge $1
        [ $? -eq 0 ] && exit 0 || exit 1
else
        echo "Error: no interface specified."
        exit 2
fi

② 加执行权限

[root@master ~]# chmod +x /etc/qemu-ifup-pn1

 

 

输出如下:

3、创设、登录三个虚拟机

(1)创建并打开虚拟机

[root@master ~]# qemu-kvm -name c1 -cpu host -smp 2 -m 64 -drive file=/data/imgs/c1.img,if=virtio,media=disk,format=qcow2 -vnc :0 -net nic,model=e1000,macaddr=52:54:00:00:01:01 -net tap,script=/etc/qemu-ifup-pn1 -daemonize

[root@master ~]# qemu-kvm -name c2 -cpu host -smp 2 -m 64 -drive file=/data/imgs/c2.img,if=virtio,media=disk,format=qcow2 -vnc :1 -net nic,model=e1000,macaddr=52:54:00:00:00:01 -net tap,script=/etc/qemu-ifup-pn1 -daemonize

留意:-vnc :0/1 是窗口号;MAC 地址52:54:00 不可以改,前边随意

[root@master ~]# ss -nutl 开启了5900 和5901 的端口

澳门金沙国际 49

 

(2)登录连接2个虚拟机

开2个极端,vnc 连接虚拟机

[root@master ~]# vncviewer 192.168.30.107:0

[root@master ~]# vncviewer 192.168.30.107:1

签到用户:cirros

签到密码:cubswin:)

$ sudo su – 切换来管理用户

# poweroff 关机

澳门金沙国际 50

 

3、创设、登录多个虚拟机

(1)创制并拉开虚拟机

[root@master ~]# qemu-kvm -name c1 -cpu host -smp 2 -m 64 -drive file=/data/imgs/c1.img,if=virtio,media=disk,format=qcow2 -vnc :0 -net nic,model=e1000,macaddr=52:54:00:00:01:01 -net tap,script=/etc/qemu-ifup-pn1 -daemonize

[root@master ~]# qemu-kvm -name c2 -cpu host -smp 2 -m 64 -drive file=/data/imgs/c2.img,if=virtio,media=disk,format=qcow2 -vnc :1 -net nic,model=e1000,macaddr=52:54:00:00:00:01 -net tap,script=/etc/qemu-ifup-pn1 -daemonize

留神:-vnc :0/1 是窗口号;MAC 地址52:54:00 无法改,前边随意

[root@master ~]# ss -nutl 开启了5900 和5901 的端口

澳门金沙国际 51

 

(2)登录连接2个虚拟机

开2个极点,vnc 连接虚拟机

[root@master ~]# vncviewer 192.168.30.107:0

[root@master ~]# vncviewer 192.168.30.107:1

报到用户:cirros

报到密码:cubswin:)

$ sudo su – 切换来管理用户

# poweroff 关机

澳门金沙国际 52

 

  1. 实践下边的一声令下查看kvm是不是安装成功

INFO: /dev/kvm exists

4、建立虚拟机间的杜撰通道

① 给2个虚拟机加 IP ,在同一网段

# ifconfig eth0 10.1.0.1/16 up

# ifconfig eth0 10.1.0.2/16 up

分析:一旦添加了IP,就是仅主机形式了

 

② 测试虚拟通道是还是不是衔接

# ping 10.1.0.2

澳门金沙国际 53

# ping 10.1.0.1

澳门金沙国际 54

 

4、建立虚拟机间的虚拟通道

① 给2个虚拟机加 IP ,在同一网段

# ifconfig eth0 10.1.0.1/16 up

# ifconfig eth0 10.1.0.2/16 up

解析:一旦添加了IP,就是仅主机方式了

 

② 测试虚拟通道是不是衔接

# ping 10.1.0.2

澳门金沙国际 55

# ping 10.1.0.1

澳门金沙国际 56

 

root@shwilling:~# kvm-ok

KVM acceleration can be used

5、通过仅主机网桥连通宿主机

(1)在宿主机上的br-c1-and-c2 网桥,添加虚拟机网段的地址

① 每创设一个虚拟主机,都会有另一半在宿主机上

澳门金沙国际 57

② [root@master ~]# ip addr add 10.1.0.10/16 dev br-c1-and-c2

[root@master ~]# ip a show br-c1-and-c2

澳门金沙国际 58

 

(2)测试仅主机网桥

# ping 10.1.0.10 在虚拟机上ping

澳门金沙国际 59

 

5、通过仅主机网桥连通宿主机

(1)在宿主机上的br-c1-and-c2 网桥,添加虚拟机网段的地方

① 每创立一个虚拟主机,都会有另一半在宿主机上

澳门金沙国际 60

② [root@master ~]# ip addr add 10.1.0.10/16 dev br-c1-and-c2

[root@master ~]# ip a show br-c1-and-c2

澳门金沙国际 61

 

(2)测试仅主机网桥

# ping 10.1.0.10 在虚拟机上ping

澳门金沙国际 62

 

出口如下:

比方出口是那般:

6、通过NAT 网桥兑现NAT 情势

(1)在宿主机上开启路由转载成效

[root@master ~]# sysctl -w net.ipv4.ip_forward=1

澳门金沙国际 63

 

(2)在2个虚拟机上添加路由

# route add default gw 10.1.0.10

# ping 172.16.1.7 发现ping 宿主机的另一块网卡能ping 通了,因为根本机制

澳门金沙国际 64

# ping 172.16.0.1
可是外网仍然ping不相同,原因:宿主机上唯有出包,没有进包

[root@master ~]# tcpdump -i eth1 -nn icmp 唯有出包,没有进包

澳门金沙国际 65

 

(3)做SNAT 策略

[root@master ~]# iptables -t nat -A POSTROUTING -s 10.1.0.0/16 -j
SNAT –to-source 172.16.1.7

[root@master ~]# iptables -vnL -t nat 查询

澳门金沙国际 66

 

(4)测试NAT 网桥

① 在宿主机上ping 外网

# ping 172.16.0.1

澳门金沙国际 67

② 宿主机也有回包了

澳门金沙国际 68

 

6、通过NAT 网桥落实NAT 情势

(1)在宿主机上开启路由转载成效

[root@master ~]# sysctl -w net.ipv4.ip_forward=1

澳门金沙国际 69

 

(2)在2个虚拟机上添加路由

# route add default gw 10.1.0.10

# ping 172.16.1.7 发现ping 宿主机的另一块网卡能ping 通了,因为基本机制

澳门金沙国际 70

# ping 172.16.0.1
可是外网依然ping不一样,原因:宿主机上只有出包,没有进包

[root@master ~]# tcpdump -i eth1 -nn icmp 唯有出包,没有进包

澳门金沙国际 71

 

(3)做SNAT 策略

[root@master ~]# iptables -t nat -A POSTROUTING -s 10.1.0.0/16 -j
SNAT –to-source 172.16.1.7

[root@master ~]# iptables -vnL -t nat 查询

澳门金沙国际 72

 

(4)测试NAT 网桥

① 在宿主机上ping 外网

# ping 172.16.0.1

澳门金沙国际 73

② 宿主机也有回包了

澳门金沙国际 74

 

INFO: /dev/kvm exists

INFO: Your CPU does not support KVM extensions

7、关闭虚拟机

① 在虚拟机上poweroff

# poweroff 关机

② 在宿主机上杀死进度

澳门金沙国际 75

 

7、关闭虚拟机

① 在虚拟机上poweroff

# poweroff 关机

② 在宿主机上杀死进程

澳门金沙国际 76

 

KVM acceleration can be used

KVM acceleration can NOT be used

实战四:命令行工具virt 成立虚拟机及命令管理虚拟机

实战四:命令行工具virt 成立虚拟机及命令管理虚拟机

万一出口是那般:

标明CPU不支持硬件虚拟化,仍能跑虚拟机但是那个慢。如果您的cpu支持硬件虚拟化,但是bios没有打开,也会给您唤醒

1、创设前准备

(1)准备cirros 镜像文件

[root@master imgs]# yum install libvirt-daemon-kvm virt-install -y

[root@master ~]# mkdir -pv /data/imgs/

[root@master ~]# cp cirros-no_cloud-i386.img /data/imgs/c1.img

 

(2)创设物理网桥br0

[root@master imgs]# brctl addbr br0 创设网桥接口

[root@master imgs]# ifconfig br0 up 激活网桥

[root@master imgs]# brctl show

 

(3)把br0 网桥连接到eth0 网卡上

[root@master ~]# systemctl start libvirtd.service

[root@master ~]# virsh iface-bridge eth0 br0

澳门金沙国际 77

 

1、创造前准备

(1)准备cirros 镜像文件

[root@master imgs]# yum install libvirt-daemon-kvm virt-install -y

[root@master ~]# mkdir -pv /data/imgs/

[root@master ~]# cp cirros-no_cloud-i386.img /data/imgs/c1.img

 

(2)创立物理网桥br0

[root@master imgs]# brctl addbr br0 创建网桥接口

[root@master imgs]# ifconfig br0 up 激活网桥

[root@master imgs]# brctl show

 

(3)把br0 网桥连接到eth0 网卡上

[root@master ~]# systemctl start libvirtd.service

[root@master ~]# virsh iface-bridge eth0 br0

澳门金沙国际 78

 

INFO: Your CPU does not support KVM extensions

  1. 网卡桥接

2、创建虚拟机

[root@master imgs]# virt-install -n c1 –vcpus 2 –memory 64 -w
bridge=br0 –import –disk /data/imgs/c1.img –dry-run

[root@master imgs]# virt-install -n c1 –vcpus 2 –memory 64 -w
bridge=br0 –import –disk /data/imgs/c1.img

剖析:–dry-run 先干跑,测试一下

澳门金沙国际 79

 

2、成立虚拟机

[root@master imgs]# virt-install -n c1 –vcpus 2 –memory 64 -w
bridge=br0 –import –disk /data/imgs/c1.img –dry-run

[root@master imgs]# virt-install -n c1 –vcpus 2 –memory 64 -w
bridge=br0 –import –disk /data/imgs/c1.img

剖析:–dry-run 先干跑,测试一下

澳门金沙国际 80

 

KVM acceleration can NOT be used

已有些网卡:

3、virsh命令详解,下有实例

(1)virsh命令:
虚拟机的生成需要依赖于预定义的xml格式的配置文件;其生成工具有两个:virt-manager, virt-install; 
virsh [OPTION]... COMMAND [ARG]..
子命令的分类:
    Domain Management (help keyword 'domain')   域管理(帮助关键字“域”)
    Domain Monitoring (help keyword 'monitor')   域监视(帮助关键字“监视器”)
    Host and Hypervisor (help keyword 'host')   主机和管理程序(帮助关键字“主机”)
    Interface (help keyword 'interface')   接口(帮助关键字“接口”)
    Networking (help keyword 'network')   网络(帮助关键字“网络”)
    Network Filter (help keyword 'filter')   网络过滤器(帮助关键字“过滤器”)
    Snapshot (help keyword 'snapshot')   快照(帮助关键字“快照”)
    Storage Pool (help keyword 'pool')   存储池(help关键字“池”)
    Storage Volume (help keyword 'volume')   存储卷(帮助关键字“卷”)

(2)域管理 Domain Management (help keyword 'domain')
创建虚拟机:
  create:从xml格式的配置文件创建并启动虚拟机;
  define:从xml格式的配置文件创建虚拟机;
停止:
  destroy:强行关机、拔电源;
  shutdown:关机;
start:启动
reboot:重启;
undefine:删除虚拟机;
suspend/resume:暂停于内存中,或继续运行暂停状态的虚拟机;真正实现的效果:pause/unpause
save/restore:挂起/继续;保存虚拟机的当前状态至文件中,或从指定文件恢复虚拟机;
console:连接至指定domain的控制台;

(3)域的设备资源管理:
① cpu
  cpu-stats     查看cpu 信息
  vcpuinfo      查看vcpu 信息
  vcpucount     看有几个cpu
  setvcpus   可以调整cpu数(如果是调整的是动态的,在创建虚拟机时设置,静态的不行)
  vcpupin    把vcpu 绑定到真正的cpu 上
② memcache                        
  setmaxmem   修改最大内存(创建虚拟机时设置的是否可以修改)
  setmem   修改内存大小(没超过上限时)
③ 设备                       
  attach-disk/detach-disk:磁盘设备的热插拔;
  domblklist:查询虚拟机的磁盘设备
  attach-interface/detach-interface:网络接口设备的热插拔;
  domiflist:查询虚拟机的网卡设备

3、virsh命令详解,下有实例

(1)virsh命令:
虚拟机的生成需要依赖于预定义的xml格式的配置文件;其生成工具有两个:virt-manager, virt-install; 
virsh [OPTION]... COMMAND [ARG]..
子命令的分类:
    Domain Management (help keyword 'domain')   域管理(帮助关键字“域”)
    Domain Monitoring (help keyword 'monitor')   域监视(帮助关键字“监视器”)
    Host and Hypervisor (help keyword 'host')   主机和管理程序(帮助关键字“主机”)
    Interface (help keyword 'interface')   接口(帮助关键字“接口”)
    Networking (help keyword 'network')   网络(帮助关键字“网络”)
    Network Filter (help keyword 'filter')   网络过滤器(帮助关键字“过滤器”)
    Snapshot (help keyword 'snapshot')   快照(帮助关键字“快照”)
    Storage Pool (help keyword 'pool')   存储池(help关键字“池”)
    Storage Volume (help keyword 'volume')   存储卷(帮助关键字“卷”)

(2)域管理 Domain Management (help keyword 'domain')
创建虚拟机:
  create:从xml格式的配置文件创建并启动虚拟机;
  define:从xml格式的配置文件创建虚拟机;
停止:
  destroy:强行关机、拔电源;
  shutdown:关机;
start:启动
reboot:重启;
undefine:删除虚拟机;
suspend/resume:暂停于内存中,或继续运行暂停状态的虚拟机;真正实现的效果:pause/unpause
save/restore:挂起/继续;保存虚拟机的当前状态至文件中,或从指定文件恢复虚拟机;
console:连接至指定domain的控制台;

(3)域的设备资源管理:
① cpu
  cpu-stats     查看cpu 信息
  vcpuinfo      查看vcpu 信息
  vcpucount     看有几个cpu
  setvcpus   可以调整cpu数(如果是调整的是动态的,在创建虚拟机时设置,静态的不行)
  vcpupin    把vcpu 绑定到真正的cpu 上
② memcache                        
  setmaxmem   修改最大内存(创建虚拟机时设置的是否可以修改)
  setmem   修改内存大小(没超过上限时)
③ 设备                       
  attach-disk/detach-disk:磁盘设备的热插拔;
  domblklist:查询虚拟机的磁盘设备
  attach-interface/detach-interface:网络接口设备的热插拔;
  domiflist:查询虚拟机的网卡设备

标志CPU不辅助硬件虚拟化,还足以跑虚拟机可是这几个慢。要是你的cpu支持硬件虚拟化,可是bios没有打开,也会给您唤醒

Eth0是间接插入网线的以太网卡

4、virsh命令演示

(1)不难询问

[root@master imgs]# virsh list 列出富有正在打开running 的虚拟机

[root@master imgs]# virsh list –all
列出所有的虚拟机,包涵关机的、没运行的

[root@master imgs]# virsh 交互式执行命令

[root@master imgs]# virsh nodeinfo 查询新闻

[root@master imgs]# virsh uri 查询uri 路径

澳门金沙国际 81

(2)连接虚拟机

[root@master imgs]# virsh console c1 连接至c1 虚拟机的控制台

# ping 172.16.0.1 因为物理桥已经一连到了网卡,所以有地址,且能ping
通外网

澳门金沙国际 82

(3)删除虚拟机

[root@master ~]# virsh destroy c1 先关掉虚拟机

[root@master ~]# virsh undefine c1 在剔除虚拟机

[root@master ~]# ls /etc/libvirt/qemu/ .xml 文件被去除

[root@master ~]# virsh list –all 查询不到c1 虚拟机,删除成功

 

(4)暂停和挂起虚拟机

[root@master ~]# virsh suspend c1 暂停虚拟机

[root@master ~]# virsh resume c1 復苏暂停

[root@master ~]# virsh save /app/c1.bin 挂起虚拟机

[root@master ~]# virsh restore /app/c1.bin 重操旧业挂起

澳门金沙国际 83

 

(5)域设备资源管理查询

[root@master ~]# virsh cpu-stats c1 查看cpu 信息

[root@master ~]# virsh vcpuinfo c1 查看vcpu 信息

[root@master ~]# virsh vcpucount c1 看有多少个cpu

澳门金沙国际 84

 

4、virsh命令演示

(1)简单询问

[root@master imgs]# virsh list 列出所有正在开启running 的虚拟机

[root@master imgs]# virsh list –all
列出装有的虚拟机,包蕴关机的、没运行的

[root@master imgs]# virsh 交互式执行命令

[root@master imgs]# virsh nodeinfo 查询新闻

[root@master imgs]# virsh uri 查询uri 路径

澳门金沙国际 85

(2)连接虚拟机

[root@master imgs]# virsh console c1 连接至c1 虚拟机的控制台

# ping 172.16.0.1 因为物理桥已经两次三番到了网卡,所以有地点,且能ping
通外网

澳门金沙国际 86

(3)删除虚拟机

[root@master ~]# virsh destroy c1 先关掉虚拟机

[root@master ~]# virsh undefine c1 在剔除虚拟机

[root@master ~]# ls /etc/libvirt/qemu/ .xml 文件被删除

[root@master ~]# virsh list –all 查询不到c1 虚拟机,删除成功

 

(4)暂停和挂起虚拟机

[root@master ~]# virsh suspend c1 暂停虚拟机

[root@master ~]# virsh resume c1 恢复生机暂停

[root@master ~]# virsh save /app/c1.bin 挂起虚拟机

[root@master ~]# virsh restore /app/c1.bin 上涨挂起

澳门金沙国际 87

 

(5)域设备资源管理查询

[root@master ~]# virsh cpu-stats c1 查看cpu 信息

[root@master ~]# virsh vcpuinfo c1 查看vcpu 信息

[root@master ~]# virsh vcpucount c1 看有多少个cpu

澳门金沙国际 88

 

 

Lo是本地网络,本机内部资源

5、利用已有的虚拟机配置文件,创立一个新的虚拟机

原理:利用已下好的虚拟机,用命令把创立虚拟机的长河生成一个.xml的公文,利用那些文件创设新的虚拟机

(1)生成.xml的文件

[root@master ~]# virsh dumpxml c1 > /app/c2.xml

[root@master ~]# vim /app/c2.xml   需求修改的,都在上面列出了

<domain type='kvm' id='5'>
  <name>c2</name>   #名字
  <uuid>7303d4d3-b8d2-4e22-aac8-feb881882a73</uuid>  #UUID随便改,只要不相同
<source file='/data/imgs/c2.img'/>   #镜像文件
<mac address='52:54:00:52:10:34'/>   #mac随便改,只要不相同
      <source bridge='br0'/>   #桥接的网桥
      <target dev='vnet1'/>   #默认的后端设备

(2)创制新的虚拟机

[root@master ~]# virsh create /app/c2.xml –console

注:–console 间接连接虚拟机,或不加;再用下面的通令连接虚拟机

[root@master ~]# virsh console c2

 

(3)检查

[root@master ~]# virsh list 已有2个虚拟机了

澳门金沙国际 89

 

(4)把.xml 文件放入/etc/libvirt/qemu

[root@master ~]# ls /etc/libvirt/qemu

[root@master ~]# cp /app/c2.xml /etc/libvirt/qemu/

用virsh 自动启动等各个高档设置了

澳门金沙国际 90

  

5、利用已有的虚拟机配置文件,创制一个新的虚拟机

规律:利用已下好的虚拟机,用命令把创设虚拟机的进度生成一个.xml的文件,利用这么些文件制造新的虚拟机

(1)生成.xml的文件

[root@master ~]# virsh dumpxml c1 > /app/c2.xml

[root@master ~]# vim /app/c2.xml   须求修改的,都在底下列出了

<domain type='kvm' id='5'>
  <name>c2</name>   #名字
  <uuid>7303d4d3-b8d2-4e22-aac8-feb881882a73</uuid>  #UUID随便改,只要不相同
<source file='/data/imgs/c2.img'/>   #镜像文件
<mac address='52:54:00:52:10:34'/>   #mac随便改,只要不相同
      <source bridge='br0'/>   #桥接的网桥
      <target dev='vnet1'/>   #默认的后端设备

(2)创造新的虚拟机

[root@master ~]# virsh create /app/c2.xml –console

注:–console 直接连接虚拟机,或不加;再用上面的通令连接虚拟机

[root@master ~]# virsh console c2

 

(3)检查

[root@master ~]# virsh list 已有2个虚拟机了

澳门金沙国际 91

 

(4)把.xml 文件放入/etc/libvirt/qemu

[root@master ~]# ls /etc/libvirt/qemu

[root@master ~]# cp /app/c2.xml /etc/libvirt/qemu/

用virsh 自动启动等各样高级设置了

澳门金沙国际 92

  

  1. 网卡桥接

Virbr0是刚刚我们装完KVM自己生成的虚拟网卡

6、c1 虚拟机磁盘设备的热插拔

(1)创建10G 大小稀疏格式的磁盘印象文件

[root@master ~]# qemu-img create -f qcow2 -o
preallocation=metadata,size=10G /data/imgs/c1.2.img

[root@master ~]# qemu-img info /data/imgs/c1.2.img 查询

澳门金沙国际 93

 

(2)把磁盘设备加到c1 上

[root@master ~]# virsh domblklist c1 查看c1 已有些磁盘设备

[root@master ~]# virsh attach-disk c1 /data/imgs/c1.2.img vda

澳门金沙国际 94

 

(3)连接至虚拟机,可以对那一个磁盘做分区、文件系统格式化、挂载等操作

[root@master ~]# virsh console c1

# fdisk /dev/vda

# fdisk -l /dev/vda1

澳门金沙国际 95

 

(3)把磁盘设备拔掉

澳门金沙国际 96

 

6、c1 虚拟机磁盘设备的热插拔

(1)创制10G 大小稀疏格式的磁盘印象文件

[root@master ~]# qemu-img create -f qcow2 -o
preallocation=metadata,size=10G /data/imgs/c1.2.img

[root@master ~]# qemu-img info /data/imgs/c1.2.img 查询

澳门金沙国际 97

 

(2)把磁盘设备加到c1 上

[root@master ~]# virsh domblklist c1 查看c1 已部分磁盘设备

[root@master ~]# virsh attach-disk c1 /data/imgs/c1.2.img vda

澳门金沙国际 98

 

(3)连接至虚拟机,可以对这些磁盘做分区、文件系统格式化、挂载等操作

[root@master ~]# virsh console c1

# fdisk /dev/vda

# fdisk -l /dev/vda1

澳门金沙国际 99

 

(3)把磁盘设备拔掉

澳门金沙国际 100

 

已有些网卡:

俺们新增一个br0的虚构网卡,让那一个网卡能够和eth0以太网卡做桥接

7、网卡的热插拔

(1)在宿主机上添加一个新的物理桥

[root@master ~]# brctl addbr br-int0

[root@master ~]# ifconfig br-int0 up

澳门金沙国际 101

(2)激活网桥,给ip

[root@master ~]# ip addr add 10.1.0.254/16 dev br-int0

[root@master ~]# ifconfig br-int0

澳门金沙国际 102

 

(3)给c1 虚拟机插上那些网卡设备 —> “热插”

[root@master ~]# virsh attach-interface c1 bridge br-int0

澳门金沙国际 103

 

(4)连接至虚拟机,激活网卡

[root@master ~]# virsh console c1

# ifconfig eth1 10.1.0.1/16 up

# ping 10.1.0.254 ping宿主机,测试是或不是见效

澳门金沙国际 104

[root@master ~]# virsh domiflist c1 查询虚拟机的网卡设备

澳门金沙国际 105

 

(5)拆除网卡 —> “热拔”

# ifconfig eth1 down

[root@master ~]# virsh detach-interface c1 bridge –mac
52:54:00:5b:d8:04

澳门金沙国际 106

 

7、网卡的热插拔

(1)在宿主机上添加一个新的物理桥

[root@master ~]# brctl addbr br-int0

[root@master ~]# ifconfig br-int0 up

澳门金沙国际 107

(2)激活网桥,给ip

[root@master ~]# ip addr add 10.1.0.254/16 dev br-int0

[root@master ~]# ifconfig br-int0

澳门金沙国际 108

 

(3)给c1 虚拟机插上那几个网卡设备 —> “热插”

[root@master ~]# virsh attach-interface c1 bridge br-int0

澳门金沙国际 109

 

(4)连接至虚拟机,激活网卡

[root@master ~]# virsh console c1

# ifconfig eth1 10.1.0.1/16 up

# ping 10.1.0.254 ping宿主机,测试是或不是见效

澳门金沙国际 110

[root@master ~]# virsh domiflist c1 查询虚拟机的网卡设备

澳门金沙国际 111

 

(5)拆除网卡 —> “热拔”

# ifconfig eth1 down

[root@master ~]# virsh detach-interface c1 bridge –mac
52:54:00:5b:d8:04

澳门金沙国际 112

 

Eth0是直接插入网线的以太网卡

Vim /etc/network/interfaces

实战五:推荐几个图形化管理虚拟机的工具

(1)图形管理工具:

  kimchi:基于H5研发的web GUI;virt-king; 网上搜寻kimchi kvm
有安装使用教程

  OpenStack:IaaS 十分重量级,分外吃资源;至少10台以上的虚拟机才用它

  oVirt:比kimchi 作用强大的多,比OpenStack轻量;但配备也较麻烦

  proxmox VE

(2)kvm
官方的军事管制工具栈:

 

实战五:推荐多少个图形化管理虚拟机的工具

(1)图形管理工具:

  kimchi:基于H5研发的web GUI;virt-king; 网上搜寻kimchi kvm
有安装使用教程

  OpenStack:IaaS 极度重量级,分外吃资源;至少10台以上的虚拟机才用它

  oVirt:比kimchi 功能强大的多,比OpenStack轻量;但配备也较麻烦

  proxmox VE

(2)kvm
官方的管理工具栈:

 

Lo是本地网络,本机内部资源

Auto lo

Virbr0是刚刚大家装完KVM自己生成的虚构网卡

Iface lo inet loopback

大家新增一个br0的虚构网卡,让那几个网卡可以和eth0以太网卡做桥接

Auto eth0

Vim /etc/network/interfaces

Iface eth0 inet manual

Auto lo

Auto br0

Iface lo inet loopback

Iface br0 inet static

Auto eth0

Address 192.168.1.188

Iface eth0 inet manual

Netmask 255.255.0.0

Auto br0

Gateway 192.168.1.1

Iface br0 inet static

Bridge_ports eth0

Address 192.168.1.188

文件配置如上,eth0不安装IP,把eth0的IP设置给br0

Netmask 255.255.0.0

保存文件重启网卡 /etc/init.d/networking restart

Gateway 192.168.1.1

重启完毕后ping公网IP看是或不是通

Bridge_ports eth0

Ping 8.8.8.8

文本配置如上,eth0不安装IP,把eth0的IP设置给br0

通的话就桥接成功

保存文件重启网卡 /etc/init.d/networking restart

 

重启落成后ping公网IP看是或不是通

  1. 始建虚拟机

Ping 8.8.8.8

经过xftp把系统镜像上盛传/home/os

通的话就桥接成功

假定不能上传修改os文件夹权限

 

Chmod 777 /home/os

  1. 制造虚拟机

 

通过xftp把系统镜像上传播/home/os

创设虚拟机(通过VNC,有可视化界面)

若果不可能上传修改os文件夹权限

在宿主机打开vnc_listen的端口协助

Chmod 777 /home/os

vim /etc/libvirt/qemu.com

 

找到vnc_listen=“0.0.0.0”去掉注释

创造虚拟机(通过VNC,有可视化界面)

 

在宿主机打开vnc_listen的端口援救

重启virt软件

vim /etc/libvirt/qemu.com

/etc/init.d/libvirt-bin restart

找到vnc_listen=“0.0.0.0”去掉注释

 

 

执行安装虚拟机命令

重启virt软件

Virt-install –connect=qemu:///system \

/etc/init.d/libvirt-bin restart

–name Hadoop01 \
#点名虚拟机名字

 

–ram 2048 \ #指定虚拟机内存

举办安装虚拟机命令

–vcpus=2 \ #指定CPU核心数

Virt-install –connect=qemu:///system \

–os-type=linux\ #点名安装系统项目

–name hadoop01 \ #点名虚拟机名字

–os-variant=ubuntuprecise \

–ram 2048 \ #指定虚拟机内存

–accelerate \

–vcpus=2 \ #指定CPU核心数

–hvm \

–os-type=linux\ #点名安装系统项目

–disk path=/home/os/hadoop01,size=2000,bus=virtio \ #硬盘路径大小

–os-variant=ubuntuprecise \

–cdrom /home/os/ ubuntu-14.04.5-server-amd64.iso \

–accelerate \

–network bridge=br0,model=virtio \

–hvm \

–graphics vnc \

–disk path=/home/os/hadoop01,size=2000,bus=virtio \ #硬盘路径大小

执行达成后翻看vnc端口是不是打开

–cdrom /home/os/ ubuntu-14.04.5-server-amd64.iso \

netstat –nlt | grep 5900

–network bridge=br0,model=virtio \

tcp 0 0 0.0.0.0:5900 0.0.0.0:* LISTEN

–graphics vnc \

经过kvm命令查看是还是不是创立成功

 

root@linuxidc:/home/os# virsh list

 

Id Name State

 


举办已毕后翻看vnc端口是还是不是打开

ambari running

netstat –nlt | grep 5900

hadoop04 running

tcp 0 0 0.0.0.0:5900 0.0.0.0:* LISTEN

hadoop01 running

经过kvm命令查看是还是不是创制成功

代表虚拟机正在运转中,现在通过vnc来一连虚拟机

root@shwilling:/home/os# virsh list

 澳门金沙国际 113

Id Name State

端口号5900意味第一台虚拟机,以此类推5901 5902


具体可经过netstat –nlt查看

ambari running

 

hadoop04 running

澳门金沙国际 114

hadoop01 running

设置到位,装完系统后透过VNC连接查看IP地址通过xshell连接操作

意味着虚拟机正在运作中,现在由此vnc来屡次三番虚拟机

二.KVM基本管理常用命令

 澳门金沙国际 115

1.虚拟机配置文件路径:/etc/libvirt/qemu

端口号5900意味着首先台虚拟机,以此类推5901 5902

2.来得正在周转的虚拟机:virsh list

具体可经过netstat –nlt查看

3.突显所有虚拟机:virsh list —-all

 

4.起动虚拟机:virsh start Hadoop01

澳门金沙国际 116
安装达成,装完系统后经过VNC连接查看IP地址通过xshell连接操作

5.停歇虚拟机:virsh shutdown Hadoop01

 

6.强制关闭虚拟机:virsh destroy hadoop01

二.KVM基本管理常用命令

7.移除虚拟机:virsh undefine Hadoop01

1.虚拟机配置文件路径:/etc/libvirt/qemu

8.设置虚拟机开机启动:virsh autostart hadoop01

2.来得正在周转的虚拟机:virsh list

9.挂起服务器:virsh suspend hadoop01

3.显示所有虚拟机:virsh list —-all

10.上涨服务器:virsh resume Hadoop01

4.启动虚拟机:virsh start Hadoop01

CentOS 7下KVM安装配备 

RHEL7.2 下安装KVM虚拟机及不难管理

CentOS 7.2下KVM安装及起始使用 

Ubuntu 16.04 搭建KVM环境

5.停歇虚拟机:virsh shutdown Hadoop01

愈多Ubuntu相关新闻见Ubuntu 专题页面

6.强制关闭虚拟机:virsh destroy hadoop01

Linux公社的RSS地址:

7.移除虚拟机:virsh undefine Hadoop01

正文永久更新链接地址

8.安装虚拟机开机启动:virsh autostart hadoop01

澳门金沙国际 117

9.挂起服务器:virsh suspend hadoop01

10.重操旧业服务器:virsh resume Hadoop01

相关文章