190 likes | 361 Views
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
E N D
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
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 Host (Dom 0) Guest user space SCSI disk emulation tgt daemon kernel space sd/st/sr/sg tgt core HBA driver scsi SCSI back driver SCSI front driver Hypervisor SCSI device • 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.
SCSI driver tgt model Host (Dom 0) Guest user space SCSI disk emulation tgt daemon tgt core sd/st/sr/sg kernel space scsi HBA driver SCSI back driver SCSI front driver Hypervisor SCSI device • 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.
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 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) 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
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
multi path driver application sd/st/sg scsi_mod multi path driver HBA card HBA card disk • fail over: alternate path retry • load balance: multi access path 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 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 • FC-SCSI • NPIV submit code submit code