最近公司准备上一套基于openstack的虚拟桌面系统,作为该项目的负责人,觉得有必要自己实践一下,该系统的搭建。最基础的就是需要了解基于linux的kvm的实践。

一、基础软件包准备

系统是采用pxe安装的,下面将pxe的ks.cfg文档公布出来,供大家参考,由于是实验,所以安装了图形界面,方便操作和查找问题。

#platform=x86, AMD64, 或 Intel EM64T
#skip input subscribe number
key --skip
#version=DEVEL
# Firewall configuration
firewall --disabled
# Install OS instead of upgrade
install
# Use network installation
url --url="http://10.0.0.100:8080/pxe/centos"
# Root password
rootpw --iscrypted $1$bIZz5.0G$okfXTZMuvK32r3gSIY6Rv/
user --name="os" --password="os123"
# System authorization information
auth --useshadow --passalgo=sha512
# Use graphical install
graphical
firstboot --disable
# System keyboard
keyboard us
# System language
lang zh_CN.UTF-8
# SELinux configuration
selinux --disabled
# Installation logging level
logging --level=info
# Partition clearing information
clearpart --all --initlabel
# Reboot after installation
reboot
# Network information
network --onboot no --device eth0 --bootproto dhcp --noipv6
# Disk partitioning information
part /boot --asprimary --bytes-per-inode=4096 --fstype="ext4" --size=200
part swap --asprimary --bytes-per-inode=4096 --fstype="swap" --size=512 #part / --asprimary --bytes-per-inode=4096 --fstype="ext4" --grow --size=1 #vol information
part pv.100 --size=20480 --grow
volgroup myvg pv.100
logvol / --fstype="ext4" --name=root --vgname=myvg --size=5120 --grow
logvol /usr --fstype="ext4" --name=usr --vgname=myvg --size=5120 --grow
logvol /home --fstype="ext4" --name=home --vgname=myvg --size=5120 --grow # System timezone
timezone Asia/Shanghai
# System bootloader configuration
bootloader --location=mbr
# Partition clearing information
clearpart --all %packages ####### CentOS mini desktop packages ############
@base
@basic-desktop
@chinese-support
@desktop-debugging
@desktop-platform
@directory-client
@fonts
@input-methods
@internet-browser
@java-platform
@legacy-x
@network-file-system-client
@remote-desktop-clients
@server-platform
@x11 ######## graphic admin tools #############
@graphical-admin-tools
audit-viewer
firstaidkit-gui
policycoreutils-gui
sabayon
setroubleshoot
#system-config-kickstart
system-config-lvm
#wireshark-gnome ############ virtualization tools ########
@virtualization
@virtualization-client
@virtualization-platform
@virtualization-tools
fence-virtd-libvirt
fence-virtd-multicast
fence-virtd-serial
libguestfs-java
libguestfs-tools
libvirt-cim
libvirt-java
libvirt-qmf
libvirt-snmp
perl-Sys-Virt
#qemu-guest-agent
qemu-kvm-tools
virt-v2v
%end

大家如果不是采用pxe安装,请参考后半部分的virtualization tools包列表进行手工安装。

二、虚拟机创建

系统安装完成后,在菜单中,会有虚拟机管理的菜单,按照步骤提示,可方便的完成虚拟机创建

虚拟机测试可以使用cirros系统,该系统非常小,运行起来非常快(下载)

如果是winxp系统,系统安装完成后,会提示你又两个驱动无法安装,分别为显卡和网卡

http://alt.fedoraproject.org/pub/alt/virtio-win/latest   #网卡
http://www.spice-space.org/download/windows/qxl/         #显卡,在安装spice后,需要安装qxl的显卡驱动

三、网桥配置

首先要理解NAT和网桥的概念,网上文章很多了,这里就不多说了,下面只说下网桥配置方面的东西。

1、增加网桥

需要在网络配置文件中,增加一个网桥的配置

nano /etc/sysconfig/network-scripts/ifcfg-br0

文件内容如下:

DEVICE="br0"          #网桥名称
TYPE="Bridge" #类型
ONBOOT="yes"
BOOTPROTO=static
IPADDR=192.168.1.21 #网桥地址,该地址即为宿主机地址
PREFIX=24
GATEWAY=192.168.1.1
DNS1=192.168.1.1
DELAY=0

2、修改网卡配置

nano /etc/sysconfig/network-scripts/ifcfg-eth0

在网卡配置中修改

DEVICE="eth0"
<span style="color:#ff0000;">BOOTPROTO=none #修改为none 下面的ip地址都可以不进行配置</span>
IPADDR=192.168.1.11
PREFIX=24
GATEWAY=192.168.1.1
DNS1=192.168.1.1
DELAY=0
IPV6INIT="no"
NM_CONTROLLED="yes"
ONBOOT=yes
TYPE="Ethernet"
<span style="color:#ff6666;">BRIDGE="br0" #增加网卡对网桥的识别</span>
UUID="0f50002a-498c-477c-8e7e-122575acc077"
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
NAME="System eth0"
HWADDR=00:23:54:CB:DA:56
MTU=1500
PEERDNS=yes
PEERROUTES=yes
LAST_CONNECT=1421975568

3、禁用网络管理器

# chkconfig NetworkManager off
# service NetworkManager stop

4、重启网络

# service network restart  

5、修改虚拟机网络配置

网桥的配置就基本完成,此时需要在虚拟机的网络配置处修改配置。

具体网络配置如下

设置完成后,宿主机的地址为网桥的地址,虚拟机的地址为自动获取,可以在虚拟机中进行修改。经实验,外网和虚拟机之间的通信、虚拟机与宿主机之间的通信均正常。

四、Spice设置

spice是一种远程桌面协议,其支持的桌面色彩和周边设备的能力远远大于vnc,更适合做云桌面的使用。

