运维前线:一线运维专家的运维方法、技巧与实践3.1 数据中心搬迁准备

简介:

第3章

数据中心搬迁中的x86自动化运维

作者简介

吴传玉,具有10年以上x86服务器平台系统管理经验,熟悉Windows及Redhat Linux系列运维,自2008年接触VMware虚拟化产品,获得RHCT、VMware VCP和HCNA认证。善于使用各类脚本工具编制日常运维的脚本。目前就职于某大型金融企业基础设施运维部门,负责容灾及研发测试环境x86整体运维工作。

本章主要介绍在大型数据中心搬迁的过程中,如何利用自行编制的各类脚本,低成本、高效率又准确地完成大量节点的逻辑搬迁工作。


3.1 数据中心搬迁准备


3.1.1 数据中心搬迁介绍

世间万物都存在着自身的生命周期,大到宇宙恒星的诞生与消亡,小到细胞从一次分裂完成开始到下一次分裂结束所经历的全过程,都离不开生命周期。

作为承载着公司核心竞争、运维能力的数据中心,也无法回避生命周期的问题。当数据中心的空间、电力等基础硬件无法支持公司业务需求的高速扩展时,公司的决策层势必会考虑采用更合理的方案,以满足日益增长的业务需求。第一种是在保持现有数据资源不变的情况下,建立第二个数据中心(非容灾中心);另一种是新建一个条件更优越的数据中心以替代旧的数据中心。

采用第一种方式,可以平滑地进行扩容,但从长远来看双倍的运维成本会加重公司的负担。如果采用第二种方式,虽然在搬迁过程中对基础层、应用层运维人员的要求相对较高,但从长远来看可为公司节省可观的运维开支,主要的成本仅在于一次性搬迁的方案所承担的开支。

大型金融企业中,基础运维人员相对于应用运维、开发人员、测试人员来说是属于更底层、更核心的角色。从整体运维的宏观结构来看,基础运维位于一个漏斗的底部出口位置,支撑着众多应用业务系统的基础需求。总结起来就是底层硬件架构多元化、需求种类多、运维量大,如果涉及搬迁则工作量更大更繁琐。

因我主要负责的是x86平台的非生产环境日常运维工作,且正参与数据中心的搬迁项目。故本章将从系统层基础运维人员的角度出发,介绍在大型数据中心搬迁的过程中,如何自行编制脚本,从而降低成本、高效准确地完成大量节点的逻辑搬迁工作。

首先介绍一下物理搬迁与逻辑搬迁的对比。

数据中心的搬迁一般分为两类:物理搬迁和逻辑搬迁。

如果物理设备及其上的逻辑节点数量少且搬迁距离较短,对可用性的要求不高,能够进行短期的停机,那么这种小型数据中心,一般较适用于同城数据中心的物理搬迁。

如果涉及的节点数量多且搬迁距离较长,对可用性要求较高,无法满足短期停机的要求,则需要考虑逻辑搬迁。

3.1.2 搬迁环境介绍

此次我所参与的搬迁存在诸多制约因素,如硬件种类繁多、应用关联性大、搬迁周期短、搬迁成本缩减等。基于以上现状分析,最终确定按应用环境,逐批次实施逻辑搬迁。

搬迁批次的定义如表3-1所示。

表3-1 搬迁批次定义

批次 搬迁环境 资源准备及搬迁思路

1 容灾环境 ①新购计算资源放置在目标数据中心,预先完成虚拟化环境的部署

②新购存储放置在源数据中心,通过存储复制技术完成灾备逻辑节点的复制。将完成复制的新存储物理搬迁至目标数据中心,释放之上的逻辑节点至新购计算资源,完成后续配置

注意:由于节点量大,通过广域网链路进行存储复制对带宽的要求相当高,故采用局域网内完成存储复制的工作

2

研发环境

①利用批次1中已完成逻辑迁移的存储资源,通过存储复制技术完成研发测试环境逻辑节点的复制。将批次1留下的计算资源与完成研发测试环境复制的存储资源物理搬迁至目标数据中心,释放之上的逻辑节点,完成后续配置

②对批次2中研发测试环境已完成逻辑搬迁的计算与存储资源进行物理搬迁,补充至目标数据中心

注意:循环利用上批次释放的物理资源进行后续批次搬迁,可以有效地控制硬件成本

 

3.1.3 搬迁前的准备工作

搬迁过程不仅仅是物理设备位置的改变,还需要对虚拟化层及各个节点内的参数进行调整。由于金融企业的环境特殊,公司安全部门禁止自行配置自动化运维管理工具,因此只能利用现有的技术做文章了。

在此次迁移过程中,我利用了平时运维常用的一些系统自带的脚本工具。

这些工具分为三类,其中有用于虚拟化层的工具vCLI、PowerCLI,有用于Linux环境的Bash,还有用于Windows环境的批处理、WMIC和注册表。

vCLI:vSphere CLI,命令行管理接口。

