在具有共享存储的xen Server上实现共享VM的启动方法

如果在一台xen Server主机上创建了一个VM,该VM安装在共享的盘阵上。那么如果该主机因硬件原因出现宕机,怎么在其他主机启动共享盘上的VM实现VM的高可用呢。Citrix Xen Server 的高级版本和企业版本提供了高可用支持,且要求Xen Server主机要在同一个池中。

这里我们不通过同一个池,怎么实现VM的启动呢。在网上花费了很多时间用于查找相关资料。都未能插到我需要的资料。

后来就思考,按照道理来说这个功能应该是能够实现的才对。功夫不負有心人

环境

Citrix Xen Serer 6.1免费版:http://www.jb51.net/softs/391983.html

免费版这里需要三台服务器

A、B为XEN Server 服务器。C主机用于iscsi 虚拟出一个共享磁盘出来。
在主机A上虚拟机的建立

1、建立iSCSI SR

2、新建虚拟机  在选择主服务器页面时, 选择不为此VM分配主服务器(D),如图:
3、用iSCSI SR库来为新VM分配存储如图:

4、继续完成VM的安装。

在主机B上启动在主机A上建立的VM     要在主机B上启动在主机A上建立的VM,需要主机A与共享盘阵断开连接。iSCSI SR库右键->分离(D)...。注意,需要SR上的所有虚拟机都关机的情况下,才能执行分离操作。

如果主机A不与共享盘阵分离,在主机B连上盘阵后,就会对盘阵数据照成破坏。

1、新建iSCSI 存储库

在iSCSI存储库路径输入页面,输入iscsi目标主机IP地址。点击完成,会弹出如下对话框:
选择连接SR(A)

2、新建虚拟机且不启动(与源虚拟机参数一致)

3、给新添加的VM添加之前建立的iscsi 磁盘,并设置位置为0
选择 交换这些磁盘(S)

此时如果我们不需要刚刚新建的磁盘,则可以将其删除(刚新建的磁盘没有数据,可以直接删除)

4、去掉DVD驱动器

将DVD驱动器设置为空,否则会从DVD驱动中启动虚拟机。(这里应该可以通过配置虚拟机的启动参数来修改虚拟机的启动项)
此时我们启动虚拟机,则会报:Error from bootloader:no bootable disk。说当前虚拟机没有启动磁盘。

5、设置虚拟机引导参数:

执行xe vm-list 命令,查看但前xen主机上的虚拟机

执行xe vm-param-list uuid=<vm-uuid>命令看看指定uuid虚拟机的参数

我们可以看到:


PV-bootloader (RW):elioader  这一行。

修改PV-bootloader (RW)的值为pygrub,命令如下:

xe vm-param-set PV-bootloader=pygrub uuid=<vm-uuid>

再执行启动虚拟机操作,如果依然报Error from bootloader:no bootable disk,则执行第6

6、修改vbd参数

执行命令

xe vbd-list 列出当前主机上的所有VBD,找到对应虚拟机的VBD

执行命令 xe vbd-param-list uuid=<vbd-uuid>
可以看到 bootable(RW):的值为false,需要修改该值为true。执行命令如下

:xe vbd-param-set bootable=true uuid=<vbd-uuid>
重新执行启动,这次就启动成功了;

7、修改网络物理地址(mac地址)如果在主机B上建立虚拟机时,指定了源主机A上虚拟机的MAC地址。则跳过这一步。否则需要修改mac地址。
将mac地址修改为虚拟机内部设置的mac地址(原主机A上虚拟机的MAC地址)

这样我们就实现了在另一台主机上启动共享虚拟机的功能了。

