Tag-Αρχείο για » ubuntu «

Κυριακή, 4η Αυγούστου, 2013 | Συγγραφέας:

Ιστορία

Πολλά είχαν αλλάξει από την τελευταία φορά που αναφέρθηκε μου προσωπικούς server – έχει αυξηθεί αλματωδώς (τώρα έχει μια 7TB MD RAID6) και είχε πρόσφατα ανακατασκευαστεί με Ubuntu Διακομιστή.

Αψίδα δεν ήταν ποτέ ένα λάθος. Arch Linux είχε δίδαξε ήδη τόσα πολλά για το Linux (και θα συνεχίσει να το κάνει για άλλη επιφάνεια εργασίας του υπολογιστή μου). Αλλά Arch σίγουρα απαιτεί περισσότερο χρόνο και προσοχή από ό, τι θα ήθελαν να περάσουν σε ένα διακομιστή. Ιδανικά θα προτιμούσα να είναι σε θέση να ξεχάσουμε το διακομιστή για λίγο μέχρι ένα email υπενθύμισης λέει “um … υπάρχει μια ενημερώσεις ζευγάρι θα πρέπει να εξετάσουμε, φίλε.”

Ο χώρος δεν είναι δωρεάν – και ούτε είναι ο χώρος

Η ευκαιρία να μεταναστεύσουν σε Ubuntu ήταν το γεγονός ότι είχα ξεμείνει από SATA λιμένες, οι θύρες που απαιτούνται για τη σύνδεση σκληρών δίσκων με το υπόλοιπο του υπολογιστή – ότι 7TB συστοιχία RAID χρησιμοποιεί πολλά λιμάνια! Είχα ακόμη δοθεί μακριά μου πολύ old 200GB σκληρό δίσκο, δεδομένου ότι πήρε ένα από αυτά τα λιμάνια. Έχω προειδοποιήσει επίσης τον παραλήπτη ότι ο δίσκος του SMART της παρακολούθησης έδειξαν ότι ήταν αναξιόπιστα. Ως προσωρινή λύση για την έλλειψη θύρες SATA, Είχα μετανάστευσαν ακόμη και το λειτουργικό σύστημα του διακομιστή σε ένα σύνολο τεσσάρων USB sticks σε ένα MD RAID1. Τρελός. Ξέρω. Δεν ήμουν πάρα πολύ χαρούμενος για την ταχύτητα. Αποφάσισα να πάω έξω και να αγοράσει ένα νέο αξιόπιστο σκληρό δίσκο και ένα SATA κάρτα επέκτασης για να πάει με αυτό.

Πρωτεύον διαμέρισμα Αψίδα του διακομιστή χρησιμοποιούσε για 7GB του δίσκου. Ένα μεγάλο κομμάτι του ότι ήταν μια ανταλλάξουν αρχείο, προσωρινής αποθήκευσης δεδομένων και άλλα διάφορα υλικά ή περιττά αρχεία. Συνολικά, το πραγματικό μέγεθος του λειτουργικού συστήματος, συμπεριλαμβανομένης της /σπίτι ντοσιέ, ήταν μόνο περίπου 2 GB. Αυτό με ώθησε να εξετάσουμε σε ένα υπερ-γρήγορο SSD οδηγώ, σκέφτεται ίσως ένα μικρότερο μπορεί να μην είναι τόσο ακριβό. Αποδείχθηκε ότι η φθηνότερη μη SSD δίσκο θα μπορούσε να βρει στην πραγματικότητα το κόστος περισσότερο από μία από αυτές τις σχετικά μικρές SSDs. Yay για μένα. 🙂

Επιλογή? Woah?!

Για την επιλογή του λειτουργικού συστήματος, Είχα ήδη αποφασίσει ότι δεν θα ήταν Arch. Από όλες τις άλλες δημοφιλείς διανομές, Είμαι πιο εξοικειωμένοι με το Ubuntu και CentOS. Μαλακό καπέλλο ήταν επίσης μια δυνατότητα – αλλά δεν είχα σοβαρά ακόμη θεωρείται για ένα διακομιστή. Ubuntu κέρδισε τον γύρο.

Η επόμενη απόφαση που έπρεπε να κάνω, δεν συμβαίνουν σε μένα μέχρι Πανταχού παρουσία (Οδηγός εγκατάστασης του Ubuntu) ζήτησε από μένα: Πως να ρυθμίσετε το χωρίσματα.

Ήμουν νέος στη χρήση SSDs στο Linux – Είμαι πολύ καλά τις παγίδες που δεν τα χρησιμοποιούν σωστά, ως επί το πλείστον οφείλεται σε κίνδυνο τους φτωχούς μακροζωία αν καταχρηστικά.