PowerCLI:VMware vSphere PowerCLI,是一款功能强大的命令行工具,可自动执行vSphere的各方面管理,包括主机、网络、存储、虚拟机、客户操作系统等。

Bash:Bourne-Again Shell,是一个为GNU计划编写的Unix Shell,是许多Linux发行版的默认Shell,Bash的命令语法是Bourne Shell命令语法的超集。数量庞大的Bourne Shell脚本大多不经修改即可在Bash中正常执行。

批处理:Batch,也称为批处理脚本。顾名思义,批处理就是对某些对象进行批量处理,通常被认为是一种简化的脚本语言,它一般应用于DOS和Windows系统中。批处理文件的扩展名为bat。

WMIC:WMIC扩展WMI(Windows Management Instrumentation,Windows管理工具),提供了对从命令行接口和批命令脚本执行系统管理的支持。

注册表:Registry,是Microsoft Windows中的一个重要的数据库,用于存储系统和应用程序的设置信息。

3.1.4 搬迁信息收集

俗话说“九层之台,起于垒土”,因此对于搬迁来讲,基础信息至关重要。我们需要准确掌握现有搬迁环境所涉及的所有物理与逻辑信息,才能更好地完成搬迁任务。因此搬迁的首要任务就是收集所有的资源信息。

1.?计算资源信息收集

作为目标端新设备的配置依据,应收集(包含但不限于)如下信息:型号、序列号、CPU、MEM、硬件管理IP、HBA WWN号。

编辑文件/tmp/getESXIinfo.sh,保存内容如下:

# 获取物理设备型号

xh=`esxcli hardware platform get | grep "Product Name" | awk -F: '{print $2}'`

# 获取物理设备序列号

SN=`esxcli hardware platform get | grep "Serial Number" | awk -F: '{print $2}'`

# 获取物理CPU个数

cpunum=`esxcli hardware cpu list | grep "CPU:" | wc -l`

# 获取物理内存容量(以GB计算)

mem=`esxcli hardware memory get | grep "Physical Memory" | awk -F" " '{print

$3}'`

TotalMem=` expr $mem / 1024 / 1024 / 1024 `

# 获取硬件管理IP

vmkip=` esxcli network ip interface ipv4 get | grep vmk0 | awk '{print $2}'`

#获取HBA WWN信息

wwn=`esxcli storage core adapter list | grep link-up | awk -F: '{print $2}'

| awk '{print $1}'`

wwn1=`echo $wwn | awk -F" " '{print $1}'`

wwn2=`echo $wwn | awk -F" " '{print $2}'`

echo $xh,$SN,$cpunum,$TotalMem,$vmkip,$wwn1,$wwn2 >/tmp/$vmkip.csv

可将以上脚本文件上传至所有ESXI系统,以备批量收集信息之用。图3-1为显示结果。

 

图3-1 显示结果

2.?存储资源信息收集

基于现有x86环境对ESXI主机通过FC和FCoE协议分配外挂存储,因此目标数据中心仍保持原有架构不变,数据传输采用基于同构存储的LUN COPY方式。

首先需要确定哪些LUN COPY盘在目标端会挂给哪些ESXI主机,需要收集的信息如下:

目标ESXI IP

逻辑卷名

存储naa号(WWN号)

因为同一组中的外挂存储盘是通过共享的方式同时映射给同一群集内的多台ESXI主机的,所以只需要对同一群集中的一台ESXI进行操作即可。

命令收集信息如下:

esxcli storage vmfs extent list | sort $1 | awk '{if($5==1){print $1 "," $4}}'(注:

1 表明是外挂盘,3 表明是内置盘)。

以下为同一群集内某台ESXI的外挂存储盘的逻辑卷名及存储号,如图3-2所示。

 

图3-2 ESXI的外挂存储盘逻辑卷名及存储号

3.虚拟网络信息收集

虚拟网络信息的收集,对于在新环境中每台ESXI需要分配多少个逻辑上联口、多少vSwitch和网段VLAN的定义至关重要。

因此我们编辑以下/tmp/getnetworkinfo.awk文件,用于收集现有ESXI的vSwitch Name、Uplinks(上联口)和Portgroups信息。

文件内容如下:

$1 ~ /Name:/ {print $1,$2}

$1 ~ /Uplinks:/ {print $0}

$1 ~/Portgroups:/ {print $0}

我们编辑并执行以下/tmp/getnetworkinfo.sh文件,该文件会将getnetworkinfo.awk文件作为执行的过滤参数。

文件内容如下:

esxcli network vswitch standard list | awk –f /tmp/getnetworkinfo.awk

接下来就可以根据整理的各类信息完成后续逻辑迁移所需要的自动配置了。


