KVM虚拟机管理——虚拟机创建和操作系统安装

摘要:
[相当于创建虚拟CD-ROM驱动器]有关具体过程,请参阅博客“virt-manager虚拟机的图形配置和操作系统的安装.md”2.2命令行-本地安装命令行管理工具为virt-install和virsh。前者是安装工具,后者是外壳管理工具。以这种方式配置虚拟机和安装操作系统时,不适合批量部署,因为没有提供自动化配置文件。

1. 概述
2. 交互式安装
2.1 图形化-本地安装
2.1.1 图形化本地CDROM安装
2.2.2 图形化本地镜像安装
2.2 命令行-本地安装
2.2.1 命令行CDROM安装
2.3 图形化-网络安装
2.3.1 图形化HTTP镜像
2.3.2 图形化FTP镜像
2.3.3 图形化NFS镜像
2.4 命令行-网络安装
2.4.1 命令行HTTP镜像
2.4.2 命令行FTP镜像
2.4.3 命令行NFS镜像
3. 自动化安装
3.1 图形化-PXE安装
3.2 命令行-PXE安装
4. 镜像安装与克隆
2.1 本地图像化CDROM安装
2.2 本地命令行镜像文件安装
3. 图形化网络安装
3.1 location方式安装
3.2 PXE预启动安装
1. 概述

KVM的管理有以下几种方式:

  • 图形界面
  • 命令行
  • API

本篇博客主要是从图形界面和命令行,两种KVM虚拟机管理方式,来配置虚拟机,并安装操作系统。

2. 交互式安装

交互式安装,是区别自动化安装的安装方式。交互式安装能够给用户一个很大的自定义空间,当然采用ks.cfg文件的自动化部署也有很大的空间。
交互式安装,无论是从本地加载系统镜像,还是从远程(HTTP/FTP/NFS)下载镜像,均是同一个安装界面。不同的是从哪个URL下载而已。

2.1 图形化-本地安装

图形化的本地安装时,virt-mangeer是类似于VMware workstation一样的软件管理工具。能够实现虚拟设备的分配和配置。
这里以创建一个KVM虚拟机,安装CentOS6.5操作系统为例。

2.1.1 图形化本地CDROM安装

图形化本地CDROM的安装,与VMware workstation通过CDROM载入系统镜像一样。这里需要console事前已经通过loop形式,装载了CentOS6.5的系统镜像。
这种安装方式比较适合本地没有系统镜像,但是却载入了系统镜像的有物理光驱等使用场景。[相当于使用物理光驱]
具体过程,参见博客《》

2.2.2 图形化本地镜像安装

图形化本地镜像安装,是在图形界面启动之后,选择文件系统上的系统镜像。
这种安装方式比较适合本地没有CDROM,但是有系统镜像文件的使用场景,系统镜像也可以通过其他协议上传。[相当于建立虚拟光驱]
具体过程,参见博客《virt-manager图形化配置虚拟机并安装操作系统.md

2.2 命令行-本地安装

命令行管理工具为:virt-install和virsh,前者是安装工具,后者是shell管理工具。

注:virt-install和virsh的help文档,参见《virt-install.help.md》和《virsh.help.md》

2.2.1 命令行CDROM安装

具体操作,参见博客《virt-install命令行配置虚拟机并安装操作系统.md》
采用这种方式,有两种情况:

  • graphisc vnc
  • graphisc none
  • nographisc

采用graphisc vnc方式时,和virt-manger无异,均会启动图形界面来安装操作系统。
采用graphisc none方式时,会以文本的形式安装,文本输出到当前终端界面。
采用此种方式配置虚拟机并安装操作系统时,不适合批量部署,因为未提供自动化配置文件。
但是却十分符合自定义标准,或者安装windows操作系统

2.3 图形化-网络安装

图形化网络安装时,需要提前配置好支持HTTP/FTP/NFS协议的系统镜像站点。支持三大协议的系统镜像站点配置,参见博客《虚拟机console基础环境配置——系统镜像站点配置.md
在部署好系统镜像站点之后,三大协议的系统镜像站点分别为:

