XenServer在启动的时候,会根据提前准备好的脚本以及XAPI程序去检查一系列的关键配置文件,确认这个关键的配置文件都处于正确的配置状态,并读取相应的参数和配置才能正常启动。如果稍微有关键的配置文件出现损坏或者管理员手动修改了其中的一些配置文件,导致出现错误;那么XenServer将自动进入维护模式。如果出现这种情况,那么就需要XenServer本身的健康检查工具或脚本来进行常规配置文件的检查,并修复或者改正错误的配置文件参数。这个工具或者脚本跟会根据XenServer里面已经设计好的一个安全的健康系统模型来进行配置文件比对,该模型包括了XenServer在安装好之后成功启动的一个正确模型配置文件参考。

举个例子来说,比如我们有时会遇到通过XenCenter连接XenServer出现问题,XenCenter无法连接到XenServer,通过检查发现XenServer的网络处于活动状态,其80端口和443端口以及22端口处于开放状态。这种情况就是XenServer的其中某一关键配置文件处于异常状态,导致XenServer的需要读取该配置文件的服务读取参数或配置错误,无法正常启动。本例中XenCenter无法连接到XenServer,但是在22端口开放的情况下,我们需要通过SSH连接到XenServer进行故障的查看和排除。

SSH上去的第一步我们首先需要检查XenServer的服务运行是否正常,一般来说XenCenter是和XAPI服务打交道的,XenCenter连接不上和XAPI有关系。通过查看服务可以发现XAPI服务没有启动或者说启动错误,查看相应的Log日志。知道是该服务读取配置异常导致无法启动。根据提示进行相应配置文件的修复,保证XAPI服务成功启动。例如XAPI启动会读取state.db,如果是state.db出现问题,那么我们只需要重置state.db即可恢复到初始化状态,保证XAPI服务启动。

重置state.db一般的操作是,cd到/var/xapi目录下

对现有的state.db 进行修改,使用命令mv state.db state.db.bak,然后运行service xapi restart,会重新生成一个state.db。之后服务即可正常运行。但是这样配置之后所有VM的配置都会丢失。所有在运维的时候要注意备份state.db等关键配置文件。在有备份的情况下我们恢复正常情况下的state.db,配置就回来了,不是吗。

那么XenServer都有那些关键的配置文件呢?

/boot/extlinux.conf


XenServer的引导程序配置文件,就和Linux的启动文件是类似。这个启动配置文件是基于SysLinux中EXT-based的文件系统内核启动配置文件。这个配置文件里面说明和定义了启动内核的默认配置信息。其启动的默认配置信息如下所示:

此外,着个配置文件还提供串行控制台访问或xeserial,以及安全内核模块:

在最新的XenServer 7中,引导程序已在不使用extlinux,而是改为GRUB2。

/etc/hosts


和Linux系统一样,用于解析主机名的配置文件,在/etc/hosts下可以看到基本的配置信息。该文件里面配置是提供给Dom0解析一下项目使用的:

• localhost

• localhost.localdomain

• 127.0.0.1

/etc/hostname


这个配置文件里面的配置的信息资源用于提供给XAPI使用。比如XenCenter通过XAPI读取该配置文件的主机名信息显示在XenCenter的GUI界面中。

/etc/multipath.conf


这个配置文件主要用于存储目的,在XenServer中连接存储时如果外面考虑存储的链路高可用,一般都采用多路径的形式连接后端的共享存储设备。XenServer支持DM和MP两种多路径技术,这个配置文件里面定义相关存储多路径的配置,是XenServer存储冗余解决方案的重要配置文件。

