Προς το περιεχόμενο

Apache/Tomcat Load Balancing


tampatas

Προτεινόμενες αναρτήσεις

Γεια σας

Τελευταία διάβασα ένα άρθρο στο slashdot και μου δημιουργήθηκαν κάποιες απορίες.

Οι απορίες μου έχουν να κάνουν με load balancing σε web servers και την κοινή χρήση αρχείων. Αν έχετε λίγο χρόνο να διαβάσετε το άρθρο στο slashdot, θα καταλάβετε καλύτερα την απορία μου.

Επιγραματικά, στο συγκεκριμένο άρθρο, οι τυπάδες περιγράφουν το πώς είναι στημένο το slashdot όσον αφορά το software κομμάτι( το αντίστοιχο άρθρο για το hardware το βρήκα εξίσου ενδιαφέρον, αξίζει πιστεύω να το διαβάσετε). Ανάμεσα στα άλλα λένε πως τρέχουν apache servers σε διάφορα μηχανάκια, όλα όμως κάνουν mount το software από κάποιο άλλο μηχανάκι που τρέχει NFS server. Οι λόγοι που κάνουν κάτι τέτοιο είναι, θεωρώ, προφανείς. Ομοιομορφία στο software και ομοιομορφία στο περιεχόμενο, ευελιξία σε περίπτωση που κάποιος server κρασάρει, εύκολο update κτλ.

Ψάχνοντας στο net για θέματα load balancing βρήκα αρκετό υλικό και μου λύθηκαν αρκετές απορίες, αλλά δεν έλυσα τις παρακάτω:

 

-Αν θέλω να κάνω κάτι αντίστοιχο χρησιμοποιώντας NFS, δεν είναι δυνατόν-νομίζω- να κάνουν οι ξεχωριστοί servers mount ολόκληρο το φάκελο του apache. Παράδειγμα, ο κάθε server θα έχει κάποιες ρυθμίσεις διαφορετικές από τους υπόλοιπους, οπότε ο φάκελος conf του apache πρέπει να είναι local για κάθε μηχανάκι. Αντίθετα ο φάκελος webapps πρέπει να είναι κοινός από NFS για να υπάρχει ομοιομορφία στο περιεχόμενο, τις σελίδες. Οπότε ποιους φάκελους του apache θα κάνεις mount από NFS και ποιούς φάκελους θα έχεις local σε κάθε μηχανάκι? Ξέρω θα μου πείτε να δοκιμάσω, αλλά αυτή την περίοδο δεν έχω την ευχέρεια να το κάνω.

 

-Οι τυπάδες επίσης αναφέρουν οτι εκείνη την εποχή το μόνο ασφαλές για κοινή χρήση των αρχείων από τους πολλαπλούς servers ήταν το NFS σε read-only mode. Με ποιούς άλλους τρόπους μπορείς να το κάνεις? Samba? Κάποιον άλλο server?

 

Στο documentation του apache υπάρχει υπόσχεση για μελλοντική υλοποίηση του farming concept(=deploy an application on one server, automatically deployed on the rest of the cluster), αλλά μέχρι τότε?

 

Συγγνώμη αν σας κούρασα με την φλυαρία μου, έκανα το καλύτερο που μπορούσα για να περιγράψω τις απορίες μου.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Ψάχνοντας στο net για θέματα load balancing βρήκα αρκετό υλικό και μου λύθηκαν αρκετές απορίες, αλλά δεν έλυσα τις παρακάτω:

 

-Αν θέλω να κάνω κάτι αντίστοιχο χρησιμοποιώντας NFS, δεν είναι δυνατόν-νομίζω- να κάνουν οι ξεχωριστοί servers mount ολόκληρο το φάκελο του apache. Παράδειγμα, ο κάθε server θα έχει κάποιες ρυθμίσεις διαφορετικές από τους υπόλοιπους, οπότε ο φάκελος conf του apache πρέπει να είναι local για κάθε μηχανάκι. Αντίθετα ο φάκελος webapps πρέπει να είναι κοινός από NFS για να υπάρχει ομοιομορφία στο περιεχόμενο, τις σελίδες. Οπότε ποιους φάκελους του apache θα κάνεις mount από NFS και ποιούς φάκελους θα έχεις local σε κάθε μηχανάκι? Ξέρω θα μου πείτε να δοκιμάσω, αλλά αυτή την περίοδο δεν έχω την ευχέρεια να το κάνω.

