NAS or Something Like That, Part II

Έφτιαξα το unRAID μου! (με μεγάλη Οδύσσεια)…

Τελικά χρησιμοποίησα ΟΛΟΥΣ τους removable μου (συν τους δυο δίσκους που αγόρασα), ενώ είχα σχέδιο να αφήσω τον ένα 500άρη να παραμείνει removable.
Θέματα «χωροταξίας» με έκαναν και τους έβαλα όλους.
Μάλιστα στο συγκεκριμένο motherboard (το πρώην του «home» server μου) χωρίς PCI κάρτα, δεν παίρνει άλλους. Έβαλα ΕΝΝΙΑ (5 IDE, 4 SATA), το mobo υποτιθέμενα παίρνει 6 IDE (έχει 3 bus) αλλά δεν έχω έκτο, άσε που τελικά κόλωσε όταν του έβαλα δυο στο ένα από τα bus (τελικά αυτό το bus έμεινε με έναν αλλά δεν με χαλάει δεν έχω και δεν θέλω άλλο IDE). Σαν κουτί παίρνει 12 δίσκους. Άρα ΑΝ χρειαστεί με καμιά καρτούλα (αρκεί να υποστηρίζεται από το Slackware) βάζω κι άλλους.
Αυτή τη στιγμή φτιάχνει το parity disk (θα του πάρει 6-10 ώρες). Μετά θα είμαι και safe. Το έβαλα στο τέλος γιατί αλλιώς το βασανιστικό transfer όλων των data θα έπαιρνε πολύ περισσότερο.
Αυτή τη στιγμή έχουμε:

2×750, 2×500, 4×320, 1×80. Ο ένας 750άρης είναι parity και ο 80άρης είναι “cache” (νέα πατέντα στην τελευταία έκδοση του unRAID). Όλα τα άλλα data

ΣΥΝΟΛΟ ΧΩΡΗΤΙΚΩΤΗΤΑΣ ΔΙΣΚΩΝ (ΟΝΟΜΑΣΤΙΚΟ): 3860 GB
ΣΥΝΟΛΟ ΧΩΡΟΥ ΠΑΡΑΤΑΞΗΣ (ΟΝΟΜΑΣΤΙΚΟ): 3030 GB
ΣΥΝΟΛΟ ΧΩΡΟΥ ΠΑΡΑΤΑΞΗΣ (ΠΡΑΓΜΑΤΙΚΟ): 2959632424 KB (2822,5 GB)

ΣΥΝΟΛΟ ΕΛΕΥΘΕΡΟΥ ΧΩΡΟΥ ΠΑΡΑΤΑΞΗΣ (14/4/08): 732,7 GB


Ναι, είπαμε ο 500άρης ο δεύτερος μπορούσε να μείνει έξω, αλλά αφού στο unRAID μπορείς να απευθύνεσαι και σε δίσκους (και όποτε μπορείς θες να το κάνεις, ώστε τα ίδιου τύπου data να τα έχεις μαζί, ώστε οι άλλοι δίσκοι να κάνουν spin down για οικονομία και μακροζωία), χωροταξικά είπα να τον βάλω. Εξάλλου να κάνω όλη αυτή την ταλαιπωρία και να έχω και «μόνο» 200GB ελεύθερα… κρίμα.

Θεωρητικά χωρίς να αλλάξω hardware και χωρίς προσθέσω controllers μπορώ να έχω σε ΑΥΤΟ το unRAID, χρησιμοποιώντας δίσκους που υπάρχουν ΣΗΜΕΡΑ στην αγορά (max. 500GB IDE και 1TB SATA), τα 5Tb on-line. Αν βάλω και controllers στο υπάρχον σύστημα μου, μπορώ να αγνοήσω τα IDE μου και να βάλω 10TB data (10 data disks + 1 parity + 1 cache ΑΝ θέλω, μια και δεν υποχρεώνει κανείς για τίποτα από τα δυο… φυσικά το parity ΤΟ ΘΕΣ αλλιώς γιατί να φτιάξεις unRAID).
Ξέρω ανθρώπους που έχουν φτάσει τα 15TΒ με το ανάλογο hardware (σήμερα το unRAID επιτρέπει μέχρι 15 data δίσκους + 1 parity + 1 cache).

