kvm虚拟化的安装和运用笔记

背景

由于生产环境的服务器并不会安装桌面环境,简单操作的图形化安装也不适合批量部署安装。因此,我还是更倾向于在命令下安装配置KVM虚拟机。结合了一些资料和个人使用的状况,我大致列出了一些基本和常用的使用方法。

安装配置

一、环境介绍

操作系统:centos6.6内核版本:2.6 IP地址:172.16.57.24

二、检查CPU

Xen 不同,KVM 需要有 CPU 的支持(Intel VT AMD SVM),在安装 KVM 之前检查一下 CPU 是否提供了虚拟技术的支持

egrep 'vmx|svm'/proc/cpuinfo

三、安装KVM

1、这里安装一些虚拟化的组件

yum -y installkvm python-virtinst libvirt  bridge-utilsvirt-manager qemu-kvm-tools virt-viewer  virt-v2vlibguestfs-tools-c

2、对kvm进行如下如下配置:

vim/etc/libvirt/libvirtd.conf 这里主要是tcp连接的设置

末尾添加如下:

listen_tls = 0

listen_tcp = 1

tcp_port ="16509"

listen_addr ="172.16.57.24"

unix_sock_ro_perms= "0777"

unix_sock_rw_perms= "0770"

auth_tcp ="none"

max_clients =1024

min_workers =100

max_workers =200

max_requests =20

max_client_requests= 50

vim qemu.conf 这里主要是对vnc的设置,一会儿通过vnc-viewer连接来进行安装

末尾添加

vnc_listen =0.0.0.0

vnc_password ="bigdata"  #vnc连接密码

remote_display_port_min= 5900 #vnc最小端口

remote_display_port_max= 65535 #vnc最大端口

3、确认一下是否 kvm 安装成功:

/etc/init.d/libvirtdrestart

4、查看是否启动:

ps -ef | greplibvirtd

5、查看kvm模块是否正常加载:

lsmod |grep kvm

四、配置网桥连接

1、配置网桥br0

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

DEVICE=br0

TYPE=Bridge

ONBOOT=yes

NM_CONTROLLED=yes

BOOTPROTO=static

IPADDR=172.16.57.24

NETMASK=255.255.255.0

GATEWAY=172.16.57.1

DNS1=202.96.209.133

vim /etc/sysconfig/network-scripts/ifcfg-em1

DEVICE=em1

TYPE=Ethernet

ONBOOT=yes

BRIDGE=br0

NM_CONTROLLED=yes

2、重启网络

/etc/init.d/networkrestart

3、查看网络连接

brctl show

如果配置成功,会有以下输出:

bridge name      bridge id                 STPenabled      interfaces

br0              8000.14187745822e no               em1

                                                             vnet0

                                                             vnet1

                                                             vnet2

                                                             vnet3

                                                             vnet4

                                                             vnet5

                                                             vnet6

virbr0           8000.5254005fcc0b yes              virbr0-nic

4、检查ip转发是否开启

cat/etc/sysctl.conf |grep ip_forward

net.ipv4.ip_forward= 1

如果没有开启:

vim/etc/sysctl.conf

修改net.ipv4.ip_forward= 1

/sbin/sysctl -p

五、安装虚拟机

virt-install  --name=tomcat_01 --ram 8192 --vcpus=2 /

--diskpath=/var/lib/libvirt/images/tomcat_01.img,size=20,format=raw,bus=virtio /

--cdrom/var/iso/CentOS-6.7-x86_64-minimal.iso --network bridge=br0,model=virtio /

--vnc --accelerate--force  --autostart

这里解释一下主要的几个参数含义:

--name    给虚拟机起个名字

--ram     分配给虚拟机的内存,单位MB

--vcpus   分配给虚拟机的cpu个数

--cdrom   指定安装文件的全路径

