跳转到主要内容

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

当您初次登录到 developerWorks 时,将会为您创建一份概要信息。您在 developerWorks 概要信息中选择公开的信息将公开显示给其他人,但您可以随时修改这些信息的显示状态。您的姓名(除非选择隐藏)和昵称将和您在 developerWorks 发布的内容一同显示。

所有提交的信息确保安全。

  • 关闭 [x]

当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

所有提交的信息确保安全。

  • 关闭 [x]

最新版的 AIX 让重命名设备变得非常简单

Chris Gibson, AIX 专家, Southern Cross Computer Systems
/developerworks/i/p-cgibson.jpg
Chris Gibson 是一位 AIX 系统专家,居住在澳大利亚墨尔本市。他是 IBM CATE(System p 平台和 AIX 5L),同时也是 IBM Redbook “NIM from A to Z in AIX 5L” 的作者之一。

简介: 

发布日期: 2011 年 12 月 20 日
级别: 中级
访问情况 : 1007 次浏览
评论: 


我最近回想起这篇 2009 年发表的文章,作者在其中探讨了重命名 AIX 设备时遇到的一些挑战。这个可怜的家伙不得不老老实实逐一命名了一个群集 AIX (Oracle RAC) 环境中的一些磁盘和网络设备。我牢牢记住了这段话:

“让网络适配器与磁盘名称在系统间匹配的简便途径将会是运行类似于下面的内容:

 # chdev – l old_name – n new_name 

但这个命令选项其实并不存在。

此后,我就一直在寻找一条重命名 AIX 中设备的简便途径。特别是在大型的群集化环境中,跨群集中所有节点让相同磁盘与网络设备名称保持同步有时候是很重要的。而且除此之外,如果 hdisk 名称完全相同,验证群集配置就会容易很多。

匹配 PVID 是一种有效的做法,但它要求的工作量较大!例如,如果知道 hdisk123 在所有节点上都是相同的设备,则不必扫描 PVID 的 lspv 输出,比如 00f6048868b4gead,这样做无疑会轻松很多。当然,您可以编写脚本来简化这些工作,但是,如果您能够根据需要重命名设备,同时不采用不受支持的方法,效果将会更好。

一种更好的方法

好了,这对于 AIX 不再是一个问题。从 AIX 7.1 (和 AIX 6.1 TL6)开始,您可以轻松地重命名设备。它引入了一个名叫 rendev 的新命令,允许管理员在必要时重命名设备。以下内容摘自 AIX 的主页:

“rendev 命令支持对设备进行重命名。

...rendev 命令必须在进行重命名之前取消设备的配置。”

这项功能可以帮助简化 AIX 7.1 中通过 Cluster Aware AIX (CAA) 新功能完成的群集设备配置工作。

下面给出了一些在 AIX 7.1 (GA) 系统上使用 rendev 命令的例子。在第一个例子中,我将 hdisk3 重命名为 hdisk300。请注意:hdisk3 并未处于使用(繁忙)状态。如果已将磁盘分配到某个卷组,则需要首先卸载该卷组。

 # lspv 
 hdisk0    00f61ab2f73e46e2    rootvg 
 active 
 hdisk1    00f61ab20bf28ac6     None 
 hdisk2    00f61ab2202f7c0b     None 
 hdisk4    00f61ab20b97190d     None 
 hdisk3    00f61ab2202f93ab     None 

 # rendev -l hdisk3 -n hdisk300 

 # lspv 
 hdisk0    00f61ab2f73e46e2     rootvg 
 active 
 hdisk1    00f61ab20bf28ac6     None 
 hdisk2    00f61ab2202f7c0b     None 
 hdisk4    00f61ab20b97190d     None 
 hdisk300  00f61ab2202f93ab     None 

很容易吧!接下来,我将重命名一个虚拟的 SCSI 适配器。我将 vscsi0 重命名为 vscsi2,并在重命名设备之前,将适配器 vscsi0 设置为 Defined 状态:

 # rmdev -Rl vscsi0 

 # lsdev -Cc adapter 
 ent0   Available   Virtual I/O Ethernet Adapter (l-lan) 
 ent1   Available   Virtual I/O Ethernet Adapter (l-lan) 
 vsa0   Available   LPAR Virtual Serial Adapter 
 vscsi0   Defined     Virtual SCSI Client Adapter 
 vscsi1   Available   Virtual SCSI Client Adapter 

 # rendev -l vscsi0 -n vscsi2 

 # lsdev -Cc adapter 
 ent0   Available   Virtual I/O Ethernet Adapter (l-lan) 
 ent1   Available   Virtual I/O Ethernet Adapter (l-lan) 
 vsa0   Available   LPAR Virtual Serial Adapter 
 vscsi1   Available   Virtual SCSI Client Adapter 
 vscsi2   Defined     Virtual SCSI Client Adapter 

