(I303) Physical to Virtual Servers From a Technical and Practical Perspective Presentation by: Ulf Olsson Lidholm, IKEA IT AB (ulfo@ikea.com) Lars Sundqvist, HP Sweden (zinken@hp.com)
Started to work at IKEA in 2002 as OpenVMS System Manager.Became OpenVMS Product Specialist (Product Responsible) in 2006. Handles LCM for the OpenVMS base platform used within IKEA. Previously employed at Telia (Swedish TELCO) between 1999-2002, working as OpenVMS System Manager. Previously employed at J&W (later bought by WSP) between 1989-1999, working as constructional engineer, road designer, surveyor, CAD user/developer (GDS), System Responsible for a VAXCluster, Network, PC-workstations/server, Printers and Plotters. Introduced to OpenVMS in 1989 (5.5-2H1)
OpenVMS at IKEA today Runs on two systems; MHS and CNS MHS located in IKEA stores, multi purpouse system, OpenVMS I64 8.4 & Oracle Rdb 7.2.4 CNS centralised system, handling all transports by sea, air and land within IKEA, OpenVMS I64 8.3-1H1 Oracle 10.2.0.4.0 (BL870c)
Direct translation from SE to EN: Furniture House System Meaning Furniture Retail System MHS is an ERP system located in each IKEA store worldwide handling sales, stock, doing sales and order calculations, automatically orders goods from suppliers when availability in store becomes low. First MHS system taken into production 18-MAR-1987 running on MicroVAX II. Migrated to AlphaServer in the late 90 s Migrated to HP Integrity in 2006 Möbel Hus Systemet (MHS) 309 stores in production (rx2620, rx2660 + MSA30/70) 22 education systems (one for each country) 2 development systems (rx2620 + MSA30, rx2660 + MSA30) 80 test systems (rx2620/2660 + MSA30 for performance tests, rx2620/2660 + SAN disks for functional tests
MHS contains of approximatetly 2 000 000 lines of code. Current OS level used is OpenVMS 8.4 MHS is written in C, C++, Pascal, DECforms and DCL Database is Oracle Rdb 7.2.4.x Connectivity through Terminal sessions, Web Interface (Apache), SQL/Services, Rdb ODBC and JDBC (JDBC only used by the developers).
MHS login screen using Classic MHS, output from test system
Application Window in Classic MHS showing article information, output from test system
Batch menu, sequential jobs executed after end of day, output from test system
Screen from Store Goods Flow (SGF) module within MHS used in handheld units by forklifts at the store, examle from production system.
Future Development Replace direct sales functionality witin MHS with Windows application making MHS a backend supplying system. Replace morning and evening batches with online jobs. 24x7 availability D&R using Oracle Rdb Hot Standby to central database server. Extracting data from stores to central database to be used for centralised reporting/analysis.
Hardware Today: HP Integrity Server rx2660 1P/1C, 8GB RAM with StorageWorks MSA70 (16x73GB) Dual Domain To come: HP Integrity Server rx2800 1P/4C, 16GB RAM with StorageWorks D2700 (16x146GB)?
The Lifecycle of a Production System Physical Build up server located in Sweden; Initial configuration from a master system, local data, printers and users added, database configured. Physical Production server located in the store; Image backups copied from the build up server. Build up server is initialized and used for next new store Physical Build down server located in Sweden; Image backup copied to the build down server. Physical production server is decomissioned.
Why did we want to start using virtual guests? Number of available physical test systems where a bottleneck. Utilisation of each physical test server is low. Expensive as of hardware & software support, power consumption, cooling requirements. Large physical footprint, 80 servers equals to four, fully deployed, 42U server racks.
75 test systems and 22 education systems are beeing migrated from physical servers to virtual guests, hosted in four BL860c i2 servers (two hosts for production and two hosts for test servers), doubled for failover and load balancing. Five physical servers will be kept for performance testing and error analysis on production systems (errors beeing reproduced on test systems)
HPVM usage within IKEA Initial tests started on a HP Integrity rx3600 in 2007 with OpenVMS xb8 and special HPVM kit. New versions of OpenVMS available (xc16) in 2008, continue with tests. In 2009 tests where made with OpenVMS 8.4 FT1 and FT2. One rx2660 where prepared as HPVM test system and handed over to the MHS development team who didn t notice any difference in behaviour when running on a physical or virtual server (note that tests where done on FT versions). After official release of OpenVMS 8.4 in 2010 we started to do sharp tests with MHS and OpenVMS 8.4 /HPVM. No errors found in HPVM in any of the versions Errors found in OpenVMS: - FTP and GUI - QUE_MANAGER
HP Integrity Virtual Machines Technology Overview Virtual Machine 1 Virtual Machine 2 Virtual Machine 3 app1 app2 app1 app2 app1 app2 app3 app4 app3 app4 app5 app6 Guest OS (OpenVMS) I/O Guest OS (Windows) I/O Guest OS (HP-UX) I/O Virtual Machine Monitor (VM Monitor) Integrity server or blade Host Platform Manager (HP-UX) vm1 vm2 vm3 VMM driver WLM PRM HP-UX drivers Memory I/O I/O I/O
Dynamic I/O Sharing, networking Virtual Machine 1 app1 OS Virtual Machine 2 app1 OS app2 Virtual Machine 3 app1 app2 OS Virtual machine s network packets directed to physical NIC by the Integrity VM Host Virtual Switch Virtual Switch HPVM host Virtual Switch Virtual NIC may be defined without a logical port for guest-to-guest communication Logical port either physical (lan) port, or APA port NIC can be isolated to a virtual machine
VLAN functionality in virtual machines and virtual switches Green VLAN Red VLAN OpenVMS Virtual Switch OpenVMS HPVM host OpenVMS Virtual machines now VLAN capable untagged traffic Virtual switches are VLAN configurable Provides network isolation at virtual switch port granularity Dynamic reconfiguration of virtual switch ports Integrity Hardware
Storage I/O Virtualization DVD virtualized on host by: -Physical DVD -File Disk virtualized on host by: - Physical disk - File - Logical volume - SAN HPVM host
Offline Virtual Machine Migration app1 app2 VM with unique: Kernel Parameters Patch levels Layered software VMs is stopped on one server and then started up on another app1 app2 OS OS app1 app2 OS HPVM host SAN HPVM host
Online Guest Migration Linux VM HP-UX VM OpenVMS VM OpenVMS VM OpenVMS VM Windows VM Online Guest Migration is a Integrity VM feature enabling a running VM, its OS and its applications to be moved to a different VM Host system without service interruption. While the VM is moved from one VM Host to another VM Host, the guest OS and all its applications effectively remain active without an OS reboot or application restart. All I/O connections to storage and networks will remain active throughout the migration. Additional VM Hosts may be brought online for more resource allocation flexibility
HP-UX/HPVM for dummies HP-UX & HPVM installation
Installation of HP-UX is very straight forward and you re guided through a menu system before the actual installation takes place. Installation can be done either by using physical DVD s (where you may have to switch media several times) or by using the vmedia functionality in the ilo2 (not supported on rx2620).
HP-SIM must be deselected to make HPVM work
Network parameters could be set during installation of after first boot.
Hyper-threading in HP-UX must be disabled to make HPVM work: # setboot -m off
Required patches (as described in HPVM Release Notes): PHSS_41411 1.0 HPVM B.04.20.05 CORE PATCH PHSS_41191 1.0 HPVM B.04.20.05 VMMIGRATE PATCH PHSS_41412 1.0 HPVM B.04.20.05 HPVM-VMSGTK PHSS_41413 1.0 HPVM B.04.20.05 vmguestlib New patches are available. New version of HPVM is available (B.04.30.00)
HPVM Commands 1(2) hpvmclone: Creates a cloned copy of a virtual machine. Runs on the VM Host. hpvmcollect: Collects crash dumps, logs, system status, and configuration on host and guest. Runs on the VM Host and on guests. hpvmconsole: Connects to the console of a virtual machine. Runs on the VM Host. hpvmcreate: Creates a new virtual machine. Runs on the VM Host. hpvmdevinfo: Reports about storage for a virtual machine. hpvmdevmgmt: Manages the device database. Runs on the VM Host. hpvmdevtranslate: Translates Integrity VM guests to agile devices. hpvmhostrdev: Manages virtual machine access to devices used by the Integrity VM Host system. hpvminfo: Displays information about the Integrity VM environment. Runs on the VM Host and on guests. hpvmmgmt: Manages the guest memory allocation. Runs on guests only. hpvmmigrate: Moves a virtual machine from one VM Host to another. Runs on the VM Host. hpvmmodify: Renames or modifies the attributes of a virtual machine. Runs on the VM Host. All commands except hpvmconsole require superuser privileges.
HPVM Commands 2(2) hpvmnet: Configures virtual network devices. Runs on the VM Host. hpvmpubapi: Provides the Integrity VM public application interface descriptions. hpvmremove: Removes a virtual machine. Runs on the VM Host. hpvmsar: Displays performance information about one or several guests on the same host. hpvmsg_move: Initiates an online migration (move) of a virtual machine that has been associated with a Serviceguard package. hpvmsg_package: Assists the user with developing and managing the Serviceguard package configuration. hpvmstart: Starts a virtual machine. Runs on the VM Host. hpvmstatus: Displays status of one or more virtual machines. Runs on the VM Host. hpvmstop: Stops a virtual machine. Runs on the VM Host. hpvmupgrade: Assists an Integrity VM upgrade. p2vassist: Moves a system workload from a discreet server to a virtual machine. Runs on the VM Host. All commands except hpvmconsole require superuser privileges.
Virtual guest can be created in two ways: Command Line Interface in HP-UX Graphical Interface (web browser), using System Management Homepage (SMH) / Virtual Machine Manager (VMMGR)
Create a global device of the OpenVMS ISO-file: # hpvmdevmgmt -a gdev:/ path_to_openvms-iso_file / name_of_iso-file example: # hpvmdevmgmt -a gdev:/opt/openvms/iso/i64084.iso Make the device shareable for multiple guests: # hpvmdevmgmt -m gdev:/ path_to_openvms-iso_file / name_of_iso_file example: # hpvmdevmgmt -m gdev:/opt/openvms/iso/i64084.iso:attr:share=yes These steps only needs to be done once at the host.
Scan available LAN interfaces, example: # lanscan Hardware Station Crd Hdw Net-Interface NM MAC HP-DLPI DLPI Path Address In# State NamePPA ID Type Support Mjr# 0/4/2/0 0x0017A4514D80 0 UP lan0 snap0 1 ETHER Yes 119 0/4/2/1 0x0017A4514D81 1 UP lan1 snap1 2 ETHER Yes 119 Create virtual switch(es) and assign network interface(s): # hpvmnet -c -S name_of_switch -n physical_interface_number example: # hpvmnet -c -S vswitch0 -n 0 Start virtual switch(es), example: # hpvmnet -b -S vswitch0 Create guest using Command Line Interface These steps only needs to be done once at the host
Create guest using Command Line Interface Create Virtual Guest: # hpvmcreate -P name_of_guest -c 1 -r 2 -e 10-90 \ -a network:avio_lan:vswitch:vswitch0 \ -a disk:avio_stor: bus, tgt, lun :disk:/dev/rdisk/ name_of_physical_disk \ -a disk:avio_stor::file:/dev/ volume_group /r name_of_logical_volume \ -a dvd:avio_stor::file:/ path_to_openvms_iso-file / name_of_iso-file Configuration can be modified using the hpvmmodify command, devices can be added, removed of modified. Disks will be named in the same order as they are added if controller number and SCSI id aren t specified when the disk(s) are added
Create guest using Command Line Interface Examine Virtual Guest, example: # hpvmstatus -P name_of_guest
# hpvmstatus -P t_vg002 [Virtual Machine Details] Virtual Machine Name VM # OS Type State ==================== ===== ======= ======== t_vg002 8 OpenVMS On (OS) Create guest using Command Line Interface [Authorized Administrators] Oper Groups : Admin Groups : Oper Users : Admin Users : [Virtual CPU Details] #vcpus Entitlement Maximum ====== =========== ======= 1 10.0% 90.0% Page 1(4)
[Memory Details] Total Reserved Memory Memory ======= ======== 3 GB 64 MB Create guest using Command Line Interface [Dynamic Memory Information] NOTE: Dynamic data unavailable, configured values only Minimum Target Memory Maximum Memory Memory Entitlement Memory =========== =========== =========== =========== 32 MB 2048 MB - 2048 MB Page 2(4)
Create guest using Command Line Interface [Storage Interface Details] Guest Physical Device Adaptor Bus Dev Ftn Tgt Lun Storage Device ======= ========== === === === === === ========= ========================= disk avio_stor 0 0 0 0 0 lv /dev/vg002/rsys_002a disk avio_stor 0 0 0 1 0 lv /dev/vg002/rappl_002 disk avio_stor 0 0 0 2 0 lv /dev/vg002/raij_002 disk avio_stor 0 0 0 3 0 lv /dev/vg002/rlog_002 disk avio_stor 0 0 0 4 0 lv /dev/vg002/rdata1_002 disk avio_stor 0 0 0 5 0 lv /dev/vg002/rdata2_002 disk avio_stor 0 0 0 6 0 lv /dev/vg002/rdata3_002 disk avio_stor 0 0 0 7 0 lv /dev/vg002/rextra_002 disk avio_stor 0 0 0 8 0 lv /dev/vg002/rsys_002b dvd avio_stor 0 0 0 9 0 null /opt/openvms/iso/i64084.iso Page 3(4)
Create guest using Command Line Interface [Network Interface Details] Interface Adaptor Name/Num PortNum Bus Dev Ftn Mac Address ========= ========== ========== ======= === === === ================= vswitch avio_lan vswitch0 1 0 1 0 26-8e-af-e3-23-38 vswitch avio_lan vswitch2 1 0 2 0 86-81-3a-0c-82-21 [Misc Interface Details] Guest Physical Device Adaptor Bus Dev Ftn Tgt Lun Storage Device ======= ========== === === === === === ========= ========================= serial com1 tty console Page 4(4)
Create guest using SMH/VMMGR Main page in System Management Homepage (SMH) Select Tools
Create guest using SMH/VMMGR Select Integrity Virtual Machine Manager
Create guest using SMH/VMMGR Create virtual machine
Create guest using SMH/VMMGR Key in name, Operating System and boot behaviour.
Key in CPU usage. Create guest using SMH/VMMGR
Key in memory usage. Create guest using SMH/VMMGR
Create guest using SMH/VMMGR Add virtual switch(es), must select AVIO_LAN
Create guest using SMH/VMMGR Add Storage device(s), must select AVIO_Storage
Create guest using SMH/VMMGR Add DVD device(s), must select AVIO_Storage
Summary page 1(2) Create guest using SMH/VMMGR
Summary page 2(2) Create guest using SMH/VMMGR
Add VLAN (if used) Create guest using SMH/VMMGR
Create guest using SMH/VMMGR Guest created but not started.
Create guest using SMH/VMMGR Graphical view of network
Create guest using SMH/VMMGR Graphical view of storage
No differences found between a physical or virtual server. Both can boot from the same physical LUN Additional command available in virtual ilo : Insert and eject of iso-file in virtual DVD Virtual server can be handled in the same way as a physical, i.e. it can be powered on and off, console output is logged on host OpenVMS licenses must be modified when used on virtual guests: $ LICENSE MODIFY license_name /VIRTUAL
What was most difficult with HP-UX/HPVM? HP-UX command language, HPVM itself is quite straight forward. Editing files, I don t have EDT, Have to use vi Knowing which patches to install. Installation itself is quite good. All patches are gathered in a single depot-file which is processed by the swinstall command. Optimizing of the host to run HPVM as efficcent as possible. Many of the problems were solved by Lars Sundqvist and GOOGLE
Errors found: Bug in hpvmmigrate; Unable to migrate guests that uses logical volumes. Steps must be done prior to migration which are not described in the HPVM documentation, i.e. VG information are not copied from source host to destination host.
Conclusions: Usage of HPVM are simple, not much needs to be done in HP-UX OpenVMS installation procedures unchanged Virtual hardware can be treated in the same way as physical hardware OpenVMS does not know if it runs on a physical or virtual server Cheaper, more cost efficent, higher utilisation of physical hardware Higher availability compared to single physical node VMS Cluster works without any problems. Server on Demand
In short, you only need as many licenses as you have cores or processors in your server. Depends on hardware model/openvms licensing One BL860c with 2P/8C requires eight HPVM-BOE/HPVM-VSE licenses together with the same amount of licenses (8) for OpenVMS, VOLSHAD, One BL860c i2 with 2P/8C requires two HPVM-BOE/HPVM-VSE licenses together with the same amount of licenses (2) for OpenVMS, VOLSHAD, Old licenses (under support contract), for both Alpha and Itanium, can be traded in when new servers are bought that will run OpenVMS as virtual guests. 1 unit OpenVMS-I64-FOE or 1 unit OpenVMS Alpha BASE license entitles to one new OpenVMS-I64-BOE processor license if you don t have more than 2 sockets on the new server
Online Documentation: (can be found on HP Business Support Center, BSC): http://h20000.www2.hp.com/bizsupport/techsupport/ho me.jsp HP-UX Manuals HP Integrity Virtual Machine Manuals HP Integrity Virtual Machine Manager (VMMGR)