成为网络高手的12条建议

大家好,我的新书《深入学习VMware vSphere 6》马上就要和大家见面了,这是附录3的内容,和大家分享一下,希望朋友们有所帮助。

我1993年开始学习计算机基础知识,利用两年的时间将计算机的硬件及部分软件进行了系统的学习;1995年开始学习网络知识,通过一年的学习,我已熟练掌握了网络的相关知识并能独立完成组网,1996年正式开始从事网络方面的工作,到现在已经积累了十几年的经验。回想这些年,我从零开始,从不懂计算机、不会网络,到现在已成为对网络熟知并经常为政府、企事业单位、各厅局解决网络问题,为网友解答问题的“高手”,是怎么成长起来的呢?下面我将和有识之士一起分享我的经验。

一、要勤于学习

要学好网络(学任何其他的知识都是一样),首先要多看书,并且要翻看多种资料并大量阅读相关书籍。

作者在写每本书,都有其重点要表达的内容,但这些内容,有的适合读者,有的可能并不完全适合读者。可能一本书中,只有一部分对读者有用。所以,这就需要我们,从每本书中,摘抄记录下来对自己有用的内容,组成自己的知识网。

【说明】渔夫的捕鱼网,捕鸟人的捕鸟网,都不只有单一的一张网,往往都是利用多张网,最终真正捕捉到鱼或鸟的网,可能仅仅只是其中的一个网眼。但如果只有这么一个网眼,肯定也是抓不到鱼或鸟的。我们的知识也是这样,知识面越广、学的越精,碰到问题时,从自己的“知识网”中,找到答案的范围就越大。

但是,我们也并不是一味的多看书、死看书。我们在看书的时候,一定要思考,要通过对比多本相同或不同类型、知识的书,批判性的接受。因为有的书,加上了作者个人的观点,这些观点,有的只适合特定的场合,有的可能有偏差或错误,所以要批判的接受。

知识面广,是指除了要看本专业的书,还要看专业外的书。在有的时候,解决问题,并不完全靠专业知识。例如,我在写这篇文章的时候,一个读者问我一个问题,他在物理机上安装vCenter Server 5.5的时候,出现“错误28035”的提示,如图1所示。

图1 安装vCenter Server时出现28035错误

首先这个问题我也没有碰到过。首先我会了解他的安装环境、安装步骤,当我知道他的环境及步骤都没问题,我会继续从他的下载的镜像入手,我得知是从VMware官方网站下载的。之后我需要了解他的下载方式(是使用HTTP下载的还是使用VMware提供的“下载管理器”),及下载需要的时间,当读者告知是直接下载的,时间为20分钟时,我判断是下载的文件出现问题。于是我告诉读者下载一个MD5校验工具,检验下载的vCenter Server安装镜像的MD5值,然后与VMware官方网站提供的MD5值对比。经过检验,两者的MD5值不一样(如图2所示),表示下载的文件有问题,重新下载安装即可。

图2 检验下载后文件的MD5值与官方公布的MD5值