现在,我将把一个网络适配器从 ent0 重命名为 ent10。我在修改设备名称之前禁用了该接口:

 # lsdev -Cc adapter 
 ent0   Available   Virtual I/O Ethernet Adapter (l-lan) 
 ent1   Available   Virtual I/O Ethernet Adapter (l-lan) 
 vsa0   Available   LPAR Virtual Serial Adapter 
 vscsi1   Available   Virtual SCSI Client Adapter 
 vscsi2   Defined     Virtual SCSI Client Adapter 

 # ifconfig en0 
 en0: 
 flags=1e080863,480< UP,BROADCAST,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST, 
 GROUPRT,64BIT,CHECKSUM_OFFLOAD(ACTIVE),CHAIN > 
    inet 10.1.20.19 netmask 0xffff0000 broadcast 
 10.153.255.255 
    tcp_sendspace 262144 tcp_recvspace 262144 rfc1323 1 

 # ifconfig en0 down detach 

 # rendev -l ent0 -n ent10 

 # lsdev -Cc adapter 
 ent1    Available   Virtual I/O Ethernet Adapter (l-lan) 
 ent10   Available   Virtual I/O Ethernet Adapter (l-lan) 
 vsa0    Available   LPAR Virtual Serial Adapter 
 vscsi1  Available   Virtual SCSI Client Adapter 
 vscsi2  Defined     Virtual SCSI Client Adapter 

 # rendev -l en0 -n en10 

 # chdev -l en10 -a state=up 
 en10 changed 

 # ifconfig en10 
 en10: 
 flags=1e080863,480< UP,BROADCAST,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST 
 ,GROUPRT,64BIT,CHECKSUM_OFFLOAD(ACTIVE),CHAIN > 
    inet 10.1.20.19 netmask 0xffff0000 broadcast 
 10.153.255.255 
    tcp_sendspace 262144 tcp_recvspace 262144 rfc1323 1 

您甚至可以添加一些创意,将设备重命名为任何您喜欢的名称(只要名称长度不超过 15 个字符)。我将 vscsi2 重命名为 myvscsiadapter:

 # rendev -l vscsi2 -n myvscsiadapter 
 # lsdev -Cc adapter 
 ent1        Available   Virtual I/O Ethernet Adapter (l-lan) 
 myadapter   Available   Virtual I/O Ethernet Adapter (l-lan) 
 myvscsiadapter   Defined   Virtual SCSI Client Adapter 
 vsa0        Available   LPAR Virtual Serial Adapter 
 vscsi1      Available   Virtual SCSI Client Adapter 

而最后,我将演示在一个正在运行的系统上修改虚拟 SCSI 适配器设备名称。这是当的磁盘系统 (hdisk0),带有两个 vscsi 适配器:

 # lspv 
 hdisk0   00f6048868b4deee     rootvg 
 active 

 # lspath 
 Enabled hdisk0 vscsi0 
 Enabled hdisk0 vscsi1 

 # lsdev -Cc adapter 
 ent0    Available   Virtual I/O Ethernet Adapter (l-lan) 
 ent1    Available   Virtual I/O Ethernet Adapter (l-lan) 
 vsa0    Available   LPAR Virtual Serial Adapter 
 vscsi0  Available   Virtual SCSI Client Adapter 
 vscsi1  Available   Virtual SCSI Client Adapter 

我们要在重命名适配器之前确保它处于 Defined 状态,否则重命名将会失败:

 # rmdev -Rl vscsi1 
 vscsi1 Defined 
 # lsdev -Cc adapter | grep vscsi 
 vscsi0    Available    Virtual SCSI Client Adapter 
 vscsi1    Defined      Virtual SCSI Client Adapter 

接下来,我们将适配器 vscsi1 重命名为 vscsi3:

 # rendev -l vscsi1 -n vscsi3 

 # lsdev -Cc adapter | grep vscsi 
 vscsi0    Available    Virtual SCSI Client Adapter 
 vscsi3    Defined      Virtual SCSI Client Adapter 

现在,我需要使用 cfgmgr 启用适配器与路径。lspath 输出显示了通向 vscsi3 的另一条路径:

 # lspath 
 Enabled hdisk0 vscsi0 
 Defined hdisk0 vscsi1 

 # cfgmgr 
 Method error (/etc/methods/cfgscsidisk -l hdisk0 ): 
 0514-082 The requested function could only be performed for some of the specified paths. 

 # lspath 
 Enabled hdisk0 vscsi0 
 Defined hdisk0 vscsi1 
 Enabled hdisk0 vscsi3 

接下来,我需要删除通向 vscsi1 的原有路径。适配器 vscsi3 处于 Available 状态。这都是正常的。

 # rmpath -l hdisk0 -p vscsi1 -d 
 path Deleted 

 # lspath 
 Enabled hdisk0 vscsi0 
 Enabled hdisk0 vscsi3 

 # lsdev -Cc adapter | grep vscsi 
 vscsi0   Available   Virtual SCSI Client Adapter 
 vscsi3   Available   Virtual SCSI Client Adapter 

