erste erfahrung mit nfsv4 auf hp-ux 11 · wer sind wir? lyubomir valnarov, 24 • b. sc. -...
TRANSCRIPT
IT-Symposium 2007 19.04.2007
www.hp-user-society.de 1
Erste Erfahrung mitNFSv4 auf
HP-UX 11.31
Stefan MirevskiLyubomir Valnarov
Global Delivery Solution Center SofiaTechnology Solutions Group
Hewlett Packard
Stefan Mirevski, 27• B.Sc. (Informatik), Sofioter Uni• M.Sc. (Mathematik), Uni
Karlsruhe• Ab 2006: Doktorand
(Mathematik), Uni Karlsruhe• 5 Jahre Informatik Tutor• 4 Jahre HiWi, FZI Karlsruhe• Coach in Programmier-Contests
Wer sind wir?
Lyubomir Valnarov, 24• B. Sc. - Informatik, TU Sofia• ab 2005 - Masterstudium
Informatik, TU Sofia• 2001-2005 Systembetreuer • 2005 – Praktikum am Fraunhofer
IITB• Seit 2006 bei HP - Software und
Network Support
IT-Symposium 2007 19.04.2007
www.hp-user-society.de 2
19.04.2007 Mirevski & Valnarov - DECUS 2007 (Nürnberg) - Erste Erfahrung mit NFSv4 auf HP-UX 11.31 3
HP Global Delivery Solution Center Sofia (HP GDSCS)
19.04.2007 Mirevski & Valnarov - DECUS 2007 (Nürnberg) - Erste Erfahrung mit NFSv4 auf HP-UX 11.31 4
Agenda
• Einführung in NFS
• Änderungen in NFS v4
• NFSv4 Konfiguration
• Diskussion
IT-Symposium 2007 19.04.2007
www.hp-user-society.de 3
Einführung in NFS
19.04.2007 Mirevski & Valnarov - DECUS 2007 (Nürnberg) - Erste Erfahrung mit NFSv4 auf HP-UX 11.31 6
Was ist NFS
Das Network File System (NFS) ist ein Verteiltes Dateisystem,das den Zugriff auf Dateien über ein Netzwerk ermöglicht.
IT-Symposium 2007 19.04.2007
www.hp-user-society.de 4
19.04.2007 Mirevski & Valnarov - DECUS 2007 (Nürnberg) - Erste Erfahrung mit NFSv4 auf HP-UX 11.31 7
NFS Basics
• Zugriff auf Dateisysteme durch Systemaufrufe (open/close, read/write, create/unlink, mkdir/rmdir, readdir, usw.)
• Vom Netzwerkdateisystem als Netzwerkpakete gesendet
• Antwort vom Server
• UDP (verbindungslos) und TCP
• Lock- und Mount-Operationen über zusätzliche Protokolle
• Unix-Dateiattributen (z.B. uid)
19.04.2007 Mirevski & Valnarov - DECUS 2007 (Nürnberg) - Erste Erfahrung mit NFSv4 auf HP-UX 11.31 8
Die NFS Internet Standards
Sun Microsystems, Inc. IETF
NFSv4 RFC 3530
NFSv4 Design RFC 2624
NFSv3 RFC 1813
NFSv2 RFC 1094
1989 1995 1999 2003
IT-Symposium 2007 19.04.2007
www.hp-user-society.de 5
19.04.2007 Mirevski & Valnarov - DECUS 2007 (Nürnberg) - Erste Erfahrung mit NFSv4 auf HP-UX 11.31 9
NFS Protokolle
NFS im OSI-Schichtenmodell
Anwendung NFS
Darstellung XDR
Sitzung (Sun-)RPC
Transport UDP + TCP
Netzwerk IP
Netzzugang Ethernet, Token Ring, FDDI, ...
19.04.2007 Mirevski & Valnarov - DECUS 2007 (Nürnberg) - Erste Erfahrung mit NFSv4 auf HP-UX 11.31 10
Remote Procedure Call Modell
IT-Symposium 2007 19.04.2007
www.hp-user-society.de 6
19.04.2007 Mirevski & Valnarov - DECUS 2007 (Nürnberg) - Erste Erfahrung mit NFSv4 auf HP-UX 11.31 11
Schematischer Ablauf derDatenübertragung
NFS Client NFS Serverrpc.mountd port?
rpc.mountd port = 4046
/directory filehandle?
filehandle 0
nfsd port?
nfsd port = 2049
LOOKUP filehandle 0 & “File1“
filehandle 1
READ filehandle 1
“File1“ contents
rpcbind (portmapper)
rpc.mountd
rpcbind (portmapper)
nfsd
nfsd
19.04.2007 Mirevski & Valnarov - DECUS 2007 (Nürnberg) - Erste Erfahrung mit NFSv4 auf HP-UX 11.31 12
Design Vorteile von NFS v3
Einfaches Design:• Verbindungsloses UDP Protokoll• Zustandsloser Server
• Server mit relativ wenig Arbeitsspeicher
• Typische Einsatzgebiete:• Lokale Netzwerke• Einfache Benutzeraktivitäten über das lokale Netzwerk
IT-Symposium 2007 19.04.2007
www.hp-user-society.de 7
19.04.2007 Mirevski & Valnarov - DECUS 2007 (Nürnberg) - Erste Erfahrung mit NFSv4 auf HP-UX 11.31 13
Schwächen früherer NFS Versionen
• request/response nature -> inhärente Ineffizienz imNFS Protokoll
• Stateless operation• file handle – nicht durchsichtig für den Client • file locking & node status - separate Protokolle &
Daemons (rpc.lockd, rpc.statd)• Security – begrenzte Authentifikation ohne
Verschlüsselung
Änderungen in NFS v4
IT-Symposium 2007 19.04.2007
www.hp-user-society.de 8
19.04.2007 Mirevski & Valnarov - DECUS 2007 (Nürnberg) - Erste Erfahrung mit NFSv4 auf HP-UX 11.31 15
Das NFS v4 Konzept
• Neuimplementierung des Protokolls• Nur noch ein Protokoll
• Vereinfachte Firewall-Konfiguration
• Erweiterte Internet Operabilität über TCP
• Compound procedure
• Stateful operation
• Delegation
• Verschiedenen Attributstypen
19.04.2007 Mirevski & Valnarov - DECUS 2007 (Nürnberg) - Erste Erfahrung mit NFSv4 auf HP-UX 11.31 16
Das NFS v4 Konzept (2)
• SecureNFS
• WebNFS
• Client Failover
• Enhanced NFS Logging
IT-Symposium 2007 19.04.2007
www.hp-user-society.de 9
19.04.2007 Mirevski & Valnarov - DECUS 2007 (Nürnberg) - Erste Erfahrung mit NFSv4 auf HP-UX 11.31 17
Single Protocol
• MOUNT, NLM und NSM integriert im Protokoll• Mounting und Locking realisiert durch Opcodes
• Keine externen Lock und Node-Status Daemons
• rpc.lockd & rpc.statd für Rückwärts-Kompatibilität
• OPEN/CLOSE Mechanismus• Access/Deny Semantik (share_access/share_deny)
• Bessere Windows/UNIX Interoperabilität
19.04.2007 Mirevski & Valnarov - DECUS 2007 (Nürnberg) - Erste Erfahrung mit NFSv4 auf HP-UX 11.31 18
Firewall “Friendly” Design
RPCBIND
MOUNT
NFSv2/v3
LOCK/NLM
STATUS
ACL
Port 111
Dynamic
Port 2049
Dynamic
Dynamic
Dynamic
NFSv4Port 2049
TCP
IT-Symposium 2007 19.04.2007
www.hp-user-society.de 10
19.04.2007 Mirevski & Valnarov - DECUS 2007 (Nürnberg) - Erste Erfahrung mit NFSv4 auf HP-UX 11.31 19
The New COMPOUND Procedure
NFSv3
LOOKUP
ACCESS
READ
NFSv4
COMPOUNDPUTFHLOOKUPGETFHGETATTROPENREAD
19.04.2007 Mirevski & Valnarov - DECUS 2007 (Nürnberg) - Erste Erfahrung mit NFSv4 auf HP-UX 11.31 20
COMPOUND Remote Procedure Call
• Zwei NFSv4 Procedures (RPCs)• NULL – keine Funktionalität (empty request)
• COMPOUND – mehrere NFS Operationen in einem RPC
• Reduced Latency - weniger over-the-wire round-trips zwischen Client und Server
• Niedrigerer Transport und Security Overhead
• Fehlerbehandlung – Rückgabe der vor dem Fehlererfolgreich abgeschlossenen Operationen
IT-Symposium 2007 19.04.2007
www.hp-user-society.de 11
19.04.2007 Mirevski & Valnarov - DECUS 2007 (Nürnberg) - Erste Erfahrung mit NFSv4 auf HP-UX 11.31 21
Stateful Operation
• Der NFSv4 Server speichert Information über die Clients, die geöffneten Dateien und Locks
• Locking - anhand einer CLIENTID• Lease-basierend, auch ohne RPC callback Mechanismus
• Einige OPCODEs verlangen vom Client seine Identifikation (CLIENTID) – READ, WRITE, locking
19.04.2007 Mirevski & Valnarov - DECUS 2007 (Nürnberg) - Erste Erfahrung mit NFSv4 auf HP-UX 11.31 22
Delegation• Management von Locks und caching von Daten einer
Datei – auf dem Client• Bei Delegation – weitere OPEN, LOCK, READ, WRITE
und CLOSE Operationen auf der Datei passieren nurbeim Client
• Wann: 1 Client schreibt (write) oder mehrere Clients NUR lesen (read)
• Performance gewinn• Delegations sind lease-basierend, genau wie File-
locking• Delegation recall vom Server – durch callback an dem
Client
IT-Symposium 2007 19.04.2007
www.hp-user-society.de 12
19.04.2007 Mirevski & Valnarov - DECUS 2007 (Nürnberg) - Erste Erfahrung mit NFSv4 auf HP-UX 11.31 23
SecureNFS
• Erweiterte Authentifikation
• Verschlüsselung - Teil der Spezifikation
• Mehrere Security-Schemata (Modes)
• Security Modes können kombiniert werden
• Komplexere Dateisicherheit mit ACLs
19.04.2007 Mirevski & Valnarov - DECUS 2007 (Nürnberg) - Erste Erfahrung mit NFSv4 auf HP-UX 11.31 24
Security Modes
Mode Beschreibungsys Default, benutzt UID/GID UNIX permissions
none Keine Authentifizierung, benutzer loggen sichals “anonymous”
dh Benuzt das Diffie-Hellman Public-key System
krb5 Benutzt Kerberos v5 zur Benutzer-authentifizierung
krb5i KRB5 Authentifizierung mit Integrity Checking
krb5p KRB5 Authentifizierung, Integrity Checking und Privacy Protection (Encryption)
IT-Symposium 2007 19.04.2007
www.hp-user-society.de 13
NFSv4 Konfigurationauf HPUX 11i v3
19.04.2007 Mirevski & Valnarov - DECUS 2007 (Nürnberg) - Erste Erfahrung mit NFSv4 auf HP-UX 11.31 26
Konfigurationsänderungen in 11i v3Bis 11i v2 11i v3
Kernel Konfiguration(kcmodule)
nfs_client nfs_clientnfs_core nfs_client_pv2nfs_server nfs_client_pv3nfsm nfs_client_pv4
nfssrvnfswrp
Konfigurations-dateien
/etc/default/nfs/etc/exports /etc/dfs/dfstab/etc/xtab /etc/dfs/sharetab/etc/rmtab /etc/rmtab
IT-Symposium 2007 19.04.2007
www.hp-user-society.de 14
19.04.2007 Mirevski & Valnarov - DECUS 2007 (Nürnberg) - Erste Erfahrung mit NFSv4 auf HP-UX 11.31 27
NFS kctune ParameterNFS Tunablesnfs_async_timeoutnfs_disable_rddir_cachenfs_enable_write_behindnfs_exi_cache_timenfs_nacachenfs_nogpagenfs_nrnodenfs_portmonnfs_write_error_intervalnfs_write_error_to_cons_only
NFS v2-Specific Tunablesnfs2_async_clustersnfs2_bsizenfs2_cots_timeonfs2_do_symlink_cachenfs2_dynamicnfs2_lookup_neg_cachenfs2_max_threadsnfs2_nranfs2_shrinkreaddir
NFS v3-Specific Tunablesnfs3_async_clustersnfs3_bsizenfs3_cots_timeonfs3_do_readdirplusnfs3_do_symlink_cachenfs3_dynamicnfs3_jukebox_delaynfs3_lookup_neg_cachenfs3_max_threadsnfs3_max_transfer_sizenfs3_max_transfer_size_cltsnfs3_max_transfer_size_cotsnfs3_nranfs3_pathconf_disable_cache
NFS v4-Specific Tunablesnfs4_async_clustersnfs4_bsizenfs4_cots_timeonfs4_do_symlink_cachenfs4_lookup_neg_cachenfs4_max_threadsnfs4_max_transfer_sizenfs4_max_transfer_size_cotsnfs4_nacachenfs4_nranfs4_nrnodenfs4_pathconf_disable_cache
RPC Tunablesrpc_clnt_idle_timeoutrpc_clnt_max_connsrpc_svc_cltsmaxdupreqsrpc_svc_cotsmaxdupreqsrpc_svc_default_max_same_xprtrpc_svc_idle_timeout
19.04.2007 Mirevski & Valnarov - DECUS 2007 (Nürnberg) - Erste Erfahrung mit NFSv4 auf HP-UX 11.31 28
Konfiguration von NFSKonfigurationsdateien• /etc/rc.config.d/nfsconf
• Aktivieren oder Deaktivieren von NFS Subsysteme• /etc/default/nfs
• Startparameter für die nfsd und lockd Daemons
Parameter• setoncenv(1M)
• Initialisiert, zeigt und entferns Konfigurationsvariablen• kctune Parameter
• Alle “public” kctune Parameter haben man(5) pages
IT-Symposium 2007 19.04.2007
www.hp-user-society.de 15
19.04.2007 Mirevski & Valnarov - DECUS 2007 (Nürnberg) - Erste Erfahrung mit NFSv4 auf HP-UX 11.31 29
Weitere Konfigurationen
• NFSv4 ist disabled per default auf 11i v3
• Zum aktivieren, editieren /etc/default/nfs:• NFS_SERVER_VERSMIN=2
• NFS_SERVER_VERSMAX=4
• NFS_CLIENT_VERSMIN=2
• NFS_CLIENT_VERSMAX=4
• NFS_SERVER_DELEGATION=on
• NFSMAPID_DOMAIN=domain
19.04.2007 Mirevski & Valnarov - DECUS 2007 (Nürnberg) - Erste Erfahrung mit NFSv4 auf HP-UX 11.31 30
NFS in Aktion• Startup/Shutdown Scripts
• /sbin/init.d/nfs.server start/stop• /sbin/init.d/nfs.client start/stop
• Exporting• share• Example: # share –F nfs /tmp• exportfs – nur als Verweis auf share
• Mounting• mount
• Zeigen der mount Optionen• nfsstat -m
IT-Symposium 2007 19.04.2007
www.hp-user-society.de 16
19.04.2007 Mirevski & Valnarov - DECUS 2007 (Nürnberg) - Erste Erfahrung mit NFSv4 auf HP-UX 11.31 31
Sicherheit & ACLsZusammenspiel von den Sicherheitsmodi# share –F nfs –o sec=krb5,rw,sec=sys,ro /tmp• Kerberos v5 Clients are permitted read/write access• AUTH_SYS Clients are permitted read/only access
Access Control Lists• Users auf dem NFS Client: view und modify ACLs durch
getacl(1) und setacl(1)• nfsstat –a listet die GETACL und SETACL Aufrufe
19.04.2007 Mirevski & Valnarov - DECUS 2007 (Nürnberg) - Erste Erfahrung mit NFSv4 auf HP-UX 11.31 32
WebNFS• Durch die Option “public” beim sharing/mounting
• Bypasses rpcbind und rpc.mountd
• NFS Kommunikation direkt zum Port 2049
• Beispiel:• Sharing Dateisysteme für WebNFS Clients# share -F nfs -o public /tmp
• Mounting Dateisysteme durch WebNFS# mount -o public nfs://server/ /hp-1
IT-Symposium 2007 19.04.2007
www.hp-user-society.de 17
19.04.2007 Mirevski & Valnarov - DECUS 2007 (Nürnberg) - Erste Erfahrung mit NFSv4 auf HP-UX 11.31 33
Unser Dank geht an
• Unseren Mentoren:• Winfried Knobloch (EMEA Network und Linux)• Thomas Hanselmann (Externer Trainer)• Sven Herbers-Lee (EMEA Applications CC)
• Unseren Managern
• Unseren Kollegen
• Last but not least...
19.04.2007 Mirevski & Valnarov - DECUS 2007 (Nürnberg) - Erste Erfahrung mit NFSv4 auf HP-UX 11.31 34
Thank you!
IT-Symposium 2007 19.04.2007
www.hp-user-society.de 18
Diskussion
© 2006 Hewlett-Packard Development Company, L.P.The information contained herein is subject to change without notice
Vorbereitet von:
Stefan Mirevski ([email protected])Lyubomir Valnarov ([email protected])
IT-Symposium 2007 19.04.2007
www.hp-user-society.de 19
19.04.2007 Mirevski & Valnarov - DECUS 2007 (Nürnberg) - Erste Erfahrung mit NFSv4 auf HP-UX 11.31 37
NFSv3 Procedures• NULL Do nothing• GETATTR Get file attributes• SETATTR Set file attributes• LOOKUP Lookup filename• ACCESS Check access permission• READLINK Read from symbolic link• READ Read from file• WRITE Write to file• CREATE Create a file• MKDIR Create a directory• SYMLINK Create a symbolic link• MKNOD Create a special device• REMOVE Remove a file• RMDIR Remove a directory• RENAME Rename a file or directory• LINK Create link to an object• READDIR Read From directory• READDIRPLUS Extended read from directory• FSSTAT Get dynamic file system information• FSINFO Get static file system information• PATHCONF Retrieve POSIX information• COMMIT Commit cached data on a server to stable storage
19.04.2007 Mirevski & Valnarov - DECUS 2007 (Nürnberg) - Erste Erfahrung mit NFSv4 auf HP-UX 11.31 38
NFSv4 OPCODEs (1)• ACCESS Check Access Rights• CLOSE Close File • COMMIT Commit Cached Data• CREATE Create a Non-Regular File Object• DELEGPURGE Purge Delegations Awaiting Recovery• DELEGRETURN Return Delegation• GETATTR Get Attributes• GETFH Get Current Filehandle• LINK Create Link to a File• LOCK Create Lock• LOCKT Test For Lock• LOCKU Unlock File• LOOKUP Lookup Filename• LOOKUPP Lookup Parent Directory• NVERIFY Verify Difference in Attributes• OPEN Open a Regular File• OPENATTR Open Named Attribute Directory• OPEN_CONFIRM Confirm Open• OPEN_DOWNGRADE Reduce Open File Access
IT-Symposium 2007 19.04.2007
www.hp-user-society.de 20
19.04.2007 Mirevski & Valnarov - DECUS 2007 (Nürnberg) - Erste Erfahrung mit NFSv4 auf HP-UX 11.31 39
NFSv4 OPCODEs (2)• PUTFH Set Current Filehandle• PUTPUBFH Set Public Filehandle• PUTROOTFH Set Root Filehandle• READ Read from File• READDIR Read Directory• READLINK Read Symbolic Link• REMOVE Remove Filesystem Object• RENAME Rename Directory Entry• RENEW Renew a Lease• RESTOREFH Restore Saved Filehandle• SAVEFH Save Current Filehandle• SECINFO Obtain Available Security• SETATTR Set Attributes• SETCLIENTID Negotiate Clientid• SETCLIENTID_CONFIRM Confirm Clientid• VERIFY Verify Same Attributes• WRITE Write to File• RELEASE_LOCKOWNER Release Lockowner State • ILLEGAL Illegal operation
19.04.2007 Mirevski & Valnarov - DECUS 2007 (Nürnberg) - Erste Erfahrung mit NFSv4 auf HP-UX 11.31 40
The NFS Internet Standard (RFCs)RFC 1014 XDR: External Data Representation Standard (June 1987)
RFC 1057 RPC: Remote Procedure Call Protocol Specification Version 2 (June 1988)
RFC 1094 NFS: Network File System Protocol Specification (March 1989)
RFC 1813 NFS Version 3 Protocol Specification (June 1995)
RFC 1831 RPC: Remote Procedure Call Protocol Specification Version 2 (August 1995)
RFC 1832 XDR: External Data Representation Standard (August 1995)
RFC 2339An Agreement Between the Internet Society, the IETF, and Sun Microsystems, Inc. in the matter of NFS v.4 Protocols (May 1998)
RFC 2624 NFS Version 4 Design Considerations (June 1999)RFC 3010 Network File System (NFS) version 4 Protocol (Dec. 2000)RFC 3530 Network File System (NFS) version 4 Protocol (April 2003)RFC 4506 XDR: External Data Representation Standard (May 2006)