- doag.org If short on LDCs, use “inter-vnet-link=on” 17 Agenda • Introduction to...

34

Transcript of - doag.org If short on LDCs, use “inter-vnet-link=on” 17 Agenda • Introduction to...

Page 1: - doag.org  If short on LDCs, use “inter-vnet-link=on”  17 Agenda • Introduction to LDom Virtual IO • Virtual Disk IO for High Performance
Page 2: - doag.org  If short on LDCs, use “inter-vnet-link=on”  17 Agenda • Introduction to LDom Virtual IO • Virtual Disk IO for High Performance

<Insert Picture Here>

Stefan HinkerEMEA Hardware Principal Sales Consultant

LDoms Deep Dive – IO Best Practices forOracle VM Server for SPARC

Page 3: - doag.org  If short on LDCs, use “inter-vnet-link=on”  17 Agenda • Introduction to LDom Virtual IO • Virtual Disk IO for High Performance

3

The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions.The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.

Page 4: - doag.org  If short on LDCs, use “inter-vnet-link=on”  17 Agenda • Introduction to LDom Virtual IO • Virtual Disk IO for High Performance

<Insert Picture Here>

4

<Insert Picture Here>

Agenda

• Introduction to LDom Virtual IO

• Virtual Disk IO for High Performance

• Virtual Networking- Default Configuration

- Reducing Latency

- Saving on LDC Channels

• Not so Virtual IO- SDIO

- SR-IOV

- Root Domains

• Redundant IO

Page 5: - doag.org  If short on LDCs, use “inter-vnet-link=on”  17 Agenda • Introduction to LDom Virtual IO • Virtual Disk IO for High Performance

5

General Recommendations

• Set the right expectations– Virtual IO isn't physical IO

• Use Solaris 11– at least in the Control- and IO-Domains

• Virtualization doesn't change physics– It does give us more options

• If “all virtual” isn't good enough, go physical

Page 6: - doag.org  If short on LDCs, use “inter-vnet-link=on”  17 Agenda • Introduction to LDom Virtual IO • Virtual Disk IO for High Performance

6

Domain Components

Hypervisor

Guest

vnet vdiskvswitch

Control & Service Domain

vds

PCIeLDC

Page 7: - doag.org  If short on LDCs, use “inter-vnet-link=on”  17 Agenda • Introduction to LDom Virtual IO • Virtual Disk IO for High Performance

7

Virtual Disk IO – Considerations

• Each disk IO will see additional latency– impact depends on IO

blocksize!

• One LDC per vDisk– read and write traffic sharing

one channel

• One SCSI queue per vDisk

1

2

3

4

5

6

7

Page 8: - doag.org  If short on LDCs, use “inter-vnet-link=on”  17 Agenda • Introduction to LDom Virtual IO • Virtual Disk IO for High Performance

8

Virtual Disk IO – High Performance Recommendation

• Multiple vDisks– multiple SCSI queues

• Same service time per IO

• Less wait time per IO

• Better overall latency

• Higher throughput

• Redo Logs on dedicated vDisk

• Same approach as with traditional storage

1

5

2

6

3

7

4

Page 9: - doag.org  If short on LDCs, use “inter-vnet-link=on”  17 Agenda • Introduction to LDom Virtual IO • Virtual Disk IO for High Performance

9

Virtual Disk IO – Further Aspects

• NPIV– Multiple WWWns on a single SAN port– Supported by Solaris (10 and 11)– Usable for normal LDom disk backends– This is not a virtual HBA

• For highest performance requirements, use– SDIO– Root Domains

Page 10: - doag.org  If short on LDCs, use “inter-vnet-link=on”  17 Agenda • Introduction to LDom Virtual IO • Virtual Disk IO for High Performance

<Insert Picture Here>

10

<Insert Picture Here>

Agenda

• Introduction to LDom Virtual IO

• Virtual Disk IO for High Performance

• Virtual Networking- Default Configuration

- Reducing Latency

- Saving on LDC Channels

• Not so Virtual IO- SDIO

- SR-IOV

- Root Domains

• Redundant IO

Page 11: - doag.org  If short on LDCs, use “inter-vnet-link=on”  17 Agenda • Introduction to LDom Virtual IO • Virtual Disk IO for High Performance

11

Virtual NetworkingDefault Configuration

Hypervisor

Guest

vnetvswitch

Control & Service Domain

PCIeLDC

• Network access using virtual switch connected through LDCs

• Very flexible

• Supports Live Migration

• Additional Latency

Page 12: - doag.org  If short on LDCs, use “inter-vnet-link=on”  17 Agenda • Introduction to LDom Virtual IO • Virtual Disk IO for High Performance

12

Virtual NetworkingReducing Latency

• Per-Domain feature: “extended-mapin-space”

• Requires Solaris 10u10 or Solaris 11– Guest & Control Domain

