SAN
  [ Ignoră ]
Avatar
RankRankRank
Member
Din: Vienna, Austria
Macuser din: 19.10.08

Vreau sa-mi implementez un poor man’s SAN acasa. Momentan an NAS facut in felul urmator.

Am un server WhiteBox Solaris, care are un pool fully redundant ZFS cu RAIDZ2. Este exportat prin CIFS. Reteaua e Gigabit Ethernet. Clienti am Mac OS X (laptopul), o statie Windows si ceva statii BSD.

E foarte bun pentru ca e fully redundant. Echivalentul RAID6, dar cu avantajul ca nu are write hole. Performanta e foarte buna, dar totusi bottleneckul este Samba. Chiar daca am throughput de 50MB/sec, totusi latenta este foarte mare. Merge numai bine pentru stocare de date, dar nu pot sa instalez aplicatii pe el.

Eu vreau sa instalez aplicatii pe el.

Pot sa fac foarte simplu un SAN (ma rog… sort of) cu iSCSI. Parca nu l-as numi SAN ca nu e high availability, dar anyway—sa ramanem la discutia noastra. Intentionez sa folosesc Solaris pe server. Are suport iSCSI target, bineinteles.

Problemele sunt urmatoarele:
1) Pierd reduntanta fantastica pe care o am acum. Un controller RAID hardware care sa faca ce face ZFS-ul meu software costa mii de euro—bani pe care nu ii am. Fara RAID, n-am redundata, iar RAIDZ2 din ZFS nu vad cum as putea sa-l folosesc in combinatie cu iSCSI.
2) Cu FS-uri obisnuite: HFS, UFS, NTFS etc nu mai am acces partajat la date. Trebuie sa fac mai multe partitii, iar inexistenta volume managementului face lucrurile dificile. Well as putea sa folosesc Veritas (Windows, Linux, Solaris, BSD) pentru volume management, si as ajunge aproape la nivelul ZFS pentru ca as putea implementa si RAID-urile cum trebuie, dar ce fac pentru Mac OS X? Trebuie sa folosesc un shared disk file system. Optiunile care raman in picioare sunt XSan de la Apple si StorNext de la Quantum. Astea merg pe toate OS-urile care imi trebuie mie dar costa foarte mult si mi se pare ca merg numai cu Fibre Channel, nu cu iSCSI. Din cunostinta mea nu exista shared disk file systems care sa mearga in Mac OS X, Windows si Solaris.

Idei, sugestii, intrebari?

 Semnătură 

Membru retras.

Profil
 
  [ Ignoră ]   [ # 1 ]
Avatar
RankRankRank
Member
Din: Vienna, Austria
Macuser din: 19.10.08

Observ ca si SGI CXFS suporta toate OS-urile necesare mie, dar e mai complicata implementarea. Trebuie sa folosesc Linux pentru metadata broker, am nevoie de o masina in plus etc.

 Semnătură 

Membru retras.

Profil
 
  [ Ignoră ]   [ # 2 ]
Avatar
RankRankRank
Member
Din: Vienna, Austria
Macuser din: 19.10.08

Okay, imi cer nespus scuze dar nu vad butonul de edit? Expira dupa un timp sau chiar nu il vad eu?

Problema in toata afacerea asta nu e vreun OS anume. Toate pot fi atat iSCSI targets (si pentru asta voiam sa folosesc Solaris) cat si iSCSI initiators (toate restul: Windows si Mac OS X in principal). Faza e:

1) cum sa integrez reduntanta in ecuatie
2) cum sa fac cumva shared disk access.

Pentru punctul 2 pot sa folosesc XSan + StorNext sau CXFS dar toate astea costa (prea mult). Punctul 2 nu ar mai fi important daca as gasi o solutie de volume management si i-as da la fiecare OS in cauza o partitie cu un FS nativ (adica HFS pentru Mac OS X, respectiv NTFS pentru Windows), dar problema e ca eu nu cunosc vreo astfel de solutie de volume management. Ba, cu o solutie de volume management calumea as scapa si de punctul 1, pentru ca pot sa fac RAID software.

Well o solutie… intermediara este sa export niste LUN-uri catre Mac OS X si alte LUN-uri catre Windows. In Windows folosesc volume managementul integrat si pot sa fac RAID 1, iar in Mac OS X pot sa fac RAID software. Faza e ca solutia asta intermediara nu scaleaza deloc. Da deloc deloc. Si mai e si limitata la RAID 1.

 Semnătură 

Membru retras.