Κατ' αρχάς δεν υπάρχει κανένας λόγος να έχει διαφορετικό configuration κάθε apache, ακόμα και αν τα μηχανήματα δεν είναι ακριβώς ίδια. Κατά δεύτερον, τα αρχεία που σερβίρει ο apache βρίσκονται σε ένα directory (document root), ενώ τα αρχεία ρυθμίσεων σε ένα άλλο. Επομένως μπορείς να κάνεις mount κάτι στο document root, έχοντας τοπικά αρχεία ρυθμίσεων, ή να κάνεις mount διαφορετικούς φακέλους ρυθμίσεων σε διαφορετικές κατηγορίες μηχανημάτων. Γενικά οτιδήποτε είναι directory μπορεί να είναι local, μπορεί να είναι και remote οπότε έχεις μεγάλη ευελιξία.

 

-Οι τυπάδες επίσης αναφέρουν οτι εκείνη την εποχή το μόνο ασφαλές για κοινή χρήση των αρχείων από τους πολλαπλούς servers ήταν το NFS σε read-only mode. Με ποιούς άλλους τρόπους μπορείς να το κάνεις? Samba? Κάποιον άλλο server?

Το NFS είναι τόσο ασφαλές όσο είναι και το δίκτυό σου. Με άλλα λόγια, εφόσον έχουν προστατέψει το εσωτερικό δίκτυο στο οποίο παίζουν οι servers τους, δεν έχουν πρόβλημα, ειδικά εφόσον το έχουν read-only. Μπορεί να είναι αρχαίο, αλλά το NFS έχει κάποια πλεονεκτήματα, με κυριότερο την ταχύτητά του.

 

Προσωπικά θεωρώ το SMB πολύ άσχημο πρωτόκολλο, οπότε αν έψαχνα κάτι «καλύτερο»*από το NFS μάλλον θα πήγαινα προς OpenAFS ή GFS, αν και μάλλον είναι overkill όταν έχεις τα δεδομένα σε μια μόνο θέση.

 

Διόρθωση: τώρα διάβασα το άρθρο. Δε λέει ότι το NFS read-only ήταν ο πιο ασφαλής τρόπος να μοιράζονται δεδομένα εν γένει, αλλά ότι το NFS read-only ήταν ο μόνος ασφαλής τρόπος να χρησιμοποιήσουν NFS συγκεκριμένα, όπερ σημαίνει ότι είχαν επιλέξει το NFS απ' την αρχή, μάλλον για λόγους ταχύτητας και ευκολίας στο setup. Σήμερα πάντως, πέρα από τα OpenAFS, GFS and friends υπάρχει και NFSv3 και NFSv4 με kerberos support, που τα καθιστά αρκετά έως πολύ ασφαλή.

Στο documentation του apache υπάρχει υπόσχεση για μελλοντική υλοποίηση του farming concept(=deploy an application on one server, automatically deployed on the rest of the cluster), αλλά μέχρι τότε?

Αυτή είναι μια δουλειά που μπορείς να την κάνεις με εργαλεία του συστήματος, όπως ακριβώς κάνει το slashdot. Δεν ξέρω αν και κατά πόσο έχει νόημα να είναι τμήμα του apache.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Συγγνώμη αν σας κούρασα με την φλυαρία μου, έκανα το καλύτερο που μπορούσα για να περιγράψω τις απορίες μου.

Δε νομίζω να το βλέπει κάποιος έτσι, το αντίθετο είναι το πρόβλημα: κάποιοι που βαριούνται να διατυπώσουν τις απορίες τους σωστά και περιμένουν να μαντέψει ο άλλος τι εννοούν! Επίσης μακάρι να υπήρχαν περισσότερες συζητήσεις με τέτοιες θεματικές.

 

