9p

From DCEwiki
Jump to: navigation, search

9p, přesněji řečeno v9fs je unixová implementace protokolu, původně vyvinutého pro připojení vzdáleného souborového systému u operačního systému Plan9. Výhody protokolu 9p

  • 9p servery jsou implementované v userspace
  • Je-li použitý diod, lze využívat autentizované připojení (přes munge). Tzn. že lze připojit sdílený adresář jen z takového stroje, který má shodný mungo.key
  • Pracuje s ACL souborového systému (nedělá remap uživatelských jmen)
  • Ovladač protokolu je součástí linuxového jádra

Nevýhody protokolu 9p

  • Nepodporuje automatické obnovení připojení po výpadku serveru. Teoreticky to lze řešit přes automount.
  • Podobně jako u NFS platí jeden server = jeden cetrální přístupový bod. Nelze použít záložní stroj, na který by byly požadavky automaticky přesměrovány v případě, že původní server klekne


Historie[edit]

9p protokol navrhnul a vyvíjel Ken Thompson, jeden z tvůrců Unixu a také jeden z "otců" UTF-8, pod hlavičkou laboratoří fy. Bell do r. 2000. Proto poslední verze protokolu pojmenoval 9p2000 (legacy)[1]

9p2000.U[edit]

V roce 2003 byl operační systém Plan9 a s ním i protokol 9p uvolněn jako open source. To vedlo k rozšíření protokolu, tak aby plně vyhovoval unixovému POSIX standardu[2].

Do linuxového jádra byl modul 9p pro práci s tímto protokolem implementován v r. 2005

9p2000.L[edit]

K dalšímu rozšíření protokolu došlo kolem roku 2009. Přibyla podpora pro ACL, zamykání souborů, a vylepšeny věci kolem zpracování souborových operací jako je výpis adresářů, mazání souborů, atp.[3]

Tato verze se používá jako výchozí od r. 2011[4]

  1. Tato verze podporovala 12 základních souborových operací a je dokumentována na stránce http://plan9.bell-labs.com/magic/man2html/5/0intro
  2. Původní verze kupř. neměla podporu pro suid bit a také nepracovala s číselnou UID hodnotou uživatelského jména.
  3. Podrobný popis protokolu je na stránce https://code.google.com/p/diod/wiki/protocol
  4. Implementace modulu 9p v linuxovém jádru je zpětně kompatibilní i s předchozími verzemi. Ovšem diod server podporuje pouze verzi 9p2000.L!

9p server[edit]

V linuxovém prostředí lze použít několik implementací 9P serveru.

diod 
P9 server s podporou autentiikačního mechanismu munge
NFS Ganesha 
NFS a P9 server, který je implementován v userspace. Jeho výhodou je, že používá backendy pro různé souborové systémy, včetně těch síťově distribuovaných jako je GlusterFS, nebo CEPH.
QEMU 
Má integrovaný 9P server, který využívá k propagaci souborů z prostředí hostitelského stroje do virtuálu.