Δεν θέλετε να χρησιμοποιήσετε ένα ειδικό κατάτμησης swap. I σχέδιο σχετικά με την αναβάθμιση μητρική πλακέτα του server / CPU / μνήμης δεν είναι πολύ μακριά στο μέλλον. Με βάση αυτό αποφάσισα ότι θα θέσει ανταλλαγής σε ένα αρχείο μετάθεσης στο υπάρχον RAID md. Η ανταλλαγή δεν θα είναι ιδιαίτερα γρήγορη, αλλά μοναδικός σκοπός της θα είναι για την σπάνια περίπτωση που κάτι πάει στραβά και η μνήμη δεν είναι διαθέσιμη.

Αυτό στη συνέχεια άφησε να δώσει την διαδρομή ρίζας η πλήρης 60GB έξω από ένα Intel 330 SSD. Θεώρησα το διαχωρισμό / home, αλλά μόλις φάνηκε λίγο άσκοπο, δεδομένου πόσο λίγο είχε χρησιμοποιηθεί στο παρελθόν. Για πρώτη φορά τη δημιουργία του διαμερίσματος με το LVM – κάτι που έχω πρόσφατα κάνει κάθε φορά που έχω δημιουργήσει ένα Linux box (πραγματικά, δεν υπάρχει καμία δικαιολογία για να μην χρησιμοποιούν LVM). Όταν έφτασε στο μέρος όπου θα ρυθμίσετε το σύστημα αρχείων, Χτύπησα το drop-down και ενστικτωδώς επιλεγεί ext4. Τότε παρατήρησα btrfs στην ίδια λίστα. Εμμένω!!

Αλλά ένα τι?

Btrfs (“βούτυρο-eff-ess”, “καλύτερα-eff-ess”, “μέλισσα-δέντρο-eff-ess”, ή ό, τι φαντάζεστε την ημέρα) είναι ένα σχετικά νέο σύστημα αρχείων αναπτύχθηκε για να φέρει το Linux’ filesystem δυνατότητες και πάλι στο προσκήνιο με την τρέχουσα αρχείων τεχνολογίας. Η υπάρχουσα King-of-the-Hill αρχείων, “ext” (η τρέχουσα έκδοση που ονομάζεται ext4) είναι αρκετά καλό – αλλά είναι περιορισμένη, κολλήσει σε ένα παλιό μοντέλο (σκεφτείτε ένα ολοκαίνουργιο F22 Raptor vs. ένα F4 Phantom με μισή Jested προσπάθεια αναβάθμισης ισοδυναμίας) και είναι απίθανο να είναι σε θέση να ανταγωνιστούν για πολύ καιρό με νεότερα συστήματα αρχείων των επιχειρήσεων, όπως ZFS της Oracle. Btrfs έχει ακόμα πολύ δρόμο να διανύσουμε και εξακολουθεί να θεωρείται πειραματική (ανάλογα με το ποιος σας ρωτήσω και τι θα πρέπει να διαθέτει). Πολλοί θεωρούν ότι είναι σταθερή για βασική χρήση – αλλά κανείς δεν πρόκειται να κάνει καμία εγγύηση. Και, φυσικά, ο καθένας λέει να κάνει αντίγραφα ασφαλείας και να δοκιμάσουν!

Mooooooo

Η πιο θεμελιώδης διαφορά μεταξύ ext και btrfs είναι ότι είναι ένα btrfs “Αγελάδα” ή “Αντιγραφή Γράψτε” σύστημα αρχείων. Αυτό σημαίνει ότι τα δεδομένα δεν είναι ποτέ πραγματικά σκόπιμα αντικατασταθεί από εσωτερικά του συστήματος αρχείων του. Αν γράψετε μια αλλαγή σε ένα αρχείο, btrfs θα γράψετε τις αλλαγές σας σε μια νέα θέση σε φυσικά μέσα, και θα ενημερώσει τους εσωτερικούς δείκτες να αναφερθώ στη νέα θέση. Btrfs πηγαίνει ένα βήμα παραπέρα σε ότι αυτές οι εσωτερικές δείκτες (αναφέρεται ως μετα-δεδομένα) είναι επίσης Αγελάδα. Παλαιότερες εκδόσεις του ext θα πρέπει απλά να αντικατασταθούν τα δεδομένα. Ext4 θα χρησιμοποιήσει ένα περιοδικό για να διασφαλιστεί ότι η διαφθορά δεν θα πρέπει να συμβεί το βύσμα AC να yanked από την πιο ακατάλληλη στιγμή. Τα αποτελέσματα περιοδικό σε ένα παρόμοιο αριθμό των βημάτων που απαιτούνται για την ενημέρωση των δεδομένων. Με ένα SSD, το υποκείμενο υλικό λειτουργεί μια παρόμοια διαδικασία CoW Δεν έχει σημασία τι σύστημα αρχείων που χρησιμοποιείτε. Αυτό είναι επειδή SSD drives δεν μπορεί να αντικαταστήσει πραγματικά δεδομένα – θα πρέπει να αντιγράψετε τα δεδομένα (με τις αλλαγές σας) σε μια νέα θέση και στη συνέχεια να διαγράψετε το παλιό μπλοκ εξ ολοκλήρου. Η βελτιστοποίηση στον τομέα αυτό είναι ότι ένα SSD δεν μπορεί να διαγράψει ακόμη και το παλιό μπλοκ, αλλά απλώς να κάνει μια σημείωση για να διαγράψει το μπλοκ σε μεταγενέστερο χρόνο, όταν τα πράγματα δεν είναι τόσο απασχολημένος. Το τελικό αποτέλεσμα είναι ότι οι δίσκοι SSD ταιριάζει πολύ καλά με ένα σύστημα αρχείων αγελάδας και δεν αποδίδουν εξίσου καλά με μη CoW αρχείων.

