字符模式下构建、使用KVM虚拟化平台

环境准备:

KVM虚拟化服务器(真机或高配虚拟机(内存>4G)

操作系统:CentOS 6.5   ==> 关闭 iptables 防火墙、关闭SELinux机制,进入图形桌面

网卡连接:eth0 (VMnet4) ==> 关闭 NetworkManager 服务

主机名:kvmsvr.tarena.com

IP地址:172.30.8.202/24

分区示例:

/boot  200MB、SWAP 8GB、/  80GB、

/var/ftp  40GB (逻辑卷 /dev/vg_data/lv_data)

一:在KVM服务器上为CentOS 6.5客户机提供 YUM 源

1. 安装、启用 vsftpd 服务,允许匿名下载

[root@kvmsvr ~]# rpm  -ivh  /光盘挂载点/Packages/vsftpd*.rpm

[root@kvmsvr ~]# service  vsftpd  restart

[root@kvmsvr ~]# chkconfig  vsftpd  on

2. 插入CentOS 6.5光盘,将其中所有文档部署到 FTP 目录

[root@kvmsvr ~]# mkdir  -p  /var/ftp/pub/iso/centos/6.5/

[root@kvmsvr ~]# cp  -rf  /misc/cd/*  /var/ftp/pub/iso/centos/6.5/

3. 在本机测试,确保 YUM 源可用

[root@kvmsvr ~]# vim  /etc/yum.repos.d/centos6.repo

[CentOS-Base]

name=CentOS 6.5 Packages

baseurl=ftp://172.30.8.202/pub/iso/centos/6.5

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

[root@kvmsvr ~]# yum  repolist

.. ..

二:安装 KVM 虚拟化相关软件、启用服务

[root@kvmsvr ~]# yum  -y  groupinstall  "Virtualization"  "Virtualization Client"  "Virtualization Tools" "Virtualization Platform"

.. ..

[root@kvmsvr ~]# service  libvirtd  restart

[root@kvmsvr ~]# chkconfig  libvirtd  on

三:准备要装虚拟机的光盘镜像,并且在物理机准备yum源

准备一个目录存放redhat5.10

[root@localhost /]# mkdir /ISO     #用于存放redhat5.10的yum源

[root@localhost /]# mkdir -p /var/ftp/pub/iso/redhat/5.10/

[root@localhost /]# mkdir /data

[root@localhost /]# mount -o loop /ISO/redhat5.10.iso /data   #准备5.10的yum源

[root@localhost /]# cp -rf /data/* /var/ftp/pub/iso/redhat/5.10/

[root@localhost /]# umount /data

四:从命令行创建虚拟机(建模板机)

准备工作:创建卷组,逻辑卷用于存放新建的虚拟机

新建一个100G大的分区/dev/sda7

[root@localhost /]# pvcreate /dev/sda7

[root@localhost /]# vgcreate vg_data /dev/sda7

新建一个逻辑卷作为redhat5.10虚拟机的安装位置

[root@localhost /]# lvcreate -L 15G -n redhat5.10 /dev/vg_data

不同装机方式

***********************************************************

1. 从光盘(ISO镜像文件)装新虚拟机

[root@kvmsvr ~]# virt-install \

--name redhat5.10  --vcpus=1  --ram=1024  \

--disk path=/dev/vg_data/redhat5.10 \

--network network=default   --cdrom=/ISO/redhat5.10.iso

2. 从指定URL的软件源装新虚拟机

[root@kvmsvr ~]# virt-install \

--name redhat5.10  --vcpus=1  --ram=1024  \

--disk path=/dev/vg_data/redhat5.10 \

--network  network=default   --location=ftp://172.30.8.202/pub/iso/redhat/5.10

3. 使用本机PXE服务(隔离网段)装新虚拟机(字符模式)

[root@kvmsvr ~]# virt-install \

--name redhat5.10  --vcpus=1  --ram=1024  \

--disk path=/dev/vg_data/redhat5.10 \

--graphics none --network  bridge=virbr1  --pxe

KVM虚拟化的命令行管理

一:virsh 命令工具的基本操作

virsh //直接进交互模式

virsh  nodeinfo   //查看KVM节点(服务器)信息

virsh  list          //列出正在运行的虚拟机

virsh  list  --all   //列出所有虚拟机(包括未启动的)

virsh  dominfo  虚拟机名称   //查看指定虚拟机的信息

virsh  start  虚拟机名称   //将指定的虚拟机开机

virsh  reboot  虚拟机名称   //将指定的虚拟机重启

virsh  shutdown  虚拟机名称   //将指定的虚拟机正常关机

virsh  destroy  虚拟机名称   //将指定的虚拟机强制关机(相当于拔电源)

virsh  autostart  虚拟机名称   //将指定的虚拟机设置随KVM自动开机

virsh  autostart  --disable  虚拟机名称   //将指定的虚拟机设置随KVM自动开机

二:使用虚拟机的XML描述文件

1. 为已有的虚拟机改名

1)导出虚拟机 rh5_n1 的XML描述信息,保存为 new.xml 文件