-Αν θέλω να κάνω κάτι αντίστοιχο χρησιμοποιώντας NFS, δεν είναι δυνατόν-νομίζω- να κάνουν οι ξεχωριστοί servers mount ολόκληρο το φάκελο του apache. Παράδειγμα, ο κάθε server θα έχει κάποιες ρυθμίσεις διαφορετικές από τους υπόλοιπους, οπότε ο φάκελος conf του apache πρέπει να είναι local για κάθε μηχανάκι. Αντίθετα ο φάκελος webapps πρέπει να είναι κοινός από NFS για να υπάρχει ομοιομορφία στο περιεχόμενο, τις σελίδες. Οπότε ποιους φάκελους του apache θα κάνεις mount από NFS και ποιούς φάκελους θα έχεις local σε κάθε μηχανάκι? Ξέρω θα μου πείτε να δοκιμάσω, αλλά αυτή την περίοδο δεν έχω την ευχέρεια να το κάνω.

Στο Linux δεν υπάρχει η λογική "ο apache έχει το δικό του φάκελο", αντίθετα ο apache είναι μέρος του συστήματος (τα configuration files του είναι σε κάποιο /etc, τα binaries του σε κάποιο /bin, οι βιβλιοθήκες /lib, τα logs /log, κλπ) και στο configuration του του λες ποιους καταλόγους να σερβίρει. Οι κατάλογοι αυτοί μπορεί να βρίσκονται οπουδήποτε στην ιεραρχία του / filesystem, μπορεί π.χ. να του πεις να σερβίρει το /var/www και στο /var/www να είναι mounted ένα nfs share από αλλο μηχάνημα. Αυτοί λένε ότι κάνουν share ολόκληρο το /usr/local, προκειμένου λογικά να μη χρειάζεται να συντηρούν πολλές εγκαταστάσεις του apache (μια για κάθε μηχάνημα) και για ασφάλεια. Το /usr/local θα περιέχει την εγκατάσταση του apache ολόκληρη (/lib, /bin, /share) και τα αρχεία που θα σερβίρει ο apache (π.χ. /var).

 

-Οι τυπάδες επίσης αναφέρουν οτι εκείνη την εποχή το μόνο ασφαλές για κοινή χρήση των αρχείων από τους πολλαπλούς servers ήταν το NFS σε read-only mode. Με ποιούς άλλους τρόπους μπορείς να το κάνεις? Samba? Κάποιον άλλο server?

Και με samba (αλλά πιστεύω ότι δεν αξίζει γιατί είναι πιο περίπλοκο software και το SMB πιο περίπλοκο πρωτόκολλο, οπότε και πιο αργό/απαιτητικό σε πόρους). Δεν έχω υπόψη άλλες τεχνολογίες filesharing.

 

Όμως μια άλλη προσέγγιση θα ήταν να χρησιμοποιήσουν κάποια τεχνολογία αυτόματου replication, δηλαδή να μην γίνεται mount ένα share που βρίσκεται σε αποθηκευτικό μέσο κάποιου κεντρικού server αλλά να γίνεται αυτόματη αναπαραγωγή των αλλαγών κάποιων καταλόγων ή κάποιου ολόκληρου filesystem ενός κεντρικού server στο filesystem κάποιου τοπικού δίσκου κάθε μηχανήματος. Αυτό θα προσέθετε αξιοπιστία, καθώς αν πάθαινε κάτι ο κεντρικός server τα υπόλοιπα μηχανήματα θα εξακολουθούσαν να διαθέτουν το τελευταίο αντίγραφο των αρχείων, και άρα θα μπορούσαν να συνεχίσουν τη δουλειά τους. Οι πιο γνωστες τέτοιες ελεύθερες τεχνολογίες είναι αυτές που ανέφερε ο Apoikos και το drbd, αλλά υπάρχουν και κάποιες άλλες μη ελεύθερες λύσεις όπως το PeerFS και το PeerSync.

 

Άσχετα με αυτό, απλά πληροφοριακά, θα μπορούσαν αντί να κάνουν rotate τα http connections μέσω proxy να κάνουν rotate ολόκληρα τα tcp/ip connections μέσω λογισμικού όπως τα IPtables στο Linux ή το PF στο Open/FreeBSD, αλλά θα χάναν τη δυνατότητα του σωστού caching.

 

