Driver support on Xen

Download Report

Transcript Driver support on Xen

SCSI support on Xen
MATSUMOTO Hitoshi [email protected]
Fujitsu Ltd.
Why SCSI?
Current Xen status
personal use
available
business use
reliability and availability
are required
 reliability
backup with SCSI function
availability
SCSI control

2
business use (Large system)


The major backup media is Tape device. BACKUP is indispensable
to large system. The backup software uses SCSI command to
control tape drive and media changer.
The data base software for large system issues SCSI command
directly (SCSI pass through) to disk.
LAN
server
FC
FC
DB server
server
FC
FC
Backup server
SCSI command
SCSI command
SCSI driver
SCSI driver
FC
FC
FC
Disk
FC
FC
FC
Tape
3
Current status of SCSI support on Xen

SCSI frontend/backend drivers were proposed
by 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
4
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.

Guest
Host (Dom 0)
user space
SCSI disk
emulation
tgt daemon
kernel space
tgt core
sd/st/sr/sg
scsi
SCSI back driver
SCSI front driver
HBA driver
Hypervisor
SCSI device
5
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.

Guest
Host (Dom 0)
user space
SCSI disk
emulation
tgt daemon
tgt core
sd/st/sr/sg
scsi
kernel space
HBA driver
SCSI back driver
Hypervisor
SCSI device
6
SCSI front driver
IOPS VBD vs SCSI driver (tgt model)
version:
based on Xen 3.0.4
CPU:
host vcpu=1, guest vcpu=1
Memory:
host=737MB, guest=256MB
Tool:
iozone
Disk access: random, O_DIRECT
Block size: 8KB
Read
SCSI
54.0
VBD
220.4
Write
89.4
118.3
We need performance!
7
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)
Guest
Host (Dom 0)
sd/st/sr/sg
scsi
kernel space
SCSI passthrough
HBA driver
SCSI front driver
SCSI back driver
Hypervisor
SCSI device
This SCSI passtrough driver supports
• disk, tape drive and media changer
• FC-SCSI
8
SCSI driver passthrough model structure
File I/O
Host (Dom0)
guest
VFS
VFS
file_operations
Device
Device
ext3
page
ext3
BufferCashe
BufferCashe
SCSI backend driver
bio
scsi_cmnd
Block device
Block device
request
request
SCSI driver
SCSI driver
scsi_cmnd
SCSI frontend driver
HBA driver
scsi_cmnd
HYPERVISOR
disk
9
more reliability and performance

Redundancy and Load balance
multi path support
application
application
sd/st/sg
scsi_mod
sd/st/sg
scsi_mod
HBA native
driver
HBA native
driver
HBA card
HBA card
disk
HBA card
disk
10
multi path driver


fail over: alternate path retry
load balance: multi access path
application
application
sd/st/sg
scsi_mod
sd/st/sg
scsi_mod
multi path driver
multi path driver
HBA card
HBA card
HBA card
HBA card
disk
disk
fail over
load balance
11
SCSI driver passthrough model structure 2
File I/O
Host (Dom0)
guest
VFS
VFS
file_operations
Device
Device
ext3
page
ext3
BufferCashe
BufferCashe
SCSI backend driver
bio
scsi_cmnd
Block device
Block device
request
request
SCSI driver
SCSI driver
scsi_cmnd
multi path driver
SCSI frontend driver
HBA driver
scsi_cmnd
HYPERVISOR
disk
12
SCSI driver support


Enable to issue SCSI command directly from each guest.
Each FC HBA card is assigned to one guest.
host
guest 1
guest 2
Host OS
SCSI backend
driver
SCSI backend
driver
FC(SCSI) native
driver
FC(SCSI) native
driver
I/O operation
guest OS
SCSI frontend
driver
Hypervisor
FC HBA card
FC HBA card
SAN
13
I/O operation
guest OS
SCSI frontend
driver
NPIV (N-Port Identifier Virtualization)

Virtual HBAs hosted by a physical HBA, unique SAN
identify for each virtual HBAs.
HBA driver
HBA card
HBA card
HBA driver
HBA card
HBA card
SAN
SAN
NPIV not supported
NPIV supported
14
SCSI driver(NPIV) support

Enable to issue SCSI command directly from each guest.
host
guest 1
guest 2
Host OS
SCSI backend
driver
I/O operation
SCSI backend
driver
guest OS
SCSI frontend
driver
FC(SCSI) native
driver with NPIV
Hypervisor
FC HBA card with NPIV
SAN
15
I/O operation
guest OS
SCSI frontend
driver
I/O server domain support
Host domain
host OS
I/O server domain
Guest 1
Guest 2
Driver OS
I/O operation
VBD backend driver
guest OS
VBD
frontend driver
disk native driver
Hypervisor
HBA card
HBA card
16
I/O operation
guest OS
VBD
frontend driver
VT-d support
Host domain
Guest 1
Host OS
I/O operation
guest OS
FC(SCSI)
native driver
Hypervisor
FC HBA card
FC HBA card
17
Guest 2
I/O opetation
guest OS
FC(SCSI)
native driver
road map
2007/2Q

3Q
FC-SCSI
submit code

NPIV
submit code
18
4Q
19