[root@kvmsvr ~]# virsh  dumpxml  rh5_n1  >  new.xml

2)修改 new.xml

[root@kvmsvr ~]# vim  new.xml

<domain type='kvm' id='1'>

<name>rhel5_node1</name>   //修改为新的虚拟机名称

<uuid>c33a4aad-c555-48b3-a0a9-893ad0b4775e</uuid>   //修改UUID值(可执行uuidgen命令获得)

<disk type='file' device='disk'>

<driver name='qemu' type='raw' cache='none'/>

<source file=‘/data/p_w_picpaths/node1.img’/>          //因为只是改名,虚拟磁盘可不变

.. ..

</disk>

.. ..

3)根据 new.xml 建立新的虚拟机

[root@kvmsvr ~]# virsh  define  new.xml    #定义域 rhel5_node1(从 new.xml)

[root@kvmsvr ~]# virsh  list  --all

Id    名称                         状态

----------------------------------------------------

1     rh5_n1                         启用

-     rhel5_node1                    关闭

4)删除原虚拟机的 XML 描述

[root@kvmsvr ~]# virsh  destroy  rh5_n1   //强制关机 域 rh5_n1 被删除

[root@kvmsvr ~]# virsh  undefine  rh5_n1   //删除虚拟机定义

域 rh5_n1 已经被取消定义

[root@kvmsvr ~]# virsh  list  --all   //确认删除结果

Id

名称                         状态

----------------------------------------------------

-

rhel5_node1                    关闭

2. 复制虚拟机

1)导出虚拟机 rh5_n1 的XML描述信息,保存为 rh5_n2.xml 文件

[root@kvmsvr ~]# virsh  dumpxml  rh5_n1  >  rh5_n2.xml

2)修改 rh5_n2.xml

[root@kvmsvr ~]# vim  rh5_n2.xml

<domain type='kvm' id='1'>

<name>rh5_n2</name>   //修改为新的虚拟机名称

<uuid>c33a4aad-c555-48b3-a0a9-893ad0b4775e</uuid>   //修改UUID值(可执行uuidgen命令获得)

<disk type='file' device='disk'>

<driver name='qemu' type='raw' cache='none'/>

<source file=‘/data/p_w_picpaths/node2.img’/>          //因为复制,应改用其他虚拟磁盘(可复制)

.. ..

</disk>

.. ..

3)复制虚拟机 rh5_n1 的磁盘文件

[root@kvmsvr ~]# cp  -p  /data/p_w_picpaths/node1.img  /data/p_w_picpaths/node2.img

4)根据 rh5_n2.xml 建立新的虚拟机

[root@kvmsvr ~]# virsh  define  rh5_n2.xml

#定义域 rh5_n2(从 rh5_n2.xml)

三:访问虚拟机控制台

1. virt-viewer  虚拟机名称   //访问图形控制台,与 virt-manager 管理方式基本一样

2. virsh  console  虚拟机名称   //访问命令行控制台,需要登录,目标虚拟机需要做下列调整(启用ttyS0串口终端)

[root@statiton10 ~]# vim  /boot/grub/grub.conf

.. ..

title .. ..

kernel  vmlinuz- .. ..   console=ttyS0   //启用串口控制台

[root@statiton10 ~]# vim  /etc/securetty

在文件的末尾添加ttyS0 //允许root从此接口登入

[root@statiton10 ~]# reboot //重启虚拟机后生效

LVM逻辑卷在虚拟机存储中的应用和创建虚拟机快照

关于虚拟机网卡的配置

虚拟机创建之后要想和物理机进行通信首先解决网卡问题

(1)桥接模式:虚拟机像一台真实机一样可以访问和物理机连接在同一交换机上的其他物理机,但是容易造成虚拟机和外部物理机的IP地址冲突问题

[root@localhost /]# cd /etc/sysconfig/network-scripts/

[root@localhost network-scripts]# cp ifcfg-eth0 ifcfg-br0

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

DEVICE="br0"

BOOTPROTO="dhcp"

HWADDR="94:DE:80:82:C3:F3"

IPV6INIT="yes"

MTU="1500"

NM_CONTROLLED="no"

ONBOOT="yes"