[edit] LOL, ψάχνοντας έκανα πάνω από μισή ώρα να απαντήσω (δεν είχα δει το reply του apoikou)!

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Όμως μια άλλη προσέγγιση θα ήταν να χρησιμοποιήσουν κάποια τεχνολογία αυτόματου replication, δηλαδή να μην γίνεται mount ένα share που βρίσκεται σε αποθηκευτικό μέσο κάποιου κεντρικού server αλλά να γίνεται αυτόματη αναπαραγωγή των αλλαγών κάποιων καταλόγων ή κάποιων ολόκληρων filesystems στο filesystem κάποιου τοπικού δίσκου κάθε μηχανήματος. Αυτό θα προσέθετε αξιοπιστία, καθώς αν πάθαινε κάτι ο κεντρικός server τα υπόλοιπα μηχανήματα θα εξακολουθούσαν να διαθέτουν το τελευταίο αντίγραφο των αρχείων, και άρα να συνεχίσουν τη δουλειά τους.

Σκοπός του DRDB είναι κυρίως η αξιοπιστία. Υποθέτω ότι το πρόβλημα αυτό το έχουν λύσει, οπότε προτιμούν το network I/O από το network + disk i/o (write + read) με ότι αυτά συνεπάγονται ;-)

 

Επίσης θα μπορούσαν αντί να κάνουν rotate τα http connections μέσω proxy να κάνουν rotate ολόκληρα τα tcp/ip connections μέσω λογισμικού όπως τα IPtables στο Linux ή το PF στο Open/FreeBSD, αλλά θα χάναν τη δυνατότητα του σωστού caching.

Αυτό κάνουν σε πρώτη φάση με τους 2 Linux Virtual Server Loadballancers. Από 'κει και έπειτα όμως, θέλουν να κάνουν loadbalancing σε layer7 για λόγους που εξηγούν παρακάτω. Στην περίπτωση αυτή η μόνη λύση είναι reverse proxy εξ όσων γνωρίζω.

 

Έχει πολύ ενδιαφέρον πάντως να βλέπεις τι setups χρησιμοποιούν τόσο μεγάλα sites.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Καταρχήν, ευχαριστώ για τις απαντήσεις σας.

Να σας πω τι κατάλαβα και κάποιες λεπτομέρειες ακόμα.

 

Κατ' αρχάς δεν υπάρχει κανένας λόγος να έχει διαφορετικό configuration κάθε apache
Υπάρχει λόγος. Στο υποθετικό μηχανάκι τρέχει ένας apache και 2 instances του tomcat. O apache είναι για static content και για load balancing των tomcat. Οι tomcat τρέχουν μόνο δυναμικό περιεχόμενο(πολλές από τις σελίδες και τις δουλειές μου θα είναι σε jsp). Αυτό το setup βρήκα σε αντίστοιχα configuration και βολεύει για πολλούς λόγους(update , uptime κτλ). Το διαφορετικό configuration των Instances είναι απαραίτητο πχ. τα 2 instances θα ακούνε σε διαφορετικό port, οι workers(χρειάζονται για το balancing) σε διαφορετικό port κα.

 

Ένας άλλος λόγος που σκέφτομαι αυτό το setup είναι οτι αύριο θέλω να βάλω δεύτερο μηχανάκι και κάνω επιπλέον balancing μεταξύ των δύο, είτε με hardware balancer είτε με software. Να το σχεδιάκι που έκανα

servers.jpg

Αν το αρχικό setup είναι έτσι όπως το φαντάζομαι, θα είναι πολύ εύκολο να προσθέσω μελλοντικά και 2ο μηχανάκι.

 

Γενικά οτιδήποτε είναι directory μπορεί να είναι local, μπορεί να είναι και remote οπότε έχεις μεγάλη ευελιξία
Ωραία, αυτό το κατάλαβα. Το τι ακριβώς πρέπει να είναι local και τι remote μάλλον είναι θέμα δοκιμών και επιλογών. Mount ένα μόνο αρχείο μπορείς να κάνεις? Με symbolic link? Και αυτό το symbolic link μπορεί να προέρχεται από NFS?

 

Το NFS είναι τόσο ασφαλές όσο είναι και το δίκτυό σου
Και άν το δίκτυό μου δεν είναι δίκτυο μου? Αν έχω τα μηχανάκια μου σε datacenter?

Εσείς θα στήνατε τα μηχανάκια έχωντας σαν fileserver ένα NFS server? Στο NFS δεν μπορείς να καθορίσεις κανόνες πρόσβασης με βάση την ip του client? Υποθέτω πως μπορείς. Αυτό δεν είναι αρκετά ασφαλές?

 

