background image

14. Zdalny dost

14. Zdalny dost

ę

ę

p do danych

p do danych

Lesław Sieniawski © 2010

background image

Dost

Dost

ę

ę

p do danych

p do danych

Dost

ę

p do danych:

Do no

ś

ników danych 

(poziom fizyczny – dane 

surowe) poprzez interfejsy:

wewn

ę

trzne

lokalne

zdalne (sieciowe)

– Do samych danych

(poziom logiczny):

Plików

Baz danych 

background image

Poziom fizyczny

– dane udost

ę

pniane blokami

Poziom logiczny

– dane udost

ę

pniane w postaci 

zgodnej z typami danych lub ich strukturami, np.

char, string, integer, array [,] of real, record, 

struct, file, database

(podane nazwy typów danych –

abstrakcyjne, niezwi

ą

zane z konkretnym j

ę

zykiem programowania)

Posta

Posta

ć

ć

danych

danych

sektor

sektor

sektor

sektor

Blok danych

Potrzebna dana

background image

Obs

Obs

ł

ł

uga danych

uga danych

Poziom fizyczny

– Zawarto

ść

no

ś

nika danych musi by

ć

przetworzona przez 

system operacyjny – system plików lub system bazodanowy

Poziom logiczny

– Zdalne pliki danych

Musz

ą

by

ć

udost

ę

pnione poprzez system operacyjny 

Mog

ą

by

ć

bezpo

ś

rednio wykorzystywane przez aplikacje

– Zdalne bazy danych

Musz

ą

by

ć

przył

ą

czone do systemu

Mog

ą

by

ć

wykorzystywane przez aplikacje

background image

Architektura klient

Architektura klient

-

-

serwer

serwer

Usługa

(ang. service) typowa czynno

ść

przetwarzania w 

ś

rodowisku rozproszonym, wykonywana na jednej lub wielu 

maszynach

Serwer

(ang. server) – oprogramowanie 

ś

wiadcz

ą

ce usług

ę

dla 

nieokre

ś

lonego wcze

ś

niej klienta, wykonywane na konkretnej 

maszynie

Klient

– proces 

Ŝą

daj

ą

cy wykonania usługi za pomoc

ą

sekwencji 

czynno

ś

ci nazywanych interfejsem klienta

śądanie usługi

Wynik

Klient

Serwer

Poj

ę

cia 

klienta

serwera

nie dotycz

ą

sprz

ę

tu lecz wzajemnych relacji 

background image

Architektura klient

Architektura klient

-

-

serwer (2)

serwer (2)

Przykład

: system plików

dostarcza usługi plikowe:

– Tworzenia pliku,
– Usuwanie pliku,
– Zapis do pliku,
– Odczyt z pliku,
– Operacje na katalogach,

Lokalny system plików

utrzymuje dane na dysku(-ach) danej 

maszyny

– Odwzorowanie

: sektor dysku-jednostka alokacji (blok)-identyfikator

pliku-nazwa pliku 

przezroczyste dla u

Ŝ

ytkownika (programu, 

klienta)

Rozproszony system plików

na dyskach wielu niezale

Ŝ

nych 

maszyn

– Odwzorowanie

: sektor dysku-jednostka alokacji (blok)-

maszyna

-

identyfikator pliku-nazwa pliku 

przezroczyste dla u

Ŝ

ytkownika 

(programu, klienta)

– Dodatkowy poziom odwzorowania

: wiele egzemplarzy danego pliku

background image

Model przetwarzania

Model przetwarzania

Nośnik

Nośnik

Nośnik

System plików

System plików

SZBD

SZBD

Aplikacje

W

a

rs

tw

a

fi

z

y

c

z

n

a

W

a

rs

tw

a

 l

o

g

ic

z

n

a

W

a

rs

tw

a

a

p

li

k

a

c

ji

Usługi

Lokalne
i zdalne

background image

Przetwarzanie danych zdalnych

Przetwarzanie danych zdalnych

Sposób po

ś

redni

1.

Utworzenie lokalnej kopii pliku danych