1、安装spice服务器端

#yum -y install spice-server
#yum -y install spice-protocol xorg-x11-drv-qxl

2、更改虚拟机显示设置

由于默认设置的问题,我们需要把原有的显示设置删掉,重新添加一个,并选选择在所有端口监听,才能让大家在非宿主机上链接到spice

3、客户端安装、使用

linux下的客户端,可以使用以下命令安装

#yum -y install spice-client

连接

# /usr/libexec/spicec -h 192.168.0.13 -p 5930 -w password

windows客户端,请下载virt-viewer Windows installer   (下载)

直接运行,输入地址即可。

CentOS的KVM实践(虚拟机创建、网桥配置、Spice)的更多相关文章

  1. 基于KVM的虚拟机创建

    KVM基本介绍:   KVM是Kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中,KVM目前 ...

  2. CentOS下KVM网卡设置成网桥时获取镜像端口的流量

    首先,网桥配置好之后就能实现一个简单的交换机,而交换机的特点就是MAC地址学习,那么KVM的网卡设置成网桥之后,也就是相当于连接到了交换机上. 此时如果要实现在二层交换机或三层交换机做端口镜像,并把这 ...

  3. KVM (虚拟机创建及管理,存储管理)

    创建KVM虚拟机 1.图形化界面创建 第一步:查看软件包组 yum grouplist 第二步:下载GUI界面的软件包组 yum groupinstall "Server with GUI& ...

  4. CentOS安装KVM步骤虚拟机,绝对实用!

    KVM(Kernel-based Virtual Machine)速记.这是rhel5.4最新的虚拟化技术启动,现在只支持红帽64位rhel5.4在执行KVM,硬件必须支持同一时间VT技术,网上找 ...

  5. centos 下 KVM虚拟机的创建、管理与迁移

    kvm虚拟机管理 一.环境 role         hostname    ip                  OS kvm_server   target      192.168.32.40 ...

  6. CentOS 6.5安装KVM实践

    一,安装CentOS6.5,使用最小化的minimal安装二.安装完CentOS后,使用root登录配置网卡,使虚拟机可以使用外网上网 vi /etc/sysconifg/network-script ...

  7. 【转载】基于Linux命令行KVM虚拟机的安装配置与基本使用

    基于Linux命令行KVM虚拟机的安装配置与基本使用 https://alex0227.github.io/2018/06/06/%E5%9F%BA%E4%BA%8ELinux%E5%91%BD%E4 ...

  8. [ kvm ] 学习笔记 7:KVM 虚拟机创建的几种方式

    通过对 qemu-kvm.libvirt 的学习,总结三种创建虚拟机的方式: (1)通过 qemu-kvm 创建 (2)通过 virt-install 创建 (3)通过 virt-manager 创建 ...

  9. KVM虚拟机两种配置的概念不同之处

    KVM虚拟机配置的两种方式之间的不同之处 NAT方式 NAT模式中,让虚拟机借助NAT(网络地址转换)功能,通过宿主机器所在的网络来访问公网. NAT模式中,虚拟机的网卡和物理网卡的网络,不在同一个网 ...

随机推荐

  1. JavaScript基本类型比较

    我们都知道js的基本类型有undefined,null,boolean,number,string; 当我们在进行基本数据类型的运算和比较时数据类型会根据运算符号和左右两边值的不同作如下转换: +   ...

  2. Tyvj-超级书架

    描述 Farmer John最近为奶牛们的图书馆添置了一个巨大的书架,尽管它是如此的大,但它还是几乎瞬间就被各种各样的书塞满了.现在,只有书架的顶上还留有一点空间. 所有N(1 <= N < ...

  3. NOIP2010-普及组初赛C语言解析

    第十六届全国青少年信息学奥林匹克联赛初赛试题 一.单项选择题 (共20题,每题1.5分,共计30分.每题有且仅有一个正确选项.) 1.2E+03表示(  D  ). A.2.03          B ...

  4. Python基础(十)-模块

    模块初识 一般把不同功能代码放到不同py文件,一个py文件就是一个模块 三种模块库: 1.Python标准库 2.第三方库 3.自定义库 导入模块:import 库名 (Python解释器只认识执行文 ...

  5. python 学习 有序字典

    自定义创建有序字典类 dict的__getitem__方法 有些不同,想使用自定义__getitem__方法显示查询key的下标:需要研究 #/usr/bin/env python3 # -*- co ...

  6. setAction方法 Snackbar 右侧按钮可以被点击并处理一些事件

    从数据库同一记录取得的字段所组装成的对象应该是同一个对象,然后由不同的Session从数据库同一条记录上分别取得对象,它们的内存地址是不一样的. 一般来说,常见的数字加密方式都可以分为两类,即对称加密 ...

  7. CSS 选择器之基本选择器 属性选择器 伪类选择器

    CSS 选择器 常见的选择器列表图 CSS选择器笔记 基本选择器 通配符选择器(*) 元素选择器(E) 类选择器(.className)    所有浏览器都支持类选择器,但多类选择器(.classNa ...

  8. Java代码之输出参数和(强制类型转换)

    说明(因为Java中java Application的参数都是默认的字符型的数据,所以需要强制类型转换这一步骤) 设计思想: 向系统里输入若干个参数,计算出参数个数,利用for语句计算出参数的和.(程 ...

  9. STL容器小结

     1.空间分配器 std::alloc用于容器中内存空间的分配和释放,以及分配内存的管理.construct().destroy()等全局函数用于为对象的构造和析构. 2.迭代器和trains 迭代器 ...

  10. 重读The C programming Lanuage 笔记三:简单计算器程序

    //简单计算器 #include <stdio.h> #include <stdlib.h> #include <ctype.h> #include <str ...