注意:    这里只是我的实验结果,具体对虚拟机或者对xen server有没有影响,现在还不清楚。有待后续测试完善。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Citrix XenServer 6.1 安装图解教程

    本次为使用VirtualBox虚拟机过安装测试机过程,我们在使用Vm(无论是Vbox还是VMware等)我们的CPU都必须可支持Intel-V或AMD-V,并且在VM软件设置和BIOS设置开启虚拟化支持. Vm基本要求:CPU两核,RAM 1G,系统设置为Linux_x86-64 XenServer 6.1下载地址:http://www.jb51.net/softs/391983.html 一.选择键盘类型:US. 二.这个是欢迎界面,选择"OK"即可. 三.这个是使用协议,我们必须得

  • xenserver虚拟机实时性能查看方法

    登陆服务器,执行脚本/opt/tools/real_time_status.sh:(该脚本的相关数据都是从xentop命令中提取的) #!/bin/bash # Program: # Real-time Performance # History: # 2014/09/29 caishunzhi First release DIR="/opt/tools" HOSTNAME=`/bin/hostname` SORT=${1:-4} NUM=${2:-6} function get_pe

  • Citrix XenServer 6.1 的安装与配置方法

    一.XenServer 6.1简介 Citrix XenServer服务器虚拟化系统通过更快的应用交付,更高的IT 资源可用性和利用率,让数据中心变得更加灵活.高效.XenServer 在提供了关键工作负载(操作系统.应用和配置)所需的先进功能的同时,不会牺牲大规模部署必需的易于操作的特点.利用独特的流技术,XenServer可通过虚拟或物理服务器快速交付各种工作负载,成为企业每台服务器的理想虚拟化平台. 而在2012年10月17日,北京--思杰公司日前宣布推出业界领先的企业级虚拟化平台XenS

  • XenServer 6.5 安装配置图文教程

    废话少说,直接上马 首先下载好xenserver6.5的iso镜像文件,物理机就刻盘安装,虚拟机就直接使用iso镜像安装 XenServer6.5下载地址:http://www.jb51.net/softs/391981.html 1.安装界面 2.键盘模式选择默认-美式,ok 3.这里提醒你安装将清除磁盘信息,做好备份,ok 4.想什么呢,当然是Accept了 5.服务器的CPU没有开启虚拟化,请开启虚拟化后继续 6.选择安装在本地硬盘,第一项,ok 7.安装介质选择本地光盘,第一项,ok 8

  • 在具有共享存储的xen Server上实现共享VM的启动方法

    如果在一台xen Server主机上创建了一个VM,该VM安装在共享的盘阵上.那么如果该主机因硬件原因出现宕机,怎么在其他主机启动共享盘上的VM实现VM的高可用呢.Citrix Xen Server 的高级版本和企业版本提供了高可用支持,且要求Xen Server主机要在同一个池中. 这里我们不通过同一个池,怎么实现VM的启动呢.在网上花费了很多时间用于查找相关资料.都未能插到我需要的资料. 后来就思考,按照道理来说这个功能应该是能够实现的才对.功夫不負有心人 环境 Citrix Xen Ser

  • 在Ubuntu 16.04 Server上安装Zabbix的方法

    监控服务器 - 什么是 Zabbix Zabbix 是企业级开源分布式监控服务器解决方案.该软件能监控网络的不同参数以及服务器的完整性,还允许为任何事件配置基于电子邮件的警报.Zabbix 根据存储在数据库(例如 MySQL)中的数据提供报告和数据可视化功能.软件收集的每个测量指标都可以通过基于 Web 的界面访问. Zabbix 根据 GNU 通用公共许可证版本 2(GPLv2)的条款发布,完全免费. 在本教程中,我们将在运行 MySQL.Apache 和 PHP 的 Ubuntu 16.04

  • Android studio 利用共享存储进行用户的注册和登录验证

        //注册功能public class MainActivity extends AppCompatActivity { //声明共享存储(全局变量) private SharedPreferences spf; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); /

  • Android studio 利用共享存储进行用户的注册和登录验证功能

      //注册功能 public class MainActivity extends AppCompatActivity { //声明共享存储(全局变量) private SharedPreferences spf; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //

  • openGauss数据库共享存储特性概述

    目录 版本介绍 继承功能: 新增功能: 主备共享存储 特性简介 客户价值 特性描述 特性约束 openGauss 3.1.1是openGauss 5.0.0 release版本的Preview版本,希望广大社区伙伴和开发者基于此版本进行场景化验证,提前发现问题并反馈社区,社区将在LTS版本发布前进行问题修复.当前文档说明范围仅限企业版. 版本介绍 3.1.1与之前的版本特性功能保持兼容,主要功能如下: 继承功能: 基础功能:SQL标准语法.数据类型.表(包括临时表.全局临时表.外部表).视图.物

  • 在 Ubuntu 12.04 Server 上安装部署 Ruby on Rails 应用

    本教程只适合 Ubuntu Server 用于部署项目到线上,建议使用同样的 Ubuntu 版本,以免遇到一些版本不同带来的问题. 本教程适合新手初次部署 Rails 应用: 本文测试通过环境 Ubuntu 12.04 Server, 服务器安装测试于 Linode VPS (Ubuntu 12.04 LTS (GNU/Linux 3.4.2-x86_64-linode25 x86_64). 配置 Ubuntu Server 系统 如果你是国内服务器,推荐修改网易的源 输入 sudo vi /e

  • spring cloud将spring boot服务注册到Eureka Server上的方法

    开篇: 我们将前面的springboot整合H2内存数据库,实现单元测试与数据库无关性提供的Restful服务注册到spring cloud的Eureka Server上. 一.引入Eureka的Client </dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka</ar

  • 在K8s上部署Redis集群的方法步骤

    一.前言 架构原理:每个Master都可以拥有多个Slave.当Master下线后,Redis集群会从多个Slave中选举出一个新的Master作为替代,而旧Master重新上线后变成新Master的Slave. 二.准备操作 本次部署主要基于该项目:https://github.com/zuxqoj/kubernetes-redis-cluster 其包含了两种部署Redis集群的方式: StatefulSet Service&Deployment 两种方式各有优劣,对于像Redis.Mong

  • NodeJS与HTML5相结合实现拖拽多个文件上传到服务器的实现方法

    实现多文件拖拽上传的简易Node项目,可以在github上下载,你可以先下载下来:https://github.com/Johnharvy/upLoadFiles/. 解开下载下的zip格式包,建议用webstom 运行该项目,通过app.js启动项目,如果提示找不到node.exe执行环境,请指定好你的node.exe安装位置.这里我用的express框架是3.21.2版本. 我们来简单介绍下拖拽效果是怎么实现的. 这里先看代码: <!DOCTYPE html> <html lang=

  • sql server数据库高可用日志传送的方法

    一. 日志传送概述 SQL Server使用日志传送,可以自动将主服务器的事务日志备份发送到一个或多个辅助数据库上.事务日志备份分别应用于每个辅助数据库. 可选的第三个服务器实例(称为"监视服务器")记录备份和还原操作的历史记录及状态,还可以在无法按计划执行这些操作时引发警报. 可选的监视服务器,记录备份和还原操作的历史记录及状态. 下面话不多说了,来一起看看详细的介绍吧. 优点 提供灾难恢复解决方案 支持对辅助数据库的受限的只读访问权限 允许用户定义日志发送的延迟时间(如果主数据库上

随机推荐