2.

Przetwarzanie lokalnej kopii pliku danych 

3.

Ewentualna aktualizacja zdalnego pliku danych

Program

Lokalna kopia pliku

Plik zdalny

Pobieranie kopii

[Aktualizacja]

Przetwarzanie danych

background image

Przetwarzanie danych zdalnych (2)

Przetwarzanie danych zdalnych (2)

Sposób bezpo

ś

redni

1. Logiczne przył

ą

czenie (zamontowanie) zdalnego pliku danych

2. Przetwarzanie zdalnego pliku danych (bez tworzenia lokalnej 

kopii)

3. Logiczne odł

ą

czenie (odmontowanie) pliku danych

Program

Plik zdalny

Przetwarz

anie dany

ch

background image

Zdalne przesy

Zdalne przesy

ł

ł

anie plik

anie plik

ó

ó

w

w

File Transfer Protocol

(FTP) 

– element sieciowego 

systemu operacyjnego

Serwer FTP

(demon)

Klient FTP

background image

Zdalne przesy

Zdalne przesy

ł

ł

anie plik

anie plik

ó

ó

w (2)

w (2)

FTP 

korzysta z sieci TCP/IP 

Tworzy 2 poł

ą

czenia

kontrolne

- inicjowane przez klienta (port 

21

serwera):

identyfikator, hasło, polecenia, statusy 

danych

– inicjowane przez serwer: pliki

Tryby pracy FTP

– Aktywny

: klient wysyła do serwera swój adres i dane 

uwierzytelnienia, serwer inicjuje poł

ą

czenie dla danych na 

porcie 

20

– Pasywny

(komunikacja poprzez zapor

ę

sieciow

ą

): klient 

wysyła do serwera swój adres i dane uwierzytelnienia oraz 
inicjuje poł

ą

czenie dla danych na porcie 

>1024

background image

Zdalne przesy

Zdalne przesy

ł

ł

anie plik

anie plik

ó

ó

w (3)

w (3)

FTP umo

Ŝ

liwia dost

ę

p

– Nieanonimowy

– logowanie do konta u

Ŝ

ytkownika w danym 

systemie, gdzie działa usługa FTP;
nazwa konta i hasło – ustalone indywidualnie. 
Opcjonalne uwi

ę

zienie u

Ŝ

ytkownika w jego katalogu 

prywatnym (chroot)

– Anonimowy

– standardowa nazwa konta: 

ftp

lub 

anonymous

hasło – dowolne (zalecane: adres email).
Opcjonalne uwi

ę

zienie u

Ŝ

ytkownika w katalogu publicznym

Niektóre polecenia FTP

:

– get, put (transmisja pojedynczych plików), 
– mget, mput (transmisja wielu plików wg wzorca nazwy), 
– cd, dir, pwd, lcd (polecenia dotycz

ą

ce katalogów)

Niechroniona transmisja

plików oraz informacji kontrolnej

Nie myli

ć

protokołu FTP z poleceniem lub aplikacj

ą

klienta

background image

Zdalne przesy

Zdalne przesy

ł

ł

anie plik

anie plik

ó

ó

w (4)

w (4)

Protokół SCP

(Secure Copy)

– Działa przez tunelowanie usługi RPC przez protokół SSH (port 

22), zapewniaj

ą

cy uwierzytelnianie i szyfrowanie

Nie myli

ć

protokołu SCP 

z poleceniem lub aplikacj

ą

o tej samej nazwie

background image

Zdalne przesy

Zdalne przesy

ł

ł

anie plik

anie plik

ó

ó

w (5)

w (5)

Protokół SFTP

(Secure FTP lub SSH FTP)

– Korzysta z poł

ą

czenia SSH-2

– Umo

Ŝ

liwia:

dost

ę

p do plików

przesyłanie plików 

zarz

ą

dzanie plikami (wznawianie przerwanych transmisji, 

listowanie katalogów, zdalne usuwanie plików)

– Bardziej funkcjonalny od SCP

Nie myli

ć

