SCSI support on Xen
MATSUMOTO Hitoshi matsumotohitosh@jp.fujitsu.com Fujitsu Ltd.
SCSI support on Xen MATSUMOTO Hitoshi matsumotohitosh@jp.fujitsu.com - - PowerPoint PPT Presentation
SCSI support on Xen MATSUMOTO Hitoshi matsumotohitosh@jp.fujitsu.com Fujitsu Ltd. Why SCSI? Current Xen status personal use available business use reliability and availability are required reliability backup
MATSUMOTO Hitoshi matsumotohitosh@jp.fujitsu.com Fujitsu Ltd.
2
3
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.
Tape FC FC server FC FC FC FC FC Disk
server
FC FC
LAN
FC DB server SCSI command SCSI driver Backup server SCSI command SCSI driver
4
5
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/sg scsi 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
6
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/sg scsi 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
8
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/sg scsi
SCSI front driver SCSI back driver
HBA driver SCSI device
Host (Dom 0) Guest
SCSI passthrough kernel space
This SCSI passtrough driver supports
9
VFS Device ext3 SCSI driver Block device
HYPERVISOR HBA driver
disk
Host (Dom0)
VFS Device file_operations ext3 SCSI driver Block device SCSI frontend driver
bio page
scsi_cmnd
SCSI backend driver
request
guest
File I/O BufferCashe
BufferCashe
request
scsi_cmnd
scsi_cmnd
10
Redundancy and Load balance multi path support
application
sd/st/sg scsi_mod HBA card
disk
HBA native driver
application
sd/st/sg scsi_mod HBA card HBA card
disk
HBA native driver
11
fail over: alternate path retry load balance: multi access path
application
sd/st/sg scsi_mod multi path driver HBA card HBA card
disk application
sd/st/sg scsi_mod multi path driver HBA card HBA card
disk fail over load balance
12
VFS Device ext3 SCSI driver Block device
HYPERVISOR HBA driver
disk
Host (Dom0)
VFS Device file_operations ext3 SCSI driver Block device SCSI frontend driver
bio page
scsi_cmnd
SCSI backend driver
request
guest
File I/O BufferCashe BufferCashe request scsi_cmnd
scsi_cmnd
multi path driver
13
Enable to issue SCSI command directly from each guest. Each FC HBA card is assigned to one guest.
guest 2 guest 1 host
Host OS guest OS guest OS
SCSI frontend driver SCSI frontend driver
I/O operation I/O operation SCSI backend driver FC(SCSI) native driver
SAN
FC HBA card FC HBA card
Hypervisor
FC(SCSI) native driver SCSI backend driver
14
Virtual HBAs hosted by a physical HBA, unique SAN
NPIV not supported NPIV supported
HBA driver HBA driver
HBA card HBA card HBA card
SAN
HBA card
SAN
15
Enable to issue SCSI command directly from each guest.
guest 2 guest 1 host
Host OS guest OS guest OS
SCSI frontend driver SCSI frontend driver
I/O operation I/O operation SCSI backend driver FC(SCSI) native driver with NPIV FC HBA card with NPIV
Hypervisor
SCSI backend driver
SAN
16
Hypervisor
Guest 2 Guest 1 I/O server domain
Driver OS guest OS guest OS
VBD frontend driver VBD frontend driver VBD backend driver
I/O operation I/O operation
Host domain
host OS
HBA card HBA card disk native driver
17
Guest 2 Guest 1 Host domain
Host OS guest OS guest OS FC(SCSI) native driver
FC HBA card FC HBA card
I/O operation I/O opetation
Hypervisor
FC(SCSI) native driver
18
FC-SCSI
NPIV
4Q 3Q 2007/2Q
submit code submit code
19