TYPE=bridge

UUID="6a190276-0abb-437c-a388-8944cccc2bd3"

[root@localhost network-scripts]# vim ifcfg-eth0

添加BRIDGE="br0"

[root@localhost network-scripts]# service network restart

然后将虚拟机的网卡改为桥接模式然后虚拟机就可以与外界物理机进行通信了

(2)NAT模式:相当于一个地址转换,通过物理机的eth0进行地址转换,虚拟机使用NAT模式,就可以相当于内部网络访问外部网络

直接将虚拟机的网卡模式改为NAT模式就行

(3)隔离模式:处于隔离模式只能是物理机和虚拟机之间的通信,虚拟机不能访问外网。

在虚拟机的图形界面新添加一个网络network1最后选择隔离模式,然后重启network1

[root@localhost /]# virsh net-destroy network1

[root@localhost /]# virsh net-start network1

在修改虚拟机的网卡模式时必须处于关机状态

开机之后选择network1

查看和管理虚拟网卡

[root@localhost /]# virsh net-list

名称               状态     自动开始  Persistent

--------------------------------------------------

default              活动     yes           yes

network1             活动     yes           yes

修改network1虚拟网卡的配置信息

[root@localhost /]# virsh net-edit network1

<network>

<name>network1</name>

<uuid>0e4dd1c9-4871-02bf-cb84-8a8595e388c1</uuid>

<bridge name='network1' stp='on' delay='0' />  #name值对应的是物理机虚拟网卡的名字,                                                      #network1对应的虚拟机网卡的名字

<mac address='52:54:00:32:06:4A'/>

<ip address='192.168.4.1' netmask='255.255.255.0'>

</ip>

</network>

进入虚拟终端对虚拟网卡管理

[root@localhost /]# virsh

欢迎使用 virsh,虚拟化的交互式终端。

输入:'help' 来获得命令的帮助信息

'quit' 退出

virsh # net-

net-autostart  net-destroy    net-info       net-start      net-uuid

net-create

net-dumpxml    net-list       net-undefine

net-define     net-edit       net-name

net-update

修改虚拟机的网卡

[root@localhost /]# virsh edit redhat5.10

<interface type='network'>

<mac address='52:54:00:e6:f2:e8'/>

<source network='network1'/>   #通过更改这个值可以选择虚拟机要连接的网卡类型

<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>  

</interface>

四:给创建好的虚拟机创建快照

创建存放快照的逻辑卷

[root@localhost /]# lvcreate -s -n rhel5.10 (创建存放快照的逻辑卷名) -L +10G /dev/vg_data/redhat5.10(存放模块虚拟机的逻辑卷名)

[root@localhost 桌面]# virsh dumpxml redhat5.10 > new.xml

[root@localhost 桌面]# uuidgen

5d7a505c-1820-473e-877c-a268bab7c41c

[root@localhost 桌面]# vim new.xml

修改名字,uudi号,快照存放路径,mac地址避免和模板虚拟机发生冲突

<name>rhel5.10</name>

<uuid>5d7a505c-1820-473e-877c-a268bab7c41c</uuid>

<source dev='/dev/vg_data/rhel5.10'/>

<mac address='52:54:00:e6:f2:e8'/>

根据修改后的xml文件生成一个快照虚拟机

[root@localhost 桌面]# virsh define new.xml

注:在创建虚拟机后一定要关闭防火墙,selinux,NetworkManager

然后想使虚拟机和物理机进行通信,就必须设置好网卡的问题,

使用隔离模式时创建虚拟网卡,然后通过virsh net-edit 虚拟网卡名 修改虚拟网卡的IP 地址和网卡名字,然后将虚拟机的网卡和该网卡设置在同一网段

转载于:https://blog.51cto.com/fengzhankui/1543741

