VIOS 磁盘映射简介

简介

本文通过一种简单方式,介绍如何识别 VIOS 服务器中存在的客户磁盘配置。

在大部分时间,UNIX® 管理员会对未知的 PowerVM 设置环境感到困惑。通常,系统管理员(他们为关键客户应用程序提供支持)没有机会从头开始设置环境。出于此原因,他们无法实现自己的名称模式、规则等等。

在本文中,您将了解如何开始使用反向映射环境,这些环境没有用于磁盘映射的名称模式。

忘记名称

我们将从忘记名称开始。为此,我们需要 LPAR 的编号来识别 VIOS 磁盘映射。

在您连接到 LPAR 中后,您可以发出 uname -L 命令来获得它的编号。我们想要的编号是 LPAR 名称之前的第一个字符序列。


清单 1. 获取 LPAR 编号
				
root@a25acdldm001g::/> uname -L
69 h3j5lp69
root@a25acdldm001g::/>

在上面的示例中,a25acdldm001g 服务器的 LPAR 编号为 69,它的 LPAR 名称为 h3j5lp69。现在我们已有了 LPAR 编号,我们可以继续执行磁盘映射。至于现在,惟一缺少的就是磁盘本身,所以让我们检查一下 rootvg 卷组,看看会找到什么。

发出 lsvg -p rootvg 命令,就可以看到哪些磁盘包含在 rootvg 卷组中。


清单 2. 列出 VG 磁盘
				
root@a25acdldm001g::/> lsvg -p rootvg
rootvg:
PV_NAME           PV STATE          TOTAL PPs   FREE PPs    FREE DISTRIBUTION
hdisk0            active            639         12          00..00..00..00..12
root@a25acdldm001g::/>

结果是 rootvg 中的一个磁盘,即 hdisk0。

收集初始信息

那么,hdisk0 从何而来?

这是一个难以回答的问题。但是,当使用 PowerVM 时,您需要知道如何剖析此问题。

lspath 命令可为我们提供最初的提示。


清单 3. 获取磁盘细节
				
root@a25acdldm001g::/> lspath -l hdisk0
Enabled hdisk0 vscsi0
Enabled hdisk0 vscsi1
root@a25acdldm001g::/>

基于上面的输出,我们可以看到 hdisk0 分别来自 vscsi0 和 vscsi1。问题是 vscsi0 或 vscsi1 都是虚拟设备,来自 VIOS 服务器。

我们还没有获得答案,仍然需要进一步分析。

对于不熟悉 PowerVM 技术的人,PowerVM 的一项优势就是通过 VIOS 服务器提供磁盘映射。利用 PowerVM 可以节省您的 HBA 使用率、提高可用性、提高 LPAR 中的灵活性、减少成本等。这正是这种配置得到广泛使用的原因。

我们需要掌握的下一个信息是虚拟 scsi 设备的插槽编号。

我们可通过发出 lscfg -l vscsiX 命令来获得该编号,该命令中的 X 是我们已拥有的编号(即 0 和 1)。


清单 4. 获取 vscsi 插槽编号
				
root@a25acdldm001g::/> lscfg -l vscsi0
  vscsi0           U9117.MMA.10F2F1A-V69-C10-T1  Virtual SCSI Client Adapter
root@a25acdldm001g::/>

root@a25acdldm001g::/> lscfg -l vscsi1
  vscsi1           U9117.MMA.10F2F1A-V69-C11-T1  Virtual SCSI Client Adapter
root@a25acdldm001g::/>

我们几乎快完成我们的操作了!我们几乎已经拥有映射磁盘所需的所有内容。

LPAR 编号 (69)、vscsi 插槽编号 (C10 和 C11),现在仅仅缺少该架构所连接的 HMC。

如果您没有在某个地方记录此信息,不要担心,您可以运行 lsrsrc 命令来获取它,如下所示:


清单 5. 获取 HMC 细节
				
root@a25acdldm001g::/> lsrsrc IBM.ManagementServer
Resource Persistent Attributes for IBM.ManagementServer
resource 1:
        Name             = "10.1.120.24"
        Hostname         = "10.1.120.24"
        ManagerType      = "HMC"
        LocalHostname    = "10.1.82.69"
        ClusterTM        = "9078-160"
        ClusterSNum      = ""
        ActivePeerDomain = ""
        NodeNameList     = {"a25acdldm001g"}
