zoukankan      html  css  js  c++  java
  • 【转】 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

    网友可以与当初创建它的命令行参数进行对比,看看它们之间的那种对应关系。

  • 相关阅读:
    Ubuntu软件工具推荐
    利用Github Actions自动同步博客园最新内容到GitHub首页
    vscode 使用zsh powerline主题乱码解决方案
    搜索插入位置
    判断二分图
    ~~并发编程(十三):信号量,Event,定时器~~
    ~~并发编程(十二):死锁和递归锁~~
    ~~并发编程(十一):GIL全局解释锁~~
    ~~并发编程(十):线程方法~~
    ~~并发编程(九):多线程与多进程~~
  • 原文地址:https://www.cnblogs.com/caogen1991/p/6809479.html
Copyright © 2011-2022 走看看