Για να κάνει τα πράγματα ενδιαφέροντα, Αγελάδα στο σύστημα αρχείων εύκολα πηγαίνει χέρι-χέρι με ένα χαρακτηριστικό που ονομάζεται deduplication. Αυτό επιτρέπει σε δύο (ή περισσότερο) ταυτόσημες μπλοκ δεδομένων που πρέπει να αποθηκευτούν χρησιμοποιώντας ένα μόνο αντίγραφο, εξοικονόμηση χώρου. Με αγελάδα, εάν ένα deduplicated αρχείο έχει τροποποιηθεί, το ξεχωριστό δίδυμο δεν θα επηρεαστούν τα δεδομένα του τροποποιημένου αρχείου θα έχουν γραφτεί σε διαφορετικές φυσικές μπλοκ.

Αγελάδα με τη σειρά του καθιστά snapshotting σχετικά εύκολο να εφαρμόσουν. Όταν ένα στιγμιότυπο γίνεται το σύστημα καταγράφει απλώς το νέο στιγμιότυπο ως μια επανάληψη όλων των δεδομένων και των μεταδεδομένων μέσα στον όγκο. Με αγελάδα, όταν γίνονται αλλαγές, δεδομένα του στιγμιότυπου του παραμένει ανέπαφη, και μια συνεκτική εικόνα της κατάστασης του συστήματος αρχείων κατά τη στιγμή το στιγμιότυπο έγινε μπορεί να διατηρηθεί.

Ένα νέο φίλο

Με την παραπάνω στο μυαλό, ειδικά το Ubuntu έχει κάνει btrfs διαθέσιμο ως επιλογή εγκατάστασης χρόνο, Σκέφτηκα ότι θα ήταν μια καλή στιγμή για να βουτήξει btrfs και να εξερευνήσετε λίγο. 🙂

Μέρος 2 προσεχώς …

Μερίδιο
Πέμπτη, January 01st, 2009 | Συγγραφέας:

Apparently, what operating system you use can say a lot about you. If you’re using some form of *nix, ο οποίος distro you’re using can say a lot as well. Redundancy aside, I believe that a Linux distribution depends absolutely on its package management and distribution system.

I liked apt-get (1, 2) but there was some technical problem at some point and it caused me to use ικανότητα instead. Using aptitude is slightly easierit has more features automated into single, logical, commands where apt-get requires separate commands. Aptitude also has a curses-based GUI. If you’re not using the GUI then, other than brevity in terms of number of commands to learn, there is apparently no technical reason to prefer one over the other. Aptitude and apt-get serve K/X/Ubuntu και Debian καλά. From this point, I use the names Kubuntu and Ubuntu in a loosely interchangeable fashion.

In my use of CentOS (based on Red Hat), I’ve found I like yum. It seems to work in much the same as aptitudeone command to rule them all. It has some rather annoying default behaviour I’m not going to get into here as its most likely because I’m just not used to it. At least from a technical perspective, it is very good. I believe that Μαλακό καπέλλο also makes use of yum though my experience with Fedora is very limited.

the theory

Fedora and Ubuntu are in a class of distributions that have a fairly rigorous release cycle. Ubuntu 8.10 (the version is named so for the year and month of its release) will not, except for major bugs and minor changes, have another major update until the next version, Jaunty Jackalope. Ubuntu users have the latest versions of most software on their desktops right now. In the months preceding the next release, ωστόσο, they’re not going to be so lucky unless they like using “βήτα” releases. As I’m not very familiar with Fedora, I’m not going to bother going into its release cycle.

These 2 distributions are also within a class of distributions known asbinary” ή “binary-baseddistributions. This means that when you download an update, the files that are downloaded are precompiled and should run on anysupportedhardware. This isn’t specifically optimised for your desktop’s hardware, για παράδειγμα, your processor. Perhaps you have an AMD processor which has extra instruction support which Intel CPUs do not have. The reverse could also be true. For this reason, a binary-release distribution cannot optimise for one particular brand of hardware. Regardless of thisnon-optimisation”, it should run at a decent pace.