--disk    指定虚拟机img文件路径,如果虚拟机使用lvm分区,这里就指向到lvm的分区就行

  size   虚拟机文件大小,单位GB

  bus    虚拟机磁盘使用的总线类型,为了使虚拟机达到好的性能,这里使用virtio

  cache  虚拟机磁盘的cache类型

--networkbridge    指定桥接网卡

   model 网卡模式,这里也是使用性能更好的virtio

--graphics图形参数

这里我安装的虚拟机名字为tomcat_01,接下来查看其vnc端口:

ps aux | grepqemu | grep tomcat_01

 当时我们设置vnc端口最小为5900,那么这里指的就是5902这个端口。接下来通过在windows下使用vnc-viewer来连接172.16.57.24:5902,并输入设置的密码,即可进行安装。

 

二 安装VNC

1. 安装VNC服务端

(1)Linux系统上安装VNC

yum-y install vnc-server     

yum-y install tigervnc-server

(2)设置远程登录所需要的密码

输入vncserver后会提示输入密码

注:此密码是远程登录时所需要输入的密码

(3)进行vncserver配置              

vi/etc/sysconfig/vncservers

设置以下配置值

VNCSERVRES=10000:root(其中10000为桌面号、root为用户名)

VNCSERVERARGS[2]=geometry800x600–nolisten tcp –localhost

(4)进行防火墙配置允许远程连接VNC服务器

vi/etc/sysconfig/iptables

–A INPUT–m state –stateNEW –m tcp –p tcp –dport 5901 –j ACCCEPT

(5)重启VNC和防火墙服务

servicevncserverrestart

serviceiptablesrestart

 

常用操作

1、宿主机管理虚拟机对虚拟机进行开关等管理,需要在虚拟机上安装acpid的服务,并启动它。 2、克隆虚拟机一般制作一个常用的虚拟机模板,下次安装可以直接来克隆这个模板。

virt-clone--connect qemu:///system --original=tomcat_01 --name=tomcat_02--file=//var/lib/libvirt/images/tomcat_02.img

--original克隆的虚拟机对象

--name    克隆的新虚拟机名称

3、添加磁盘一般虚拟机的磁盘结构为系统盘加数据盘,当系统发生故障时,可以重新建一个系统盘,而数据盘不会丢失。添加磁盘操作:

cd/var/lib/libvirt/images/ 进入磁盘存放目录

qemu-img create-f raw test_add.img 100G 创建一块100G的磁盘

virshattach-disk tomcat_01 /var/lib/libvirt/images/test_add.img vdb --cache none 动态添加磁盘

这种方法是动态添加磁盘,而xml配置文件并没有发生变化,为了防止下次启动添加的磁盘失效,进行如下操作:

virsh dumpxmltomcat_01 > tomcat_01.xml 将最新的虚拟机配置重定向到其配置文件中

virsh definetomcat_01.xml

这样,新增的磁盘就不会丢了。 4virsh命令的一些操作

Autostart 自动开始一个域

Create 从一个 XML 文件创建一个域

Define 从一个 XML 文件定义(但不开始)一个域

edit 编辑某个域的 XML 配置

shutdown 关闭一个域

start 开始一个(以前定义的)非活跃的域

reboot 重新启动一个域

suspend 挂起一个域

resume 重新恢复一个域

vncdisplay vnc 显示

 

前言:作为一名DBA,在创建Oracle数据库的过程中一般要使用dbcanetca图像化进行建库和创建监听(如果使用脚本建库另说),如果您身体好估计可以在瑟瑟发抖的机房中完成数据库的创建过程,由于本人对寒冷比较敏感,又不想通过这样的方式锻炼身体,所以更愿意在舒适的房间内一边品味着咖啡的浓香,顺便度过相对枯燥的数据库安装和配置的过程,So,图形化操作工具是必不可少的,在Linux操作系统最流行的图形化操作软件莫过于VNC,俺本着总结、共享及提醒的目的完成了这个详细的小文儿,希望大家喜欢。