一般来说我们在实施的时候可能会涉及到修稿该配置文件,因为XenServer正常的两种多路径技术还得和后端的共享存储进行联动,即后端共享存储也要支持DM-MP这类的多路径技术才行。XenServer的该配置文件中默认定义对DM多路径技术的支持,即我们经常在XenCenter中,通过主机进入维护模式在属性中开启的多路径选项。而对于MPP的多路径技术,需要在配置文件中手动进行修改。为什么会是这样的情况呢,皆因现在的存储一般情况下都是正常DM多路径技术,MP多路径技术只有少部分存储支持。因此在遇到支持MP多路径而不支持DM多路径的存储,就需要手动修该配置文件,启用MP多路径。

/etc/resolv.conf


该resolve.conf文件包含安装期间指定为XenServer的 DNS条目,或通过XenCenter或XAPI命令更改的DNS记录信息。这个文件可以手动修改用于排除名称解析问题。

/etc/iscsi/initiatorname.iscsi


Open-iSCSI的安装配置文件,以方便使用基于iSCSI技术的连接存储。在安装期间,将在/etc/iscsi/initiatorname.iscsi为每个XenServer主机生成一个唯一的iSCSI限定名称(IQN)

我们在使用iSCSI来连接存储的时候,就可以查看该配置文件找到XenServer主机的IQN,当然也可以使用XE命令进行查看。需要注意的是重新安装XenServer该值是会变化的。

/etc/xensource/


涉及到的Xen的绝大部分“配置”文件,XAPI服务等核心进程的配置文件都存储在这里。这些大多数文件都在安装中产生。

/etc/xensource/boot_time_cpus

该配置文件主要内容是在每次系统启动时所读取的包含的有关物理主机插槽和内核的信息。

# diff/etc/xensource/boot_time_cpus /proc/cpuinfo

该命令查看boot_time_cpus文件的内容。

这个信息是不只保存来提供给dom0使用,还会被更新到XAPI数据库中。

/etc/xensource/bugtool/


bugtool目录有几个子目录和XML文件,它定义了XenServer的内置bugtool的范围、属性和数据的输出限制。这样的文件规定了该工具最大输出大小和其他所需的内核崩溃转储(或服务器状态报告)访问标准,以及如何利用和存储在错误的条件下所需要的数据。

/etc/xensource/db.conf


这个配置文件是 XenServer数据库配置信息,真正的命名稍长,是db.conf.rio,主要存储的配置信息描述如下:

  • 在哪里去找XAPI数据库

  • 在读取数据库时使用的格式

  • 有关会话使用及会话有效性的信息

/etc/xensource/installed-repos/


根安装和升级以及补丁包等有关系的配置文件,里面定义了安装的系统版本以及系统包,补丁包等等内容,如果我们需要更新,也可以使用修改该配置文件的方法。

/etc/xensource/master.d/


这个目录可以包含主机初始化过程中使用的一个或多个初始化级别的脚本。此外,一个示例性的初始化脚本是专门提供给XenServer Pool Master说使用的。在资源池中根据主机的运行级别运行相应脚本操作相应功能。现在这些脚本在XenServer 7上是全新重新编写的。XenServer 7的Dom0是基于CentOS7开发定制版本。其在启动是时候初始化程序是systemd模型。这种模式在执行如何init-level脚本时和之前的Linux版本有较大的区别。因此我们以前在XenServer6的环境下说编写的启动脚本或者优化脚本就已经不起作用了。

/etc/xensource/network.conf


这是XenServer的网络配置文件,里面描述了XenServer主机说使用的网络类型及依稀参数。在该配置文件中有两种选择:bridge或openvswitch。其中bridge对应的是传统的Linux网络的bridge网络堆栈,同时openvswitch对应开放虚拟交换机或OVS。该OVS是在XenServer6.0的时候被默认在该配置文件中设置为默认配置的。包括最新的XenServer 7也是。但是OVS还需要开发,相比较bridge而言,openvswitch在使用网络大吞吐上还存在瓶颈,当然这个结论目前仅限于XenServer,至于KVM的性能如何还需要测试才知道。

/etc/xensource/pool.conf


Pool文件用于主机确定自己是处于资源池环境(Master还是Slave)还是单独的独立运行环境。该文件拥有主要的两个健值:Master 或 Slave。

