如何在集群服务器上管理hosts文件? (集群服务器hosts文件)

随着互联网的迅猛发展,服务器集群已经成为企业级应用中不可或缺的一部分,它可以为企业带来高可用性、高性能等优质体验。但是,如何正确管理服务器集群上的hosts文件,却是一个很多管理人员头痛的问题。本文将介绍如何在集群服务器上管理hosts文件。

1. 什么是hosts文件?

我们需要了解什么是hosts文件。hosts文件是电脑系统中的一个文本文件,其中存储了IP地址和主机名之间的映射关系。这意味着,只要你能访问该主机,就可以直接使用该主机的IP地址,而不需要通过域名解析服务来查找IP地址。hosts文件的作用是将主机名映射到IP地址,以便于用户对某些特定IP地址主机的访问。同时,hosts文件还可以阻止电脑访问特定的网站。

2. hosts文件的重要性

hosts文件在网络通信中扮演着非常重要的角色。它可以直接控制你访问特定主机的行为。如果你的电脑没有配置好正确的hosts文件,则有可能无法访问某些服务器上的数据,甚至可能被迫中断某些服务。因此,管理主机上的hosts文件是一个非常重要的任务。

3. 集群服务器

如果有多个服务器需要使用hosts文件,则需要在每台计算机中配置hosts文件。但在服务器集群中,这样的方式就不再适用了。服务器集群通常在网络中的各个节点上都有一个或多个复制存储的数据,这些数据需要在所有计算机上保持同步。由于每个节点都要共享相同的IP地址和主机名映射,因此在集群服务器中使用hosts文件需要特殊的管理方法。

4. 使用集中式配置管理

集群服务器上的每个节点都需要使用相同的hosts文件,因此可以使用集中式配置管理来完成这个任务。

一种方法是使用一个文件服务器,所有节点都可以连接到该服务器上。管理员只需要将hosts文件存储在该服务器中,然后一次性将其同步到每个节点。这种方法可以确保所有节点上的hosts文件始终保持同步。但是,此方法仍然需要管理员手动管理每个节点。

另一个方法是使用集中式配置管理工具,如Ansible、Saltstack、Puppet、Chef等。这些工具可以自动化地管理集群服务器。管理员可以将hosts文件配置为自定义的Role和Playbooks,而这些Role和Playbooks可以针对特定条件的软件包进行管理。这种方法可以节省管理员的时间和精力,使整个集群更加高效稳定。

5. 使用隶属配置管理

除了使用集中式配置管理外,还可以使用隶属于集群的配置管理方法。例如,RedHat Cluster或Windows Server Flover Cluster等高可用性技术可以在集群的节点之间共享配置文件。

在RedHat Cluster中,可以使用OpenS +Corosync作为群集通信层,在不同计算机节点之间自动同步配置,以保持 hosts 文件的一致性。在Windows Server Flover Cluster中,可以使用共享存储卷作为数据引擎进行数据存储和共享。

集群服务器上的hosts文件管理与单独服务器的管理有很大不同。要保证集群中所有节点都以相同的方式配置,建议使用集中式或隶属配置文件,以确保所有节点上的配置文件始终保持同步。

在实践操作中,我们可以使用工具如Ansible等来自动化配置过程,同时监测内容的变更,并在主节点完成更新之后自动将所有从节点的内容更新到最新状态。这样做可以大大简化配置过程,并且可以保证配置的统一性及准确性。

本文介绍了集群服务器上hosts文件的重要性,同时介绍了如何使用不同的配置管理方法来管理hosts文件。管理员可以根据不同的需求选择相应的方法,以确保集群服务器的正常运行。

相关问题拓展阅读:

⑩ OpenStack高可用集群部署方案(train版)—OpenStack对接Ceph存储

参考Ceph官方安装文档

Openstack环境中,数据存储可分为临时性存储与永久性存储。

临时性存储:主要由本地文件系统提供,并主要用于nova虚拟机的本地系统与临时数据盘,以及存储glance上传的系统镜像;

永久性存储:主要由cinder提供的块存储与swift提供的对象存储构成,以cinder提供的块存储应用最为广泛,块存储通常以云盘的形式挂载到虚拟机中使用。

Openstack中需要进行数据存储的三大项目主要是nova项目(虚拟机镜像文件),glance项目(共用模版镜像)与cinder项目(块存储)。