root@a25acdldm001g::/>

现在我们拥有了完成映射所需的所有信息。就这么简单!

hdisk0 从何而来?

打开到 HMC 的一个新会话,让我们确定 hdisk 从哪个 VIOS 服务器执行映射。

以 hscroot 用户身份连接,您可以发出 lshwres 命令来获得此信息。


清单 6. VIOS 和插槽编号
				
hscroot@h3j5hmc1:~> lshwres -m h3j5 -r virtualio --rsubtype scsi --level lpar --filter \ 
"lpar_ids=69" -F slot_num,remote_lpar_id,remote_slot_num
10,3,69

				11,4,69
hscroot@h3j5hmc1:~>

您应该问自己,粗体的数字是何含义。

  • 1036910 是编号为 69 的 LPAR 上的 vscsi 插槽编号;3 是远程 ID(VIOS 编号);69 是编号为 3 的 VIOS 上的插槽编号)
  • 1146911 是编号为 69 的 LPAR 上的 vscsi 插槽编号;4 是远程 ID(VIOS 编号);69 是编号为 4 的 VIOS 上的插槽编号)

备注:如果您的 HMC 管理着多个主机,并且您不确定自己的 LPAR 在哪个主机上运行,您可以发出以下命令来获取其主机名称。在我的用例中,我知道主机名称为 h3j5。

如果要登录到您的 LPAR,您可以发出 lsattr 命令来获取其主机序列号,如下所示:

lsattr -El sys0 -a systemid

获取架构的序列号之后,您可以返回到 HMC 并搜索它的名称,如下所示:

lssyscfg -r sys -F name,serial_num|sed '/your serial number goes in here/!d'

现在,我们只需要访问上面提及的各个 remote_lpar_ids(即 VIOS 服务器),检查哪个虚拟主机分配给了具体的插槽,然后映射它的磁盘。

由于我们已拥有远程 LPAR ID 编号(即:VIOS 服务器),所以我们甚至不需要关心它的名称。例如:


清单 7. 进入 VIOS 服务器
				
hscroot@h3j5hmc1:~> mkvterm -m h3j5 --id 3
 Open in progress
 Open Completed.
  IBM Virtual I/O Server
                        login: padmin
padmin's Password:
1 unsuccessful login attempt since last login.
Last unsuccessful login: Thu May 20 19:43:36 EDT 2010 on /dev/vty0
Last login: Thu May 20 11:41:58 EDT 2010 on /dev/vty0
h3j5vioss1$ 

因为您已登录到 VIOS 服务器上,所以您需要发出 oem_setup_env 命令,以便进入 VIOS 服务器模式(此命令用于从 VIOS 模式切换到 AIX 模式)。

h3j5vioss1$ oem_setup_env
h3j5vioss1# 


清单 8. 发现哪个虚拟主机是针对插槽编号 69 的。
				
h3j5vioss1# lsslot -c slot|grep "C69 "
U9117.MMA.10F2F1A-V3-C69   Virtual I/O Slot  vhost69
h3j5vioss1# ^d				(返回到 VIO 模式)
			

如果您很幸运,插槽或虚拟主机会具有相同的编号,但是,它们有可能完全不同。

因为我们已确定了分配给插槽 69 的虚拟主机,所以我们已拥有检查哪个磁盘映射到我们编号为 69 的 LPAR 所需的所有信息。

h3j5vioss1$ lsmap -vadapter vhost69
SVSA            Physloc                                      Client Partition ID
--------------- -------------------------------------------- ------------------
vhost69         U9117.MMA.10F2F1A-V3-C69                     0x00000045

VTD                   69_368
Status                Available
LUN                   0x8100000000000000
Backing device        hdisk121
Physloc               U789D.001.DQD79BX-P1-C1-T1-W5005076801300F0A-L76000000000000

VTD                   69_369
Status                Available
LUN                   0x8200000000000000
Backing device        hdisk122
Physloc               U789D.001.DQD79BX-P1-C1-T1-W5005076801300F0A-L77000000000000
h3j5vioss1$ oem_setup_env		( going back to AIX mode )
			

如上所示,hdisk121 和 hdisk122 都从 VIOS 服务器 3 映射到我们的 LPAR。

现在,让我们看看它们的冗余在多个路径中的情况。


清单 9. 检查磁盘冗余
				