• Requires LDoms 2.2

• New virtual network implementation detail– Reduced CPU utilization– Reduced latency

• Requires a reboot of both guest and control domain

• Uses 4MB of free RAM per guest domain

Page 13: - doag.org  If short on LDCs, use “inter-vnet-link=on”  17 Agenda • Introduction to LDom Virtual IO • Virtual Disk IO for High Performance

13

Inter-Vnet LDC ChannelsReduce LDC usage for complex network setups

Virtual SwitchVirtual Switch

Vnet1

Guest1

Vnet1

Guest1

Vnet3

Guest3

Vnet3

Guest3

Vnet2

Guest2

Vnet2

Guest2

LDC LDC LDC

LDC LDC

LDC

• Default behaviour: NxM LDCs

Page 14: - doag.org  If short on LDCs, use “inter-vnet-link=on”  17 Agenda • Introduction to LDom Virtual IO • Virtual Disk IO for High Performance

14

Inter-Vnet LDC ChannelsReduce LDC usage for complex network setups

Virtual SwitchVirtual Switch

Vnet1

Guest1

Vnet1

Guest1

Vnet3

Guest3

Vnet3

Guest3

Vnet2

Guest2

Vnet2

Guest2

LDC LDC LDC

• New (optional) behaviour: LDC tree

Page 15: - doag.org  If short on LDCs, use “inter-vnet-link=on”  17 Agenda • Introduction to LDom Virtual IO • Virtual Disk IO for High Performance

15

Inter-Vnet LDC Channels Details

• New CLI option 'inter-vnet-link'– Default: ON– Virtual Switch wide setting, affects all Vnets in a Virtual Switch.– Can be dynamically enabled/disabled without stopping the

Guest domains– The Guest domains dynamically handle this change

Page 16: - doag.org  If short on LDCs, use “inter-vnet-link=on”  17 Agenda • Introduction to LDom Virtual IO • Virtual Disk IO for High Performance

16

Virtual Networking Recommendations

• Apply “extended-mapin-space” to domains with latency sensitive applications. That might be all domains...

• Jumbo Frames for high throughput

• If short on LDCs, use “inter-vnet-link=on”

Page 17: - doag.org  If short on LDCs, use “inter-vnet-link=on”  17 Agenda • Introduction to LDom Virtual IO • Virtual Disk IO for High Performance

<Insert Picture Here>

17

<Insert Picture Here>

Agenda

• Introduction to LDom Virtual IO

• Virtual Disk IO for High Performance

• Virtual Networking- Default Configuration

- Reducing Latency

- Saving on LDC Channels

• Not so Virtual IO- SDIO

- SR-IOV

- Root Domains

• Redundant IO

Page 18: - doag.org  If short on LDCs, use “inter-vnet-link=on”  17 Agenda • Introduction to LDom Virtual IO • Virtual Disk IO for High Performance

18

Not so Virtual IOHardware Access for Guest Domains

• Fully virtual IO– is very flexible– supports Live Migration– supports Dynamic Reconfiguration– is freely and abundantly available

• Virtualized Hardware– is as fast as “real” hardware– prohibits Live Migration– does not support Dynamic Reconfiguration– needs to be paid for– uses PCIe slots in your server

Page 19: - doag.org  If short on LDCs, use “inter-vnet-link=on”  17 Agenda • Introduction to LDom Virtual IO • Virtual Disk IO for High Performance

19

Not so Virtual IOSDIO – Giving a PCIe Slot to a Domain

I/O Domain

Operating System

Operating System

pci@400(virtualized)

PCIe switch(virtualized)

pci@400

PCIe switch

Control Domain

Hypervisor

Page 20: - doag.org  If short on LDCs, use “inter-vnet-link=on”  17 Agenda • Introduction to LDom Virtual IO • Virtual Disk IO for High Performance

20

SDIO Considerations

• Has no performance penalty

• Supports devices other than disk and network– Tape being the most typical example

• Creates a dependency on the Control Domain

• Does not support Dynamic Reconfiguration

• Disables Live Migration of the guest

• Not supported by all PCIe adapters– See MOS note 1325454.1 for details

Page 21: - doag.org  If short on LDCs, use “inter-vnet-link=on”  17 Agenda • Introduction to LDom Virtual IO • Virtual Disk IO for High Performance

21

Not so Virtual IOSR-IOV – Network Hardware Virtualization

• PCIe Standard

• Requires hardware support on the card

Page 22: - doag.org  If short on LDCs, use “inter-vnet-link=on”  17 Agenda • Introduction to LDom Virtual IO • Virtual Disk IO for High Performance

22

SR-IOV in LDomsVirtual Network Ports with Bare Metal Performance

Hypervisor

Guest

nxge0

Control & Service Domain

PCIe PFn0 VFn2VFn1VFn0

Hypervisor