字符模式下构建、使用KVM虚拟化平台相关推荐

  1. KVM虚拟化平台搭建、工作模式与原理

    文章目录 简介 1.虚拟化技术 1.1 概述 1.2 虚拟化技术的发展雏形 1.3 虚拟化类型 2.KVM架构和原理 2.1 KVM简介 2.2 KVM虚拟化架构/三种模式 2.3 KVM原理 2.3 ...

  2. linux搭建虚拟化平台报告,部署KVM虚拟化平台------搭建(示例代码)

    一 .部署KVM虚拟化平台 hyper-v是windows中的虚拟化 1.KVM模块直接整合在Linux内核中,kvm是内核模块,虚拟机与kvm模块之间为管理工具 2.KVM组成 1.KVM Driv ...

  3. 部署KVM 虚拟化平台

    文章目录 前言 虚拟化产生背景 虚拟化技术发展 一.虚拟化技术 1.1 概述 1.2 kvm虚拟化类型 1.3 kvm特性 1.4 KVM模式 1.5 KVM虚拟化架构/三种模式 1.6 KVM原理 ...

  4. KVM虚拟化平台搭建+理论

    文章目录 一.KVM虚拟化架构 二.KVM组成 三.KVM原理简介 四.KVM 运行时的三种模式 五.KVM工作原理 六.案例 1.案例概述 2.案例环境 3.KVM虚拟化平台部署 1)安装系统 2) ...

  5. KVM虚拟化平台搭建

    目录 一.虚拟化技术概述 1.1 虚拟化技术 1.2 虚拟化技术发展(雏形) 1.3 虚拟化特点 1.4 虚拟化类型 1.5 虚拟化的特性 1.6 虚拟化前后对比 1.6.1 对比 1.6.1.1 操 ...

  6. 部署KVM虚拟化平台

    文章目录 一.云计算概述 二.虚拟化产生背景 2.1虚拟化背景 2.2虚拟化技术 2.3虚拟化技术实现的方式 2.4虚拟化类型 2.5虚拟化的优点和缺点 2.5.1优点 2.5.2缺点 三.KVM简介 ...

  7. KVM 虚拟化平台部署

    文章目录 KVM KVM 概述 KVM运行时的三种模式 KVM工作原理 KVM虚拟化平台实操 拓扑图 一:虚拟机资源 二:虚拟机开启虚拟化 三:环境优化 四:安装KVM 五:设置 KVM 网络 六:K ...

  8. KVM虚拟化技术之virt-manager使用及KVM虚拟化平台网络模型介绍

    一.使用virt-manager创建和管理虚拟机 1.使用VNC Viewer连接进入虚拟化平台主机 2.打开终端输入virt-manager命令启动virt-manager虚拟机管理界面 #virt ...

  9. Docker容器与虚拟化技术——部署KVM虚拟化平台

    部署KVM虚拟化平台 一.搭建KVM虚拟化平台 1.前置知识点 (1)什么是虚拟化         把硬件资源从物理方式转变为逻辑方式,打破原有物理结构,使用户可以灵活管理这些资源,并且允许1台物理机 ...

最新文章

  1. linux 文件系统 文件查找 文件链接
  2. 18个项目必备的JavaScript代码片段——数组篇
  3. 左斜杠和右斜杠有什么区别_「斜杠云」SEO推广和SEO优化有什么区别?
  4. java 根据类名示例化类_Java LocalDateTime类| AdjustInto()方法与示例
  5. mysql 数据类型怎么用,myMySQL数据库怎么更改表中某字段的数据类型? MySQL数据库使用教程...
  6. python截取指定字符串_python 正则匹配获取指定多个词的在字符串(句子/段落)索引位置...
  7. 令人难以置信的竞争性编程-您无需学习
  8. Dxperience 7.3.3 繁体中文本地化
  9. 关于call和apply函数的区别及用法
  10. [实战]MVC5+EF6+MySql企业网盘实战(20)——Bootstrap Paginator
  11. 181228每日一句
  12. java 异常_23、Java异常分类
  13. 《Adobe Flash CS4中文版经典教程》——1 FLASH CS4快速入门1.1 启动Flash并打开文件...
  14. 计算机毕业设计JAVA鸿鹄教育培训mybatis+源码+调试部署+系统+数据库+lw
  15. WUST-CTF2020(武汉科技大学第一届WUST-CTF网络安全竞赛)WP
  16. poscms清除html,poscms用法总结(非定制开发,不涉及后台代码)
  17. SQL实现分组排序和组内排序(相同分数并列排名)
  18. 非专业网管经历的回顾之二新兵训练(一)
  19. js实例之分解质因数
  20. java鬼吹灯搬山法杖_《[鬼吹灯/怒晴湘西]搬山小师妹》漂流瓶中的罗小黑_【衍生小说|言情小说】_晋江文学城...

热门文章

  1. C语言丨函数的递归调用和递归函数
  2. C++安全方向(三)3.3 openssl的MD5接口调用演示
  3. PHP判断升级,版本检测升级(更新)库
  4. mysql根据排序取前百分之二十_MySQL 性能优化 MySQL常见SQL错误用法
  5. boost电路输出电流公式_boost电路解析
  6. 液压支架销轴力学计算分析研究_技术 | 篦冷机液压管路问题分析及改造措施
  7. oracle表空间总结,Oracle操作用户和表空间的总结
  8. java quartz Scheduler 操作JobDetail
  9. linux 文件路径操作
  10. Ansible Synchronize