h3j5vioss1# lspath -l hdisk121
Enabled hdisk121 fscsi0
Enabled hdisk121 fscsi0
Enabled hdisk121 fscsi1
Enabled hdisk121 fscsi1
Enabled hdisk121 fscsi2
Enabled hdisk121 fscsi2
Enabled hdisk121 fscsi3
Enabled hdisk121 fscsi3
h3j5vioss1# lspath -l hdisk122
Enabled hdisk122 fscsi0
Enabled hdisk122 fscsi0
Enabled hdisk122 fscsi1
Enabled hdisk122 fscsi1
Enabled hdisk122 fscsi2
Enabled hdisk122 fscsi2
Enabled hdisk122 fscsi3
Enabled hdisk122 fscsi3
h3j5vioss1#			

在上述信息中,我们可以假设 SAN 人员已为 VIOS 服务器 3 中的所有 4 个 HBA(即从 fcs0 到 fcs3) 映射了两个 LUN。

获得最终的磁盘分配中各自的 WWPN 的最快方式之一是使用以下命令:

h3j5vioss1# for i in 0 1 2 3;do echo "fcs${i} -> $(lscfg -vl fcs${i}|sed '/Network/!d')" \
;done
fcs0 ->         Network Address.............10000000C9881EA8
fcs1 ->         Network Address.............10000000C9881EA9
fcs2 ->         Network Address.............10000000C9881EB4
fcs3 ->         Network Address.............10000000C9881EB5
h3j5vioss1#

最后说明

在 VIOS 服务器 3 中执行的所有步骤也都应该在 VIOS 服务器 4 中执行。我们需要发现 VIOS 服务器 4 中的哪个虚拟主机将磁盘映射到了 LPAR 69,然后检查它自己的冗余。

与其在 清单 3 中简单地获取磁盘细节,不如在 lspath 命令中指定其他选项,获取更多有用信息来帮助我们识别 VIOS 服务器中通过虚拟主机映射到 LPAR 的磁盘的真实名称。

那么,我们如何确切地知道 LPAR 69 中的 hdisk0 是否就是 VIOS 服务器 3 中的 hdisk121?

具体方法如下:

root@a25acdldm001g::/> lspath -l hdisk0 -F name,parent,connection,status
hdisk0,vscsi0,810000000000,Enabled
hdisk0,vscsi1,810000000000,Enabled
root@a25acdldm001g::/>

通过在 lspath 命令输出中检查连接值,我们可以查看它与 lsmap 命令中所示的值是否准确匹配。例如:

h3j5vioss1$ lsmap -vadapter vhost69
SVSA            Physloc                                      Client Partition ID
--------------- -------------------------------------------- ------------------
vhost69         U9117.MMA.10F2F1A-V3-C69                     0x00000045

VTD                   69_368
Status                Available
LUN                   0x8100000000000000
Backing device        hdisk121
Physloc               U789D.001.DQD79BX-P1-C1-T1-W5005076801300F0A-L76000000000000

VTD                   69_369
Status                Available
LUN                   0x8200000000000000
Backing device        hdisk122
Physloc               U789D.001.DQD79BX-P1-C1-T1-W5005076801300F0A-L77000000000000
h3j5vioss1$

结束语

最后,我们能够理解此环境。编号为 69 的 LPAR 在其 rootvg 上有一个磁盘,该磁盘是通过两个 VSCSI 实现的。从 HMC,我们发现每个 VSCSI 来自不同的 VIOS 服务器(即编号为 3 的 VIOS 和编号为 4 的 VIOS )。

此外,我们发现,编号为 69 的 LPAR 上的 hdisk0 为编号为 3 的 VIOS 服务器上的 hdisk121,我们还看到,它们映射到 VIOS 服务器上的所有 4 个 HBA (fcs[0-3])。

如果您不理解我们在本文中介绍的所有信息,请再阅读一次,重点关注粗体语句和数字。这些可以帮助您强化此映射概念。

以下我们所介绍内容的简单总结:

  • LPAR
    • 获取 LPAR 编号。
    • 获取磁盘编号。
    • 基于 vscsi 设备获取插槽编号。
  • HMC
    • 获取 VIOS 插槽编号。
    • 获取 VIOS 编号。
  • VIOS
    • 使用 VIOS 插槽编号获取虚拟主机。
    • 显示映射到您发现的虚拟主机的磁盘。
    • 基于连接编号来确定正确的磁盘。
    • 检查磁盘路径。
  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值