Guest

nxge0

Control & Service Domain

PCIe PFn0 VFn2VFn1VFn0

• Create VFs in Control Domain

• Assign VFs to Guests– Don't forget MAC-Addresses

• Guest uses physical NIC driver (nxge, igb)

• Network-Only feature– no HBAs available that

would support SR-IOV

Page 23: - doag.org  If short on LDCs, use “inter-vnet-link=on”  17 Agenda • Introduction to LDom Virtual IO • Virtual Disk IO for High Performance

23

SR-IOV Example

root@sun:~# ldm create-vf /SYS/MB/NET0/IOVNET.PF0 \ mac-addr=0:14:4f:fb:8a:20 alt-mac-addrs=autoroot@sun:~# reboot

root@sun:~# ldm ls-ioNAME TYPE DOMAIN STATUS---- ---- ------ ------/SYS/MB/NET0/IOVNET.PF0 PF - /SYS/MB/NET0/IOVNET.PF0.VF0 VF -

root@sun:~# ldm add-io /SYS/MB/NET0/IOVNET.PF0.VF0 jupiter

root@sun:~# ldm ls-ioNAME TYPE DOMAIN STATUS---- ---- ------ ------/SYS/MB/NET0/IOVNET.PF0 PF - /SYS/MB/NET0/IOVNET.PF0.VF0 VF jupiter

root@jupiter:~# dladm show-physLINK MEDIA STATE SPEED DUPLEX DEVICEnet0 Ethernet up 0 unknown vnet0net2 Ethernet up 1000 full igbvf0

root@sun:~# ldm create-vf /SYS/MB/NET0/IOVNET.PF0 \ mac-addr=0:14:4f:fb:8a:20 alt-mac-addrs=autoroot@sun:~# reboot

root@sun:~# ldm ls-ioNAME TYPE DOMAIN STATUS---- ---- ------ ------/SYS/MB/NET0/IOVNET.PF0 PF - /SYS/MB/NET0/IOVNET.PF0.VF0 VF -

root@sun:~# ldm add-io /SYS/MB/NET0/IOVNET.PF0.VF0 jupiter

root@sun:~# ldm ls-ioNAME TYPE DOMAIN STATUS---- ---- ------ ------/SYS/MB/NET0/IOVNET.PF0 PF - /SYS/MB/NET0/IOVNET.PF0.VF0 VF jupiter

root@jupiter:~# dladm show-physLINK MEDIA STATE SPEED DUPLEX DEVICEnet0 Ethernet up 0 unknown vnet0net2 Ethernet up 1000 full igbvf0

Page 24: - doag.org  If short on LDCs, use “inter-vnet-link=on”  17 Agenda • Introduction to LDom Virtual IO • Virtual Disk IO for High Performance

24

SR-IOV Considerations

• Performance– near native latency & throughput– VFs somewhat limited compared to PFs depending on HW

• Better utilization of NIC hardware

• Cost reduction– fewer hardware adapters required

• Live Migration disabled for domains with Virtual Functions

• Dependancy on primary domain (similar to SDIO)

• Solaris11 VNICs on a VF are supported.– But limited to the number of alt-mac-addrs assigned to it.

• Up to 15 IO-Domains per PCIe RC

Page 25: - doag.org  If short on LDCs, use “inter-vnet-link=on”  17 Agenda • Introduction to LDom Virtual IO • Virtual Disk IO for High Performance

25

SR-IOV Software Requirements

• Platform FW that supports SR-IOV. – The version of the FW is platform dependent.

• LDoms manager version 2.2 or later.

• Root domain OS that supports SR-IOV:– Solaris 11 or later– S10U11 – when it becomes available

• Guest domain OS: – Solaris 11 or later– S10U10 with a VF driver patches– S10U11 – when it becomes available

Forward looking information is subject to change without notice at Oracle's sole discretion.

Page 26: - doag.org  If short on LDCs, use “inter-vnet-link=on”  17 Agenda • Introduction to LDom Virtual IO • Virtual Disk IO for High Performance

26

Root DomainsIs This Still Virtualization?

Control Domain

Operating System

PCIe switch

pci@400

I/O Domain

Operating System

pci@600

PCIe switch

I/O Domain

Operating System

pci@500

PCIe switch

I/O Domain

Operating System

pci@700

PCIe switch

Hypervisor

Page 27: - doag.org  If short on LDCs, use “inter-vnet-link=on”  17 Agenda • Introduction to LDom Virtual IO • Virtual Disk IO for High Performance

<Insert Picture Here>

27

<Insert Picture Here>

Agenda

• Introduction to LDom Virtual IO

• Virtual Disk IO for High Performance

• Virtual Networking- Default Configuration

- Reducing Latency

- Saving on LDC Channels

• Not so Virtual IO- SDIO

- SR-IOV

- Root Domains