protokołu SFTP 

z poleceniem lub aplikacj

ą

o tej samej nazwie

background image

Udost

Udost

ę

ę

pnianie plik

pnianie plik

ó

ó

w

w

System Message Block

(SMB) lub 

Common Internet 

File System

(CIFS) – sieciowy protokół aplikacyjny :

– Architektura klient-serwer (poj

ę

cia wzgl

ę

dne)

– Przeznaczenie

Współdzielenie plików

Współdzielenie drukarek

Komunikacja mi

ę

dzyprocesowa

– Stosowany w MS Windows (jako 

Microsoft Windows Network

)

– Pocz

ą

tkowo SMB działał w oparciu o NetBIOS/NetBEUI

– Od wersji MS Windows 2000, SMB opiera si

ę

o TCP 

– Popularna implementacja dla Linuxa -

Samba

background image

Zdalne wywo

Zdalne wywo

ł

ł

ywanie procedur

ywanie procedur

Remote Procedure Call

(RPC; 1976)

– Pierwsza popularna implementacja – Sun RPC (obecnie ONC RPC), 

podstawa dla NFS

Działanie 

(analogia wywołania funkcji):

– Architektura klient-serwer
– Klient wysyła

do znanego zdalnego serwera 

Ŝą

danie wykonania 

okre

ś

lonej procedury i podaje parametry wywołania; zostaje 

zablokowany w oczekiwaniu na odpowied

ź

– Serwer wykonuje

Ŝą

dan

ą

procedur

ę

i odsyła odpowied

ź

(lub informacj

ę

o bł

ę

dzie)

– Klient wznawia

przetwarzanie 

Uwagi

:

– Klient nie okre

ś

la i nie zna szczegółów dotycz

ą

cych sposobu 

realizacji 

Ŝą

dania

– Ze wzgl

ę

du na ró

Ŝ

norodno

ść

klientów, do standaryzacji wywoła

ń

RPC wprowadzono Interface Description Language (IDL)

– Istniej

ą

generatory kodu dla interfejsu wywoła

ń

(np. RPCGEN)

background image

Zdalne wywo

Zdalne wywo

ł

ł

ywanie procedur (2)

ywanie procedur (2)

Diagram sekwencji dla RPC

background image

Sieciowy system plik

Sieciowy system plik

ó

ó

w

w

Network File System

(NFS; Sun Microsystems, 1984)

Krótka historia protokołu:

– Wersja 1

(1984) - eksperymentalna

– Wersja 2

(1989) - protokół bezstanowy, oparty w cało

ś

ci 

o UDP, limit wielko

ś

ci pliku: 2 GB

– Wersja 3

(1995) - zniesienie limitu 2 GB (licznik 64-bitowy), 

asynchroniczny zapis na serwerze, przej

ś

cie na TCP 

realno

ść

transportu plików poprzez WAN

– Wersja 4

(Internet Engineering Task Force; 2000, 2003) - poprawa 

wydajno

ś

ci, mocne zabezpieczenia, protokół stanowy:

wymaga TCP

nasłuchuje na porcie 2049

nie korzysta z portmappera, rpc.mountd, rpc.lockd, rpc.statd

obsługuje listy kontroli dost

ę

pu (ACL)

Wersja 4 modyfikacja 1

– m.in. obsługa Parallel NFS (pNFS)

background image

Sieciowy system plik

Sieciowy system plik

ó

ó

w (2)

w (2)

Zastosowanie NFS

- głównie systemy UNIX, Linux, BSD

Implementacja NFS 

(na przykładzie s.o. Linux:

RedHat Enterprise Linux 5

/

CentOS 5

)

– Dost

ę

pne wersje NFSv2, NFSv3, NFSv4

– Domy

ś

lna NFSv3

– Wszystkie wersje domy

ś

lnie korzystaj

ą

z TCP; UDP jest zachowane 

dla wstecznej zgodno

ś

ci

background image

Sieciowy system plik

Sieciowy system plik

ó

ó

w (3)

w (3)