一般来说,如果在切换Master的时候,我们就可以使用cat/etc/xensource/pool.conf来查看当前主机是处于Master还是Slave。查询的结果如果是Slave,那么结果还会显示Master的信息,比如IP地址等。在没有开启HA的情况下,我们还可以手动修改该配置文件,手动进行Master还Slave的指定。

/etc/xensource/ptoken


该ptoken文件于SSL一起,被用作XenServer的资源池之间个成员服务器的安全通信。

/etc/xensource/scripts/


该脚本目录包含一个或多个初始化脚本,很像master.d目录。

/etc/xensouce/xapi-ssl.conf


这个文件主要是用来规定使用443端口传输和XenAPI通信的加密流量的认证、加密证书、私钥等信息。同时还涉及加密类型,加密方法,以及在哪里存储XenServer的证书。

/etc/xensouce/xapi-ssl.pem


XAPI-ssl.pem是/etc/init.d/xapissl上安装产生的私钥。它引用XAPI-ssl.conf配置文件中的定义为XenServer主机创建了独特的保密增强(PEM)文件。

/etc/ntp.conf


是属于比较重要的配置文件之一。我们都知道如果宿主机的实际和我们的环境时间如果产生较大的出入,是可能会影响到骑上说承载还虚拟机和其他业务系统的关联于调度的。有时候我们通过命令调节XenServer的时间发现老是出现反弹,那么我们可以采用修改NTP配置文件的方法,一劳永逸修好和同步宿主机的时间。

/var/xapi/


该目录包含完整的XAPI数据库,这是在主机进行安装之后或者资源池创建之后,说进行的XAPI配置和管理信息。该目录就包含了在文章初期我们所述的状态数据库例子,一般来说对于该目录我们最好的办法是不要修改里面内容,因为这里面还配置文件大部分都是基于运行环境自动进行生成的,我们手动进行修改之后可能的问题就是数据的丢失,就比如删除掉状态数据库,将会导致的是我们在XenCenter上看不见我们以前的虚拟机和共享存储等信息了。但是也不用着急和心慌,因为数据都还在,该啥样还是啥样,只是GUI界面说展示的信息没有了而已,通过命令行我们还是可以查看到的。那么在这种情况下需要恢复GUI的显示,只有手动将这些关联数据和信息进行恢复了。

/var/patch/ and /var/patch/applied/


这两个目录极其重要,因为它们包含了补丁程序,补丁的列表,和维护XAPI必不可少的元数据。无论你是否是一台独立的XenServer主机还是XenServer资源池,XAPI必须要保证以下条件:

1.补丁已经被应用到独立主机。

2.补丁已经被应用到所有主机池。

3.所有主机在修补了补丁后的动作,诸如重新启动等均已完成。

在这两个目录中说包含的补丁程序每一个都有一个独特的标识,即基于UUID的文件名的文件。同时此目录是不能够被删除的,因为XAPI会通过该目录检测XenServer的补丁情况,然后如果在联网的情况下XAPI还会对比补丁列表以提醒或推送新的更新。