• Redundant IO

Page 28: - doag.org  If short on LDCs, use “inter-vnet-link=on”  17 Agenda • Introduction to LDom Virtual IO • Virtual Disk IO for High Performance

28

Redundant IO Domains

Hypervisor

Guest

vnet vdiskvswitch

Control & Service Domain

vds

PCIe

vswitch

Service Domain 2

vdsvnet

PCIe

Page 29: - doag.org  If short on LDCs, use “inter-vnet-link=on”  17 Agenda • Introduction to LDom Virtual IO • Virtual Disk IO for High Performance

29

Redundant IO domain (1): Create Domain

root@sun # ldm remove-io pci@400 primary

root@sun # ldm create io-domainroot@sun # ldm set-vcpu 16 io-domainroot@sun # ldm set-memory 8g io-domain

root@sun # ldm add-io pci@400 io-domainroot@sun # ldm add-vsw net-dev=igb0 switch-second io-domainroot@sun # ldm add-vds io-vds io-domain

root@sun # ldm set-variable auto-boot\?=false io-domainroot@sun # ldm bind io-domain ; ldm start io-domain

root@sun # telnet localhost 5001

root@sun # ldm remove-io pci@400 primary

root@sun # ldm create io-domainroot@sun # ldm set-vcpu 16 io-domainroot@sun # ldm set-memory 8g io-domain

root@sun # ldm add-io pci@400 io-domainroot@sun # ldm add-vsw net-dev=igb0 switch-second io-domainroot@sun # ldm add-vds io-vds io-domain

root@sun # ldm set-variable auto-boot\?=false io-domainroot@sun # ldm bind io-domain ; ldm start io-domain

root@sun # telnet localhost 5001

Page 30: - doag.org  If short on LDCs, use “inter-vnet-link=on”  17 Agenda • Introduction to LDom Virtual IO • Virtual Disk IO for High Performance

30

Redundant IO domain (2): MP-IO for Guest

root@sun # ldm set-vdsdev mpgroup=mars \ mars.root@primary-vdsroot@sun # ldm add-vdsdev mpgroup=mars \ /guests/mars.root mars.root@io-vds

root@sun # ldm add-vnet net1 switch-second mars

root@sun # ldm set-vsw linkprop=phys-state switch-secondroot@sun # ldm set-vsw linkprop=phys-state switch-primary

root@sun # ldm set-vnet linkprop=phys-state net0 marsroot@sun # ldm set-vnet linkprop=phys-state net1 mars

root@sun # ldm set-vdsdev mpgroup=mars \ mars.root@primary-vdsroot@sun # ldm add-vdsdev mpgroup=mars \ /guests/mars.root mars.root@io-vds

root@sun # ldm add-vnet net1 switch-second mars

root@sun # ldm set-vsw linkprop=phys-state switch-secondroot@sun # ldm set-vsw linkprop=phys-state switch-primary

root@sun # ldm set-vnet linkprop=phys-state net0 marsroot@sun # ldm set-vnet linkprop=phys-state net1 mars

Page 31: - doag.org  If short on LDCs, use “inter-vnet-link=on”  17 Agenda • Introduction to LDom Virtual IO • Virtual Disk IO for High Performance

31

Redundant IO domain (3): IPMP for Guest

root@mars:~# ipadm create-ip net0root@mars:~# ipadm create-ip net1root@mars:~# ipadm add-ipmp -i net0 -i net1 ipmp0root@mars:~# ipadm create-addr -T static \ -a 10.131.6.98/24 ipmp0/v4

shinker@mars:~$ ipadm show-ifIFNAME CLASS STATE ACTIVE OVERlo0 loopback ok yes --ipmp0 ipmp ok yes net0 net1net0 ip ok yes --net1 ip ok yes --

root@mars:~# ipadm create-ip net0root@mars:~# ipadm create-ip net1root@mars:~# ipadm add-ipmp -i net0 -i net1 ipmp0root@mars:~# ipadm create-addr -T static \ -a 10.131.6.98/24 ipmp0/v4

shinker@mars:~$ ipadm show-ifIFNAME CLASS STATE ACTIVE OVERlo0 loopback ok yes --ipmp0 ipmp ok yes net0 net1net0 ip ok yes --net1 ip ok yes --

Page 32: - doag.org  If short on LDCs, use “inter-vnet-link=on”  17 Agenda • Introduction to LDom Virtual IO • Virtual Disk IO for High Performance

32

[email protected]://blogs.oracle.com/cmt

Page 33: - doag.org  If short on LDCs, use “inter-vnet-link=on”  17 Agenda • Introduction to LDom Virtual IO • Virtual Disk IO for High Performance

33

Page 34: - doag.org  If short on LDCs, use “inter-vnet-link=on”  17 Agenda • Introduction to LDom Virtual IO • Virtual Disk IO for High Performance