本文共 5076 字,大约阅读时间需要 16 分钟。
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
这个配置文件里面的配置的信息资源用于提供给XAPI使用。比如XenCenter通过XAPI读取该配置文件的主机名信息显示在XenCenter的GUI界面中。
这个配置文件主要用于存储目的,在XenServer中连接存储时如果外面考虑存储的链路高可用,一般都采用多路径的形式连接后端的共享存储设备。XenServer支持DM和MP两种多路径技术,这个配置文件里面定义相关存储多路径的配置,是XenServer存储冗余解决方案的重要配置文件。
一般来说我们在实施的时候可能会涉及到修稿该配置文件,因为XenServer正常的两种多路径技术还得和后端的共享存储进行联动,即后端共享存储也要支持DM-MP这类的多路径技术才行。XenServer的该配置文件中默认定义对DM多路径技术的支持,即我们经常在XenCenter中,通过主机进入维护模式在属性中开启的多路径选项。而对于MPP的多路径技术,需要在配置文件中手动进行修改。为什么会是这样的情况呢,皆因现在的存储一般情况下都是正常DM多路径技术,MP多路径技术只有少部分存储支持。因此在遇到支持MP多路径而不支持DM多路径的存储,就需要手动修该配置文件,启用MP多路径。
该resolve.conf文件包含安装期间指定为XenServer的 DNS条目,或通过XenCenter或XAPI命令更改的DNS记录信息。这个文件可以手动修改用于排除名称解析问题。
Open-iSCSI的安装配置文件,以方便使用基于iSCSI技术的连接存储。在安装期间,将在/etc/iscsi/initiatorname.iscsi为每个XenServer主机生成一个唯一的iSCSI限定名称(IQN)
我们在使用iSCSI来连接存储的时候,就可以查看该配置文件找到XenServer主机的IQN,当然也可以使用XE命令进行查看。需要注意的是重新安装XenServer该值是会变化的。
涉及到的Xen的绝大部分“配置”文件,XAPI服务等核心进程的配置文件都存储在这里。这些大多数文件都在安装中产生。
/etc/xensource/boot_time_cpus
该配置文件主要内容是在每次系统启动时所读取的包含的有关物理主机插槽和内核的信息。
# diff/etc/xensource/boot_time_cpus /proc/cpuinfo
该命令查看boot_time_cpus文件的内容。
这个信息是不只保存来提供给dom0使用,还会被更新到XAPI数据库中。
bugtool目录有几个子目录和XML文件,它定义了XenServer的内置bugtool的范围、属性和数据的输出限制。这样的文件规定了该工具最大输出大小和其他所需的内核崩溃转储(或服务器状态报告)访问标准,以及如何利用和存储在错误的条件下所需要的数据。
这个配置文件是 XenServer数据库配置信息,真正的命名稍长,是db.conf.rio,主要存储的配置信息描述如下:
在哪里去找XAPI数据库
在读取数据库时使用的格式
有关会话使用及会话有效性的信息
根安装和升级以及补丁包等有关系的配置文件,里面定义了安装的系统版本以及系统包,补丁包等等内容,如果我们需要更新,也可以使用修改该配置文件的方法。
这个目录可以包含主机初始化过程中使用的一个或多个初始化级别的脚本。此外,一个示例性的初始化脚本是专门提供给XenServer Pool Master说使用的。在资源池中根据主机的运行级别运行相应脚本操作相应功能。现在这些脚本在XenServer 7上是全新重新编写的。XenServer 7的Dom0是基于CentOS7开发定制版本。其在启动是时候初始化程序是systemd模型。这种模式在执行如何init-level脚本时和之前的Linux版本有较大的区别。因此我们以前在XenServer6的环境下说编写的启动脚本或者优化脚本就已经不起作用了。
这是XenServer的网络配置文件,里面描述了XenServer主机说使用的网络类型及依稀参数。在该配置文件中有两种选择:bridge或openvswitch。其中bridge对应的是传统的Linux网络的bridge网络堆栈,同时openvswitch对应开放虚拟交换机或OVS。该OVS是在XenServer6.0的时候被默认在该配置文件中设置为默认配置的。包括最新的XenServer 7也是。但是OVS还需要开发,相比较bridge而言,openvswitch在使用网络大吞吐上还存在瓶颈,当然这个结论目前仅限于XenServer,至于KVM的性能如何还需要测试才知道。
Pool文件用于主机确定自己是处于资源池环境(Master还是Slave)还是单独的独立运行环境。该文件拥有主要的两个健值:Master 或 Slave。
一般来说,如果在切换Master的时候,我们就可以使用cat/etc/xensource/pool.conf来查看当前主机是处于Master还是Slave。查询的结果如果是Slave,那么结果还会显示Master的信息,比如IP地址等。在没有开启HA的情况下,我们还可以手动修改该配置文件,手动进行Master还Slave的指定。
该ptoken文件于SSL一起,被用作XenServer的资源池之间个成员服务器的安全通信。
该脚本目录包含一个或多个初始化脚本,很像master.d目录。
这个文件主要是用来规定使用443端口传输和XenAPI通信的加密流量的认证、加密证书、私钥等信息。同时还涉及加密类型,加密方法,以及在哪里存储XenServer的证书。
XAPI-ssl.pem是/etc/init.d/xapissl上安装产生的私钥。它引用XAPI-ssl.conf配置文件中的定义为XenServer主机创建了独特的保密增强(PEM)文件。
是属于比较重要的配置文件之一。我们都知道如果宿主机的实际和我们的环境时间如果产生较大的出入,是可能会影响到骑上说承载还虚拟机和其他业务系统的关联于调度的。有时候我们通过命令调节XenServer的时间发现老是出现反弹,那么我们可以采用修改NTP配置文件的方法,一劳永逸修好和同步宿主机的时间。
该目录包含完整的XAPI数据库,这是在主机进行安装之后或者资源池创建之后,说进行的XAPI配置和管理信息。该目录就包含了在文章初期我们所述的状态数据库例子,一般来说对于该目录我们最好的办法是不要修改里面内容,因为这里面还配置文件大部分都是基于运行环境自动进行生成的,我们手动进行修改之后可能的问题就是数据的丢失,就比如删除掉状态数据库,将会导致的是我们在XenCenter上看不见我们以前的虚拟机和共享存储等信息了。但是也不用着急和心慌,因为数据都还在,该啥样还是啥样,只是GUI界面说展示的信息没有了而已,通过命令行我们还是可以查看到的。那么在这种情况下需要恢复GUI的显示,只有手动将这些关联数据和信息进行恢复了。
这两个目录极其重要,因为它们包含了补丁程序,补丁的列表,和维护XAPI必不可少的元数据。无论你是否是一台独立的XenServer主机还是XenServer资源池,XAPI必须要保证以下条件:
1.补丁已经被应用到独立主机。
2.补丁已经被应用到所有主机池。
3.所有主机在修补了补丁后的动作,诸如重新启动等均已完成。
在这两个目录中说包含的补丁程序每一个都有一个独特的标识,即基于UUID的文件名的文件。同时此目录是不能够被删除的,因为XAPI会通过该目录检测XenServer的补丁情况,然后如果在联网的情况下XAPI还会对比补丁列表以提醒或**新的更新。
本文转自不要超过24个字符博客51CTO博客,原文链接http://blog.51cto.com/cstsncv/1924996如需转载请自行联系原作者
cstsncv