下图为cinder,glance与nova访问ceph集群的逻辑图:

ceph与openstack集成主要用到ceph的rbd服务,ceph底层为rados存储集群,ceph通过librados库实现对底层rados的访问;

openstack各项目客户端调用librbd,再由librbd调用librados访问底层rados;

实际使用中,nova需要使用libvirtdriver驱动以通过libvirt与春陪qemu调用librbd;cinder与glance可直接调用librbd;

写入ceph集群的数据被条带切分成多个object,object通过hash函数映射到pg(构成pg容器池pool),然后pg通过几圈crush算法近似均匀地映射到物理存储设备osd(osd是基于文件系统的物理存储设备,如xfs,ext4等)。

CEPH PG数量设置与详细介绍

在创建池之前要设置一下每个OSD的更大PG 数量

PG PGP官方计算公式计算器

参数解释:

依据参数使用公式计算新的 PG 的数目:

PG 总数= ((OSD总数*100)/更大副本数)/池数

3×100/3/3=33.33 ;舍入到2的N次幕为32

openstack集群作为ceph的客户端;下面需要再openstack集群上进行ceph客户端的环境配置

在openstack所有控制和计算节点安装ceph Octopus源码包,centos8有默认安装,但是版本一定要跟连接的ceph版本一致

glance-api 服务运行在3个控制节点,

因此三台控制节点都必须安装

cinder-volume 与 nova-compute 服务运行在3个计算(存储)节点;

因此三台计算节点都必须安装

将配置文件和密钥复制到openstack集群各节点

配置文件就是生成的ceph.conf;而密钥是 ceph.client.admin.keyring ,当使用ceph客户端连接至ceph集群时需要使用的密默认密钥,这里我们所有节点都要复制,命令如下

※Glance

作为openstack中镜像服务,支持多种适配器,支持将镜像存放到本地文件系统,http服务器,ceph分布式文件系统,glusterfs和sleepdog等开源的分布式文件系统上。目前glance采用的是本地filesystem的方式存储,存放在默认的路径 /var/lib/glance/images 下,当把本地的文件系统修改为分布式的文件系统ceph之后,原本在系统中镜像将无法使用,所以建议当前的镜像删除,梁陪部署好ceph之后,再统一上传至ceph中存储。

※Nova

负责虚拟机的生命周期管理,包括创建,删除,重建,开机,关机,重启,快照等,作为openstack的核心,nova负责IaaS中计算重要的职责,其中nova的存储格外重要,默认情况下,nova将instance的数据存放在/var/lib/nova/instances/%UUID目录下,使用本地的存储空间。使用这种方式带来的好处是:简单,易实现,速度快,故障域在一个可控制的橡森蠢范围内。然而,缺点也非常明显:compute出故障,上面的虚拟机down机时间长,没法快速恢复,此外,一些特性如热迁移live-migration,虚拟机容灾nova evacuate等高级特性,将无法使用,对于后期的云平台建设,有明显的缺陷。对接 Ceph 主要是希望将实例的系统磁盘文件储存到 Ceph 集群中。与其说是对接 Nova,更准确来说是对接 QEMU-KVM/libvirt,因为 librbd 早已原生集成到其中。

※Cinder

为 OpenStack 提供卷服务,支持非常广泛的后端存储类型。对接 Ceph 后,Cinder 创建的 Volume 本质就是 Ceph RBD 的块设备,当 Volume 被虚拟机挂载后,Libvirt 会以 rbd 协议的方式使用这些 Disk 设备。除了 cinder-volume 之后,Cinder 的 Backup 服务也可以对接 Ceph,将备份的 Image 以对象或块设备的形式上传到 Ceph 集群。

使用ceph的rbd接口,需要通过libvirt,所以需要在客户端机器上安装libvirt和qemu,关于ceph和openstack结合的结构如下,同时,在openstack中,需要用到存储的地方有三个:

为 Glance、Nova、Cinder 创建专用的RBD Pools池

需要配置hosts解析文件,这里最开始已经配置完成,如未添加hosts解析需要进行配置

在cephnode01管理节点上操作

;命名为:volumes,vms,images

记录:删除存储池的操作

在cephnode01管理节点上操作

针对pool设置权限,pool名对应创建的pool

nova-compute与cinder-volume都部署在计算节点

