我們知道虛擬化作為一項成熟的技術,在 IBM eServer pSeries 服務器和 BladeCenter JS 刀片服務器中已經得到廣泛的應用。所以我們有必要簡單說明用戶在常見的虛擬化環境,AIX微分區 (Micro Partition) 中如何得到可用的資源狀態。
AIX 的命令接口在虛擬化環境下仍然可以使用,但是通常得到的結果是分配給當前虛擬機的虛擬處理器 (Virtual CPU) 的信息,而不是物理處理器 (Physical CPU) 的。
清單 2. 在AIX微分區上運行 prtconf 獲得虛擬處理器的信息
- # prtconf | grep Processor
- Processor Type: PowerPC_POWER5
- Processor Implementation Mode: POWER 5
- Processor Version: PV_5
- Number Of Processors: 1
- Processor Clock Speed: 1654 MHz
- Model Implementation: Multiple Processor, PCI bus
- + proc0
以上輸出表示本機當前被分配了一個虛擬處理器,及其硬件類型和運行頻率。為了獲得該虛擬機獲得的物理處理器的數量,通常需要訪問對應的 HMC (Hardware Management Console) 或者 AMM (Advanced Management Module) 來獲得詳細的信息和配置。下面的實例運行於 HMC。
清單 3. 在 HMC 上運行 lssyscfg 獲得AIX微分區的配置
- hscroot@hmc:~> lssyscfg -r prof -m Server-9117-MMA-SN060DD72
- --filter "lpar_ids=p6ml4n05"
- name=p6ml4n05,lpar_name=p6ml4n05,lpar_id=6,lpar_env=aixlinux,
- all_resources=0,min_mem=2048,desired_mem=3072,max_mem=4096,
- min_num_huge_pages=0,desired_num_huge_pages=0,
- max_num_huge_pages=0,mem_mode=ded,proc_mode=shared,min_proc_units=0.1,
- desired_proc_units=0.2,max_proc_units=0.3,min_procs=1,desired_procs=1,
- max_procs=1,sharing_mode=cap,uncap_weight=0,shared_proc_pool_id=0,
- shared_proc_pool_name=DefaultPool,io_slots=none,lpar_io_pool_ids=none,
- max_virtual_slots=10,
- virtual_serial_adapters=0/server/1/any//any/1,1/server/1/any//any/1",
- virtual_scsi_adapters=2/client/1/vioserver/16/0,virtual_eth_adapters=none,
- hca_adapters=none,boot_mode=norm,conn_monitoring=0,auto_start=0,
- power_ctrl_lpar_ids=none,work_group_id=none,redundant_err_path_reporting=0,
- bsr_arrays=0,lhea_logical_ports=23000000/2/1/5/none,
- lhea_capabilities=23000000/0,
- lpar_proc_compat_mode=default,electronic_err_reporting=null,
- virtual_fc_adapters=none
此處跟 CPU 相關的重要字段有:
min_proc_units:為了啟動該分區所需的最少的物理處理器個數
desired_proc_units: 該分區運行時通常需要的物理處理器個數
max_proc_units: 該分區在運行時允許獲得的最多的物理處理器個數
關於AIX微分區的知識,我們就講解到這裡,在實際中應該好好的熟練過程。