SCSI support on Xen MATSUMOTO Hitoshi matsumotohitoshjp fujitsu



















- Slides: 19
SCSI support on Xen MATSUMOTO Hitoshi matsumotohitosh@jp. fujitsu. com Fujitsu Ltd.
Why SCSI? n Current Xen status personal use available business use reliability and availability are required n 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. n The data base software for large system issues SCSI command directly (SCSI pass through) to disk. n LAN server FC FC DB server Backup server SCSI command SCSI driver FC FC FC Disk FC FC FC Tape 3
Current status of SCSI support on Xen n 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 n n n 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. n Other devices (tape, media changer, etc) are not supported. n 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=737 MB, guest=256 MB Tool: iozone Disk access: random, O_DIRECT Block size: 8 KB 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. n Backend driver works in kernel. ( SCSI is processed in kernel space) n 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 (Dom 0) VFS Device Buffer. Cashe Block device guest VFS file_operations Device ext 3 Buffer. Cashe SCSI backend driver page ext 3 bio scsi_cmnd Block device request SCSI driver scsi_cmnd SCSI frontend driver HBA driver scsi_cmnd HYPERVISOR disk 9
more reliability and performance n Redundancy and Load balance multi path support application sd/st/sg scsi_mod HBA native driver HBA card disk 10
multi path driver n n fail over: alternate path retry load balance: multi access path application sd/st/sg scsi_mod multi path driver HBA card disk fail over load balance 11
SCSI driver passthrough model structure 2 File I/O Host (Dom 0) VFS Device Buffer. Cashe Block device guest VFS file_operations Device ext 3 Buffer. Cashe SCSI backend driver page ext 3 bio scsi_cmnd Block device request SCSI driver multi path driver scsi_cmnd SCSI frontend driver HBA driver scsi_cmnd HYPERVISOR disk 12
SCSI driver support Enable to issue SCSI command directly from each guest. n Each FC HBA card is assigned to one guest. n host guest 1 Host OS SCSI backend driver FC(SCSI) native driver I/O operation guest OS SCSI frontend driver Hypervisor FC HBA card SAN 13 guest 2 I/O operation guest OS SCSI frontend driver
NPIV (N-Port Identifier Virtualization) n Virtual HBAs hosted by a physical HBA, unique SAN identify for each virtual HBAs. HBA driver HBA card SAN NPIV not supported NPIV supported 14
SCSI driver(NPIV) support n Enable to issue SCSI command directly from each guest. host guest 1 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 guest 2 I/O operation guest OS SCSI frontend driver
I/O server domain support Host domain host OS I/O server domain Driver OS I/O operation VBD backend driver guest OS VBD frontend driver disk native driver Hypervisor HBA card Guest 1 HBA card 16 Guest 2 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 17 Guest 2 I/O opetation guest OS FC(SCSI) native driver
road map 2007/2 Q n FC-SCSI n NPIV 3 Q submit code 18 4 Q
19