【转】 HMC与VIOS对新LPAR提供存储与网络虚拟化的支持
前面的几篇博文的操作环境都是在IVM下,IVM可以看作是VIOS的一部分,或者是对VIOS功能的一个扩展,一个IVM只能管理1台物理服务器,而HMC则是一对多。在有HMC来管理物理服务器的情形下,VIOS中的IVM功能将被屏蔽,其相应的功能将由HMC来接管。
下面是在HMC环境下创建一个新的LPAR的命令:
hscroot@hmc:~>
mksyscfg -r lpar -m Server-8231-E2B-SN104A4AR -i
"name=dennis,lpar_env=aixlinux,auto_start=1,boot_mode=norm,mem_mode=ded,min_mem=2048,
desired_mem=4096,max_mem=4096,proc_mode=shared,sharing_mode=uncap,uncap_weight=156,
min_procs=1,desired_procs=2,max_procs=2,min_proc_units=0.2,desired_proc_units=0.4,max_proc_units=1.2,
virtual_eth_adapters=10/0/256//0/1,virtual_scsi_adapters=20/client/1//17/1, max_virtual_slots=100"
创建一个虚机(LPAR, logical partition)最关键也相对比较麻烦一些的参数就是给LPAR提供网络和存储设备,也就是上面两条红色和蓝色标注的部分,关于这两个参数的具体含义在前面用IVM创建LPAR的博文--通过VIOS实现AIX系统的网络虚拟化 和 通过VMLibrary在client partition上安装AIX全程实录 。
这里比较关心的是如何构造该参数的具体数值,首先看网络部分,需要确定的参数是Virtual
Ethernet Client Adapter(VECA)在当前正在创建的LPAR中的slot
num,这个自由度很高,基本上可以随便指定一个不超过max_virtual_slots中指定的数值(在我们指定max_virtual_slots参数的情形下),这个例子中VECA的slot
number=10,
比较麻烦的是port_vlan_id部分,因为这个数值将直接决定新创建的LPAR中网络设备是否可用,因此需要将它指定到VIOS中一个物理可用的网络设备上,所以我们需要在HMC环境(不是IVM了,因为在有HMC存在的情形下,HMC将屏蔽掉VIOS中的IVM命令,屏蔽意味着该条命令可以在VIOS环境下执行,但是do
nothing,没有任何输出)下查看它的网络设备相关的信息。执行:
上图显示了当前VIOS中Virtual
Ethernet Server Adapter(VESA)的信息:它有两个VESA, slot number分别是30和31,
addl_vlan_ids=354,355,356和 addl_vlan_ids=330,331,332,333,如果在VIOS中通过lsmap
-all -net命令查看,这两个VESA都有对应的SEA和backing device,因此都可以被client
partition拿来使用。
对于VIOS中Virtual SCSI Server Adapter设备的信息,可以在HMC下用以下命令来查看:
其中slot number = 17的VSSA正好是我们创建这个LPAR使用的,在上述的mksyscfg命令行中,我们只是创建了一个Virtual SCSI Client Adapter。这条命令执行后,与IVM中mksyscfg命令的执行效果不同,HMC不会在VIOS中自动创建一个对应的Virtual
SCSI Server Adapter虚拟设备(比如vhost0)出来,此时需要通过下面这样的命令给VIOS
partition创建一个Virtual SCSI Server Adapter虚拟设备:
hscroot@hmc:~>
chhwres -r virtualio --rsubtype scsi -m Server-8231-E2B-SN104A4AR -o a
--id 1 -s 18 -a "adapter_type=server, remote_lpar_id=2,
remote_slot_num=30"
当然如果我们不想指定remote_lpar的相关信息,那么完全可以使用上述命令的一个简化版本:
hscroot@hmc:~> chhwres
-r virtualio --rsubtype scsi -m Server-8231-E2B-SN104A4AR -o a --id 1
-s 18 -a "adapter_type=server"
上面的这条命令只是说在VIOS中创建一个slot num=18的Virtual SCSI Server Adapter, 并没有指定能使用
该VSSA的client
partition的相关信息,这意味着这个VSSA可以跟Any Partition的Any Partition
Slot进行绑定,不过对于Client
Adapter的话,则必须指定remote_lpar_id和remote_slot_num两个参数。当然,如果VIOS中对应slot
num=18已经有一个VSSA,则该条命令会提示如下的错误:
HSCL294C Dynamic add of virtual I/O resources failed:
A Virtual I/O device already exists at slot 18.
如果VIOS中对应slot
num=18尚没有一个VSSA存在,那么上述命令就会在VIOS中创建一个VSSA出来,如果想在VIOS中看到该hwres所对应的虚拟设备vhost
n,需要登录到VIOS系统中,运行cfgdev命令vios才可自动创建出一个vhostx设备出来,否则的话只能通过lshwres命令来查看当前VIOS中拥有多少个VSSA:
hscroot@hmc:~> lshwres -r virtualio --rsubtype scsi -m Server-8231-E2B-SN104A4AR --level lpar --filter "lpar_ids=1"
...
lpar_name=vios,lpar_id=1,slot_num=77,state=1,is_required=0,adapter_type=server,
remote_lpar_id=any,remote_lpar_name=,remote_slot_num=any
...
一旦在VIOS中通过cfgdev产生了vhostx虚拟设备,就可以象 通过VMLibrary在client partition上安装AIX全程实录那样为其创建VTD和backing device.
如果我们考虑一下上述操作的相反的过程,在VIOS环境下,首先必须通过
a. rmvdev -vtd vtdname删除掉vhostx上的VTD b. 通过rmlv Logical Volume删除掉backing
device(这步需要小心,删除一个LV,意味这“all data contained on logical volume xxx will
be destroyed")c. rmdev -dev vhostx
到目前为止的这几步还只是删除vhostx这个虚拟设备,但是在hwres这一层,供过lshwres依然可以看到该vhostx岁对应的hwres还存在着,此时就必须利用chhwres命令来彻底把这一hwres删除掉。
启动LPAR并安装了AIX之后,配置完网络,就可以用比如ssh的方式登录进去。在该AIX环境下,我们执行:
bash-3.2# prtconf
会有以下的输出:
。。。
System Model: IBM,8231-E2B
Machine Serial Number: 104A4AR
Processor Type: PowerPC_POWER7
Processor Implementation Mode: POWER 7
Processor Version: PV_7_Compat
Number Of Processors: 2
Processor Clock Speed: 3000 MHz
CPU Type: 64-bit
Kernel Type: 64-bit
LPAR Info: 2 dennis
Memory Size: 4096 MB
Good Memory Size: 4096 MB
Platform Firmware level: AL730_066
Firmware Version: IBM,AL730_066
Console Login: enable
Auto Restart: true
Full Core: false
。。。
INSTALLED RESOURCE LIST
The following resources are installed on the machine.
+/- = Added or deleted from Resource List.
* = Diagnostic support not available.
Model Architecture: chrp
Model Implementation: Multiple Processor, PCI bus
+ sys0 System Object
+ sysplanar0 System Planar
* vio0 Virtual I/O Bus
* vscsi0 U8231.E2B.104A4AR-V2-C20-T1 Virtual SCSI Client Adapter
* hdisk1 U8231.E2B.104A4AR-V2-C20-T1-L8300000000000000 Virtual SCSI Disk Drive
* hdisk0 U8231.E2B.104A4AR-V2-C20-T1-L8200000000000000 Virtual SCSI Disk Drive
* cd0 U8231.E2B.104A4AR-V2-C20-T1-L8100000000000000 Virtual SCSI Optical Served by VIO Server
* ent0 U8231.E2B.104A4AR-V2-C10-T1 Virtual I/O Ethernet Adapter (l-lan)
* vsa0 U8231.E2B.104A4AR-V2-C0 LPAR Virtual Serial Adapter
* vty0 U8231.E2B.104A4AR-V2-C0-L0 Asynchronous Terminal
+ L2cache0 L2 Cache
+ mem0 Memory
+ proc0 Processor
+ proc4 Processor
网友可以与当初创建它的命令行参数进行对比,看看它们之间的那种对应关系。
【转】 HMC与VIOS对新LPAR提供存储与网络虚拟化的支持的更多相关文章
- 【转】通过VIOS实现AIX系统的网络虚拟化
在上一篇博文中,我们已经在一个新创建的LPAR中通过File-backed device以及VMLibrary的方式成功安装了一个AIX系统,接下来我们讨论如何通过VIOS的协助来完成新装AIX系统的 ...
- Dual Path Networks(DPN)——一种结合了ResNet和DenseNet优势的新型卷积网络结构。深度残差网络通过残差旁支通路再利用特征,但残差通道不善于探索新特征。密集连接网络通过密集连接通路探索新特征,但有高冗余度。
如何评价Dual Path Networks(DPN)? 论文链接:https://arxiv.org/pdf/1707.01629v1.pdf在ImagNet-1k数据集上,浅DPN超过了最好的Re ...
- [转]新浪云存储SCS Node.js使用指南
转载自:https://github.com/SinaCloudStorage/scs-sdk-js scs-sdk-js 新浪云存储(SCS) SDK for Node.js Installatio ...
- 为 UWP 应用提供的 .NET 网络 API
[编者按]本文作者是 Windows networking 团队项目经理 Sidharth Nabar.在微软 Build 2015 大会上,.NET Core 5 作为开发 UWP(Universa ...
- Android 6.0 新特性 整理 资料来自网络
Android 6.0新特性 Runtime Permissions Doze and App Standby Apache HTTP Client Removal BoringSSL Access ...
- JDK1.6新特性,基础类库篇,IO支持
1. JDK1.6中提供了java.io.Console类 JDK1.6中提供了java.io.Console 类专用来访问基于字符的控制台设备.你的程序如果要与Windows下的cmd或者Linux ...
- 为企业提供存储功能的Red Hat Stratis 2.0.1发布了
导读 Red Hat的Stratis存储项目用于在Linux上提供企业存储功能,以与ZFS和Btrfs之类的产品竞争,同时在LVM和XFS之上构建,这是其2020年守护进程的首次更新. 通过Strat ...
- Visual Studio Code升级到0.5,提供对ES6的更好支持
(此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 题记:题目即题记. 自从Visual Studio Code发布之后(最初是0.1),微软就 ...
- 给新centos系统虚拟机配置网络服务
记录下今天新建虚拟机的过程吧. 镜像:CentOS-6.3-x86_64-minimal; 虚拟机版本: vm 8.0 LET'S----------------------->GO 手动新建一 ...
随机推荐
- SpringMVC+Maven开发项目源码详细介绍
代码地址如下:http://www.demodashi.com/demo/11638.html Spring MVC概述 Spring MVC框架是一个开源的Java平台,为开发强大的基于Java的W ...
- BASE64Decoder的引用
project---->properties--->Libraries--->JRE System Library--->Access rules--->Edit---& ...
- iOS开发-简单获取View截图图像(Quartz2D)
1. 先指定图像的大小 UIGraphicsBeginImageContext(view.frame.size); 2. 在指定的区域绘制图像 [view drawViewHierarchyInRec ...
- CSS之Position全面认识
CSS的很多其他属性大多容易理解,比如字体,文本,背景等.有些CSS书籍也会对这些简单的属性进行大张旗鼓的介绍,而偏偏忽略了对一些难缠的属 性讲解,有避重就轻的嫌疑.CSS中主要难以理解的属性包括盒型 ...
- 【CODEFORCES】 C. Table Decorations
C. Table Decorations time limit per test 1 second memory limit per test 256 megabytes input standard ...
- Atitit atiMail atiDns新特性 v2 q39
Atitit atiMail atiDns新特性 v2 q39 V1 实现了基础的功能 V2 重构..使用自然语言的方式 c.According_to_the_domain_name(&quo ...
- 李洪强经典面试题53-Swift
李洪强经典面试题53-Swift Swift 网上有很多Swift的语法题,但是Swift现在语法还未稳定,所以在这里暂时不贴出语法题,可以自行搜索. Swift和Objective-C的联系 Swi ...
- Crypto++库安装、测试
项目中需要使用到C++加密解密库,选择了Crypto++这个开源库,于是先安装并写一个小例子试试 一.下载 网址:http://www.cryptopp.com/#download 二.打开项目 下载 ...
- c++ 如何使用第三方的library
感谢以下参考资料: 关于如何使用第三方的库: http://stackoverflow.com/questions/21942545/how-to-install-third-party-librar ...
- object is not an instance of declaring class
错误原因:invoke方法的时候,应该是类的实例对象,而不是类本身 解决方法:把 PowerMockito.doReturn(index_expect).when(IndexController.cl ...