如何克服Unix到Linux迁移的常见问题

经过了最初的测试后,你已经打算从Unix迁移到Linux上了,现在您应该注意哪些主要的问题呢?在Unix向Linux迁移的过程中通常会遇到一些什么样的问题或错误?您应该向谁求助?好的规划完全能让您避开这些问题。

确定可能的硬件挑战

在考虑迁移的过程中,最应该注意的问题就是平台依赖性,特别是从RISC迁移到X86平台。这时候,Endianess就能派上用场。

Endianess是指用于显示数据的内存排序。它规定数据元素和字节如何在内存中存储。您可能会遇到的问题就是在x86的计算机系统中很少使用Endian,但是RISC系统中却大量的使用Endian。如果您从RISC迁移到x86,反之亦然,您将需要修改迁移代码。在评估阶段,您就应该清楚的意识到这些问题。

一些厂商已经想出了一些颇有创意的办法去解决这些问题。例如: IBM开发了PowerVM Lx86,这是一个中型规模的虚拟化引擎的部件。它使用特别的软件自动把指令转换成电压信号,从而不用在本机上进行编译。

虽然在Linux运行在IBM Power平台之前,Linux必须在本地运行并重新编译。当然,这个已经不再是个问题。转换器作为PowerVM Lx86的一部分,能把x86 Linux指令很轻松地转换成电压 Liunx指令,只需三步:解码、优化和生产代码。这非常适用于Web应用程序,因为有大量重复工作,因为这些频繁使用的代码已经在内存中,所以无需再重新转换。

另一个需要考虑的方面是应用程序需要的内核扩展和设备驱动。为应用程序找到合适的内核扩展和设备驱动并不是一件容易的事情,其中部分原因是大多数的内核API并不严格遵从标准。API指令、参数的数量和调用到内核扩展的过程在新平台上都会有所不同。

另一个要考虑的是需要内核扩展和设备驱动程序的应用程序。这些都不是容易的候选支持,这一部分是因为大多数的内核API不遵循任何严格的标准。 API调用的参数的数量和加载到内核扩展的过程中将所有的功能不同的新的平台上。

评估应用程序对于Linux的适用性和有效性

绝大多数的商业和网络应用程序都能在Linux上运行。但是有效性则是另一回事。

虽然今天几乎所有的生产商都已经把他们的Unix应用程序移到Linux上,但是关键是,在考虑迁移之前,如何确保现有的应用程序已经能很好地支持了这种可能的迁移。否则,您将不得不陷入自己去迁移这些应用程序的困境。对于内部应用程序的开发,您需要的是一个强大的开发团队来帮助完成应用程序的迁移。

向有过此种经验的同事咨询。了解一下您的应用程序迁移到Linux会如何。并且核实这些应用程序现在的运行情况。不用担心,请大胆地向您的生产商请求帮助。Red Hat 和SUSE都提供相应的服务帮助您完成移植。

关于部署的问题和错误

当你在做迁移的时候,你可能会遇到什么样的错误或问题?首先,适当的测试非常必要。在迁移过程中,任何一件事情都可能出错,所以在生成环境之前,应该搭建一个测试和实验环境来发现和经历问题。

几年前,我的小组看似非常顺利地完成了一个重要的迁移,但是不久就开始接到电话说工资管理系统不能正常运行。这有点出乎我们的意料,之前我们进行了系统的单元测试、用户测试以及UAT测试。事实证明,问题不是出在迁移方面,而是因为一些PC客户端不能很好的与旧版本的Oracle客户端兼容。

还有一个问题是有关Unix外壳脚本。有人可能想当然的认为,Unix外壳脚本在Linux平台上也一样能很好地运行。不幸的是,这种假设不成立。

任何一个与应用程序有关的Unix脚本都需要仔细测试。Linux的标准外壳是使用Bash外壳,它是建立在Unix最初的Bourne外壳。然而,在我们的例子里,Unix使用的是Korn外壳。所以,肯定有些功能不能正确工作。因此,有必要假设您的外壳脚本在新平台下可能不能正常工作。请测试每一个您需要的外壳脚本。

获取技术支持

技术支持取决于您IT部门的大小和员工的经验。您是否有几个无所不能、经验丰富的Linux管理员呢?或者他们也许是Unix管理员,但是他们是否已经做好准备去接受Linux呢?

技术支持程度取决于您所用于的环境类型。您是否正在运行那些每分钟的故障能导致公司数万美元损失的系统呢 ,如:CRM系统或者工资系统?

来自于生产商的技术支持也是非常重要。Red Hat和Novell都提供24/7的技术支持。一些Unix硬件生产商,如IBM,也提供自己的Linux技术支持。

如果可能,请从您的硬件提供商那里获得技术支持。而且,这对您从操作系统提供商哪里获得技术支持不会产生任何不利的影响。最后还是那句话,您需要仔细考虑您的组织中,系统停机带来的经济影响和您员工的经验和能力。

 

  网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)