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 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 DB server Backup server server server SCSI command SCSI command SCSI driver SCSI driver FC FC FC FC FC FC FC FC FC FC Disk 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 tgt daemon emulation kernel space sd/st/sr/sg tgt core scsi HBA driver SCSI back driver SCSI front driver Hypervisor SCSI device 5
SCSI driver tgt model kernel space(tgt core) →u ser space(tgt daemon) →k ernel space(HBA driver) makes overhead for performance . Other devices (tape, media changer, etc) are not supported. Guest Host (Dom 0) user space SCSI disk tgt daemon emulation tgt core sd/st/sr/sg kernel space scsi HBA driver SCSI back driver SCSI front driver Hypervisor SCSI device 6
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 SCSI VBD Read 54.0 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 kernel space scsi SCSI passthrough HBA driver SCSI back driver SCSI front driver Hypervisor SCSI device This SCSI passtrough driver supports • disk, tape drive and media changer • FC-SCSI 8
SCSI driver passthrough model structure Host (Dom0) File I/O guest VFS VFS file_operations Device Device ext3 ext3 page 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 sd/st/sg scsi_mod scsi_mod HBA native HBA native driver driver HBA card HBA card HBA card disk disk 10
multi path driver fail over: alternate path retry load balance: multi access path application application sd/st/sg sd/st/sg scsi_mod 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 Host (Dom0) File I/O guest VFS VFS file_operations Device Device ext3 ext3 page 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 I/O operation I/O operation SCSI backend SCSI backend guest OS guest OS driver driver SCSI frontend SCSI frontend FC(SCSI) native FC(SCSI) native driver driver driver driver Hypervisor FC HBA card FC HBA card SAN 13
NPIV (N-Port Identifier Virtualization) Virtual HBAs hosted by a physical HBA, unique SAN identify for each virtual HBAs. HBA driver HBA driver HBA card HBA card 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 I/O operation I/O operation SCSI backend SCSI backend guest OS guest OS driver driver SCSI frontend SCSI frontend FC(SCSI) native driver driver driver with NPIV Hypervisor FC HBA card with NPIV SAN 15
I/O server domain support Host domain I/O server domain Guest 1 Guest 2 Driver OS host OS I/O operation I/O operation VBD backend driver guest OS guest OS VBD VBD disk native driver frontend driver frontend driver Hypervisor HBA card HBA card 16
VT-d support Host domain Guest 1 Guest 2 Host OS I/O operation I/O opetation guest OS guest OS FC(SCSI) FC(SCSI) native driver native driver Hypervisor FC HBA card FC HBA card 17
road map 2007/2Q 3Q 4Q FC-SCSI submit code submit code NPIV 18
19
Recommend
More recommend