Usługi NFS

realizuj

ą

nast

ę

puj

ą

ce procesy RPC serwera:

– rpc.mountd

– odbiera 

Ŝą

danie klienta montowania udziału 

dyskowego i sprawdza, czy 

Ŝą

dany zasób jest eksportowany; 

proces uruchamiany jest automatycznie przez usług

ę

nfs

i nie 

wymaga konfigurowania (nieu

Ŝ

ywany z NFSv4)

– rpc.nfsd

– pozwala na wskazanie wersji i protokołu, który jest 

oferowany przez serwer (odpowiada usłudze 

nfs

)

– rpc.lockd

– umo

Ŝ

liwia klientom blokowanie plików na 

serwerze; niezb

ę

dny dla realizacji tej funkcji (odpowiada 

usłudze 

nfslock;

nieu

Ŝ

ywany z NFSv4)

– C.d.n.

background image

Sieciowy system plik

Sieciowy system plik

ó

ó

w (4)

w (4)

C.d.

– rpc.statd

– implementuje protokół RPC Network Status Monitor

(NSM) informuj

ą

cy klientów o restarcie serwera NFS bez jego 

uprzedniego zamkni

ę

cia; proces uruchamiany jest automatycznie 

przez usług

ę

nfslock

i nie wymaga konfigurowania (nieu

Ŝ

ywany 

z NFSv4)

– rpc.quotad

– proces dostarcza zdalnym klientom informacji 

o wykorzystanym limicie pami

ę

ci dyskowej (ang. quota); 

uruchamiany jest automatycznie przez usług

ę

nfs

i nie wymaga 

konfigurowania 

– rpc.idmapd