Ας δούμε λίγο την Οδύσσεια (χωρίς ημερομηνίες γιατί τα έχω χάσει – πάντως τα components τα έχω περίπου 8-10 μέρες, οπότε η φάση της υλοποίησης απλώνεται σε αυτές)…

Όπως είπαμε, αρχικά έλεγα να βρω μτχ. υλικό να φτιάξω (μαζί με ότι μτχ. έχω) το unRAID μου.
Μετά είδα ότι οι τιμές στα μτχ. που ήθελα (γιατί δεν θες ότι να ‘ναι, θες πχ. mobo mε gigabit), ήμουν ΚΟΝΤΑ στο να πάρω κάτι «σημερινό» (που θα πήγαινε χαμένο σαν unRAID)… Άρα όπως είπαμε στο άλλο post, θα έπαιρνα κάτι φτηνό σημερινό (βλέπε Core2 και PCI-Express) και θα έκανα unRAID το Πάλε Ποτέ powerfull server μου με τον P4 @ 3.2GB (που είναι πιο αργός από τον πιο αργό Core2).

  • Είχα πάρει πρώτα το κουτί (από το e-Shop). Βλακεία όπως θα δείτε μετά (το ότι το πήρα στην αρχή).
  • Πήρα μετά τα 4-to-3 της LianLi από το HAC. Για αυτή την αγορά χαίρομαι. Πήρα τρία, άρα δώδεκα δίσκους.
  • Έλεγα να πάρω από το Πλαίσιο τα υπόλοιπα (λόγω 12 άτοκων δόσεων αν πάρεις «ολόκληρο» PC) αλλά διάφορα με χάλασαν, όπως ότι ΦΤΗΝΟΥΣ 750άρηδες ΔΕΝ είχε (τότε τουλάχιστον) αντίθετα από το e-Shop, που όμως ΔΕΝ είχε άτοκες. Αποφάσισα λοιπόν να τα πάρω όλα από το e-Shop και ΠΑΛΙ κουτί. Βλακεία λοιπόν που πήρα νωρίς αυτό που ήθελα, μια και πήρα άλλο ένα, φτηνιάρικο, αλλά συνέφερε να το κάνω για διάφορους λόγους: Θα ήταν όλα μέσα σε ένα κουτί (άλλο ότι μετά εγώ θα το ξαναδιέλυα, αλλά τουλάχιστον θα είχε περάσει από το lab τους), θα είχα ένα spare (ΠΩΛΕΙΤΑΙ!) κουτί ΜΑΖΙ με τροφοδοτικό που εξάλλου… ΠΙΟ ακριβό ήταν σκέτο τροφοδοτικό!
  • Μαζί πήρα και 1-2 άλλα πράγματα που ήθελα, όπως 8πορτο gigabit 3COM για να αντικαταστήσει το ΜΑΠΑ 5πορτο netgear με τις καμένες πόρτες που τηγανίζεις αυγό επάνω του και μια κάρτα PCI-express DVB-T (για τα ψηφιακά) + analog για να βλέπω και τέτοιο στο HTPC στο σαλόνι (ήδη έχει δορυφορική κάρτα και hardware-MPEG analog με FM radio)… Τέσπα αυτή η νέα κάρτα δεν έπαιξε σωστά ακόμα αλλά δεν έχω δώσει ούτε 5 λεπτά στο HTPC για να δω τα γιατί. Τέλος πήρα άλλη μια fanless κάρτα νέας γενιάς για να αντικαταστήσει την άλλη 2 γενιών πίσω του HTPC (μάλλον δεν πέτυχα και πολλά αλλά θέμα άλλου post αυτό).