相关文章
|
20天前
|
人工智能 运维 负载均衡
智能运维新时代:AI在云资源管理中的应用与实践
智能运维新时代:AI在云资源管理中的应用与实践
128 23
|
21天前
|
Kubernetes Java 持续交付
小团队 CI/CD 实践:无需运维,Java Web应用的自动化部署
本文介绍如何使用GitHub Actions和阿里云Kubernetes(ACK)实现Java Web应用的自动化部署。通过CI/CD流程,开发人员无需手动处理复杂的运维任务,从而提高效率并减少错误。文中详细讲解了Docker与Kubernetes的概念,并演示了从创建Kubernetes集群、配置容器镜像服务到设置GitHub仓库Secrets及编写GitHub Actions工作流的具体步骤。最终实现了代码提交后自动构建、推送镜像并部署到Kubernetes集群的功能。整个过程不仅简化了部署流程,还确保了应用在不同环境中的稳定运行。
52 9
|
29天前
|
存储 弹性计算 运维
云端问道 7 期实践教学-使用操作系统智能助手 OS Copilot 轻松运维与编程
使用操作系统智能助手 OS Copilot 轻松运维与编程
53 14
|
2月前
|
运维 监控 持续交付
自动化运维在现代数据中心的应用与实践####
本文探讨了自动化运维技术在现代数据中心中的应用现状与实践案例,分析了其如何提升运维效率、降低成本并增强系统稳定性。通过具体实例,展示了自动化工具如Ansible、Puppet及Docker在环境配置、软件部署、故障恢复等方面的实际应用效果,为读者提供了一套可参考的实施框架。 ####
|
2月前
|
运维 监控 Devops
自动化运维实践:打造高效的DevOps流水线
在软件开发的快节奏中,自动化运维成为提升效率、确保质量的关键。本文将引导你理解自动化运维的价值,通过实际案例分享如何构建一个高效、可靠的DevOps流水线。我们将从持续集成(CI)开始,逐步深入到持续部署(CD),并展示代码示例来具体说明。准备好让你的运维工作飞跃式进步了吗?让我们开始吧!
|
2月前
|
运维 监控 Cloud Native
云原生之运维监控实践:使用 taosKeeper 与 TDinsight 实现对 时序数据库TDengine 服务的监测告警
在数字化转型的过程中,监控与告警功能的优化对保障系统的稳定运行至关重要。本篇文章是“2024,我想和 TDengine 谈谈”征文活动的三等奖作品之一,详细介绍了如何利用 TDengine、taosKeeper 和 TDinsight 实现对 TDengine 服务的状态监控与告警功能。作者通过容器化安装 TDengine 和 Grafana,演示了如何配置 Grafana 数据源、导入 TDinsight 仪表板、以及如何设置告警规则和通知策略。欢迎大家阅读。
57 0
|
2月前
|
人工智能 运维 自然语言处理
智能化运维:AI在IT运维领域的深度应用与实践####
本文探讨了人工智能(AI)技术在IT运维领域的深度融合与实践应用,通过分析AI驱动的自动化监控、故障预测与诊断、容量规划及智能决策支持等关键方面,揭示了AI如何赋能IT运维,提升效率、降低成本并增强系统稳定性。文章旨在为读者提供一个关于AI在现代IT运维中应用的全面视角,展示其实际价值与未来发展趋势。 ####
291 4
|
9月前
|
存储 传感器 监控
探索现代数据中心的冷却技术革新
【4月更文挑战第23天】 在信息技术迅猛发展的今天,数据中心作为计算和存储的核心枢纽,其稳定性和效率至关重要。然而,随着处理能力的增强,设备发热量急剧上升,有效的冷却方案成为确保数据中心持续运行的关键因素。本文将深入分析当前数据中心面临的热管理挑战,并探讨几种前沿的冷却技术,包括液冷系统、热管技术和环境自适应控制策略。通过比较不同技术的优缺点,我们旨在为数据中心管理者提供实用的冷却解决方案参考。
|
6月前
|
机器学习/深度学习 存储 监控
利用机器学习技术优化数据中心能效
【7月更文挑战第36天】在数据中心管理和运营中,能源效率已成为关键性能指标之一。随着能源成本的不断上升以及环境保护意识的增强,开发智能化、自动化的解决方案以降低能耗和提高能源利用率变得尤为重要。本文探讨了如何应用机器学习技术对数据中心的能源消耗进行建模、预测和优化,提出了一个基于机器学习的框架来动态调整资源分配和工作负载管理,以达到节能的目的。通过实验验证,该框架能够有效减少数据中心的能耗,同时保持服务质量。
|
9月前
|
存储 大数据 数据处理
探索现代数据中心的冷却技术
【5月更文挑战第25天】 在信息技术迅猛发展的今天,数据中心作为其核心基础设施之一,承载了巨大的数据处理需求。随着服务器密度的增加和计算能力的提升,数据中心的能耗问题尤其是冷却系统的能效问题日益凸显。本文将深入探讨现代数据中心所采用的高效冷却技术,包括液冷解决方案、热管技术和环境自适应控制等,旨在为数据中心的绿色节能提供参考和启示。

热门文章

最新文章