我们需要对 vscsi0 适配器重复相同的步骤。将它重命名为 vscsi2。

 # rmdev -Rl vscsi0 
 vscsi0 Defined 
 # lsdev -Cc adapter | grep vscsi 
 vscsi0   Defined    Virtual SCSI Client Adapter 
 vscsi3   Available  Virtual SCSI Client Adapter 

 # rendev -l vscsi0 -n vscsi2 

 # lsdev -Cc adapter | grep vscsi 
 vscsi2   Defined     Virtual SCSI Client Adapter 
 vscsi3   Available   Virtual SCSI Client Adapter 

 # lspath 
 Defined hdisk0 vscsi0 
 Enabled hdisk0 vscsi3 

 # cfgmgr 
 Method error (/etc/methods/cfgscsidisk -l hdisk0 ): 
 0514-082 The requested function could only be performed for some of the specified paths. 

 # lspath 
 Defined hdisk0 vscsi0 
 Enabled hdisk0 vscsi2 
 Enabled hdisk0 vscsi3 

 # rmpath -l hdisk0 -p vscsi0 -d 
 path Deleted 

 # cfgmgr 
 # lspath 
 Enabled hdisk0 vscsi2 
 Enabled hdisk0 vscsi3 

到这里我们就完成了所有操作。两个适配器都已经被重命名,而在使用该系统时不需要停机。

# lsdev -Cc adapter | grep vscsi
vscsi2   Available    Virtual SCSI Client Adapter
vscsi3   Available    Virtual SCSI Client Adapter

# lspath
Enabled hdisk0 vscsi2
Enabled hdisk0 vscsi3

本文的英文原文最先在 IBM Systems Magazine 在线网站(www.ibmsystemsmag.com)上发布。


参考资料

学习

  • AIX and UNIX 专区:developerWorks 的“AIX and UNIX 专区”提供了大量与 AIX 系统管理的所有方面相关的信息,您可以利用它们来扩展自己的 UNIX 技能。

  • AIX and UNIX 新手入门:访问“AIX and UNIX 新手入门”页面可了解更多关于 AIX 和 UNIX 的内容。

  • AIX and UNIX 专题汇总:AIX and UNIX 专区已经为您推出了很多的技术专题,为您总结了很多热门的知识点。我们在后面还会继续推出很多相关的热门专题给您,为了方便您的访问,我们在这里为您把本专区的所有专题进行汇总,让您更方便的找到您需要的内容。

  • AIX and UNIX 下载中心:在这里你可以下载到可以运行在 AIX 或者是 UNIX 系统上的 IBM 服务器软件以及工具,让您可以提前免费试用他们的强大功能。

  • IBM Systems Magazine for AIX 中文版:本杂志的内容更加关注于趋势和企业级架构应用方面的内容,同时对于新兴的技术、产品、应用方式等也有很深入的探讨。IBM Systems Magazine 的内容都是由十分资深的业内人士撰写的,包括 IBM 的合作伙伴、IBM 的主机工程师以及高级管理人员。所以,从这些内容中,您可以了解到更高层次的应用理念,让您在选择和应用 IBM 系统时有一个更好的认识。

讨论

  • 加入 developerWorks 中文社区。查看开发人员推动的博客、论坛、组和维基,并与其他 developerWorks 用户交流。

关于作者

/developerworks/i/p-cgibson.jpg

Chris Gibson 是一位 AIX 系统专家,居住在澳大利亚墨尔本市。他是 IBM CATE(System p 平台和 AIX 5L),同时也是 IBM Redbook “NIM from A to Z in AIX 5L” 的作者之一。

关于报告滥用的帮助

报告滥用

谢谢! 此内容已经标识给管理员注意。


关于报告滥用的帮助

报告滥用

报告滥用提交失败。 请稍后重试。


developerWorks:登录


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 使用条款

 


当您初次登录到 developerWorks 时,将会为您创建一份概要信息。您在 developerWorks 概要信息中选择公开的信息将公开显示给其他人,但您可以随时修改这些信息的显示状态。您的姓名(除非选择隐藏)和昵称将和您在 developerWorks 发布的内容一同显示。

请选择您的昵称:

当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

(长度在 3 至 31 个字符之间)


单击提交则表示您同意developerWorks 的条款和条件。 使用条款.

 


为本文评分

评论

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=AIX and UNIX
ArticleID=781905
ArticleTitle=最新版的 AIX 让重命名设备变得非常简单
publish-date=12202011

标签

Help
使用 搜索 文本框在 My developerWorks 中查找包含该标签的所有内容。

使用 滑动条 调节标签的数量。

热门标签 显示了特定专区最受欢迎的标签(例如 Java technology,Linux,WebSphere)。

我的标签 显示了特定专区您标记的标签(例如 Java technology,Linux,WebSphere)。

使用搜索文本框在 My developerWorks 中查找包含该标签的所有内容。热门标签 显示了特定专区最受欢迎的标签(例如 Java technology,Linux,WebSphere)。我的标签 显示了特定专区您标记的标签(例如 Java technology,Linux,WebSphere)。