1.
确认VNC是否安装
默认情况下,RedHat Enterprise Linux安装程序会将VNC服务安装在系统上。
确认是否已经安装VNC服务及查看安装的VNC版本
[root@testdb ~]# rpm -q vnc-server
vnc-server-4.1.2-9.el5
[root@testdb ~]#

若系统没有安装,可以到操作系统安装盘的Server目录下找到VNC服务的RPM安装包vnc-server-4.1.2-9.el5.x86_64.rpm,安装命令如下
rpm -ivh /mnt/Server/vnc-server-4.1.2-9.el5.x86_64.rpm

2.
启动VNC服务
使用vncserver命令启动VNC服务,命令格式为“vncserver:桌面号,其中桌面号数字的方式表示,每个用户连个需要占用1个桌面
启动编号为1的桌面示例如下
[root@testdb ~]# vncserver :1

You will require a password to access your desktops.

Password:
Verify:
xauth:  creating new authority file /root/.Xauthority

New 'testdb:1 (root)' desktop is testdb:1

Creating default startup script. /root/.vnc/xstartup
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/testdb:1.log

以上命令执行的过程中,因为是第一次执行,需要输入密码,这个密码被加密保存在用户主目录下的.vnc子目录(/root/.vnc/passwd)中;同时在用户主目录下的.vnc子目录中为用户自动建立xstartup配置文件(/root/.vnc/xstartup),在每次启动VND服务时,都会读取该文件中的配置信息。
BTW
/root/.vnc/目录下还有一个“testdb:1.pid”文件,这个文件记录着启动VNC后对应后天操作系统的进程号,用于停止VNC服务时准确定位进程号。

3.VNC
服务使用的端口号与桌面号的关系
VNC
服务使用的端口号与桌面号相关,VNC使用TCP端口从5900开始,对应关系如下
桌面号为“1” ---- 端口号为5901
桌面号为“2” ---- 端口号为5902
桌面号为“3” ---- 端口号为5903
……
基于JavaVNC客户程序Web服务TCP端口从5800开始,也是与桌面号相关,对应关系如下
桌面号为“1” ---- 端口号为5801
桌面号为“2” ---- 端口号为5802
桌面号为“3” ---- 端口号为5803
……
基于上面的介绍,如果Linux开启了防火墙功能,就需要手工开启相应的端口,以开启桌面号为“1”相应的端口为例,命令如下
[root@testdb ~]# iptables -I INPUT -p tcp --dport 5901 -j ACCEPT
[root@testdb ~]# iptables -I INPUT -p tcp --dport 5801 -j ACCEPT

