developments for tape

14
Developments for tape CERN IT Department CH-1211 Genève 23 Switzerland www.cern.ch/ DSS Developments for tape CASTOR workshop 2012 Author: Steven Murray ([email protected])

Upload: yon

Post on 11-Jan-2016

36 views

Category:

Documents


0 download

DESCRIPTION

Developments for tape. CASTOR workshop 2012 Author: Steven Murray ([email protected]). Contents. Immediate tape marks Patching the SLC6 st driver Configuring the bulk interface of tape The solution to UNKNOWN tape drives Virtual tape library - mhvtl. Before immediate tape marks. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Developments for tape

Developments for tape

CERN IT Department

CH-1211 Genève 23

Switzerlandwww.cern.ch/

it

DSS

Developments for tape

CASTOR workshop 2012

Author: Steven Murray

([email protected])

Page 2: Developments for tape

CERN IT Department

CH-1211 Genève 23

Switzerlandwww.cern.ch/

it

InternetServices

DSS

Developments for tape - 2

Contents

• Immediate tape marks

• Patching the SLC6 st driver

• Configuring the bulk interface of tape

• The solution to UNKNOWN tape drives

• Virtual tape library - mhvtl

Page 3: Developments for tape

Data & Storage Services

Before immediate tape marks

Developments for tape - 3

Legacy tape transfer-managerRTCPCLIENTD

Drive scheduler

VDQM

Legacy tape reader/writer

RTCPD

1. Mount tape

2. File info

3. Write header file4. Flush buffer5. Write user file6. Flush buffer7. Write trailer file8. Flush buffer

9. Wrote file

3 flushes per user file≈ 5 seconds≈ 1.2 GB that couldhave been written

Page 4: Developments for tape

Data & Storage Services

What is an immediate tape mark

• Synchronous tape mark - Mark the end of file and flushstruct mtop mtop;

mtop.mt_op = MTWEOF; mtop.mt_count = 1;

ioctl(tapefd, MTIOCTOP, &mtop);

• Immediate tape mark – Just mark the end of file; no flushstruct mtop mtop;

mtop.mt_op = MTWEOFI; mtop.mt_count = 1;

ioctl(tapefd, MTIOCTOP, &mtop);

• Flush tape drive buffer - Flushstruct mtop mtop;

mtop.mt_op = MTWEOF; mtop.mt_count = 0;

ioctl(tapefd, MTIOCTOP, &mtop);

Developments for tape - 4

Page 5: Developments for tape

Data & Storage Services

After immediate tape marks

Developments for tape - 5

Drive scheduler

VDQM

1. Mount tape

Tapegatewa

y

2. File info for N files

For N files or data loop 3. Write header file 4. Write user file 5. Write trailer fileEnd loop6. Flush buffer

7. Wrote N filesProtocol bridge

Legacy tape reader/writer

RTCPD

Legacy tape transfer-managerRTCPCLIENTD

Tape format has not been changed!

Bulk protocolDrive bufferflushedless often

Page 6: Developments for tape

Data & Storage Services

Results of immediate tape marks

Developments for tape - 6

Page 7: Developments for tape

Data & Storage Services

SLC5 st driver has 2 patches

• MTWEOFI– Provides support for immediate tape marks– CASTOR cannot run without it

• MTIOCSENSE– Improves error diagnosis– CASTOR can run without it.

Developments for tape - 7

Page 8: Developments for tape

Data & Storage Services

SLC6 st driver has 1 patch

• The SLC6 st driver currently has the MTWEOFI patch

• The SLC6 st driver is used by virtual tape servers

• Real hardware will decide whether or not we require the MTIOCSENSE patch

Developments for tape - 8

Page 9: Developments for tape

Data & Storage Services

Tape bulk-interface configuration

• TAPEBRIDGE BULKREQUESTMIGRATIONMAXBYTES– The maximum number of bytes a set of files to migrate should represent

• TAPEBRIDGE BULKREQUESTMIGRATIONMAXFILES– The maximum number of files in a migration set

• TAPEBRIDGE BULKREQUESTRECALLMAXBYTES– The maximum number of bytes a set of files to recall should represent

• TAPEBRIDGE BULKREQUESTRECALLMAXFILES– The maximum number of files in a recall set

Developments for tape - 9

Page 10: Developments for tape

Data & Storage Services

UNKNOWN tape drives fixed

• Drives stuck in UNKNOWN in the VDQM

• Operator had to manually DOWN and UP drives

• After 5 years bug was tracked to the new VDQM

• Race condition between an unused monitoring

message and a state change message

• Race condition removed in 2.1.13-6 tape servers

Developments for tape - 10

Page 11: Developments for tape

Data & Storage Services

Architecture of mhvtl

Developments for tape - 11

st driverst driver sg driversg driver

SCSI mid-layerSCSI mid-layer

mhvtl driver (pseudo host bus adapter - HBA)mhvtl driver (pseudo host bus adapter - HBA)

vtltapedaemonvtltape

daemonvtllibrarydaemonvtllibrarydaemon

rtcpddaemon

rtcpddaemon

rmcddaemon

rmcddaemon

UserSpace

Kernelspace

Page 12: Developments for tape

Data & Storage Services

mhvtl configuration and data files

• Configuration files are in /etc/mhvtl– device.conf

• Specifies the tape library and drive devices

– mhvtl.conf• Default media capacity• syslog verbosity of the vtltape and vtllibrary daemons • Kernel module debugging level

• Data files are in /opt/mhvtl– One directory per tape

Developments for tape - 12

Page 13: Developments for tape

Data & Storage Services

rpms of mhvtl

• Available from the Enterprse Linux Repository

• SLC5 rpms

– mhvtl-utils-1.4.4-1.el5.elrepo• User-space daemons and clients

– kmod-mhvtl-1.4.4-1.el5.elrepo• Kernel module

• SLC6 rpms– mhvtl-utils-1.4.4-1.el6.elrepo.x86_64.rpm– kmod-mhvtl-1.4.4-1.el6.elrepo.x86_64.rpm

Developments for tape - 13

Page 14: Developments for tape

Data & Storage Services

mhvtl compression statistics

• Victor Kotlyar helped fix the mhvtl compression statics

• LOG SELECT: Fix off-by-one issues– https://github.com/markh794/mhvtl/commit/07d9bc4852da0d59fcdec70c3168d3e96f9226a8

• Implement Parameter Code Reset in LOG SELECT– https://github.com/markh794/mhvtl/commit/335785b493430323e4dbaacc0c89fe78b425a5db

• mhvtl-1.4.4 was created by Mark Harvey (MH vtl).

• Thanks to contact [email protected] this new version

was built in general ELRepo (Enterprse Linux Repository).

Developments for tape - 14