* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Slide 1
Survey
Document related concepts
Transcript
XRootD Release 4 And Beyond GSI Seminar Stanford University/SLAC July15, 2015 Andrew Hanushevsky, SLAC http://xrootd.org User Visible Changes I New client library: libXrdCl.so First available in 3.3.0 now is default Old deprecated client library is libXrdClient.so Copy command: xrdcopy xrdcopy renamed to xrdcp Xrdcopy is now a symlink to xrdcp Original xrdcp renamed toxrdcp-old July 15, 2014 All have same command line interface! GSI Seminar ‹#› User Visible Changes II New meta command: xrdfs Logical replacement to xrd command Different command line interface More user friendly and intuitive When installing Release 4 RPM You must de-install previous XRootD release July 15, 2014 They are incompatible GSI Seminar ‹#› Root Support New client is the default in ROOT Since 5.34.14 (Dec 14, 2013) Via TNetXNGFile plug-in Setting envar XNet.UseOldClient to 1 Loads TNetXFile instead (old client) Root 6 does not support new client Due to conflicts with PROOF Expected to be resolved in release 6.1 July 15, 2014 GSI Seminar ‹#› Admin Visible Changes IPv6 support Public Private Networking Disk Caching Proxy HTTP Plug-in Remote Debugging Optional Client Plug-ins Miscellaneous July 15, 2014 GSI Seminar ‹#› IPv6 Support The new client supports IPv6 It prefers IPv6 whenever possible This corresponds to HEPIX request Connects using mapped IPv4 addr if need be The old client is deprecated It will not support IPv6 July 15, 2014 GSI Seminar ‹#› IPv6 Configuration Frankly none needed Clients detect available network stacks May force it to use various IP modes Via configuration file or envars Server detects interfaces and DNS settings It’s important that DNS is setup correctly May force server to use IPv4 only July 15, 2014 Via command line option (-I v4) GSI Seminar ‹#› IPv6 Considerations I While servers and redirectors can accept both IPv6 and IPv4 clients. . . IPv6 clients are assumed dual-stack May be redirected to either IPv6 or IPv4 node This works if all the servers are dual-stack Client error recovery will resolve this if unworkable Generally the preferred migration path Since redirection is via hostname… July 15, 2014 DNS entry must have no un-routable entries GSI Seminar ‹#› IPv6 Considerations II Client dual-stack assumption will be lifted in release 4.1 (3Q14) Clients will be redirected to compatible nodes If none, the client receives an error Largely driven by public-private networks July 15, 2014 And interactions with IPv6/4 GSI Seminar ‹#› Public-Private Network Support Redirectors are now network cognizant Servers inform redirectors of usable i/f’s Clients always compatibly redirected Private to private and public to public Subject to configured network topology July 15, 2014 Via new xrd.network directive option Applies to servers and redirectors GSI Seminar ‹#› Public-Private Net Topologies xrd.network routes type [use if1[,if2]] type: local | common | split local (default) common Private incoming -> private (preferred) or public Public incoming -> only public split No address differentiation (i.e. pre R4 mode) Incoming address must match outgoing address If use unspecified addresses come from DNS! July 15, 2014 GSI Seminar ‹#› Private Addresses & DNS Private addresses should never be in DNS Unless It’s a site local DNS server or The address is zone registered (i.e. only locally available) This is the assumption used by XRootD To avoid DNS reverse translation timeouts Hence, the use option might be needed If a server connects using a private address July 15, 2014 GSI Seminar ‹#› Public-Private Considerations The available server interfaces Must be uniform within a cluster Must be compatible with configured topology Restrictions relaxed in R 4.1 Redirectors will match clients & server i/f’s May lead to inaccessible files if no match exists Still working through external access issues May require a separate redirector for external access July 15, 2014 Due to IPv6/4 and public-private network interactions GSI Seminar ‹#› Networking Is Complex! There are many combinations now Client and server capabilities must now match There are 4 basic combinations Public Private IPv6 IPv4 But things are not that simple! Dual stack clients add another 4 combinations July 15, 2014 GSI Seminar ‹#› Disk Caching Proxy New proxy server mode Configured via pss.cachelib directive Caches whole files or file segments Mode is configurable Cached content available for future access Until LRU purged (configurable) Many use cases to increase access speed July 15, 2014 GSI Seminar ‹#› Typical Disk Caching Proxy Uses Speed up Remote XRootD Remote Access Clusters Caching Proxy Local Clients July 15, 2014 Caching Proxy XRootD Server HDFS Speed up Random Access Caching Proxy XRootD Cluster FS Speed up HD Access SSD GSI Seminar ‹#› HTTP Plug-in Basic http, https, WebDav access Suitable for browsers, curl, wget, & davix Provides another mode of well-known access http is neither low latency nor high-performance Google & Microsoft have proposed improvements • Changes submitted to W3C and IETF as http2 • Improvements are considered incremental • They only address the most vexing problems Configured via xrd.protocol directive July 15, 2014 And specialized http.xxx directives GSI Seminar ‹#› XRootD Multi-Protocol Support Always supported multiple protocols Improved architecture makes it much easier New protocols can leverage XRootD features Security, monitoring, file system plug-ins, etc XRootD Server Clients XRootD Bridge Memory Based Protocol Conversion Loadable Protocol July 15, 2014 GSI Seminar ‹#› Remote Debugging via DigFS XRootD provided pseudo file system Provides restricted selectable R/O access to Configuration file Core files Log files /proc/self (Linux only) Has authentication & authorization options Including access control restrictions View is standardized regardless of location Configured via xrootd.diglib directive July 15, 2014 GSI Seminar ‹#› The DigFS View /=/ Virtual exported path July 15, 2014 conf conf/etc (site specific) core/cmsd core/xrootd logs/cmsd logs/xrootd proc/cmsd proc/xrootd GSI Seminar ‹#› DigFS Authorization DigFS consults authorization file Created by the site and specified in config file xrootd.diglib * authfile + all [-]conf [-]core allow [-]logs [-]proc July 15, 2014 gsi host krb5 pwd sss unix GSI Seminar g=group h=host n=name o=org r=role + ‹#› XRootD Client Relationships External Package XRootD - add on XRootD - core XRootD – plug-ins Athena FTS3 xrdcopy CopyProcess XrdClFilesystem xrdfs Dirac Gaudi PyXRootD root XrdClFile CMSSW PROOF XrdClPostMaster Plug-ins replace original implementation All calls may be replaced July 15, 2014 All layers above benefit with any code changes GSI Seminar ‹#› Client Plug-ins Plug-ins are loaded at run-time Client looks for plug-in configuration files 1st Locally: ~/.xrootd/client.plugins.d/ 2nd Globally: /etc/xrootd/client.plugins.d/ Both locations can be over-ridden via envar XRD_PLUGINCONFDIR Plug-ins are strictly version checked Allows for independent development July 15, 2014 GSI Seminar ‹#› Miscellaneous I Readv proxy pass-through Automatic & greatly improves performance Manual log file rotation (e.g. logrotate) Via extended –k command line option High precision log file timestamps New –z command line option July 15, 2014 Log timestamp appears in microsecond format GSI Seminar ‹#› Miscellaneous II Special stat() plug-in for odd file systems Configured via the oss.statlib directive Includes plug-in for GPFS with tape backend Cancellable third party copy Used by transfer tools Fast directory listings Stat info can now be included w/ dir entry July 15, 2014 xrdfs uses this to speed up long listings GSI Seminar ‹#› Miscellaneous III New query config options Use the xrdfs command to display Query cms Query role Query sitename Query version - shows cmsd status - shows server’s cluster role - shows the site’s name - shows server’s version Cluster node blacklisting Via cms.blacklist directive & blacklist file July 15, 2014 Useful in federated environments GSI Seminar ‹#› Miscellaneous IV New monitoring information User login record now also includes Name of the client’s executable Contents of client’s XRD_MONINFO envar July 15, 2014 Useful to tie external information to actual data usage E.g. the Panda jobid to cross-reference I/O usage GSI Seminar ‹#› Looking Beyond Release 4 Cross Protocol Redirection Meta-links I/O Throttling Plug-in July 15, 2014 GSI Seminar ‹#› Cross-Protocol Redirections I XRootD protocol is capable of redirecting to a protocol other than xroot On file open the server may tell the client that it’s more efficient to try something else E.g. read the file locally from disk July 15, 2014 Open(xroot://host/filename) -> redirect file://filename GSI Seminar ‹#› Cross-Protocol Redirections II New client already capable of processing out-of protocol redirections Server needs some development to do so Root’s TFile framework needs updating to handle a change in protocols Changes already in development July 15, 2014 Target for root 6.1 or 6.2 GSI Seminar ‹#› Meta-Link Files I XML file that describes one or more data files available for access Meta-link file identified by dot suffix metalink (v3) or meta4 (v4 & incompatible w/ v3) File is read and parsed by the client Client picks one based on certain criteria July 15, 2014 E.G. priority, location, etc If access fails, client can pick another one GSI Seminar ‹#› Metalink Files II XRootD client will support meta-link files But the road is not straight-forward Incompatible meta-link formats, which one? Need to avoid encumbering installation I.e. pre-reqs for sites that don’t care about meta-links Targeting availability in 4Q14 July 15, 2014 GSI Seminar ‹#› I/O Throttling Plug-in Allows site to limit I/O access to disk Useful for throttling external access Used in federated environments via proxy server Configured via xrootd.fslib directive And specific throttling directives Plug-in is in code review phase Already used by CMS in production Targeting 3Q14 July 15, 2014 GSI Seminar ‹#› Acknowledgements Current Software Contributors ATLAS: Doug Benjamin, Patrick McGuigan, Ilija Vukotic CERN: Lukasz Janyst, Andreas Peters, Justin Salmon Fermi: Tony Johnson Root: Gerri Ganis, Bertrand Bellenot SLAC: Andrew Hanushevsky, Wilko Kroeger, Daniel Wang, Wei Yang UCSD: Matevz Tadel UNL: Brian Bockelman WLCG: Mattias Ellert, Fabrizio Furano, David Smith US Department of Energy Contract DE-AC02-76SF00515 with Stanford University July 15, 2014 GSI Seminar ‹#›