Οι πιο γνωστες τέτοιες ελεύθερες τεχνολογίες είναι αυτές που ανέφερε ο Apoikos και το drdb
Βασικά είναι το drbd , το link που έδωσες οδηγεί στο digital radio development bureau. Την πρώτη φορά που μπήκα, δεν κατάλαβα το λάθος και είπα "Μωρέ μπράβο τεχνολογίες το digital radio. Καλά που κολλάει το replication με το radio? Έ μάλλον θα είναι για content delivery ". Παναγιά μου ο βλάκας. :-)

 

Σκοπός του DRDB είναι κυρίως η αξιοπιστία.
Αφού είναι αρκετά αξιόπιστο το DRDB μπορείς να το χρησιμοποιήσεις για backup του κυρίως fileserver?

 

2 Linux Virtual Server Loadballancers
Αυτοί κάνουν layer4 balancing με αυτά τα δύο. Είναι αρκετά αξιόπιστο αυτή η πρακτική σε σχέση με hardware load balancers? Οι hardware load balancers είναι πανάκριβοι από το λίγο που το έψαξα, ενώ 2 τέτοια μηχανάκια μπορείς στο μέλλον να τα χρησιμοποιήσεις για άλλους σκοπούς, να τα αναβαθμίσεις κτλ.

 

Έχει πολύ ενδιαφέρον πάντως να βλέπεις τι setups χρησιμοποιούν τόσο μεγάλα sites.
Για όσους ενδιαφέρονται, τα pdf για το infrastucture της Wikipedia και της Wikimedia .
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Ελπίζω να μην πειράζει που επεμβαίνω αλλα η τεχνικη "load balancing" είναι λογισμικό ενός τρίτου pc που αναλαμβάνει αυτή τη δουλεία η κάποιας network συσκευης?

Υ.Γ Συγχαρητήρια για τις πλούσιες γνώσεις σας

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Καταρχήν, ευχαριστώ για τις απαντήσεις σας.

Να σας πω τι κατάλαβα και κάποιες λεπτομέρειες ακόμα.

Παρακαλόυμε :-). Εμείς ευχαριστούμε για τις ενδιαφέρουσες απορίες.

 

Υπάρχει λόγος. Στο υποθετικό μηχανάκι τρέχει ένας apache και 2 instances του tomcat. O apache είναι για static content και για load balancing των tomcat. Οι tomcat τρέχουν μόνο δυναμικό περιεχόμενο(πολλές από τις σελίδες και τις δουλειές μου θα είναι σε jsp). Αυτό το setup βρήκα σε αντίστοιχα configuration και βολεύει για πολλούς λόγους(update , uptime κτλ). Το διαφορετικό configuration των Instances είναι απαραίτητο πχ. τα 2 instances θα ακούνε σε διαφορετικό port, οι workers(χρειάζονται για το balancing) σε διαφορετικό port κα.

Αυτό δε σου απαγορεύει να έχεις τα setups τους σε ένα remote directory. Φυσικά, εφόσον θες να τρέχεις 2 instances στο ίδιο μηχάνημα, τότε χρειάζεσαι διαφορετικά configuration files. Από 'κει και πέρα όμως, αν θες να βάλεις ένα 2ο μηχάνημα που να κάνει ακριβώς τα ίδια, τότε μπορείς να επαναχρησιμοποιήσεις τα configuration files.

 

Ωραία, αυτό το κατάλαβα. Το τι ακριβώς πρέπει να είναι local και τι remote μάλλον είναι θέμα δοκιμών και επιλογών. Mount ένα μόνο αρχείο μπορείς να κάνεις? Με symbolic link? Και αυτό το symbolic link μπορεί να προέρχεται από NFS?

Δεν είναι θέμα «πρέπει» ή «δεν πρέπει». Το ζήτημα είναι τι σε βολεύει. Βολεύει εν γένει να αλλάζεις ένα αρχείο και να βλέπουν τις αλλαγές όλα τα nodes.

 

Και άν το δίκτυό μου δεν είναι δίκτυο μου? Αν έχω τα μηχανάκια μου σε datacenter?

