【转】通过VIOS实现AIX系统的网络虚拟化
在上一篇博文中,我们已经在一个新创建的LPAR中通过File-backed device以及VMLibrary的方式成功安装了一个AIX系统,接下来我们讨论如何通过VIOS的协助来完成新装AIX系统的网络功能。为方便读者阅读,我把当前我们所处的位置用下图简单标识一下:

上图是通过VIOS给新装的AIX系统提供网络支持的大致原理图,VIOS负责提供一个虚拟的ethernet
apapter给AIX使用(见图中VESA与VECA部分的连接),然后VIOS通过SEA穿过PowerVM
Hypervisor(也即利用Hypervisor Firmware所提供的功能)来使用物理的Ethernet
Adapter与外部世界进行网络通信。
通过上一篇博文之后,我们可以登录到AIX系统,但是网络部分尚未开通,这也是这篇博文要讨论的主要内容。上篇文章中我们在创建一个新的LPAR时用的是下面的命令:
-bash-3.2$ mksyscfg -r lpar -i
"name=nim,lpar_env=aixlinux,auto_start=1,boot_mode=norm,mem_mode=ded,min_mem=1024,
desired_mem=2048,max_mem=2048,proc_mode=shared,sharing_mode=uncap,uncap_weight=128,
min_procs=1,desired_procs=1,max_procs=2,min_proc_units=0.25,desired_proc_units=0.5,
max_proc_units=2,\"virtual_eth_adapters=4/0/3//0/0,5/0/4//0/0\""
这条命令很长很暴力,不过目前我们的关注点是黑体红色部分,它将为新生成的虚拟机LPAR提供两个Virtual
Ethernet
Adapter,因为相对于VIOS这个LPAR而言,新的LPAR将作为它的client形式而存在,所以新的LPAR(为简单起间,后续用其名称nim来代表这个LPAR)中的Virtual
Ethernet Adapter的官方称谓是Virtual Ethernet Client
Adapter(VECA)。这里简单解释一下后面那两个诡异的参数,4/0/3//0/0,它是‘slot_number/is_ieee/port_vlan_id/additional_vlan_ids/is_trunk/is_required’的具体表现形式,其最核心的信息有3个:slot_number,
port_vlan_id和is_trunk.
slot_number是这个VECA在nim这个虚拟机当中的slot_number,而port_vlan_id最重要,它表示当前虚机中的这个VECA与VIOS中的哪个Virtual
Ethernet Server
Adapter(VESA)是相互绑定的,也就是上图中的VESA与VECA标识的那条线,is_trunk表示这个virtual ethernet
adapter是否用来连接external network,在client
partition当中当然不需要了,因为我们只和VIOS中的VESA打交道,后者才需要连接external network (by using
the physical ethernet adapter through the SEA)。我们后面在具体操作时还会再解释这里的参数。
现在我们登录到新装的AIX中,利用lsdev命令可以看到下面两个VECA(对应前面创建LPAR时的“virtual_eth_adapters=4/0/3//0/0,5/0/4//0/0“参数):
(通常来说,上层的OS是不会知道底下设备是虚拟的还是物理的,但是我们从上面的命令输出可以看到,AIX很明显知道ent0和ent1都是Virtual I/O设备,因为所有的这一套东西都由IBM独家提供,包括AIX,所以这并不奇怪)
可以用lscfg命令看看这两个虚拟设备的详细信息:
上图中被我用鼠标hightlight部分是ent0的location code,其中V2-C4-T1的信息是此时我们比较关心的,C4表示该设备的slot number=4,这跟创建它的参数4/0/3//0/0是吻合的。
接下来为了使新装的AIX系统可以访问外部网络,需要在VIOS中为它建立一个SEA (Shared Ethernet Adapter),所以现在我们需要登录到VIOS环境中,找到port_vlan_id=3的VESA,然后为其建立一个SEA设备。
在VIOS中,我们可以看到如下一些跟网络设备相关的东西:
在我们当前实验用的IBM P服务器上,有两个物理的Ethernet Adapter设备,分别对应上图中的ent0和ent1,这两个设备都有网线连接到一个交换机上,所以ent0和ent1都可以用来作为SEA设备的backing device.
上图中的ent4,
ent5,ent6和ent7则分别是VIOS上的VESA,为了配置AIX的网络,需要找到与AIX中ent0或者ent1相同的vlan
id,下面我们以AIX中ent0为例,它所对应的VIOS中的VESA的vlan id=3.
所以我们需要在VIOS中找出ent[4,7]中哪个vlan id=3. 在VIOS环境下,执行lshwres命令:
上图中被hightlight的部分显示:VIOS中,vlan id = 3的VESA的slot num=5, 然后再用lsmap -all -net命令:
-bash-3.2$ lsmap -all -net
SVEA Physloc
------ --------------------------------------------
ent4 U8204.E8A.068B7E4-V1-C3-T1
SEA NO SHARED ETHERNET ADAPTER FOUND
SVEA Physloc
------ --------------------------------------------
ent5 U8204.E8A.068B7E4-V1-C4-T1
SEA NO SHARED ETHERNET ADAPTER FOUND
SVEA Physloc
------ --------------------------------------------
ent6 U8204.E8A.068B7E4-V1-C5-T1
SEA NO SHARED ETHERNET ADAPTER FOUND
SVEA Physloc
------ --------------------------------------------
很明显,红色部分表明ent6所对应的slot num=5,因此它的vlan id=3. ent6就是和我们新建的虚机VECA所对应的VESA. 有了这些信息之后,就可以为ent6建立一个SEA:
、
上面的命令行中,为了方便后续其他LPAR上的网络配置工作,我们为ent[4,6]都创建了一个相同的SEA
ent9,其backing device为ent1,后者是一个physical ethernet
adapter,前面我们都已经看到过了。(从这条命令我们还可以看到什么?可以看到一个SEA可以支持多个client
partition的网络功能,这也是它为啥叫Shared Ethernet Adapter的原因,而一个SEA只有一个backing
device,在我们的例子中是ent1,后者是一个实际的Ethernet Adapter,用来和外部世界进行信息沟通)
在以上步骤完成之后,就可以通过ifconfig来配置新安装的AIX系统的网络接口en0了(此时它的状态是Defined),这跟Linux下面的配置大同小异。完成之后,ping一下我自己的主机:
# ping 192.16.10.94
PING 192.16.10.94: (192.16.10.94): 56 data bytes
64 bytes from 192.16.10.94: icmp_seq=0 ttl=63 time=9 ms
64 bytes from 192.16.10.94: icmp_seq=1 ttl=63 time=0 ms
64 bytes from 192.16.10.94: icmp_seq=2 ttl=63 time=0 ms
配置完成后,ent0的状态已经改变成Available了。
一旦网络通了之后,可以稍微轻松一下,接下来的任务是把这台新装的AIX配置成一个NIM服务器。详见下一篇博文。
本文转自:http://blog.chinaunix.net/uid-23769728-id-3315871.html
【转】通过VIOS实现AIX系统的网络虚拟化的更多相关文章
- 【转】 HMC与VIOS对新LPAR提供存储与网络虚拟化的支持
前面的几篇博文的操作环境都是在IVM下,IVM可以看作是VIOS的一部分,或者是对VIOS功能的一个扩展,一个IVM只能管理1台物理服务器,而HMC则是一对多.在有HMC来管理物理服务器的情形下,VI ...
- 使用NIM Server网络半自动安装AIX系统
一.NIM配置 1.安装NIMServer前准备 1.1.配置IP地址 # ifconfig –a #检查当前IP地址# # smitty mktcpip #设置IP地址# 选择第一块网卡(插网线的网 ...
- (转)IBM AIX系统硬件信息查看命令(shell脚本)
IBM AIX系统硬件信息查看命令(shell脚本) 原文:http://blog.itpub.net/22085031/viewspace-1054015/ 查看IBM AIX系统的主机型号.序列号 ...
- 如何配置Linux系统的网络IP地址
一台安装了Linux系统的电脑如果想要联网,首先要做的就是进行网络配置.今天小编就以CentOS6.4系统为例为大家介绍整个网络配置的过程,虽然只是以CentOS6.4系统为例,但是其它的Linux系 ...
- Linux系统NFS网络文件系统
Linux系统NFS网络文件系统 NFS(network file system)网络文件系统,就是通过网络让不同的主机系统之间可以共享文件或目录,此种方法NFS客户端使用挂载的方式让共享文件或目录到 ...
- AIX系统中安装Java6全过程(全部)
==================================================== From: GCG TSC pSeries <ibm800p@cn.ibm.com& ...
- AIX系统的环境变量设置
AIX系统的环境变量设置 用户环境的定义是通过设置环境变量来实现的.AIX系统主要使用两大类profile文件来定义用户环境.一类是用来为所有用户定制环境,另一类是为个人定义自己的环境. 登录时,sh ...
- AIX 开机启动网络服务配置
aix7 administrator An administrator notices that the ntp group subsystem is not starting up at boot ...
- AIX 系统中 PVID 的含义与作用
网址: http://www.eygle.com/digest/2008/06/aix_pvid.html Pvid是aix系统中的ODM LVM用于识别PV的序列号,操作系统通过pvid来识别pv, ...
随机推荐
- 一个256行代码的第一人称引擎(Direct2D移植版)
这篇文章是对"a first person engine in 265 lines"[1]的一个Direct2D版的移植.看到这篇文章我立刻就想到了QUAKE,当然QUAKE使用了 ...
- iOS 之UIBezierPath
代码地址如下:http://www.demodashi.com/demo/11602.html 在之前的文章中,由于用到过UIBezierPath这个类,所以这里就对这个类进行简单的记录一下,方便自己 ...
- (四)EasyUI 使用——form表单2 & window窗口
form表单组件主要有以下内容(如下图) 6. progressbar进度条 每隔1秒让进度条按随机数填充,直至充满进度条刻度(只能执行一次) 进度条: <div id=" ...
- Failed to Stop or Restart Nginx Server Through Serevice Command(nginx进程不能停止重启)
Many people are accustomed to start a Nginx web server through init scripts and then they can contro ...
- 《Mining the Web:Transforming Customer Data into Customer Value》读后札记
<Mining the Web:Transforming Customer Data into Customer Value> <Web数据挖掘:将客户数据转化为客户价值> — ...
- 预装WIN8改装WIN7之BIOS设置
不少预装WIN8/10的朋友觉得WIN8/10不好用,想改装WIN7,可改装之后常常出现各种问题,甚至不能启动,往往是BIOS设置不当. 本文以联想小新V2000 预装WIN8.1中文版为例,说说WI ...
- android studio - 隐藏编辑器上面的导航条
菜单栏-“View”-"Navigation Bar"
- Tomcat闲聊第二话
windows下安装Tomcat可以直接下载Installer,需要注意的是,先确保安装了Java虚拟机. 注:默认安装路径为 C:\Program Files\Apache Software Fou ...
- centos7+nginx部署asp.net core mvc网站
1. 安装 .net core 可参见官网安装教程. 选择Linux发行版本为Centos/Oracle 添加dotnet的yum仓库配置 $ sudo rpm -Uvh https://packag ...
- 谁说selenium打开firefox不用驱动的???!!!!
selenium3下写自动化脚本,使用firefox(48) 要下载驱动了 geckodriver 就是这个,和其他驱动放一个地方~~~