Profil
 
  [ Ignoră ]   [ # 3 ]
Avatar
RankRankRankRank
Administrator
Din: The Colony, TX
Macuser din: 11.10.05

Nu m-am jucat (încă) nici cu ZFS și nici cu iSCSI așa că poate zic prostii:

Nu poți să exporți ca target iSCSI un volum logic ZFS care să rie raidZ2 ? Si dacă se poate - nu poți să exporți un Snapshot ?
Mă gândeam așa: exporți volumul principal catre o mașina care scrie pe el și snapșhoate catre celelalte mașini unde nu scrii. La anuminte intervale demontezi snapșoatele, de distrugi, faci altele și le montezi - astfel vei avea un FS shared dar cu granularitate a datelor de o zi or smth.

Hint: Dacă ai loc, deja au început să se găsească pe eBay curii de discuri FC și switch-uri FC la prețuri rezonabile. Un coleg și-a făcut un SAN acasă cu 3 IBM pSerias, un switch Brocade de 1Gbps 16 porturi, un storage HP FC10 și o unitate de bandă pe FC și nu a costat extrem de mult.

Acuma că toți marii producători produc doar hardware FC de 4Gbps, astea de 1Gbps se casează peste tot.

EDIT:
FYI: Setup-ul meu de home storage e așa: Un linux care exportă discurile ca: Samba, NetATalk (peste appletalk) și NFS (tcp & udp). Instalat un Avahi care le și anunță pe multicast-DNS și astfel fiecare client montează ce îi place și are access la aceleași date. Pot astfel share-ui date între toate mașinile din casă care au interfață ethernet (NetATalk este “văzut” și de MacOS 6 și orice vechitură de unix știe măcar NFSv3/udp).

[ Modificat: 28 Decembrie 2008 02:00 AM de psergiu ]
 Semnătură 

Apple:5x macmini (G4, 2007, 2009, 2010, 2012)
UNIX:IBM 7011-250/AIX 5.1, HP Jornada 680/JLime, HP 9000 F20/HP-UX 11.11
PC:PentiumD/Debian, HP t5300/Debian
Misc:Spectrum 48k, 8x Raspberry Pi, 2x CHIP

Profil
 
  [ Ignoră ]   [ # 4 ]
Avatar
RankRankRank
Member
Din: Vienna, Austria
Macuser din: 19.10.08

Nu stiu daca pot sa export ca target iSCSI un device RAIDZ2 facut cu ZFS. Posibilitatea tehnica exista, nu stiu insa daca implementarea permite. Pentru ca ZFS e extensibil, in cel mai rau caz mi-as putea scrie un un program care se integreaza intr-un layer ZFS, ca sunt programator, daca chiar e cazul.

De exportat un snapshot in nici un caz nu se poate in implementarea curenta pentru ca snapshoturile sunt implementate in layerul de volume management din ZFS, iar tu vrei sa exporti blocul cel mai de jos, adica block layerul care face block device-ul virtual. Prin niste magie complicata s-ar putea face dar e cam hackish si nu mi se pare prea performant.

Solutia ideala ar fi sa scriu un nou layer high level pentru ZFS care sa tine locul file systemului implementand in loc de asta un iSCSI target, dar parca nu vreau sa fac asa ceva. Desi s-ar putea scoate bani buni din asta. Adica ai ZFS care face storage management ieftin—singura lui problema este ca nu poate fi folosit eficient in combinatie cu SAN. Daca integrezi si SAN in el si faci high availability atunci ar deveni de departe cea mai tare solutie de SAN, si in acelasi timp cea mai ieftina. Ar mai ramane numai problema ca ZFS nu e cluster file system.

Este foarte interesanta ideea de a cauta pe ebay. O sa caut.

Solutia mea de home storage momentan un pool ZFS RAIDZ2 cu discuri ieftine care exporta CIFS prin Samba. Aveam si NFS care teoretic are overhead mai mic dar din pacate pe Windows NFS merge foarte praf, sau deloc cum e cazul XP x64.

Nu folosesc Avahi si nici Appletalk, desi probabil ar trebui sa o fac. Momentan am serverul DNS cu intrari statice si in retea folosesc IP-uri statice. Ar trebui sa integrez cumva un server DHCP cu serverul DNS ca sa pot sa leg orice la retea prin DHCP si sa mai am si rezolutie de nume automat, fara prea mari batai de cap.

O solutie intermediara la care ma gandeam este urmatoarea. Momentan sunt foarte fericit cu solutia mea de home storage. Performanta e buna si redundanta e superba. Vreau SAS numai pentru a conecta un volum foarte rapid cu aplicatii la MacBook. As putea sa cumpar 2 discuri SCSI foarte rapide, le pun in masina mea veche si ieftina si fac SAN numai din alea. Le conectez la MacBook si fac software RAID, sau pot face RAID direct pe server si sa export device-ul RAID. Pe volumul SAN folosesc HFS+ pentru ca va fi folosit numai de MacBook si toata lumea e fericita smile. Pentru restul datelor folosesc sistemul deja existent.

Ca si cluster/shared disk filesystem cross platform + solutie de volume management, foarte interesant mi se pare XSan2. Mai ales ca e si cross platform. Din pacate nu mi-l permit.

[ Modificat: 28 Decembrie 2008 05:32 AM de Aram ]
 Semnătură 

Membru retras.

Profil
 
  [ Ignoră ]   [ # 5 ]
Avatar
RankRankRankRank
Administrator
Din: The Colony, TX
Macuser din: 11.10.05

Pune NetATalk pe server și scapi de toate complicațiile astea. Cu iSCSI + Raid software eu zic că o să ai latențe la fel de mari. Apropo - la samba ai pus:

socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=65536 SO_SNDBUF=65536
getwd cache = yes
debug level = 1

- nu-i așa ?

 Semnătură 

Apple:5x macmini (G4, 2007, 2009, 2010, 2012)
UNIX:IBM 7011-250/AIX 5.1, HP Jornada 680/JLime, HP 9000 F20/HP-UX 11.11
PC:PentiumD/Debian, HP t5300/Debian
Misc:Spectrum 48k, 8x Raspberry Pi, 2x CHIP

Profil
 
  [ Ignoră ]   [ # 6 ]
Avatar
RankRankRank
Member
Din: Vienna, Austria
Macuser din: 19.10.08

N-am pus nimic la Samba altceva decat e strict necesar ca sa functioneze. O sa incerc si cu optiunile alea, merci smile.

 Semnătură 

Membru retras.

Profil
 
  [ Ignoră ]   [ # 7 ]
Avatar
RankRankRank
Member
Din: Vienna, Austria
Macuser din: 19.10.08

Well, ZFS pare-se ca are suport pentru iSCSI target inca de la OS build 54 adica de acum vreo 2 ani… smile.

 Semnătură 

Membru retras.

Profil