Εσείς θα στήνατε τα μηχανάκια έχωντας σαν fileserver ένα NFS server? Στο NFS δεν μπορείς να καθορίσεις κανόνες πρόσβασης με βάση την ip του client? Υποθέτω πως μπορείς. Αυτό δεν είναι αρκετά ασφαλές?

Ακόμα και μέσα στο datacenter μπορείς να έχεις δικό σου δίκτυο ανάμεσα στα μηχανήματά σου. Να σου το θέσω αλλιώς, το NFSv2 και το v3 χωρίς kerberos είναι κατάλληλα μόνο για δίκτυα που ελέγχεις πλήρως. Αν τα μηχανήματά σου είναι πάνω στο ίδιο φυσικό κομμάτι δικτύου με άλλα μηχανήματα που δεν ελέγχεις, τότε πας για NFSv4, SMB ή OpenAFS.

 

Αφού είναι αρκετά αξιόπιστο το DRDB μπορείς να το χρησιμοποιήσεις για backup του κυρίως fileserver?

Όχι, είναι φτιαγμένο για replication, όχι για backup. Replication σημαίνει ότι ανά πάσα στιγμή είναι ίδια τα δύο μηχανήματα, οπότε αν τεθεί το ένα εκτός λειτουργίας, τότε μπορεί να συνεχίσει το άλλο χωρίς να πέσει η υπηρεσία. Όμως, επειδή ακριβώς τα δύο μηχανήματα είναι συγχρονισμένα, αν υπονομευθεί το ένα και κάποιος σβήσει τα δεδομένα από αυτό, θα σβηστούν και από το δεύτερο. Εκεί χρειάζεσαι ένα backup για να τα ανακτήσεις. Επομένως η ύπαρξη replication δεν καθιστά περιττό το backup και το ανάποδο.

 

Αυτοί κάνουν layer4 balancing με αυτά τα δύο. Είναι αρκετά αξιόπιστο αυτή η πρακτική σε σχέση με hardware load balancers? Οι hardware load balancers είναι πανάκριβοι από το λίγο που το έψαξα, ενώ 2 τέτοια μηχανάκια μπορείς στο μέλλον να τα χρησιμοποιήσεις για άλλους σκοπούς, να τα αναβαθμίσεις κτλ.

Οι έννοιες «hardware load balancer» και «hardware firewall» είναι μάλλον παραπλανητικές: είναι απλά embedded συσκευές που τρέχουν κάποιο λειτουργικό και κάνουν μια συγκεκριμένη δουλειά υλοποιημένη τελικά σε software. Μάλιστα το λειτουργικό που τρέχουν έχει αρκετές πιθανότητες να είναι Linux ή κάποιο BSD. Επομένως, εκτός από την ποιότητα υλικού, οι δυνατότητες που σου παρέχει ένα μηχάνημα με Linux είναι αντίστοιχες ή και καλύτερες, με αυξημένη δυσκολία ρύθμισης βέβαια.

 

Ελπίζω να μην πειράζει που επεμβαίνω αλλα η τεχνικη "load balancing" είναι λογισμικό ενός τρίτου pc που αναλαμβάνει αυτή τη δουλεία η κάποιας network συσκευης?

Βλ. παραπάνω ;-)

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αυτό δε σου απαγορεύει να έχεις τα setups τους σε ένα remote directory

 

Ναι έχεις δίκιο. Πάντως στο υπάρχει λόγος που ανέφερα πριν, εννοούσα οτι υπάρχει λόγος να έχουν διαφορετικό configuration. Κολλάω και δεν σκέφτομαι οτι όλα μπορούν να γίνουν mount.

 

Αν τα μηχανήματά σου είναι πάνω στο ίδιο φυσικό κομμάτι δικτύου με άλλα μηχανήματα που δεν ελέγχεις, τότε πας για NFSv4, SMB ή OpenAFS

 