只需要在图形化配置过程中,将对应的URL修改为上述内容即可。这样的安装方式,只不过是从远程下载系统镜像。
与此对应,本系列博文将自动化配置文件ks.cfg

2.3.1 图形化HTTP镜像

图像化HTTP镜像站点,需要做出的选择部分,如下图:
KVM虚拟机管理——虚拟机创建和操作系统安装第1张

KVM虚拟机管理——虚拟机创建和操作系统安装第2张

2.3.2 图形化FTP镜像

KVM虚拟机管理——虚拟机创建和操作系统安装第1张

KVM虚拟机管理——虚拟机创建和操作系统安装第4张

2.3.3 图形化NFS镜像

图形化NFS镜像站点,配置部分如下图:
KVM虚拟机管理——虚拟机创建和操作系统安装第1张

KVM虚拟机管理——虚拟机创建和操作系统安装第6张

2.4 命令行-网络安装

根据上面的工作,命令行在配置了graphics vnc的情况下,同样会打开图像界面来交互式安装。命令行与图形化安装的最大区别在于,是否配置graphics vnc模式

如果采用nographics,并且配置了ks.cfg文件之后,便可非交互后台静默安装

下面的shell内容,是博主写在脚本里的内容,后跟虚拟机的number,便可创建node${number}

2.4.1 命令行HTTP镜像

安装脚本,remote_http.sh,使用方式如,bash remote_http.sh 11

#!/bin/bash
virt-install 
--connect qemu:///system 
--name node$1 
--vcpus sockets=2,cores=2,threads=1 
--ram 512 
--disk path=/mnt/data/vhost/node$1.img,size=8 
--network bridge=br0,mac=00:00:00:80:00:$1,model=virtio 
--network bridge=br0,mac=00:00:00:10:00:$1,model=virtio 
--location=http://192.168.80.8/osimage/centos6.5/ 
--graphics vnc,port=59$1,keymap=us 

2.4.2 命令行FTP镜像

安装脚本,remote_ftp.sh,使用方式如,bash remote_ftp.sh 11

#!/bin/bash
virt-install 
--connect qemu:///system 
--name node$1 
--vcpus sockets=2,cores=2,threads=1 
--ram 512 
--disk path=/mnt/data/vhost/node$1.img,size=8 
--network bridge=br0,mac=00:00:00:80:00:$1,model=virtio 
--network bridge=br0,mac=00:00:00:10:00:$1,model=virtio 
--location=ftp://192.168.80.8/pub/osimage/centos6.5/  
--graphics vnc,port=59$1,keymap=us 

2.4.3 命令行NFS镜像

安装脚本,remote_http.sh,使用方式如,bash remote_nfs.sh 11

#!/bin/bash
virt-install 
--connect qemu:///system 
--name node$1 
--vcpus sockets=2,cores=2,threads=1 
--ram 512 
--disk path=/mnt/data/vhost/node$1.img,size=8 
--network bridge=br0,mac=00:00:00:80:00:$1,model=virtio 
--network bridge=br0,mac=00:00:00:10:00:$1,model=virtio 
--location=nfs:192.168.80.8:/mnt/cdrom 
--graphics vnc,port=59$1,keymap=us 
3. 自动化安装

自动化安装,不仅对一个机器实现秒交互安装,也能够实现批量安装。前提是配置了PXE无人值守环境。这个环境主要包括四部分:

  • DHCP环境

    用于给客户机分配IP

  • TFTP环境

    用于客户机下载引导程序

  • 系统站点

    用于客户机下载完整镜像

  • 自动化配置文件

    用于自动配置安装过程

3.1 图形化-PXE安装 3.2 命令行-PXE安装 4. 镜像安装与克隆

和VMware workstation一样,可以通过CDROM设备,进行操作系统的安装,前提是有系统镜像。对于KVM而言,既可以使用图像化安装方式,也可以使用命令行安装方式。
图像化安装方式,比较适合交互式的自定义安装;而命令行模式的,比较适合批量自动化安装(有自动化配置文件ks.cfg)。