– proces zapewnia zwrotne wywołania (ang. upcall

klienta i serwera NFSv4, które odwzorowuj

ą

nazwy u

Ŝ

ywane 

podczas transmisji (w postaci u

Ŝ

ytkownik@domena) na lokalne 

UID oraz GID; posiada własny plik konfiguracyjny. Wymagany 
przez NFSv4.

background image

Sieciowy system plik

Sieciowy system plik

ó

ó

w (5)

w (5)

Zestawienie procedur RPC realizuj

ą

cych usługi NFS

tak

/etc/ 
idmapd.conf

idmap

rpc.idmapd

tak

rpc.nfsd

NFS quota

rpc.rquotad

nie

rpc.lockd

NFS NSM

rpc.statd

nie

nfslock

rpc.lockd

tak

/etc/exports

nfs

rpc.nfsd

nie

rpc.nfsd

NFS mount

rpc.mountd

Obecny 

w NFSv4

Plik 

konfigurac.

Proces-

przodek

Realizowana 

usługa

Nazwa 

nie

portmapper

portmap

background image

Sieciowy system plik

Sieciowy system plik

ó

ó

w (6)

w (6)

Dost

ę

p klienta do usługi NFS

jest chroniony przez 

TCP wrappers: 

– plik 

/etc/hosts.allow

#

# hosts.allow

This file describes the names of the hosts which are

#

allowed to use the local INET services, as decided

#

by the '/usr/sbin/tcpd' server.

#

portmap: 172.30.205.200/255.255.255.255: allow

lockd:

172.30.205.200/255.255.255.255: allow

mountd:

172.30.205.200/255.255.255.255: allow

rquotad: 172.30.205.200/255.255.255.255: allow

statd:   172.30.205.200/255.255.255.255: allow

Plik /etc/hosts.allow

Zezwolenie na dost

ę

p z komputera o IP=172.30.205.200; plik przegl

ą

dany jako 

pierwszy

background image

Sieciowy system plik

Sieciowy system plik

ó

ó

w (7)

w (7)

C.d.

– plik 

/etc/hosts.deny

## hosts.deny

This file describes the names of the hosts which are

#

*not* allowed to use the local INET services, as decided

#

by the '/usr/sbin/tcpd' server.

## The portmap line is redundant, but it is left to remind you that

# the new secure portmap uses hosts.deny and hosts.allow.  In particular

# you should know that NFS uses portmap!

portmap:ALL

lockd:ALL

mountd:ALL

rquoatd:ALL

statd:ALL

Plik /etc/hosts.deny

Zakaz dost

ę

pu ze wszystkich komputerów

; plik przegl

ą

dany jako 

drugi

background image

Sieciowy system plik

Sieciowy system plik

ó

ó

w (8)

w (8)

Konfiguracja eksportu 

-

plik 

/etc/exports

/var/exports

172.30.205.200(ro,sync,nohide)\

172.30.205.201(ro,sync,nohide)\

172.30.205.202(ro,sync,nohide)\

172.30.205.203(ro,sync,nohide)\

172.30.205.204(ro,sync,nohide)\

172.30.205.205(ro,sync,nohide) 

background image

Sieciowy system plik

Sieciowy system plik

ó

ó

w (9)

w (9)

Jednorazowe montowanie zdalnego zasobu po stronie 
klienta

, np. 

mount –t nfs 172.30.205.205:/var/exports /mnt/exports

Montowanie zdalnego zasobu podczas startu systemu

– Plik 

/etc/fstab

LABEL=/                 /                  ext3    defaults

1 1

LABEL=/var

/var

ext3    defaults

1 2

tmpfs

/dev/shm

tmpfs

defaults

0 0

devpts

/dev/pts

devpts

gid=5,mode=620  0 0

sysfs

/sys

sysfs

defaults

0 0

proc                    /proc              proc

defaults

0 0

LABEL=SWAP-sda2         swap

swap

defaults

0 0

172.30.205.205:/var/exports

/mnt/exports

nfs

ro,rsize=8192,wsize=8192 0 0

background image

Inne sieciowe systemy plik

Inne sieciowe systemy plik

ó

ó

w

w

Alternatywne protokoły

:

– Server Message Block

(SMB alias CIFS) dla MS Windows

– NetWare Core Protocol

(NCP) - MS Windows

– Apple Filing Protocol

(AFP) - komputery firmy Apple

– Andrew File System

(AFS; IBM) -

– Coda File System

(CFS) -

background image

Rozproszone systemy plik

Rozproszone systemy plik

ó

ó

w

w

Network Block Device

(NBD; sieciowe urz

ą

dzenie 

blokowe)

– Usługa realizowana w architekturze klient-serwer

– Zdalne udost

ę

pnianie pliku jako urz

ą

dzenia blokowego (np. 

dysku) w systemie Linux

– Sieciowe urz

ą

dzenie blokowe mo

Ŝ

e słu

Ŝ

y

ć

do utworzenia 

systemu plikowego, a tak

Ŝ

e by

ć

elementem macierzy RAID

background image

Rozproszone systemy plik

Rozproszone systemy plik

ó

ó

w (2)

w (2)

[

ź

ródło: http://www.linuxjournal.com/article/3778]

Por

Por

ó

ó

wnanie NFS i NBD

wnanie NFS i NBD

background image

Rozproszone systemy plik

Rozproszone systemy plik

ó

ó

w (3)

w (3)

Global File System

(GFS; ang. globalny system plików) –

system plików dla klastrów wysokiej dost

ę

pno

ś

ci

– No

ś

niki danych poł

ą

czone za pomoc

ą

interfejsów lub protokołów 

(np. FC, iSCSI, NBD) – współdzielone pomi

ę

dzy w

ę

złami klastra

– Mechanizm blokady dost

ę

pu, dla zapewnienia spójno

ś

ci danych

– Zmiany stanu systemu plików widoczne natychmiast we 

wszystkich maszynach klastra

– Dobra skalowalno

ść

– Wysoka dost

ę

pno

ść

dzi

ę

ki pracy transakcyjnej (ang. journalling

(podobnie jak 

ext3)

– Kronika zmian odr

ę

bna dla ka

Ŝ

dego w

ę

zła klastra

– Obecnie kod otwarty – licencja GNU GPL
– GFS2 wł

ą

czony do j

ą

dra Linuxa 2.6.19