前面的几篇博文的操作环境都是在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提供存储与网络虚拟化的支持的更多相关文章

  1. 【转】通过VIOS实现AIX系统的网络虚拟化

    在上一篇博文中,我们已经在一个新创建的LPAR中通过File-backed device以及VMLibrary的方式成功安装了一个AIX系统,接下来我们讨论如何通过VIOS的协助来完成新装AIX系统的 ...

  2. Dual Path Networks(DPN)——一种结合了ResNet和DenseNet优势的新型卷积网络结构。深度残差网络通过残差旁支通路再利用特征,但残差通道不善于探索新特征。密集连接网络通过密集连接通路探索新特征,但有高冗余度。

    如何评价Dual Path Networks(DPN)? 论文链接:https://arxiv.org/pdf/1707.01629v1.pdf在ImagNet-1k数据集上,浅DPN超过了最好的Re ...

  3. [转]新浪云存储SCS Node.js使用指南

    转载自:https://github.com/SinaCloudStorage/scs-sdk-js scs-sdk-js 新浪云存储(SCS) SDK for Node.js Installatio ...

  4. 为 UWP 应用提供的 .NET 网络 API

    [编者按]本文作者是 Windows networking 团队项目经理 Sidharth Nabar.在微软 Build 2015 大会上,.NET Core 5 作为开发 UWP(Universa ...

  5. Android 6.0 新特性 整理 资料来自网络

    Android 6.0新特性 Runtime Permissions Doze and App Standby Apache HTTP Client Removal BoringSSL Access ...

  6. JDK1.6新特性,基础类库篇,IO支持

    1. JDK1.6中提供了java.io.Console类 JDK1.6中提供了java.io.Console 类专用来访问基于字符的控制台设备.你的程序如果要与Windows下的cmd或者Linux ...

  7. 为企业提供存储功能的Red Hat Stratis 2.0.1发布了

    导读 Red Hat的Stratis存储项目用于在Linux上提供企业存储功能,以与ZFS和Btrfs之类的产品竞争,同时在LVM和XFS之上构建,这是其2020年守护进程的首次更新. 通过Strat ...

  8. Visual Studio Code升级到0.5,提供对ES6的更好支持

    (此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 题记:题目即题记. 自从Visual Studio Code发布之后(最初是0.1),微软就 ...

  9. 给新centos系统虚拟机配置网络服务

    记录下今天新建虚拟机的过程吧. 镜像:CentOS-6.3-x86_64-minimal; 虚拟机版本: vm 8.0 LET'S----------------------->GO 手动新建一 ...

随机推荐

  1. IOS 代理模式 DELEGATE

    代理模式:将我(类或结构体)需要来完成的工作交给另一个具备我所要求的能力的人(实现协议的对象)来执行 协议:具备哪些能力 例子:我要去买火车票,没时间买,委托黄牛买票 协议:买票 //: Playgr ...

  2. (一)EasyUI 使用——基本概念

    1. EasyUI是什么 EasyUI是一种第三方组织开发的一款基于jQuery的,简单易用的,功能强大的WEB[后台前端]JavaScript现成的组件库. 2.  JavaScript,AJAX, ...

  3. asp.net core mvc视频A:笔记6-1.应用发布与部署

    显示:直接使用上节课的项目 一.使用vs发布应用 这里选择发布到文件夹,当然你可以选择其他的发布方式 部署模式:(我的VS里没有这个配置,不知道为啥...视频里有) 1.框架依赖:选择此模式,发布后需 ...

  4. SQL Server事务详解

    事务定义: 事务是单个的工作单元.如果某一事务成功,则在该事务中进行的所有数据更改均会提交,成为数据库中的永久组成部分.如果事务遇到错误且必须取消或回滚,则所有数据更改均被清除. 事务三种运行模式:  ...

  5. PHP+Redis 实例 页面缓存

    前提分析! 上面的图,我分为了三个层级去做页面缓存,其实不一定要三个层面都实现的,如果你做了页面级的,项目初期是够了,作为接口级,基本可以解决很多吞吐量. 对于上面的三个层级,我用了同一个方法去做. ...

  6. C# 网络打印机ESC指令打印小票

    public void SendSocketMsg(String ip, int port, int times, byte[] data) { try { byte[] mData; ) { mDa ...

  7. gcc -M -MM -MQ -MF -MT -MD

    静态模式规则对一个较大工程的管理非常有用.它可以对整个工程的同一类文件的重建规则进行一次定义,而实现对整个工程中此类文件指定相同的重建规则.比如,可以用来描述整个工程中所有的.o 文件的依赖规则和编译 ...

  8. _T("") vs L 到底用谁?L!

    一直没有注意这个,今天突然纠结起来这个问题,代码写多了,难免这两个混用. 现在是时候有个结论了: 如果你的工程是unicode编译,那么请明确的使用L! 如果是多字节(ansi),那么请使用_T(&q ...

  9. Vim使用技巧(2) -- 插入模式技巧 【持续更新】

    组合快捷键 Ctrl + h //删除前一个字母(同退格键) Ctrl + w //删除前一个单词 Ctrl + u //删除到行首 Esc //切换到普通模式 Ctrl + [ //切换到普通模式 ...

  10. 【转】 在Eclipse中使用JUnit4进行单元测试(中级篇)

    http://blog.csdn.net/andycpp/article/details/1327346 我们继续对初级篇中的例子进行分析.初级篇中我们使用Eclipse自动生成了一个测试框架,在这篇 ...