with kvm for ibm z systems · 9 © 2016 ibm corporation monitoring a virtual server with virsh #...

26
© 2016 IBM Corporation 1 © 2016 IBM Corporation © 2016 IBM Corporation Virtual Server Management with KVM for IBM z Systems Viktor Mihajlovski <[email protected]>

Upload: others

Post on 01-Jun-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: with KVM for IBM z Systems · 9 © 2016 IBM Corporation Monitoring a virtual server with virsh # virsh list Id Name State-----11 vs1 running

© 2016 IBM Corporation1© 2016 IBM Corporation© 2016 IBM Corporation

Virtual Server Managementwith KVM for IBM z Systems

Viktor Mihajlovski <[email protected]>

Page 2: with KVM for IBM z Systems · 9 © 2016 IBM Corporation Monitoring a virtual server with virsh # virsh list Id Name State-----11 vs1 running

© 2016 IBM Corporation2

Agenda

● KVM virtualization components

● Managing virtual servers

● Managing virtual resources

● Migrating running virtual servers

● Setting up virtual servers

Page 3: with KVM for IBM z Systems · 9 © 2016 IBM Corporation Monitoring a virtual server with virsh # virsh list Id Name State-----11 vs1 running

© 2016 IBM Corporation3

KVM Virtualization Components

kvm kernel moduleCPU and memory

QEMUI/O virtualizationCPU and memory support

libvirtHost resource managementVirtual server life cycle

Page 4: with KVM for IBM z Systems · 9 © 2016 IBM Corporation Monitoring a virtual server with virsh # virsh list Id Name State-----11 vs1 running

© 2016 IBM Corporation4

Host

KVM management applications

virt-manager

virsh

Page 5: with KVM for IBM z Systems · 9 © 2016 IBM Corporation Monitoring a virtual server with virsh # virsh list Id Name State-----11 vs1 running

© 2016 IBM Corporation5

Virtual server states (simplified)

shut off

running

paused

start

suspendresume

shutdowndestroy

domain xml

define

Page 6: with KVM for IBM z Systems · 9 © 2016 IBM Corporation Monitoring a virtual server with virsh # virsh list Id Name State-----11 vs1 running

© 2016 IBM Corporation6

Host

vs1

0.0.1000

vda

0.0.2000 0.0.3000

bond0

eth0

512MB

Defining a virtual server: the domain XML

<domain type='kvm'> <name>vs1</name> <memory>524288</memory> <vcpu>2</vcpu> <os> <type arch='s390x' machine='s390-ccw-virtio'>hvm</type> </os> <iothreads>1</iothreads> <devices> <disk type='block' device='disk'> <driver name='qemu' type='raw' cache='none' iothread='1' io='native'/> <source dev='/dev/disk/by-path/ccw-0.0.1000'/> <target dev='vda' bus='virtio'/> </disk> <interface type='direct'>

<source dev='bond0' mode='bridge'/> <model type='virtio'/> </interface> <console type='pty'> <target type='sclp'/> </console> </devices></domain>

Page 7: with KVM for IBM z Systems · 9 © 2016 IBM Corporation Monitoring a virtual server with virsh # virsh list Id Name State-----11 vs1 running

© 2016 IBM Corporation7

Defining a virtual server with virsh

# systemctl status libvirtdlibvirtd.service - Virtualization daemon Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; enabled) Active: active (running) since Thu 2015-04-16 10:55:29 CEST; 2 months 3 days ago Docs: man:libvirtd(8) http://libvirt.org Main PID: 5615 (libvirtd) CGroup: /system.slice/libvirtd.service ├─5615 /usr/sbin/libvirtd ├─6750 /sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf ... └─6751 /sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf ...

Step 1: Make sure the libvirt daemon is running

# virsh define vs1.xmlDomain vs1 defined from vs1.xml

Step 2: Define a virtual server