…φτάνω λοιπόν με όλα τα εξαρτήματα, κουτί αχρησιμοποίητο (ΠΟΥΛΑΩ!), 2-3 αχρησιμοποίητα τροφοδοτικά (ΟΛΑ ΤΑ ΠΟΥΛΑΜΕ ΠΑΡΕ ΚΟΣΜΕ) κλπ.

Και άρχισε ο μεγάλος πόνος, που τον έκανε πιο μεγάλο ότι έπρεπε ταυτόχρονα (ή σχεδόν) να διαλύσω το ΚΥΡΙΩΣ PC μου (με ~4-5 χρόνια με τα ίδια Windows επάνω του! Server 2003 γαρ), να φτιάξω το ΝΕΟ κυρίως PC μου και από το παλιό να φτιάξω το unRAID.

Αυτά έγιναν με αυτή τη σειρά, με αρκετή πίκρα και για τα δυο πρώτα «επεισόδια» (αλλά θέμα άλλου post) για να φτάσω να ξαναέχω ένα μηχάνημα να δουλέψω (και είχα την φαεινή ιδέα να είναι Windows 2003 R2 SBS SP2 και τώρα έχω conflicts με το ActiveSync κλπ.).

Τέσπα φτάνουμε στο «επεισόδιο» unRAID.

Πριν διαλύσω το server, είπα να κάνω δοκιμές με το στικάκι (αφού θα ήταν το μελοντικό hardware του unRAID)…

Νέο USB στικάκι (2GB – άχρηστο μια και αρκούν 128MB, αλλά οι διαφορές τιμής είναι γελοίες για να το σκεφτώ), προσπάθεια να παίξει… δεν έπαιζε τίποτα. Βρε τι φταίει. Τελικά ήθελε να του πω τι σόι emulation θα το κάνει στο BIOS (σαν δισκέτα, σαν σκληρό κλπ.) μια και το «auto» δεν του έκανε. Καθόλου περίεργο θα πει κανείς… Sure. Γιατί όμως ΤΩΡΑ το «auto» του κάνει!; (ΙΔΙΟ το BIOS)

Τέσπα.

Έχω διαλύσει το server μου, έχω ξαναστήσει μέχρι ένα σημείο τον νέο (ώστε να έχω έστω, desktop) στον original δίσκο του (εκεί που ήταν το παλιό), έχω ρίξει όλο το παλιό setup του στον ένα από τους 750άρηδες που πήρα προσωρινά, ώστε λίγο πιο χαλαρά να δω τι θα πάρω από το παλιό. – αυτόν που θα χρησιμοποιούσα τελευταίο (για parity) και προχωράω με το unRAID.

Συναρμολόγηση οκ, χωρίς δίσκους.
Πρώτα θα έστηνα την υποδομή, εξάλλου η μεγάλη Οδύσσεια αφορά ακριβώς, τους δίσκους.

Παίρνω το «έτοιμο» stick, το βάζω, δείχνει ότι bootάρει (bzimage κλπ.)… ώσπου σε ένα σημείο (πάντα στο ίδιο) μου κάνει fail!

Θα έλεγα ότι φταίει κάποιο error στο stick, αλλά τότε δεν θα έκανε extract οκ τα linux images (ενώ έδειχνε ότι τα έκανε)… ΚΙ ΟΜΩΣ κάτι ήταν, μια και όταν αποφάσισα (μετά από αρκετές χαμένες ώρες μια και το στικάκι ΔΟΥΛΕΥΕ μέχρι πριν λίγες μέρες, χωρίς να πειραχτεί) να του ξαναβάλω ΟΛΑ τα αρχεία έπαιζε.

Παίξαμε λοιπόν (μου έφαγε 1-2 μέρες αυτό)…

Ή έτσι νομίζα.

