Chinaunix首页 | 论坛 | 博客
  • 博客访问: 6781137
  • 博文数量: 1662
  • 博客积分: 16831
  • 博客等级: 上将
  • 技术积分: 12554
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-25 07:23
个人简介

柔中带刚,刚中带柔,淫荡中富含柔和,刚猛中荡漾风骚,无坚不摧,无孔不入!

文章分类

全部博文(1662)

文章存档

2021年(8)

2020年(24)

2019年(4)

2018年(19)

2017年(66)

2016年(60)

2015年(49)

2014年(201)

2013年(221)

2012年(638)

2011年(372)

分类: 云计算

2012-07-17 11:41:27

KVM&OpenVZ虚拟化和使用Proxmox VE进行云计算  

2011-12-31 11:00:42|  分类: 虚拟化+云计 |  标签: |字号 

Proxmox VE 是一个基于Debian Etch (x86_64) 版本的虚拟环境;它提供了一个可运行OpenVZ和KVM虚拟机的开源虚拟化平台。同时,其拥有一个强大的基于web界面的控制面板(这个控制面板包含了一个web化的图形控制终端,你可以通过这个终端,连接并使用虚拟机。 使用Proxmox VE,你甚至可以通过控制面板创建虚拟主机集群,并且在远程的主机上创建和控制虚拟机。Proxmox VE,同时也支持把一个运行的虚拟机从一个主机中镜像到另一个。这个教程将向你展示如何使用Proxmox VE控制KVM和OpenVZ虚拟机,和怎样通过Proxmox VE创建一个小的计算机云。
我不能保证这篇文章对你完全有效。
1 前言

Proxmox VE是一个基于x86_64的版本,因此你不能把它安装到一个i386系统上。并且,如果你使用的是KVM,那么你的CPU就必须支持类似于Intel VT或者是AMD-V的硬件虚拟化技术,但是如果你想使用OpenVZ的话,就不需要CPU的支持了。
在这个教程中,我将创建拥有两个机器的小集群,Proxmox master(主机名 server1.example.com ip地址 192.168.0.100)和一个slave(主机名 server2.example.com ip地址 192.168.0.101),以方便我展示在线镜像和通过Proxmox VE在远程主机上创建并管理虚拟机的功能。当然,Proxmox VE在一台主机上也能够很好地运行。
2 在server1.example.com(Master)上安装Proxmox VE
从网站下载最新的Proxmox VE的ISO镜像,把这个镜像烧录成CD光盘,并在你的计算机上引导启动这个CD光盘。在启动时按ENTER键:

接受Proxmox的证书许可(GPL)

选择你想安装Proxmox的硬盘。在这里需要注意的是被选择的硬盘上所有已经存在的分区和数据都将会丢失!

选择你的国家,时区,和键盘布局:

输入一个密码(这是一个可以使你登陆shell和Proxmox Web管理界面的root密码)和你的Email地址:

现在我们就进入到了网络配置的阶段。输入主机名(例如server1.example.com),IP地址(例如192.168.0.100),子网掩码(例如255.255.255.0),网关(例如192.168.0.1),和域名服务器(例如145.253.2.75):

然后,Proxmox就会被安装到计算机上了,安装过程将会使用LVM自动分区你的硬盘-这就是为什么在安装的过程中没有出现分区的对话框的原因。Proxmox使用LVM是因为它可以允许为虚拟机创建snapshot backups。

最后重启系统:

在server1主机重启过后,你就可以在浏览器中输入并打开浏览器将会重新指向。
如果你使用的是Firefox 3在使用HTTPS时,Firefox会抱怨说没有self-signed certificate,因此你必须告诉Firefox接受这个证书-点击Or you can add exception…链接即可:

点击Add Exception…:

这时添加Security Exception的窗口就会打开,在这个窗口中,先点击Get Certificate按钮,然后Confirm Security Exception按钮:

  
然后,你就会看到Proxmox的登陆框,输入root用户名和你在安装Proxmox时候创建的密码:

下面就是Proxmox控制面板的界面:

3 通过添加一个Slave(server2.example.com)创建一个集群(可选择阅读)

(如果你想在一台主机上运行Proxmox的话,便可跳过本章节)
你可以通过把一个或者是多个Slave服务器添加到Proxmox master(server1.example.com)中来创建一个群集或者云计算。这样的集群允许你通过Proxmox的控制面板在远程主机上创建和管理虚拟机。你甚至可以把一个运行的虚拟机从一个主机中镜像到另一个上去。
下面我将为你展示怎样添加第二个主机,server2.example.com,并创建一个群集。
首先在server2.example.com上也安装Proxmox,安装过程和在server1上类似.当你进入网络设置部分时,设置主机名为server2.example.com,并且输入一个和master主机不同的IP地址(例如192.168.0.101) :

安装并重启系统以后,通过终端工具登陆(类似PuTTY)server1和server2
  
在server1上,运行下列命令:
server1:
pveca -c
server1:~# pveca -c
Generating public/private rsa key pair.
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
ce:bf:a2:cd:69:23:e4:78:fc:05:db:fc:55:ef:52:1d root@server1
cluster master successfully created
server1:~#

然后检查下集群的状态:
server1:
pveca -l
server1:~# pveca -l
CID—-IPADDRESS—-ROLE-STATE——–UPTIME—LOAD—-MEM—ROOT—DATA
1 : 192.168.0.100   M     A           00:14   0.00     5%     1%     0%
server1:~#

在server2上,输入:
server2:
pveca -a -h 192.168.0.100
server2:~# pveca -a -h 192.168.0.100
Generating public/private rsa key pair.
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
ea:ad:21:fc:5d:9b:af:ab:fb:0d:72:72:c7:94:23:ca root@server2
The authenticity of host ’192.168.0.100 (192.168.0.100)’ can’t be established.
RSA key fingerprint is 7c:17:8c:35:9c:be:60:6b:56:97:2a:0b:72:60:57:09.
Are you sure you want to continue connecting (yes/no)? <– yes
Warning: Permanently added ’192.168.0.100′ (RSA) to the list of known hosts.
root@192.168.0.100′s password: <– root password of server1.example.com
cluster node successfully created
server2:~#

  
就是这样,你已经创建了一个集群。你可以检查下正在运行的主机:、
server2:
pveca -l
应该在输出结果中显示两个主机的信息:
server2:~# pveca -l
CID—-IPADDRESS—-ROLE-STATE——–UPTIME—LOAD—-MEM—ROOT—DATA
1 : 192.168.0.100   M     S           00:15   0.00     5%     1%     0%
2 : 192.168.0.101   N     S           00:04   0.08    15%     1%     0%
server2:~#

现在我们回到Proxmox的控制面(server2.example.com不需要控制面板!)并查看群集,在这里将会显示两台服务器:

4 添加设备模板

在我们创建OpenVZ容器之前,我们至少要在我们的系统当中添加一个操作系统模板(对于KVM客户机来说,你不单可以添加ISO文件,也可以直接从OS CD或者DVD来安装)。
点击Appliance Template。你将会发现两个选项,LocalDownload:



在Download里,你将会看到一个Proxmox项目提供的templates列表,你可以直接下载这些系统。

… – 理论上讲-这些系统的链接太老了,已经不再适合我们了:

这就是为什么我们必须使用Local选项,你可以去然后去访问admin, mail, system, 或者www 文件夹

…下载你需要的templates到你的本地硬盘里:

Local选项里,你可以把templates上传到Proxmox master主机上:

你同时也可以上传ISO镜像创建KVM的客户机,想要删除一个Template或者是ISO文件的话,只需要点击其前面的红色图标,选择Delete按钮:

5创建OpenVZ容器

要创建OpenVZ容器,需要到Virtual Machines > Create...

… 填写这些表格。选择容器(OpenVZ)和你想使用的template。指定一个主机名(例如 vm1.example.com),内存和SWAP的大小,设置一个root密码,选择Virtual Network(venet)并为容器指定一个IP地址(例如 192.168.0.102),填写一个VM1D,选择一个集群节点(如果你不创建一个集群的话(参考第三章),你仅仅选择了master,而没有远程的主机。)确定容器是否需要在主机启动的时候自动启动,并填写一到两个DNS服务器(例如 145.253.2.75 和213.191.92.86).然后点击create:

这个容器就会被创建了…

… 这样的话这个容器就会被列在List选项下。这个容器是停止的;要启动它,点击这个容器:

这时就会打开你可以控制这个容器的地方,要启动容器,只需点击Start按钮即可:

你应该能看到Open VNC console这个链接,如果你点击它…

…一个基于浏览器的终端界面就会弹出来,通过它你可以控制虚拟机(这对于desktop的机器特别有用;如果这个虚拟机是台服务器,你也可以通过SSH连接它(例如PuTTY)).

  
6 在集群的远程系统中创建虚拟机

如果你创建了一个集群(参考第三章),你也可以在远程的系统当中创建属于这个集群的虚拟机-只需在你创建虚拟机的时候选择集群节点下的远程节点即可(截屏显示的是在OpenVZ下,然而,这对于KVM虚拟机也同样有效,只要这个节点支持硬件虚拟化)

  
这时List选项应该就显示运行在不同节点上的虚拟机了:

  
7 创建KVM客户机

如果你的CPU支持硬件虚拟化(Intel VT或 AMD-V),你除了可以创建OpenVZ containers,还可以创建KVM guests。只需要在Type下拉菜单中选择Fully virtualized (KVM),并且在Installation Media下拉菜单中选择cdrom device或者你上传的一个ISO镜像。在这里不需要对网络进行设置,KVM虚拟机将会自动完成这些设置。另外需要你确信你选择了正确的Guest Type(Linux 2.6、Windows XP等等):

随后KVM客户机就应该在List选项下显示了,新的虚拟机总是停止的。点击它…

…要打开管理页面只需点击Start按钮即可(如果你选择的是从CD-ROM安装客户机,在你点击Start按钮前,把操作系统CD和DVD插入到你的系统光驱中。

然后点击Open VNC console链接…

…这时就可以连接到guest的图形终端;你就可以像在真实机器上一样安装操作系统了:

7.1 安装 Windows XP

KVM同样允许你安装Windows 客户机。在Installation Media 下拉菜单中选择cdrom device,并且在Guest下拉菜单中选择Windows XP:

在系统光驱中插入Windows XP光盘,启动guest,并且连接到它的图形终端。你现在就可以在随着Windows安装引导安装一个Windows XP虚拟机:



8 Live Migration

如果你已经设置了一个Proxmox 集群(参见第三章),你就可以把正在运行的虚拟机从一个节点镜像到另外一个节点上。只需要点击Virtual Machines > Migrate,选择guest,source,target节点,选取Online migration并点击镜像:

这时guest镜像就会自动运行:

然后,List页面就会显示被镜像的虚拟机就会运行在其他的节点上:

9 备份

使用Proxmox VE,你可以创建一个cron任务来备份你的虚拟机。在你创建备份前,我们需要建立一个备份文件夹,例如/backup.进入server1的命令行并运行:
server1:
mkdir /backup
在Proxmox的控制面板中,打开Backup页面,并点击Backup Jobs前的红色图标,然后选择创建一个新的job:

选择你想要备份的cluster node和virtual machines。指定/backup为目标文件夹,并选择你想创建备份的日期。在Mode下,你可以选择snapshot(LVM snapshot ,没有中断),supend(当备份被创建时虚拟机将会在一段时间内挂起)和stop(虚拟机完全停止)。在这里我推荐使用snapshot,尤其在你不能接受任何中断的情况下:

然后,你就会在Backup页面看到backup cron 任务:
阅读(923) | 评论(0) | 转发(0) |
0

上一篇:通过Xen理解Oracle VM原理

下一篇:ovirt简介

给主人留下些什么吧!~~