Page 8: with KVM for IBM z Systems · 9 © 2016 IBM Corporation Monitoring a virtual server with virsh # virsh list Id Name State-----11 vs1 running

© 2016 IBM Corporation8

Starting and stopping a virtual server with virsh

# virsh start vs1Domain vs1 started

Start a virtual server

# virsh shutdown vs1Domain vs1 is being shut down

Shut down a virtual server

Page 9: with KVM for IBM z Systems · 9 © 2016 IBM Corporation Monitoring a virtual server with virsh # virsh list Id Name State-----11 vs1 running

© 2016 IBM Corporation9

Monitoring a virtual server with virsh

# virsh list Id Name State--------------------------------------------------- 11 vs1 running

List running virtual servers

# virsh dominfo vs1Id: 11Name: vs1UUID: ea6de929-a4df-487d-8054-d50b4af20708OS Type: hvmState: runningCPU(s): 2CPU time: 266.6sMax memory: 524288 KiBUsed memory: 524288 KiBPersistent: yesAutostart: disableManaged save: noSecurity model: selinuxSecurity DOI: 0Security label: system_u:system_r:svirt_t:s0:c24,c532 (enforcing)

Display virtual server details

Page 10: with KVM for IBM z Systems · 9 © 2016 IBM Corporation Monitoring a virtual server with virsh # virsh list Id Name State-----11 vs1 running

© 2016 IBM Corporation10

HostVirtualizing disk storage

host0

SCSILUN

host1

multipath

dm-0

chpa chpb

ECKDvola

dasda

ECKDvolb

img00

dasdb

img01

vs1

vda

vs2

vda

vs3

vda

<disk type='block' device='disk'> <source dev='/dev/dasda'/>

<driver name='qemu' type='raw' io='native' cache='none' iothread='1'/> <target dev='vda' bus='virtio'/></disk>

<disk type='file' device='disk'> <source file='/var/libvirt/images/img01'/>

<driver name='qemu' type='raw' io='native' cache='none' iothread='1'/> <target dev='vda' bus='virtio'/></disk>

<disk type='block' device='disk'> <source dev='/dev/dm-0'/>

<driver name='qemu' type='raw' io='native' cache='none' iothread='1'/> <target dev='vda' bus='virtio'/></disk>

Page 11: with KVM for IBM z Systems · 9 © 2016 IBM Corporation Monitoring a virtual server with virsh # virsh list Id Name State-----11 vs1 running

© 2016 IBM Corporation11

Host

ovsbr0

Virtualizing network interfaces

osa0 osa1 osa2 osa3

0.0.1000 0.0.2000 0.0.3000 0.0.4000

bond0

vs1 vs2

eth0 eth0

<interface type='direct'> <source dev='bond0'/> <model type='virtio'/> <mac address='47:11:af:fe:08:15'/></interface>

<interface type='bridge'> <source bridge='ovsbr0'/> <model type='virtio'/> <virtualport type='openvswitch'/> <mac address='be:ef:ca:fe:fe:ed'/></interface>

Page 12: with KVM for IBM z Systems · 9 © 2016 IBM Corporation Monitoring a virtual server with virsh # virsh list Id Name State-----11 vs1 running

© 2016 IBM Corporation12

attach-device

HostHost

Hotplugging devices

<disk type='file' device='disk'> <source file='/var/libvirt/images/vol0002'/> <driver name='qemu' type='raw' io='native' cache='none' iothread='1'/> <target dev='vdb' bus='virtio'/></disk>

vs1

vol0001 vol0002

vda

vs1

vol0001 vol0002

vda vdb

Page 13: with KVM for IBM z Systems · 9 © 2016 IBM Corporation Monitoring a virtual server with virsh # virsh list Id Name State-----11 vs1 running

© 2016 IBM Corporation13

Attaching a second disk with virsh

# virsh domblklist vs1Target Source------------------------------------------------vda /dev/disk/by-path/ccw-0.0.1000