Μετά από succesful boot, ανακάλυψα ότι ΔΕΝ παίρνω IP address (το unRAID είναι αρχικά μέσω DHCP)… Βάζω και στατική (όπως θα το είχα τελικά) κάνοντας edit τα αρχεία στο stick… ΤΙΠΟΤΑ! Είχα προφανώς πρόβλημα ΜΕ ΤΗΝ ΚΑΡΤΑ ΔΙΚΤΥΟΥ!

Hardware; Ευτυχώς όπως λέω πιο πάνω, είχα το ghost του παλιού setup μου (που χρησιμοποιούσε αυτό το hardware) σε έναν 750άρη… το βάζω επάνω… ΔΟΥΛΕΥΕΙ και ΔΟΥΛΕΥΕΙ και η κάρτα δικτύου!

Άρα δεν είναι hardware… ή μήπως είναι; Μετά από το reboot, ΠΑΙΖΕΙ και το δίκτυο του unRAID… μετά ΔΕΝ παίζει και γενικά δεν παίζει, αλλά μπαίνοντας Windows πάντα παίζει…

Αυτά με το τελευταίο stable version (το «καμιά φορά»). Το τελευταίο beta (κακό σημάδι) ακόμα χειρότερα, δεν έβλεπε ποτέ το δίκτυο.

Αφού είχα βαρέσει λίγο μπιέλες, ένας καλός άνθρωπος στο forum του unRAID (το οποίο έχει ΠΟΛΛΑ posts μου τελευταία) μου είπε να δοκιμάσω μια παράμετρο στο boot sequence του linux… (βασικά 2-3 αλλά θα δοκίμαζα μια μια) ΕΤΣΙ ΚΑΙ ΕΠΑΙΞΕ!!! (και έτσι παίζει ακόμα) Είναι μια παράμετρος που έχει σχέση με τα IRQ και αφορά κάποια mobos…

Μου έφαγε 1-2 μέρες και αυτό…

Βάζω λοιπόν τον έτερο νέο 750άρη μέσα στο unRAID, ώστε να ξεκινήσω τα file moves.

Πως θα γίνουν αυτά;

Μέσω δικτύου, ΟΚΤΩ γεμάτοι δίσκοι, ΧΛΩΜΟ.
Ευτυχώς το linux επιτρέπει mount NTFS δίσκων (read only ή και read write αν βάλετε κανένα μοντέρνο driver όπως το NTFS-3G).

Ευτυχώς επίσης στα τελευταία beta, είχε μπει μια δικιά μου πρόταση… Midnight Commander, που είναι η linux έκδοση του κλασικού Norton Commander. Πράγμα που θεωρητικά θα μου επέτρεπε ένα πιο ανθρώπινο περιβάλλον για τις μεταφορές, μέσω terminal ή telnet.

Εντυπωσιακά ανακάλυψα ότι μέσω putty είχα ακόμα και… mouse support μέσα στον MC!

Όμως εδώ έρχεται και η συνέχεια της Οδύσσειας…

Ανακαλύπτω (ΕΥΤΥΧΩΣ αρκετά νωρίς, επειδή μου έκοβε να συγκρίνω πάντα ότι έγραφα με ότι γραφόταν), ότι filenames που έχουν έξω από τους γνωστούς ASCII chars (πχ. Ελληνικά), όταν είναι σε NTFS volume, ΟΥΤΕ ΚΑΝ ΦΑΙΝΟΝΤΑΙ!

Το ίδιο και από σκέτο terminal!
Μάλιστα folders που είναι με Ελληνικούς χαρακτήρες, δεν φαίνονται ούτε αυτά με αποτέλεσμα να μην μπορείς να μπεις να αντιγράψεις και τα περιεχόμενα τους (ακόμα και αν αυτά είναι με λατινικούς)!

Βάζοντας μέσω δικτύου στον ένα και μοναδικό ακόμα δίσκο του unRAID (που δεν είναι NTFS), αρχεία με Ελληνικούς χαρακτήρες, ΤΑ ΕΒΛΕΠΑ ΚΑΝΟΝΙΚΑ (από τα Windows).

