SCSI support on Xen · 2 Why SCSI? Current Xen status personal use available business use...

19
SCSI support on Xen MATSUMOTO Hitoshi [email protected] Fujitsu Ltd.

Transcript of SCSI support on Xen · 2 Why SCSI? Current Xen status personal use available business use...

SCSI support on Xen

MATSUMOTO Hitoshi [email protected] Ltd.

2

Why SCSI?

Current Xen status personal use available business use reliability and availability are required reliability backup with SCSI function availability SCSI control

3

business use (Large system)

The major backup media is Tape device. BACKUP is indispensableto large system. The backup software uses SCSI command tocontrol tape drive and media changer.

The data base software for large system issues SCSI commanddirectly (SCSI pass through) to disk.

Tape

FC FC

server

FC FC FC FCFC

Disk

server

FC FC

LAN

FC

DB server SCSI command

SCSI driver

Backup server SCSI command

SCSI driver

4

Current status of SCSI support on Xen

SCSI frontend/backend drivers were proposedby Fujita-san at the Xen Summit 2006.

Xen SCSI driver tgt model Key word ; - SCSI protocol processing in user space - tgt: framework for storage target drivers

5

SCSI driver tgt model

Able to create, debug and maintain in user space → Free from kernel Enable access: raw partitions, regular files, LVM, files over network, etc. Supported disk device.

sd/st/sr/sgscsiHBA driver

Hypervisor

SCSI device

tgt core

user space

kernel space

Host (Dom 0) Guest

SCSI disk emulation tgt daemon

SCSI back driver SCSI front driver

6

SCSI driver tgt model

kernel space(tgt core)→user space(tgt daemon)→kernel space(HBA driver)makes overhead for performance.

Other devices (tape, media changer, etc) are not supported.

sd/st/sr/sgscsi

HBA driver

Hypervisor

SCSI device

tgt core

user space

kernel space

Host (Dom 0) Guest

SCSI disk emulation

tgt daemon

SCSI back driver SCSI front driver

7

IOPS VBD vs SCSI driver (tgt model)

118.389.4Write220.454.0ReadVBDSCSI

version: based on Xen 3.0.4CPU: host vcpu=1, guest vcpu=1 Memory: host=737MB, guest=256MBTool: iozoneDisk access: random, O_DIRECTBlock size: 8KB

We need performance!

8

SCSI passthrough driver model

This architecture is similar to the current Xen driver(VBD) model. Backend driver works in kernel.( SCSI is processed in kernel space)

Hypervisor

sd/st/sr/sgscsi

SCSI front driverSCSI back driverHBA driver

SCSI device

Host (Dom 0) Guest

SCSI passthroughkernel space

This SCSI passtrough driver supports• disk, tape drive and media changer• FC-SCSI

9

VFS

Deviceext3

SCSI driver

Block device

HYPERVISORHBA driver

disk

Host (Dom0)VFS

Devicefile_operations

ext3

SCSI driver

Block device

SCSI frontend driver

bio

page

scsi_cmnd

SCSI backend driver

request

guestFile I/O

BufferCashe

SCSI driver passthrough model structure

BufferCashe

request

scsi_cmnd

scsi_cmnd

10

more reliability and performance

Redundancy and Load balance multi path support

application

sd/st/sgscsi_mod

HBA card

disk

HBA nativedriver

application

sd/st/sgscsi_mod

HBA cardHBA card

disk

HBA nativedriver

11

multi path driver

fail over: alternate path retry load balance: multi access path

application

sd/st/sgscsi_mod

multi path driver

HBA cardHBA card

disk

application

sd/st/sgscsi_mod

multi path driver

HBA cardHBA card

disk

fail over load balance

12

VFS

Deviceext3

SCSI driver

Block device

HYPERVISORHBA driver

disk

Host (Dom0)VFS

Devicefile_operations

ext3

SCSI driver

Block device

SCSI frontend driver

bio

page

scsi_cmnd

SCSI backend driver

request

guestFile I/O

BufferCasheBufferCashe

request

scsi_cmnd

scsi_cmndmulti path driver

SCSI driver passthrough model structure 2

13

SCSI driver support

Enable to issue SCSI command directly from each guest. Each FC HBA card is assigned to one guest.

guest 2guest 1host

Host OS

guest OS guest OS

SCSI frontend driver

SCSI frontend driver

I/O operation I/O operationSCSI backend

driver

FC(SCSI) nativedriver

SAN

FC HBA card FC HBA card

Hypervisor

FC(SCSI) nativedriver

SCSI backenddriver

14

NPIV (N-Port Identifier Virtualization)

Virtual HBAs hosted by a physical HBA, unique SANidentify for each virtual HBAs.

NPIV not supported NPIV supported

HBA driverHBA driver

HBA card HBA card HBA card

SAN

HBA card

SAN

15

SCSI driver(NPIV) support

Enable to issue SCSI command directly from each guest.

guest 2guest 1host

Host OS

guest OS guest OS

SCSI frontend driver

SCSI frontend driver

I/O operation I/O operationSCSI backend

driver

FC(SCSI) nativedriver with NPIV

FC HBA card with NPIV

Hypervisor

SCSI backenddriver

SAN

16

I/O server domain support

Hypervisor

Guest 2Guest 1I/O server domain

Driver OS

guest OS

guest OS

VBDfrontend driver

VBDfrontend driver

VBD backend driver

I/O operation I/O operation

Host domain

host OS

HBA card HBA card

disk native driver

17

VT-d support

Guest 2Guest 1Host domain

Host OS

guest OS guest OS

FC(SCSI)native driver

FC HBA cardFC HBA card

I/O operation I/O opetation

Hypervisor

FC(SCSI)native driver

18

road map

FC-SCSI

NPIV

4Q 3Q2007/2Q

submit code

submit code

19