SCSI support on Xen MATSUMOTO Hitoshi matsumotohitoshjp fujitsu

  • Slides: 19
Download presentation
SCSI support on Xen MATSUMOTO Hitoshi matsumotohitosh@jp. fujitsu. com Fujitsu Ltd.

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

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

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

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

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

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

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.

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

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

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

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.

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

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

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

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

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

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

road map 2007/2 Q n FC-SCSI n NPIV 3 Q submit code 18 4 Q

19

19