Θέλω να εξαντλήσω λίγο το θέμα για το NFS για να είμαι σίγουρος(μια πρώην μου έλεγε οτι είμαι πολύ κολλημένο μυαλό, αυτά τα κολλήματα δεν θα μου βγούν σε καλό:-D). Έστω οτι έχω δικό μου switch στο datacenter και όλα κουμπώνουν επάνω του( τα μηχανάκια και το ethernet καλώδιο από το datacenter). Όλα τα μηχανάκια έχουν απο 2 NICS. Η πρώτη για το καθένα έχει ip για το τοπικό μου δίκτυο. 192.168.150/24. Οι load balancers παίρνουν την δεύτερη ip απο το datacenter. Στο switch δημιουργώ τα κατάλληλα VLAN με τις αντίστοιχες θύρες (για να αποκλείσω το ενδεχόμενο κάποιος άλλος να βάλει ip της μορφής 192.168.150.χχχ και να αποκτήσει πρόσβαση στον fileserver). Μέχρι εδώ ο fileserver θεωρώ πως δεν έχει πρόβλημα ασφάλειας.

O fileserver όμως πρέπει να τρέχει και ftp server για να μεταφέρω τα αρχεία. Κάνω τα κουμάντα μου και παίρνει το δεύτερο NIC του fileserver ip από το datacenter, έστω 74.45.56.210. Πάλι το βάζω στο κατάλληλο VLAN του switch μου( ασ πούμε στο public). Μέσα από το μηχανάκι κανονίζω από iptables η δεν ξέρω πιο άλλο κέρατο οτι τα μόνα ports που θα μπορεί να βλέπει η κίνηση στο ip 74.45.56.210 είναι τα ports του ftp και τπτ άλλο. Σε αυτή την περίπτωση έχω πρόβλημα ασφάλειας? Αν έχω τότε την κάτσαμε την βάρκα. Το NFSv4 το απορρίπτω λόγο οτι χρειάζεται να στηθεί Kerberos, γενικά αρχίζει και αυξάνει επικίνδυνα η πολυπλοκότητα. Samba server είχα στήσει παλιότερα, δεν είχα πρόβλημα. Για OpenAFS πρέπει να ψάξω.

 

Replication σημαίνει ότι ανά πάσα στιγμή είναι ίδια τα δύο μηχανήματα

 

Εδώ με έστειλες με την ορθότητα που το έθεσες. Είχα διαβάσει παλιότερα για replication se mysql server και το είχα πάντα στο μυαλό μου σαν ένα τρόπο backup, εσύ το έθεσες στην σωστή του βάση. Αλλά από την άλλη μου το χάλασες. 1 μηχανάκι για fileserver, 1 για replication και 1 για backup.... οφού οφού οφού. Δεν θα φτάσει η επιδότηση.:rolleyes:

 

Και από οτι δείχνει το πράγμα θα χρειαστώ και ένα πακέτο ευρά για τον admin.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Θέλω να εξαντλήσω λίγο το θέμα για το NFS για να είμαι σίγουρος(μια πρώην μου έλεγε οτι είμαι πολύ κολλημένο μυαλό, αυτά τα κολλήματα δεν θα μου βγούν σε καλό:-D). Έστω οτι έχω δικό μου switch στο datacenter και όλα κουμπώνουν επάνω του( τα μηχανάκια και το ethernet καλώδιο από το datacenter). Όλα τα μηχανάκια έχουν απο 2 NICS. Η πρώτη για το καθένα έχει ip για το τοπικό μου δίκτυο. 192.168.150/24. Οι load balancers παίρνουν την δεύτερη ip απο το datacenter. Στο switch δημιουργώ τα κατάλληλα VLAN με τις αντίστοιχες θύρες (για να αποκλείσω το ενδεχόμενο κάποιος άλλος να βάλει ip της μορφής 192.168.150.χχχ και να αποκτήσει πρόσβαση στον fileserver). Μέχρι εδώ ο fileserver θεωρώ πως δεν έχει πρόβλημα ασφάλειας.

O fileserver όμως πρέπει να τρέχει και ftp server για να μεταφέρω τα αρχεία. Κάνω τα κουμάντα μου και παίρνει το δεύτερο NIC του fileserver ip από το datacenter, έστω 74.45.56.210. Πάλι το βάζω στο κατάλληλο VLAN του switch μου( ασ πούμε στο public). Μέσα από το μηχανάκι κανονίζω από iptables η δεν ξέρω πιο άλλο κέρατο οτι τα μόνα ports που θα μπορεί να βλέπει η κίνηση στο ip 74.45.56.210 είναι τα ports του ftp και τπτ άλλο. Σε αυτή την περίπτωση έχω πρόβλημα ασφάλειας?