所以,虽然平时做系统集成、网络、虚拟化与云计算方面的项目,但除了看专业的图书外,与此之外的一些基础图书,我也会阅读。例如我经常看电脑报(现在是合订本)、微型计算机等杂志,《网络运维与管理》(以前的《网管员世界》我也是每年必订的。

看书范围广,并不是指,泛泛的看、泛泛的学。在学习专业知识的时候,要学的足够精。例如学习网络,IP地址与子网划分,这是基础知识是必须要学习的,而且必须要精通的。对于网管来说,正确的划分子网、了解DNS、网关的作用及意义,了解路由、交换,掌握交换机及路由器的基础配置,并掌握一些防火墙的配置,是学好管理网络的基础。

在日常生活中,还要多动手、多实践,多接触、多学习新的知识,了解新的技术特点。例如,我是从MS-DOS 3.30开始学起的,从MS-DOS 3.30,到MS-DOS 3.31、MS-DOS 4.0、5.0、6.0、6.22,以及Windows 3.1、Windows 3.11,到Windows NT 3.51、Windows NT 4.0,后面的Windows 95、Windows 98、Windows ME、Windows 2000、Windows XP、Windows Server 2003、Windows Server 2008、Windows Server 2008 R2、Windows Server 2012以及最新的Windows Server 2012R2,以及Windows Vista、Windows 7、Windows 8、Windows 8.1、Windows 10,这些产品,每一个我都很熟悉,都是自己一点点的实验直到理解透彻并熟练应用。在Windows XP版本开始,我都是从Beta版开始测试使用的。Microsoft的其他产品,例如ISA Server,我是从ISA Server 2000、到ISA Server 2004、2006以及到后面的Forefront TMG 2010。例如Exchange,我是从Exchange 5.5到Exchange 2000、2003、2007、2010到现在的Exchange Server 2013。VMware的产品则是从VMware Workstation 1.0到现在的12.1.0,以及VMware GSX Server 1.0到3.0、VMware Server 1.0到2.0、VMware ESX Server 1.0到现在的VMware ESXi 6.0,每个版本我都用过,并且大多数用于实际的生产环境,并慢慢将其升级到最新的版本。

二、冷静的思考

在我们生产、生活中,可能会碰到各种各样的问题,在碰到问题时,要冷静的思考,千万不能着急。尤其是出现问题后,例如发生了误操作、导致了错误的结果时,这时就更不能着急。在时间允许的前提下,让大脑得到良好的放松及休息,以便用清醒的头脑解决问题。千万不能越急越动,导致事情向更坏的情况发展。

例如,在2014年上半年的时候,有个单位的服务器RAID卡坏了,然后整个系统就都不能启动(是突然断电之后造成的,断电时间太长,UPS也没电了)。他们首先判断服务器启动不了了,找不到硬盘。他们直观的看到有个硬盘亮了“黄灯”,表示这个硬盘已经出了故障。于是更换硬盘,硬盘更换后,数据不能同步,此时厂商工程师上门,经过检查说RAID卡也坏了,然后更换新的RAID卡。在更换新的RAID卡之后,数据开始同步,但同步完成之后(1天之后),系统仍然不能启动。(因为这台服务器是安装的VMware ESXi 5.0(比较早安装的了),里面运行着生产所用的虚拟机)他们通过电话找到了我,当时我不在现场,他们通过电话与我交流,首先我指导他们进入RAID卡配置界面,检查磁盘信息及逻辑磁盘是否正常,然后,指导他们用VMwareESXi 5.0的安装磁盘,重新安装ESXi Server。在安装的时候,选择升级安装或重新安装,但要保留原来的数据,不能“覆盖安装”,如图3所示,可以选择列表中的第1项或第2项。

图3  升级或重新安装,保留存储数据

在安装完成之后,使用vSphere Client连接到了ESXi服务器,仍然找不到虚拟机,我让他们浏览打开存储,可以看到存储中的每个虚拟机,让他们将这些虚拟机“添加到清单”,添加之后,就可以启动虚拟机了。但是,在将虚拟机添加到VMware ESXi清单之后,发现虚拟机仍然不能启动,此时现场工作人员就有些着急了。

此时,我告诉他们,不要着急,因为能浏览存储、能将虚拟机添加到清单,表示服务器的数据并没有丢失,只是数据可能是出错了(突然断电,导致虚拟机数据损坏)。我想到了两种方法解决:

(1)对于不能启动的虚拟机,可以加载操作系统光盘镜像,重新安装虚拟机操作系统,在安装的时候,不要格式化虚拟机磁盘,可以更改安装的位置(例如原来安装在C盘Windows文件夹,可以改为其他文件夹例如WS,安装之后就可以看到数据。

(2)可以将虚拟机文件夹,复制或下载到本地,在本地安装VMware Workstation,在VMware Workstation中新建一个虚拟机,在虚拟机中安装操作系统(与不能启动虚拟机操作系统相同),然后将下载到本地的、不能启动的虚拟机的虚拟硬盘,挂载到新安装系统的虚拟机中,也能看到数据。

在我为这个单位规划并解决问题的时候,都是遵循如下的原则:

(1)在划分RAID卡的时候,划分至少两个逻辑分区,第一个逻辑分区30~100GB,用来安装操作系统(本例是VMware ESXi 5/6),剩下的划分另一个逻辑分区,用于保存数据。

(2)在安装虚拟机的时候,虚拟硬盘分区两个分区,第一个分区为40~80GB,用来安装虚拟机操作系统,而数据都保存在第2个分区中。

最后,现场人员,在不能启动的虚拟机中,安装相同的操作系统,看到数据在D盘都正常。然后重新安装SQL Server,附加数据库,并重新配置,至此系统恢复。

三、不依赖他人

要独立解决问题,不要养成依赖他人的习惯。在我上学的时候,我对无线电学就非常精通,经常给低年级的学生上课,教他们无线电的知识,教他们做电子小制作。我和他们的班长、学习委员或小组长一起学习一起讨论,得出如下结论:高手并不是天然就是高手,而是周围许多同学,碰到问题都问这人,他实际上一开始也不是样样都会,只是为大家解决的多了,无形中丰富了自己的知识和经验。解决的问题多了,自然而然的就是高手了。可以说,是周围的同学造就了他。

所以,对于我们初学者来说,一开始碰到问题,先不要着急问别人。而是独立思考、画图,想办法解决。如果什么问题都是通过问别人解决的,那就形不成自己知识库、能力库,也不能成为自己的本领。只有你真正独立解决的问题,才会成为你的能力。解决的一个问题,都会成为我们知识网上的重要一环。解决问题多了,知识网越密、能力越强。

 

四、丰富的知识

从事网络方面的工作,需要有丰富的知识。当碰到问题时,我们的大脑就像一台可以“高速检索”的计算机一样,查找与当前问题相关的场景、知识或经验。如果我们在故障现场,可以通过查看故障现象、使用工具或设备排查;如果不在现场,就需要与用户交流,从用户描述的情况中,分析问题原因、判断并解决问题。

有许多时候,事情(故障)与网络可能无关,需要我们从“周边”动手,想办法解决。

例如,在2014年5月份的时候,一些单位询问我,说他们的网站打不开了,而这些网站在单位内部访问没有问题,就是从外网(指Internet,互联网)访问不了。网站服务器,一直在例行使用,没有对网站进行大的更改。而防火墙与路由器也没有做调整。刚开始,我以为是防火墙策略被更改(以前单位出现过类似情况,管理员更改了策略之后没有保存,而由于突然断电再启动之后,由于策略没有保存导致使用旧的策略-更改前的策略),经过多次检查,发现确实如用户所说,网站及防火墙都没更改,而网站在局域网都能访问,只有Internet用户不能访问。后来我怀疑是端口问题,我使用telnet命令(telnet 网站的IP地址  80),发现不能登录80端口,随后我将网站改为80以外的端口例如81,发现网站可以打开(http://网站外网IP地址:81)。发现是端口问题之后,找专线接入运营商询问,是他们关闭了TCP的80及8080端口,如果要开通,需要进行IP地址的备案(不是网站域名备案,因为网站域名已经备案)。

在2013年年底与2014年年初的时候,联通关闭了专线用户的TCP的80及8080端口,在以前专线用户的端口都是开放的。电信的专线用户,默认情况下80端口是关闭的,需要申请才能开放。所以在这段时间,大量的联通专线用户的网站不能打开,只有到联通重新备案之后,才能开放。

五、良好的习惯

我现在设计与维护的网络有许多,每次设计或配置与维护网络,都要详细的记录下来,包括网络的拓扑(必备)、相关的IP地址、子网掩码、网关,服务器及交换机的用户名密码、一些关键参数(例如服务器的CPU数量、内存大小、硬盘的大小及数量、RAID的规划、每个逻辑分区大小、每个系统分区大小、格式),如果规划了网络,还要写清交换机、路由器在什么位置、相对应的管理地址、用户名密码是什么,都要记录下来。根据这些规划,当用户出了问题时,可根据这些记录的信息,帮用户解决问题。现在我们管理与维护的网络,用户经常问我有那些设备、设备的型号(以及设备的存放地址)、管理地址、用户名密码等。我打开以前的工作日志文件,都能很快的帮助用户解决。

在大多数的情况下,我们帮用户设计或维护了网络,可能和用户的协议是两、三年,但用户的设备出问题可能是五六年甚至更长的时间,等用户出问题找你的时候,如果你有这些记录信息,就能很容易的帮用户解决问题。在2014年6月份的时候,我们2008年的一个用户,服务器的RAID卡及硬盘损坏,硬盘数据丢失。我根据当时的记录,很清楚的指导当时服务器安装的是WindowsServer 2003+ VMware Server+ ISA Server 2006,用户数据都在虚拟机中,虚拟机都在D盘中。我集中精力恢复了用户D盘的虚拟机文件,成功的为用户恢复了数据,挽回了用户的损失。

一般情况下,我会为每个用户创建一个文件夹,在这个文件夹中,再创建“拓扑图”、“交换机配置”、“IP地址规划表”,并在根目录中,保存一个文本文件,里面有重新的信息,例如一些服务器及设备的密码、使用注意事项等。图4是某单位IP地址规划的的截图。

图4  交换机端口配置表

在图4中,记录了每个交换机的端口号、管理地址、存放位置。如果某个点网络有问题,可以快速知道问题出在那一个交换机,如果去检查,知道交换机在那个位置。更详细的记录表,可以记录交换机某个端口连接了那个房间的计算机,这样故障更容易定位。

六、反复的实验

对于管理员来说,可能需要做大量的实验:

(1)学习新知识的时候。对于某个新的知识点,我们要搭建实验环境,对学到的内容一一进行验证,对于有“分支”的内容,每个分支可能都要验证,至少要验证对我们有用的知识,这些都需要实验,以及时间、耐心。

(2)再现故障:在我们分析故障、分析问题时,需要将故障再现,这个时候也需要反复的实验。

(3)规划设计:在我们规划设计时,需要对设计的内容进行测试,就需要准备实验环境,通过实验进行验证。如果生产环境许可,则在生产环境进行设计。例如,我们在配置虚拟化数据中心时,开始的时候不跑生产数据,而是给管理员一段时间,让管理员熟悉,例如配置存储、添加创建虚拟机、删除虚拟机、从模板部署虚拟机等。等管理员熟悉这些操作之后,再上生产数据。这些都属于实验的内容。

(4)迁移升级:在进行迁移升级前,我们最好是模拟生产环境,先在实验环境中通过,再在生产环境中进行实际的操作。例如,在我将网络从Windows Server 2003升级到Windows Server 2003 R2,再次升级到Windows Server 2008,以及升级到Windows Server 2008R2直到现在最新的Windows Server 2012 R2时,我都会在虚拟机中进行验证。虽然这些只是涉及到了服务器操作系统的升级,但与这些系统同时集成的还有一些应用,例如DHCP服务器、证书服务器等,这些都需要升级。可以说,升级比新安装更复杂,碰到的问题可能也多。另外,在系统迁移时,例如为Exchange Server 2010更改存储位置、从Exchange 低版本升级到高版本等,都要搭建实验环境。

图4是我的VMware Workstation主控制台界面,左侧收藏夹中是写作这本书是用于实验的虚拟机。当前的这个实验用的计算机具有1个Intel i7-4790K的CPU、4条8GB ECC的内存、4个2TB的硬盘(组成RAID 0)、1个240GB的SSD用于存放ESXi的虚拟机。



图5  VMwareWorkstation虚拟机软件

七、画出拓扑图

有的时候,“图”为我们给用户的交流提供了桥梁。一个简单的图就能把我们的想法一目了然的为用户展示。同样,在我们学习的过程中,经常做图,记录学习的知识点,或者掌握学习的内容,“一图顶千言”说的就是这个意思,当然,图中还要配辅助文字进行说明。

尤其是对于网络来说,涉及到的IP地址、设备较多,连接方式可能也很复杂,如果有一个很好的拓扑图,可以很快速的明白网络结构、连接方式,也能快速的掌握网络。图5~图7分别是某单位的网络设备拓扑图、服务器虚拟化拓扑图及单位网络拓扑图。

图6是交换机的拓扑图,可以看到各交换机的连接示意。在图中还可以标上,是通过那个端口连接的,端口的属性。

图6 网络拓扑图

图7是某单位vSphere数据中心虚拟化的示意图,表示了服务器的网络连接、虚拟交换机网络分配,各服务器的管理地址等内容。通过这张图,可以管理每台服务器及每个虚拟机。



图7 服务器虚拟化示意图

图8是一个更详细的拓扑,标明了当前网络中的主要设备(包括防火墙、流量控制、核心交换机、服务器及服务器中的各个虚拟机),通过这张图,网络中任何一个设备出问题,都能判断问题出现的位置,并定位到相关设备进行分析、判断。

图8  网络设备与服务器拓扑图

当拓扑图很细的时候,如果用户的网络出了问题,我们可以根据拓扑图进行分析判断,并诊断出问题所在,帮用户解决问题。最后,如果用户的网络拓扑或IP地址发生了变动,还要及时的更新拓扑图。更新之后的拓扑图(或配置文件)还要及时发给用户。

八、要学以致用

在我们上学的时候,学到的知识面很广。

在我们工作的时候,用到的知识面很专。

因为上学的时候,是根据爱好、兴趣来学习,凡是相关的图书,都可以借来看看学习。而在工作之后,我们的学习可能就有很强的目的性:我学了这可有什么用、能解决什么问题。如果将所学到的知识用于实际、解决实际工作中碰到的问题,更利于知识的掌握。

例如,我们学过了子网掩码、IP地址的划分,可以根据我们当前的计算机的IP地址、子网掩码,算出当前网络中,可以容纳的最大计算机数量。或者是,尝试为自己当前的网络规划与分配IP地址,可以分析当前网络中,IP地址的规划是否存在问题等。

例如,我们学了DHCP服务,了解了IP地址获得、释放、DHCP地址池、作用域、DNS等参数,就可以解决类似的问题。某行政服务中心,为了方便前来办事的市民,在行政服务中心的业务大厅提供了免费的WiFi服务,在运行一段时间之后发现,每天上午来办事的市民大多数能使用大厅提供的Wifi连接访问互联网,但下午的时候,就不能访问。当业务繁忙的时候,到上午11点后也不能访问网络。初看这个问题,是与时间有关,但实际上,产生这个问题的原因很简单:DHCP地址不够了。本案例拓扑如图9所示。

图9  无线网络拓扑图

在本案例中,三层交换机划分了多个网段,在网络中为大厅使用WiFi用户划分了一个C类的网段,在上网行为及防火墙中进行了配置。大厅使用WiFi用户只能访问Internet,不能访问内部网络。在初始设计的时候,在大厅同时办业务的人不会同时有200上网,所以规划C类地址应该足够,但设计人员忘记了,DHCP租约时间。在这个案例中,使用了华为三层交换机为WiFi用户分配IP地址,在默认情况下,华为交换机配置DHCP时,默认的IP地址的租约时间是1天(即24小时)。当用户从交换机获取一个地址后,这个地址第2天才能重新分配。这样就导致了,每天一开始获取地址的253个人能用,第254个人再连接无线路由器后,由于DHCP地址池中没有可用的地址,而获取不了地址,也就不能访问网络。

了解问题的原因,再解决就很简单了,进入交换机配置,将交换机的DHCP租约时间改为一个合理的时间,例如改为30分钟即可,主要配置如下:

dhcp server ip-pool vlan68

 network 192.168.68.0 mask 255.255.255.0

 gateway-list 192.168.68.254

 dns-list 202.99.160.68

 expired day 0 hour 0 minute 30

 

九、多设计方案

上面介绍到“学以致用”,除了解决问题、排查故障外,还有一个方面,就是近可能的多设计应用方案。我们学到的每个知识点,都可能引起我们的共鸣,用于解决实际生活或工作中碰到的问题。我们可以通过方案的方式来表现,单独从一个知识点来看,方案可能比较小,但累计设计的方案多了,可以为我们设计更复杂、更大的应用打下良好的基础。另外,方案也是可以借鉴与通用的,我们为A单位设计的方案,更改之后可以用在B单位。

在开始的时候,可能不知道如何动手、如何设计方案,这时候可以看一下别人设计的方案,并仿照这些方案,将现有方案改进之后,设计出适应自己单位的应用方案。在我的博客(http://wangchunhai.blog.51cto.com)中,有许多解决实际用途的比较“小”的设计与解决问题的应用案例,例如:“计算机加入到域的注意事项(http://wangchunhai.blog.51cto.com/225186/1391814)”、“使用智能卡提供BitLocker驱动器加密功能(http://wangchunhai.blog.51cto.com/225186/1250833)”、“为SQL Server 2012配置镜像注意事项及采用SSD硬盘作为数据库存储磁盘(http://wangchunhai.blog.51cto.com/225186/1176653)”、“为Windows 7添加‘Internet打印’功能(http://wangchunhai.blog.51cto.com/225186/1156589)”、“使用智能DNS与多线路路由解决教育网服务器费用问题(http://wangchunhai.blog.51cto.com/225186/1143846)”、“在远程桌面服务配置RD网关直接访问内网(http://wangchunhai.blog.51cto.com/225186/1139388)”等。

他人之石,可以攻玉。看的多了、学的多了,自己设计的多了,慢慢的就可以自己独立的设计方案并应用于企业,最终一定会成为令人羡慕的“高手”。

 

十、如何问问题

尽管我们已经成为别人眼中的“高手”,但也并不是万能的。如果我们碰到不懂的问题,需要请教时怎么办?我给大家一些我的经验之谈。首先需要一张详细的网络图,画清网络设备(交换机、路由器、防火墙)、计算机及服务器设备、连接方式、IP地址,从什么地方到什么地方出了什么问题,将你需要解决的问题写个文档,画上拓扑图,在拓扑图上标上主要设备的IP地址,然后简单描述故障现象,碰到了什么问题,你是怎么判断分析的,你得到的结果是什么,近可能的将问题一次说清。这样可以让收到问题的人能很快的了解到问题所在并在最短的时间内帮助你解决。如果表达不清,可以通过“远程协助”的方式,让他人帮你分析、查看。

非常忌讳的提问方式:在吗?能问个问题吗?我的网络不通了,怎么解决?这些是不行的,想帮你的人什么都不了解也是干着急浪费了彼此的时间。

十一、跟上时代的步伐

事物是一直发展的,在有的时候,当时解决不了的问题,过后几年可能不是什么问题。当时是不能实现的功能,后面实现起来可能很容易。尤其是在计算机的世界里,更是这样。所以,不要用陈旧、过时的知识与内容,来解释当前的问题。例如,在以前的VMware Workstation产品版本中,嵌套运行VMwareWorkstation、ESXi或Hyper-V的虚拟机,并且在虚拟机中再次运行虚拟机,是不可能的事情,但随着计算机硬件的发展,以及VMware产品的改进,现在实现这一功能也就不算什么了。最后,在本书介绍的第7章Virtual SAN,可以使用服务器本地硬盘,通过网络,借助vSphere的产品,来部分代替传统的存储,以满足大容量、高性能、高IOPS的需求,在10年以前,这是不可想象的。

十二、永远坚持永进步

学习的过程从来都不是一路顺风的,在学习的过程中会碰到难点,在实际的生产工作中会碰到问题,这都是在所难免的。只要我们坚定自己的思想,守住学习的目标,向着前方奋力前进,就一定会成功。成功,一定会属于永远坚持的人。

永远坚持,永远进步!

 

上面这些是我从事网络工作多年来的一点点经验与大家共享,希望能对大家有所帮助。

 

 

王春海

2016年1月