Before attach

# cat vdb.xml<disk type='block' device='disk'> <driver name='qemu' type='raw' cache='none' iothread='1' io='native'/> <source dev='/dev/disk/by-path/ccw-0.0.2000'/> <target dev='vdb' bus='virtio'/></disk># virsh attach-device –live vs1 vdb.xmlDevice attached successfully

Attach

# virsh domblklist vs1Target Source------------------------------------------------vda /dev/disk/by-path/ccw-0.0.1000vdb /dev/disk/by-path/ccw-0.0.2000

After attach

Page 14: with KVM for IBM z Systems · 9 © 2016 IBM Corporation Monitoring a virtual server with virsh # virsh list Id Name State-----11 vs1 running

© 2016 IBM Corporation14

Virtual Server Trouble Shooting

● <on_crash>

– restart: potential reboot loops

– destroy: default, allows simple external automation

– preserve: allows detailed analysis

Page 15: with KVM for IBM z Systems · 9 © 2016 IBM Corporation Monitoring a virtual server with virsh # virsh list Id Name State-----11 vs1 running

© 2016 IBM Corporation15

Observing a crash

# virsh domstate --reason vs1running (booted)

Before crash

# virsh console vs1~ # echo c > /proc/sysrq-trigger[ 7056.393138] sysrq: SysRq : Trigger a crash……[ 7056.393302] Kernel panic - not syncing: Fatal exception: panic_on_oops

Provoke crash in virtual server

# virsh domstate --reason vs1crashed (panicked)

After crash

Page 16: with KVM for IBM z Systems · 9 © 2016 IBM Corporation Monitoring a virtual server with virsh # virsh list Id Name State-----11 vs1 running

© 2016 IBM Corporation16

Migrating a running virtual server … startHost A

vs1

dasda

vda

Host B

dasda

ECKDvolume

0.0.1000 0.0.2000

bond0

0.0.3000 0.0.4000

bond0

osa0 osa1 osa0 osa1

eth0

virsh migrate …

Page 17: with KVM for IBM z Systems · 9 © 2016 IBM Corporation Monitoring a virtual server with virsh # virsh list Id Name State-----11 vs1 running

© 2016 IBM Corporation17

Migrating a running virtual server … in progressHost A

vs1

dasda

vda

Host B

vs1

dasda

vda

ECKDvolume

0.0.1000 0.0.2000

bond0

0.0.3000 0.0.4000

bond0

osa0 osa1 osa0 osa1

eth0 eth0

virsh migrate …

Page 18: with KVM for IBM z Systems · 9 © 2016 IBM Corporation Monitoring a virtual server with virsh # virsh list Id Name State-----11 vs1 running

© 2016 IBM Corporation18

Migrating a running virtual server … completedHost A

dasda

Host B

vs1

dasda

vda

ECKDvolume

0.0.1000 0.0.2000

bond0

0.0.3000 0.0.4000

bond0

osa0 osa1 osa0 osa1

eth0

Page 19: with KVM for IBM z Systems · 9 © 2016 IBM Corporation Monitoring a virtual server with virsh # virsh list Id Name State-----11 vs1 running

© 2016 IBM Corporation19

Converting an existing Linux installation

● Starting point: Linux installed on SCSI disk

● Perform a backup FIRST

● Modification needed:

– Mount filesystems by id or label NOT by block device name

– Same for boot configuration (root=...)

# fstab. . ./dev/mapper/mpath0 / ext3 defaults 0 0. . .

# fstab. . .LABEL=/ / ext3 defaults 0 0. . .

Page 20: with KVM for IBM z Systems · 9 © 2016 IBM Corporation Monitoring a virtual server with virsh # virsh list Id Name State-----11 vs1 running

© 2016 IBM Corporation20

Converting an existing installation ...

● Modify boot configuration– Use LABEL=/ in zipl.conf or grub.conf– Re-run zipl if necessary