Μέσω terminal αυτά τα αρχεία (είπαμε στον δίσκο που ΔΕΝ είναι NTFS), φαινόντουσαν μεν, όλο με CHR strings δε. (πχ. /245 /167 /192 κλπ.) Στην πράξη αν ήθελες να κινηθείς μέσω terminal σε Ελληνικά, έπρεπε να στραμπουλήξεις τα δάχτυλα σου.

Το πρόβλημα για να μην τα πολυλογώ ΔΕΝ έχει λυθεί, σχετίζεται πιθανά με το UNICODE support του NTFS (ΚΑΙ του NTFS-3G) driver, καθώς και με το ότι το ΠΟΛΥ LIGHT Slackware που είναι μέσα στο unRAID δεν έχει καμία ιδέα από internationalization.

Πρακτική λύση; Ο εξής κύκλος:

  • Βγάζεις τον NTFS removable σου από το κουτί του.
  • Τον βάζεις στο unRAID.
  • Τον κάνεις mount μέσω terminal.
  • Μέσω terminal μετακινείς όλα τα περιεχόμενα (ή τελικά λόγω του προβλήματος, ότι μπορείς) σε δίσκο του unRAID.
  • Ξαναβγάζεις τον δίσκο.
  • Τον ξαναβάζεις σε USB κουτί.
  • Τον βάζεις να τον δει ένα Windows PC σου ΑΛΛΑ ΜΟΝΟ ΜΕ VISTA (ή με 3ου κατασκευαστή file manager – το γιατί από κάτω).
  • Μέσα από τα Vista, επειδή έχουν έξυπνη διαχείρηση στο να κάνουν skip files (δηλ. σε ρωτάει μια φορά για όλα τα conflicts οπότε μια φορά λες να ΜΗΝ τα κάνει overwrite) και αυτό το κάνει και μέσα σε folders/subfolders, αρχίζεις και ξαναπετάς όλα τα περιεχόμενα του USB (NTFS) δίσκου, ΜΕΣΩ δικτύου πάνω στον unRAID δίσκο (στο share πια).
  • Ελέγχουμε πια ότι έχουμε ΟΛΑ μας τα αρχεία περασμένα.
  • Βγάζουμε τον USB δίσκο.
  • Τον βάζουμε σαν IDE ή SATA στο unRAID, πάλι.
  • Τον «αναθέτουμε» για χρήση στο unRAID (χάνοντας ότι είχε σαν NTFS) και προχωράμε στον… επόμενο την ίδια διαδικασία (εκτός αν ξέρουμε ότι δεν έχουμε Ελληνικά filenames/folders) με τον νέο άδειο μας χώρο…
Αυτό παίρνει χρόνο, αλλά όταν μιλάμε για 500άρη δίσκο, με μερικά megabytes αρχεία με Ελληνικά filenames, τότε είναι ΠΟΛΥ γρηγορότερο (και ασφαλέστερο) από το να γινόταν το transfer όλο μέσω δικτύου.

Αυτό έγινε για ΟΚΤΩ δίσκους. Ενδιάμεσα μάλιστα, για λόγους χωροταξίας, υπήρχαν ΚΑΙ εσωτερικές μεταφορές (από unRAID δίσκο σε unRAID δίσκο), ώστε κάτι να φτάσει στην τελική του θεση μέσω «τριγώνου» (γιατί πχ. ο τελικός δίσκος δεν είναι από την αρχή διαθέσιμος), καθώς και ένωση με data που είχα αλλού φυλαγμένα και τώρα είχα χώρο να τα βάλω στη θέση τους…

Βάζοντας δίσκους έναν έναν, μεταφέροντας κλπ. Έφτασα στο σημείο να βάλω το πέμπτο μου IDE (υπόψη αρχικά θα είχα τέσσερεις, αλλά το νέο feature που λέγεται cache disk, με έβαλε στο τριπάκι και πρόσθεσα και έναν μικρό πέμπτο που ήδη είχα εξάλλου παρατημένο).