the practice!

Περίπου 2 years ago I started using Kubuntu. After a few months of working with it, I started to learn more about its specifics. I’m not much of a fan of using GUI tools to update the system when, ultimately, its all happening on the command-line anyway. The GUI tools just hide the complexity I don’t mind seeing.

I ended up making a βίαιο χτύπημα γραφή, update, which would run all the steps required to get aptitude to just go ahead and upgrade already, kthx?©, perhaps stopping along the way to back up my configuration, remount the NFS network share where we keep an on-site repository, back up the local cache of aptitude’s installed packages, do some folder-link shuffling to use a local copy if the network share couldn’t remount, sync between the local copy and the network share if the previous update had a network share issue, and update lists of packages in the repository. In general, it wouldn’t go ahead if there were any errors though, as you can tell, this script became a messy beast that went above and beyond the original requirements. It worked well for me.

Until the day came to update between Kubuntu 6.10 να 7.04. I did this manually though, not with the script.

I ended up reinstalling from scratch as a result of the mess that ensued. At least, as a backup administrator should do well to demonstrate, it was easy to recover everything I really needed. 🙂

What else is out there?

Even before I had to reinstall Kubuntu, I was introduced to another distribution called Gentoo. There are 2 very distinct differences between Gentoo and Ubuntu’s update system. The first is that Gentoo is a source-based distribution. This means that when you update a package, the package manager downloads the source and compiles everything, hopefully optimising it for your system. This, I think, is very cool. The downside to this is that compiling everything takes a very long time.

Here are my (very unscientific) estimates for the length of time it takes to install a basic GUI OS to a desktop from installation media, excluding extraneous drivers (για παράδειγμα, the latest 3D graphics drivers):

OS: minmax (median)

Windows Vista: 15 – 30 (20) minutes

Ubuntu: 15 – 40 (20) minutes

Gentoo: 3 – 40 (6) hours

Gentoo also requires much tinkering with the config files in order to get things workingthis is another reason for the extremely long delay between inserting the CD and booting your awesome* new desktop. Popular applications have binary packages available for downloadthough this isn’t a default option.

They see me rollin

There is one more very important distinction Gentoo has from most other distributions. It is arolling-releasedistribution. This means that there isn’t any rigorous version orreleasethat the distribution adheres to. If you install Gentoo todayif you finish installing Gentoo today, you’re probably going to have the latest version of all the applications you installed. If some obscure application gets a major update tomorrow, within a few days, if you update your system, you’re going to have that latest version on your desktop.

The difference between this rolling release and theotherdistributions is rather staggering. Για παράδειγμα: If KDE 4.2 were to be released tomorrow, you’d probably have to wait less than 2 weeks for it to be available on Gentoo. Ubuntu users might have to wait till 9.04 – that’s a 4-month wait.

Something more suitable?

Personally, I’m not willing to put in the 40 hours of effort to get my system working the way I want it to. My colleague had to reinstall recently for some obscure reason and it turns out he wasn’t willing to put in the 6 hours (he’s more experienced with Gentoo) of effort to get his system back to how it was running either. Αντ ', Arch Linux caught his eye. Arch Linux is a rolling-release (like Gentoo), binary-based (like Ubuntu) distribution. Its packages (καλά, the vast majority of them) don’t need much tinkering with their config files to get things working nicely either. Its the best of both worlds!

You still need to know what you’re doing* but if you’ve come to this juncture, it shouldn’t be such a giant leap of faith. Arch Linux’s package manager, called pacάνδρας, has built-in dependency and conflict handling. I use another package manager, γιαούρτι (French for yoghurt), which has very quickly become popular with Arch users. Yaourt enhances the functionality of pacman by allowing you to download and install applications directly from the AUR, ή Arch User Repository. This repository contains scripts that allow you to automatically download and install many applications that would otherwise be completely unsupported by Arch’s own core developers. It downloads and compiles the package into a chroot’d environment. It then packages the chroot’d environment into a pacman-compatible package tarball and uses pacman to deploy it into your system.

Επίσης, the AUR supports a voting system whereby popular packages get placed into the more official [community] repository. Yaourt also supports an automated voting mechanism whereby, after installing a package via AUR, it asks if you want to vote for its inclusion in [community].

I estimate that the time taken for my Arch installation was about 90 minutes. I don’t recommend Archlinux for newbies though I κάνω recommend it for any Linux user who’s gotten bored with other distrosand wants to get into the nitty gritty without having to install Linux From Scratch. Arch Linux has been getting pretty popular these days. Its currently at number 14 επί Distrowatch.

* IF you know what you’re doing. AND YOU BETTER BLOODY KNOW WHAT YOU’RE DOING!
Μερίδιο