,不必重复操作,如果计算节点与存储节点分离需要分别推送;

全部计算节点配置;以compute01节点为例;

Glance 为 OpenStack 提供镜像及其元数据注册服务,Glance 支持对接多种后端存储。与 Ceph 完成对接后,Glance 上传的 Image 会作为块设备储存在 Ceph 集群中。新版本的 Glance 也开始支持 enabled_backends 了,可以同时对接多个存储提供商。

写时复制技术(copy-on-write)

:内核只为新生成的子进程创建虚拟空间结构,它们复制于父进程的虚拟空间结构,但是不为这些段分配物理内存,它们共享父进程的物理空间,当父子进程中有更改相应的段的行为发生时,再为子进程相应的段分配物理空间。写时复制技术大大降低了进程对资源的浪费。

全部控制节点进行配置;以controller01节点为例;

只修改涉及glance集成ceph的相关配置

变更配置文件,重启服务

ceph官网介绍 QEMU和块设备

对接 Ceph 之后,通常会以 RAW 格式创建 Glance Image,而不再使用 QCOW2 格式,否则创建虚拟机时需要进行镜像复制,没有利用 Ceph RBD COW 的优秀特性。

总结

将openstack集群中的glance镜像的数据存储到ceph中是一种非常好的解决方案,既能够保障镜像数据的安全性,同时glance和nova在同个存储池中,能够基于copy-on-write(写时复制)的方式快速创建虚拟机,能够在秒级为单位实现vm的创建。

全部计算节点进行配置;

以compute01节点为例;只修改glance集成ceph的相关配置

全部计算节点重启cinder-volume服务;

任意openstack控制节点上查看;

在任意控制节点为cinder的ceph后端存储创建对应的type,在配置多存储后端时可区分类型;

为ceph type设置扩展规格,键值 volume_backend_name ,value值 ceph

任意控制节点上创建一个1GB的卷

;最后的数字1代表容量为1G

查看创建好的卷

openstack创建一个空白 Volume,Ceph相当于执行了以下指令

从镜像创建 Volume 的时候应用了 Ceph RBD COW Clone 功能,这是通过 glance-api.conf show_image_direct_url = True 来开启。这个配置项的作用是持久化 Image 的 location,此时 Glance RBD Driver 才可以通过 Image location 执行 Clone 操作。并且还会根据指定的 Volume Size 来调整 RBD Image 的 Size。

一直存在的cirros_qcow2镜像为对接ceph之前的镜像,现在已无法使用,所以将之删除

在openstack上从镜像创建一个Volume,Ceph相当于执行了以下指令

任意控制节点操作;

查看快照详细信息

在openstack上对镜像的卷创建快照,Ceph相当于执行了以下指令

如果说快照时一个时间机器,那么备份就是一个异地的时间机器,它具有容灾的含义。所以一般来说 Ceph Pool backup 应该与 Pool images、volumes 以及 vms 处于不同的灾备隔离域。

一般的,备份具有以下类型:

在虚拟磁盘映像的计算节点上使用本地存储有一些缺点:

Nova 为 OpenStack 提供计算服务,对接 Ceph 主要是希望将实例的系统磁盘文件储存到 Ceph 集群中。与其说是对接 Nova,更准确来说是对接 QEMU-KVM/libvirt ,因为 librbd 早已原生集成到其中。

如果需要从ceph rbd中启动虚拟机,必须将ceph配置为nova的临时后端;

推荐在计算节点的配置文件中启用rbd cache功能;

为了便于故障排查,配置admin socket参数,这样每个使用ceph rbd的虚拟机都有1个socket将有利于虚拟机性能分析与故障解决;

相关配置只涉及全部计算节点ceph.conf文件的与字段,以compute163节点为例

全部计算节点配置

ceph.conf文件相关的 与 字段,以compute01节点为例;

在全部计算节点配置nova后端使用ceph集群的vms池,以compute01节点为例;

在全部计算节点操作;

在全部计算节点操作,以compute01节点为例;

集群服务器hosts文件的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于集群服务器hosts文件,如何在集群服务器上管理hosts文件?,⑩ OpenStack高可用集群部署方案(train版)—OpenStack对接Ceph存储的信息别忘了在本站进行查找喔。


数据运维技术 » 如何在集群服务器上管理hosts文件? (集群服务器hosts文件)