● Set up hypervisor resources for virtual servers– Ensure root disk is accessible from hypervisor– Provide network connectivity

● Define a virtual server– Write domain XML and run virsh define ...

● Start the virtual server– Run virsh –console start …

● Log in to the console and perform the necessary customizations– Network interface configuration– Additional file systems– ...

Page 21: with KVM for IBM z Systems · 9 © 2016 IBM Corporation Monitoring a virtual server with virsh # virsh list Id Name State-----11 vs1 running

© 2016 IBM Corporation21

Installing a new guest

● Similar to z Systems LPAR installation– FTP Server with installation media– Boot from installaton kernel and RAM disk

● Steps– Copy kernel and initial RAMdisks to hypervisor (e.g. /var/lib/libvirt/images)– Define virtual server using direct kernel boot

● For possible command line options, see the Linux distributor's documentation – After completing the installation, update the virtual server definition to boot from disk

<domain type='kvm'> <name>zguest</name> <memory>524288</memory> <vcpu>2</vcpu> <os> <type arch='s390x' machine='s390-ccw-virtio'>hvm</type>

<kernel>/var/lib/libvirt/kernel</kernel><initrd>/var/lib/libvirt/image</initrd><cmdline>Install=ftp://user:password@server/directory/DVD1/ ...</cmdline>

</os> ... ...</domain>

Page 22: with KVM for IBM z Systems · 9 © 2016 IBM Corporation Monitoring a virtual server with virsh # virsh list Id Name State-----11 vs1 running

© 2016 IBM Corporation22

Publications for KVM base component

● KVM Virtual Server Quick Start,SC34-2753

● KVM Virtual Server Management, SC34-2752

● Device Drivers, Features, and Commands for Linux as a KVM Guest, SC34-2754

● Installing SUSE Linux Enterprise Server 12 as a KVM Guest, SC34-2755

ibm.com/support/knowledgecenter

Page 23: with KVM for IBM z Systems · 9 © 2016 IBM Corporation Monitoring a virtual server with virsh # virsh list Id Name State-----11 vs1 running

© 2016 IBM Corporation23

THANKS!!!Questions?

Page 24: with KVM for IBM z Systems · 9 © 2016 IBM Corporation Monitoring a virtual server with virsh # virsh list Id Name State-----11 vs1 running

© 2016 IBM Corporation24

Trademarks

IBM, the IBM logo, and ibm.com are trademarks or registered trademarks of International Business Machines

Corporation in the United States, other countries, or both.

If these and other IBM trademarked terms are marked on their first occurrence in this information with a trademark

symbol (® or ™), these symbols indicate U.S. registered or common law trademarks owned by IBM at the time

this information was published. Such trademarks may also be registered or common law trademarks in other

countries.

A current list of IBM trademarks is available on the Web at “Copyright and trademark information” at

www.ibm.com/legal/copytrade.shtml

The following are trademarks or registered trademarks of other companies.

● Linux is a registered trademark of Linus Torvalds in the United States, other countries, or both.

Other company, product, or service names may be trademarks or service marks of others.

Page 25: with KVM for IBM z Systems · 9 © 2016 IBM Corporation Monitoring a virtual server with virsh # virsh list Id Name State-----11 vs1 running

© 2016 IBM Corporation25

Backup

Page 26: with KVM for IBM z Systems · 9 © 2016 IBM Corporation Monitoring a virtual server with virsh # virsh list Id Name State-----11 vs1 running

© 2016 IBM Corporation26

Terminology used in this presentation

● KVM virtual server, virtual server

virtualized z Systems resources that comprise processor, memory, and I/O capabilities as provided and managed by KVM. A virtual server can include an operating system.

● KVM guest, guest

an operating system of a virtual server.

● KVM host, host

the Linux instance that runs the KVM virtual servers and manages their resources.

● In libvirt context also

– node (host)

– domain (virtual server)