Έλα όμως που δεν έμπαινε!
ΑΝΕΤΑ θα θυσίαζα το cache disk (και θα έμενα στους τέσσερεις), αλλά το cache disk το καημένο ήταν ΗΔΗ τοποθετημένο στο «τρίτο» (ξένο μάλιστα, όχι intel, εκεί που αν ήταν να έχω προβλήματα θα είχα) bus και είχα κρατήσει τα intel bus για data disks!

Μάλιστα είχα ήδη βάλει τους τρεις στα intel bus (και τον cache στο ξένο bus) οπότε δεν περίμενα Ο ΤΕΤΑΡΤΟΣ να μην δουλεύει (δηλ. σε bus που ΗΔΗ είχα έναν δίσκο επάνω που δούλευε!). Δεν bootαρε όλο το μηχάνημα (δεν έφευγε από το BIOS init)… Δεν ήταν καλώδιο. Δεν ήταν jumper settings (master/slave). Τι ήταν; ΔΕΝ ΕΜΑΘΑ!

Λύση; Το cache disk μπήκε στο bus που χωρίς λόγω παίρνει μόνο έναν δίσκο και οι δυο από τους άλλους δίσκους μπήκαν στο ΞΕΝΟ bus που μια χαρά σήκωσε και τους δυο.

Ενδιάμεσα σε όλα αυτά κάθησα επίσης και:

  • Όρισα users
  • Όρισα ποιά shares θα χρησιμοποιούν ποιούς δίσκους (και σε τι βάθος)
  • Όρισα security των shares βάση των users
(αυτά διαβάζονται ως απλά, στην πράξη ήθελα 2-3 πίνακες για να τα σχεδιάσω – ας είναι καλά το Excel αλλά και το PDA μου)

Με όλο αυτό το βάλε/βγάλε/τσέκαρε/ξαναβάλε, φτάσαμε στο σήμερα το πρωί όπου μέσω terminal (και detached commands) έκανα τα 2 τελευταία «εσωτερικά» copy, όντας ΜΑΚΡΙΑ από το unRAID μου και έφτασα στο αποτέλεσμα που καταγράφω επάνω.

…α και σε ένα δωμάτιο (γραφείο μου) στο σπίτι, το οποίο δεν θέλει κανείς να πλησιάσει από τα βουνά ανταλλακτικών και χαρτιών που έχω (επόμενο βήμα: να τα φτιάξω και αυτά).

Αυτή είναι η Οδύσσεια σε περίληψη, ΠΙΘΑΝΟΤΑΤΑ ξεχνάω κι άλλα.
Βάλτε κερασάκι ότι κάτι παίζει με το real time clock μου στο unRAID και με τα reboot χάνει την ώρα (ίσως όχι μπαταρία -αλλά θα δοκιμάσω μόλις βρω που έχω τις καινούριες- μια και το PC είναι πάντα στο ρεύμα άρα ίσως δεν έπρεπε να συμβαίνει – btw ψήνω τον Tom του unRAID να βάλει το NTPD επιτέλους) και είμαστε στο σήμερα…

Ευχαριστημένος.

Πλήρωσα τελικά αρκετά. Αλλά τα «αρκετά» τι είναι τελικά; Λίγα παραπάνω (έστω και 50% παραπάνω) από όσο κάνει ένα 2-disk RAID0 NAS, δηλαδή κάτι ΑΠΕΙΡΩΣ κατώτερο από ότι έφτιαξα. Και τελικά έχω και ένα ακόμα PC (σαν hardware).

Επόμενα βήματα, να δω μπας και μπορέσω να χώσω κάναν terminal based torrent client ώστε να μη χρειάζεται καθόλου άλλο PC ανοιχτό όσο λείπω.

Τελικά, να το κάνετε; Ναι να το κάνετε.

Όμως αν το κάνετε, ή ξεκινήστε (α) με πολύ υπομονή, ή (β) με άδειους δίσκους αδιαφορώντας για αρχική μαζική μεταφορά δεδομένων).