2.1 本地图像化CDROM安装

本地图像化安装需要启动图形化。启动图像化之后,安装过程参见博客《virt-manager图像化安装操作系统.md》

本篇博客启动图形化过程中报错,具体解决方式参见博客《Error【0004】:virt-manager打开报错.md》

2.2 本地命令行镜像文件安装

3. 图形化网络安装

3.1 location方式安装

location安装方式,即从远程HTTP/FTP/NFS服务器上获取系统镜像。自动化配置文件ks.cfg可以通过指定内核参数,从远程HTTP/FTP/NFS上获取。
location安装方式可以从内核指定参数,配置安装的虚拟机能够从控制台直接登陆,即virsh console xxxx方式登陆。

#!/bin/bash
NODE=$1
if [ "$#" -ne "1" ];then
    echo "指定虚拟机num." && echo 0;
fi
virt-install 
--name node$NODE 
--vcpus sockets=2,cores=2,threads=1 
--ram 512 
--location="" 
--extra-args="" 
--os-type linux 
--virt-type kvm 
--disk path=/mnt/data/vhost/node$NODE.img,size=10 
--network bridge=br0,model=virtio,mac=00:00:00:80:00:$NODE 
--network bridge=br1,model=virtio,mac=00:00:00:10:00:$NODE 
--graphics vnc,listen=0.0.0.0,port=59$NODE,keymap=us 

3.2 PXE预启动安装

免责声明:文章转载自《KVM虚拟机管理——虚拟机创建和操作系统安装》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇高速AD中的LVDS和FPGAWebService 的Description 属性说明(转)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

用户空间缺页异常pte_handle_fault()分析--(上)【转】

转自:http://blog.csdn.net/vanbreaker/article/details/7881206 版权声明:本文为博主原创文章,未经博主允许不得转载。        前面简单的分析了内核处理用户空间缺页异常的流程,进入到了handle_mm_fault()函数,该函数为触发缺页异常的地址address分配各级的页目录,也就是说现在...

在linux环境下搭建java web测试环境(非常详细!!)

一.项目必备软件及基本思路 项目必备:虚拟机:VMware Workstation (已安装linux的 CentOS6.5版本) 项目:java web项目 (必须在本地部署编译后选择项目的webRoot,改为ROOT(ROOT包含下面四个关键文件),放到tomcat下的webapps下即可,因为tomcat启用一个工程的时候,就是发布了除了JSP以外的...

(转)linux shell 的here document 用法 (cat << EOF)

什么是Here Documen: Here Document 是在Linux Shell 中的一种特殊的重定向方式,它的基本的形式如下 cmd << delimiter Here Document Content delimiter 它的作用就是将两个 delimiter 之间的内容(Here Document Content 部分) 传...

Linux的PHP开发环境快速搭建

搭建的环境是LNMP: 1、安装MySQL 这个非常简单我用的是Ubuntu那么就用apt源,下载deb文件然后按照全新安装文档按顺序:a.加入apt库  b.更新apt库 c.安装 d.运行MySQL 下载: https://dev.mysql.com/downloads/repo/apt/ 文档: https://dev.mysql.com/doc/m...

《软件安装》VMware Workstation 不注册 下载

问答环节 问:为什么要下载安装VMware Workstation 答:VMware Workstation 可以安装虚拟机,我们可以把我们安装的一些软件装在虚拟机上面,防止自己的电脑卡顿(软件装多了,我还怎么能流畅的玩游戏??),后面的很多教程我也是在虚拟机上操作 问:除了VMware Workstation还有别的类似软件吗? 答:有,比如 Oracl...

4个可以发送完整电子邮件的命令行工具

今天的文章里我们会讲到一些使用Linux命令行工具来发送带附件的电子邮件的方法。它有很多用处,比如在应用程序所在服务器上,使用电子邮件发送 一个文件过来,或者你可以在脚本中使用这些命令来做一些自动化操作。在本文的例子中,我们会使用foo.tar.gz文件作为附件。 有不同的命令行工具可以发送邮件,这里我分享几个多数用户会使用的工具,如mailx、mutt和...