MATSUMOTO Hitoshi matsumotohitosh@jp.fujitsu.com SCSI support on Xen MATSUMOTO Hitoshi matsumotohitosh@jp.fujitsu.com Fujitsu Ltd.
personal use available business use reliability and availability Why SCSI? Current Xen status personal use available business use reliability and availability are required reliability backup with SCSI function availability SCSI control
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 server DB server Backup server SCSI command SCSI command SCSI driver SCSI driver FC FC FC FC FC FC FC FC FC FC Disk Tape
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
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/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
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/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
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!
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) Host (Dom 0) Guest 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
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
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 HBA card disk disk
fail over: alternate path retry load balance: multi access path multi path driver fail over: alternate path retry load balance: multi access path application sd/st/sg scsi_mod multi path driver HBA card disk application sd/st/sg scsi_mod multi path driver HBA card HBA card disk fail over load balance
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
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 driver SCSI backend driver guest OS guest OS SCSI frontend driver SCSI frontend driver FC(SCSI) native driver FC(SCSI) native driver Hypervisor 文責:山本哲 FC HBA card FC HBA card SAN
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
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 driver SCSI backend driver guest OS guest OS SCSI frontend driver SCSI frontend driver FC(SCSI) native driver with NPIV Hypervisor 文責:山本哲 FC HBA card with NPIV SAN
I/O server domain support Host domain I/O server domain Guest 1 Guest 2 host OS Driver OS I/O operation I/O operation guest OS guest OS VBD backend driver VBD frontend driver VBD frontend driver disk native driver Hypervisor HBA card HBA card
VT-d support Host domain Guest 1 Guest 2 Hypervisor FC HBA card Host OS I/O operation I/O opetation guest OS guest OS FC(SCSI) native driver FC(SCSI) native driver Hypervisor FC HBA card FC HBA card
road map 2007/2Q 3Q 4Q FC-SCSI NPIV submit code submit code