Όχι, αφού έχεις vlans μπορείς να θεωρείς ότι έχεις δύο απομονωμένα φυσικά δίκτυα και αυτό που σε ενδιαφέρει δε ρουτάρεται προς το internet.

 

Αν έχω τότε την κάτσαμε την βάρκα. Το NFSv4 το απορρίπτω λόγο οτι χρειάζεται να στηθεί Kerberos, γενικά αρχίζει και αυξάνει επικίνδυνα η πολυπλοκότητα. Samba server είχα στήσει παλιότερα, δεν είχα πρόβλημα. Για OpenAFS πρέπει να ψάξω.

Το kerberos δεν είναι και τόσο τραγικά πολύπλοκο. Ωστόσο συμφωνώ, αν δεν έχεις λόγο να μπεις στη διαδικασία, μην το κάνεις.

 

 

Εδώ με έστειλες με την ορθότητα που το έθεσες. Είχα διαβάσει παλιότερα για replication se mysql server και το είχα πάντα στο μυαλό μου σαν ένα τρόπο backup, εσύ το έθεσες στην σωστή του βάση. Αλλά από την άλλη μου το χάλασες. 1 μηχανάκι για fileserver, 1 για replication και 1 για backup.... οφού οφού οφού. Δεν θα φτάσει η επιδότηση.:rolleyes:

Είσαι σίγουρος ότι θες replication; Για backup μπορείς να βάλεις και ένα κοινό PC με 2 500άρηδες σε RAID-1 να παίρνει incremental backups κάθε βράδυ, με κόστος γύρω στα 400 ευρώ.

 

Και απ' οτι δείχνει το πράγμα θα χρειαστώ και ένα πακέτο ευρά για τον admin.

Αυτό είναι ένα κόστος το οποίο συνήθως παραβλέπεται. Καλά κάνεις που το έχεις υπ' όψιν σου ;-)

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Βιάστηκα να κάνω την ερώτηση.

Στο site είδα οτι το freenas είναι Linux διανομή, που υποστηρίζει πολλά προτόκολλα όπως NFS,FTP,CIFS κτλ.

 

Οπότε θα ήταν ασφαλές ο fileserver να στηθεί σε Freenas, άσχετα απο το τι θα χρησιμοποιήσω(NFS ή κάτι άλλο)?

 

Τελικά δεν είναι LINUX είναι UNIX derivative, τεσπα το ερώτημα παραμένει.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Το FreeNAS είναι customized freebsd με γραφικό web interface για τη διαχείριση. Το "Unix derivative" δεν κουβαλάει κανένα νόημα πια, είναι τόσο μακρινό derivative που έχει ελάχιστα περισσότερες και επουσιώδεις ομοιότητες με το Unix από ότι το Linux. Γενικά το freebsd είναι πιο σταθερό από το Linux, ίσως να έχει λίγο χαμηλότερες επιδόσεις σε κάποιες περιπτώσεις και ο πυρήνας του θέλει πολύ λιγότερο συχνά update. Το FreeNAS δεν το έχω δοκιμάσει αλλά από το documentation του κατάλαβα ότι είναι εξειδικευμένη λύση-πακέτο, δηλαδή υποστηρίζει κάποια μετρημένα πράγματα τα οποία είναι καλά documented και εύκολο να ρυθμιστούν από το γραφικό του και που μάλλον θα παίζουν πολύ αξιόπιστα, αλλά αν τυχόν χρειαστείς κάτι που δεν υποστηρίζει ατύχησες.

 

Σαν σύστημα πρέπει να είναι ασφαλές, δε βλέπω να υποστηρίζει κάποια λύση για encryption στο δίκτυο των δεδομένων που σερβίρει αλλά αν φροντίσεις να μπορεί να επικοινωνήσει μόνο με έμπιστους hosts μέσα από ένα VLAN νομίζω ότι θα είσαι εντάξει από ασφάλεια.

 

Βέβαια καλό θα ήταν να πάρεις μερικές γνώμες πρώτα για την αξιοπιστία του από κάποιους που να το χουν χρησιμοποιήσει. Θα μπορούσε, αν και τρέχει freebsd το οποίο είναι σταθερότατο, εξαιτίας του interface του να είναι τελείως αναξιόπιστο.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...