第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

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

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

  1. 运维前线 一线运维专家的运维方法 技巧与实践pdf

    下载地址:网盘下载 内容简介 编辑 本书是运维领域的"集大成"之作,精选了运维领域重要的6大主题: (1)自动化运维 (2)系统运维 (3)云与虚拟化 (4)Web运维 (5)游戏 ...

  2. 运维前线:一线运维专家的运维方法、技巧与实践导读

    前 言 为什么要写这本书 <运维前线:一线运维专家的运维方法.技巧与实践>(以下简称<运维前线>)是前线系列的一个子集,前线系列图书的出版理念是邀请多位业界专家,总结所在行业的 ...

  3. 某银行省级数据中心IT运维服务体系建设完整思路

    某银行省级数据中心 IT 运维服务体系建设,应包含运维服务制度.流程.组织.队伍.技术和对象等方面的内容.同时结合某银行的业务特色,整合运维服务资源,规范运维行为,确保服务质效,形成统一管理.集约高效 ...

  4. 运维与节能:数据中心绿色运维技术研讨会召开

    5月31日,由数据中心工作组主办的"2012金融行业数据中心绿色运维技术研讨暨机房参观活动"在北京召开.来自中国农业银行北方数据中心基建办.×××总行中国金融电子化公司.北京银行. ...

  5. 中国民生银行:智能运维引领数据中心数字化转型

    今天我演讲的题目是<智能运维引领数据中心数字化转型>,跟大家分享民生银行在智能运维领域的探索和实践. 01 数字化转型,运维新挑战 金融行业是对信息技术应用最为广泛和彻底的行业.首先,我从 ...

  6. 数据中心网络流量精细运维

    从IDC运营商和云服务商的角度来说,做好网络运维是企业的根本.国内对互联网带宽需求的快速增长,催生出很多大型的IDC服务商,他们在全省.全国,甚至全世界布局数据中心.快速布局的同时如何对数据中心流量精 ...

  7. 数据中心运维认证中的管理要求

    在整个数据中心生命周期中,数据中心运维管理是历时最长的一个阶段.数据中心运维管理主要目的是为提供符合要求的系统服务,而对与有关的数据中心各项管理对象进行系统的计划.组织.协调与控制,是数据中心运行服务 ...

  8. 公司访问实录 | 数据中心的运维难题知多少

    用电脑.看手机.划pad......我们每天的工作.生活总是离不开各式各样的数据,在我们享受着数字化成果的背后,离不开的是数据中心的高强度运转.面对高速增长且日益复杂的各类数据,数据中心及其建设的&q ...

  9. 数据中心运维总监应具备哪些技能

    数据中心运维人员的工作虽然比较枯燥,压力也比较大,但是收入尚可,尤其是在一些互联网的数据中心里做运维,这类工作的重要性很高,所以收入也非常有竞争力.当然,不想当将军的士兵不是好士兵,运维人员的职业发展 ...

最新文章

  1. SQL 2012 Group By Rollup, Grouping
  2. 不要解决:如何将JavaScript集合与目标相匹配
  3. 7-7 旅游规划 (8 分)
  4. Bootstrap按钮的状态
  5. mysql 自定义函数 事务_MySQL存储过程、触发器、自定义函数、事务
  6. 移动设备应用程序中支持多个屏幕大小和 DPI 值
  7. python同时发大量请求_Python批量发送post请求的实现代码
  8. Gartner:2015年启动的企业级区块链项目90%会失败,它们犯了这十大常见错误
  9. zpl指令打印中文内容_【初学指南】快速入门运维的高效指令~
  10. 等额本息计算 java 代码
  11. Fisher精确检验的通俗理解
  12. 用react制作半圆形进度条
  13. 剪辑视频,垂直翻转如何实现
  14. java P1195 口袋的天空
  15. 微信公众号发送红包(源码)
  16. 杭电AI学霸班:考研上岸3清北8浙大,还没毕业年薪拿百万
  17. 2、申请苹果App ID
  18. revit 对计算机最低配置,了解revit对电脑配置要求是什么
  19. ThingsBoard MQTT链接、掉线报警、数据转换规则引擎
  20. powerbi日期转化error

热门文章

  1. android studio service directory path,Android Studio User目录缓存搬移到指定目录
  2. oracle 清除参数,IMp回去的时候要把原来的表的记录清空吗?没有什么参数可以省略这个吗...
  3. [Git]4.2 标签
  4. [Web Chart系列之五] 5. 实战draw2d之figure tooltip 实现
  5. Soul 网关源码阅读(三)请求处理概览
  6. rgb颜色查询工具_认识色彩的三要素 理解颜色的此消彼长 合理使用工具改变照片色彩...
  7. linux获取字符格式化,Linux 格式化字符串漏洞利用
  8. 老年代的更新机制_如何理解Java GC机制
  9. intellij快捷键linux,IntelliJ IDEA的几个常用快捷键
  10. Quadtrees UVA - 297