最近公司准备上一套基于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. Oracle SQL Developer 设置自动提示(完成设置)

  2. Ubuntu 安装Composer

    操作系统:Ubuntu 14.04.2 1.自动安装 $ curl -sS https://getcomposer.org/installer | php 2.更新 $ composer self-u ...

  3. Linux系统编程初探系列之一:文件编程

    系统函数 int creat(const char* filename,mode_t mode) filename:需要创建的文件名(包含路径,缺省为当前路径) mode:创建模式 常见的创建模式有: ...

  4. MySQL的保留字查询

    ADD ALL ALTER ANALYZE AND AS ASC AUTO_INCREMENT BDB BEFORE BERKELEYDB BETWEEN BIGINT BINARY BLOB BOT ...

  5. HDU 1896 Stones (优先队列)

    Problem Description Because of the wrong status of the bicycle, Sempr begin to walk east to west eve ...

  6. Node.js:常用工具util

    概要:本篇博客的主要内容是介绍node.js的常用工具util. 1.util.inherits util.inherits(constructor,superConstructor)是一个实现对象间 ...

  7. Node.js:全局对象

    概要:本篇博客主要介绍了node.js中的全局对象. 在JavaScript中,通常window是全局对象,而node.js中的全局对象是global,所有全局变量(除了global本身之外)都是gl ...

  8. Java 集合 集合与数组之间的转换

    Java 集合 集合与数组之间的转换 @author ixenos 数组转集合 Arrays.asList(T... a) 先给结论:用 Arrays.asList(T... a) 将数组转换成集合 ...

  9. deque (STL)

    //双端队列 //deque的成员函数 c.assign(beg, end); //将[beg, end]区间中的数据赋值给c c.assign(n, elem); //将n个elem的拷贝赋值给c ...

  10. jQuery 学习小结

    1,jQuery是一个简单的JavaScript库,提供了一系列辅助函数:以下简称jq; 使用jq时,通常将jq代码放到head部分的事件处理方法中,也可以将其单独写出 .js 文件,引入:但无论哪种 ...