XenServer关键的配置文件相关推荐

  1. Citrix XenServer 关键配置文件

    XenServer 在启动的时候,会根据提前准备好的脚本以及XAPI程序去检查一系列的关键配置文件,确认这个关键的配置文件都处于正确的配置状态,并读取相应的参数和配置才能正常启动.如果稍微有关键的配置 ...

  2. 如何在XenServer主机上安装虚拟机

    要在XenServer主机上安装一台虚拟机有三种方法--从顶部的菜单栏安装:在AC上部右击主机安装:从AC上部的任务栏安装.当选择安装虚拟机时,在标签窗口会出现第五个标签--"安装XenVM ...

  3. xenserver 安装新硬盘_怎么为为 XenServer 添加新磁盘

    要在XenServer主机上安装一台虚拟机有三种方法--从顶部的菜单栏安装:在AC上部右击主机安装:从AC上部的任务栏安装.当选择安装虚拟机时,在标签窗口会出现第五个标签--"安装XenVM ...

  4. mysql不同实例数据同步_两台Mysql数据库数据同步实现实例

    做开发的时候要做Mysql的数据库同步,两台安装一样的系统,都是FreeBSD5.4,安装了Apache 2.0.55和PHP 4.4.0,Mysql的版本是4.1.15,都是目前最新的版本. 1. ...

  5. 《虚拟化安全解决方案》一2.3 在Windows Server 2008上配置Microsoft Hyper-V

    本节书摘来自华章出版社<虚拟化安全解决方案>一书中的第2章,第2.3节,作者[美]戴夫·沙克尔福(Dave Shackleford),更多章节内容可以访问云栖社区"华章计算机&q ...

  6. puppet(1.7-2.1)

    puppet配置模块(一) 模块是puppet的最大单元,模块里面有类,类下面有资源.同步文件.远程执行命令.cron等叫做资源,都是通过模块来实现的.下面我们来定义一个模块: 在服务端上做如下操作: ...

  7. mysql主从复制(master-slave)_mysql主从复制------Master-Slave搭建及注意事项

    前言 关于mysql主从复制的原理实际上是很通俗易懂的,可是,在实际的搭建这个结构的时候,仍是会遇到不一样的状况的.因而下面介绍的是搭建Master-Slave的操做及注意事项,本文不含数据库的调优参 ...

  8. linux手动释放内存的方法

    Linux手动释放缓存的方法 Linux释放内存的命令: sync echo 1 > /proc/sys/vm/drop_caches drop_caches的值可以是0-3之间的数字,代表不同 ...

  9. Android学习----自适应国际化语言

    [前言] 自适应的知识与编程无关,关键在于配置文件的修改.自适应的内容包括:语言.屏幕.平台.今天就来说一下如何自适应国际化言. internationalization (国际化)简称:i18n,因 ...

最新文章

  1. 甲骨文第四财季SAAS和PAAS收入增长66%
  2. DRF的版本控制,认证,权限和频率限制
  3. Source Insight学习教程
  4. Apache整合Tomcat
  5. 动态定时任务数据库获取方式
  6. Python学习日记(3)Python内建函数map()、filter()和匿名函数表达式
  7. php面向对象的接口,PHP面向对象之接口编程
  8. 关于PredicateT委托
  9. google erath api v3 与v2版本在定位方面的区别
  10. 牛逼!Java 从入门到精通,超全汇总版
  11. 微信公众平台基础开发--禾今微信投票系统
  12. [免费专栏] Android安全之绕过SSL Pinning抓HTTPS数据
  13. Win10+VS2019编译Jpeg源码时缺少win32.mak文件的内容
  14. Oracle公司中文翻译为“甲骨文”的来源是什么?
  15. 如何用微信公众号快速注册小程序
  16. vcm驱动芯片原理_每周一品 · 音圈电机(VCM)中的磁性材料
  17. js调用百度地图API获取区域边界线
  18. Photoshop中的渐变工具
  19. 计算机上静音快捷键是什么,电脑静音快捷键是什么(如何设置电脑一键静音?)...
  20. DXP的使用及绘制PCB

热门文章

  1. hmailserver配置(图)
  2. word_state
  3. Ubuntu 壁纸下载
  4. 好程序员web前端分享用CSS和JS打造一个简单的图片编辑器
  5. [VB.NET]VB的vbFromUnicode、vbUnicode在vb.net中怎么使用
  6. OS发展史中各操作系统的形成、发展和特点
  7. 【原创】pythonnbsp;Reuqestsamp;nbs…
  8. tftp协议的实现和即时通讯软件
  9. 通达信量化接口主力进出指标分析
  10. 服务端发现2t3ik.p进程占CPU过高。2t3ik ddgs.3011