4.
测试VNC服务
第一种方法是使用VNCViewer软件登陆测试,操作流程如下
启动VNCViewer软件--> Server输入“144.194.192.183:1”--> 点击“OK”--> Password输入登陆密码--> 点击“OK”登陆到X-Window图形桌面环境--> 测试成功
第二种方法是使用Web浏览器(如Firefox,IE,Safari)登陆测试,操作流程如下
地址栏输入http://144.194.192.183:5801/--> 出现VNCviewer for Java(此工具是使用Java编写的VNC客户端程序)界面,同时跳出VNCviewer对话框,在Server处输入“144.194.192.183:1”点击“OK”--> Password输入登陆密码--> 点击“OK”登陆到X-Window图形桌面环境--> 测试成功
(注:VNCviewer for Java需要JRE支持,如果页面无法显示,表示没有安装JRE,可以到http://java.sun.com/javase/downloads/index_jdk5.jsp这里下载最新的JRE进行安装)

5.
配置VNC图形桌面环境为KDEGNOME桌面环境
如果您是按照我的上面方法进行的配置的,登陆到桌面后效果是非常简单的,只有一个Shell可供使用,这是为什么呢?怎么才能看到可爱并且美丽的KDEGNOME桌面环境呢?回答如下
之所以那么的难看,是因为VNC服务默认使用的是twm图形桌面环境的,可以在VNC的配置文件xstartup中对其进行修改,先看一下这个配置文件
[root@testdb ~]# vi /root/.vnc/xstartup
#!/bin/sh

# Uncomment the following two lines for normal desktop:
# unset SESSION_MANAGER
# exec /etc/X11/xinit/xinitrc

[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
twm &

将这个xstartup文件的最后一行修改为“startkde&”,再重新启动vncserver服务后就可以登陆到KDE桌面环境
将这个xstartup文件的最后一行修改为gnome-session&,再重新启动vncserver服务后就可以登陆到GNOME桌面环境

重新启动vncserver服务的方法:
[root@testdb ~]# vncserver -kill :1
[root@testdb ~]# vncserver :1

6.
配置多个桌面
可以使用如下的方法启动多个桌面的VNC
vncserver :1
vncserver :2
vncserver :3
……
但是这种手工启动的方法在服务器重新启动之后将失效,因此,下面介绍如何让系统自动管理多个桌面的VNC,方法是将需要自动管理的信息添加到/etc/sysconfig/vncservers配置文件中,先以桌面1root用户桌面2oracle用户为例进行配置如下:
格式为:VNCSERVERS="桌面号:使用的用户名桌面号:使用的用户名"
[root@testdb ~]# vi /etc/sysconfig/vncservers
VNCSERVERS="1:root 2:oracle"
VNCSERVERARGS[1]="-geometry 1024x768"
VNCSERVERARGS[2]="-geometry 1024x768"

7.
修改VNC访问的密码
使用命令vncpasswd对不同用户的VNC的密码进行修改,一定要注意,如果配置了不同用户的VNC需要分别到各自用户中进行修改,例如在我的这个实验中,root用户和oracle用户需要分别修改,修改过程如下:
[root@testdb ~]# vncpasswd
Password:
Verify:
[root@testdb ~]#

8.
启动和停止VNC服务
1
)启动VNC服务命令
[root@testdb ~]# /etc/init.d/vncserver start
Starting VNC server: 1:root
New 'testdb:1 (root)' desktop is testdb:1

Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/testdb:1.log

2:oracle
New 'testdb:2 (oracle)' desktop is testdb:2

Starting applications specified in /home/oracle/.vnc/xstartup
Log file is /home/oracle/.vnc/testdb:2.log

                                                          [  OK  ]
2
)停止VNC服务命令
[root@testdb ~]# /etc/init.d/vncserver stop
Shutting down VNC server: 1:root2:oracle                 [  OK  ]

3
)重新启动VNC服务命令
[root@testdb ~]# /etc/init.d/vncserver restart
Shutting down VNC server: 1:root2:oracle                 [  OK  ]
Starting VNC server: 1:root
New 'testdb:1 (root)' desktop is testdb:1

Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/testdb:1.log

2:oracle
New 'testdb:2 (oracle)' desktop is testdb:2

Starting applications specified in /home/oracle/.vnc/xstartup
Log file is /home/oracle/.vnc/testdb:2.log

                                                          [  OK  ]

4
)设置VNC服务随系统启动自动加载
第一种方法:使用“ntsysv”命令启动图形化服务配置程序,在vncserver服务前加上星号,点击确定,配置完成。
第二种方法:使用“chkconfig”在命令行模式下进行操作,命令使用如下(预知chkconfig详细使用方法请自助式man一下)
[root@testdb ~]# chkconfig vncserver on
[root@testdb ~]# chkconfig --list vncserver
vncserver       0:off  1:off   2:on    3:on   4:on    5:on    6:off

9.
小结
  VNC
的详细配置方法到此已经写完,希望能对大家有帮助。VNC对于远程调用图形化界面来说非常的轻巧和便捷,善用之!

Good luck.

secooler
09.06.25

-- The End --

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值