Προγραμματισμός

Ανασκόπηση: Ο διακομιστής Ubuntu 16.04 LTS λάμπει

Το Ubuntu 16.04 LTS (Xenial Xerus) αντιπροσωπεύει την πρώτη κυκλοφορία από την Canonical για μακροπρόθεσμη υποστήριξη από το 2011 (έκδοση 14). Ενώ οι τελευταίες βελτιώσεις μπορεί να μην είναι απολύτως επαναστατικές, το Ubuntu 16.04 συγκεντρώνει συναρπαστικά χαρακτηριστικά για να ενισχύσει τη βάση του διακομιστή και να βελτιώσει την εμπειρία της επιφάνειας εργασίας. εξέτασε τη νέα έκδοση για επιτραπέζιους υπολογιστές τον Απρίλιο. Σε αυτήν την κριτική, θα επικεντρωθώ στον διακομιστή.

Μία από τις βασικές ενημερώσεις αυτής της έκδοσης έρχεται μέσω του νέου αρχείου πακέτου Snap. Τα αποθετήρια LTS της Canonical ξεπερνούνται από τους σύγχρονους κύκλους έκδοσης λογισμικού. Είναι η κλασική αντιστάθμιση για τη σταθερότητα: Η Canonical κινείται αργά για να υιοθετήσει νέες εκδόσεις πακέτων προκειμένου να ελέγξει τις εφαρμογές και να διασφαλίσει ότι δεν θα καταστρέψει το σύστημά σας. Δυστυχώς, αυτό προκαλεί χρόνο καθυστέρησης που αφήνει τους χρήστες να περιμένουν καθώς το πιο πρόσφατο και καλύτερο λογισμικό τους περνά.

Τα πακέτα Snap - που γεννήθηκαν από τις προσπάθειες ανάπτυξης του Ubuntu για κινητά - προσφέρουν ένα αυτόνομο περιβάλλον που εγκαθιστά κώδικα και όλες τις εξαρτήσεις του και την ασφάλεια σε καταλόγους με sandbox. Τα στιγμιότυπα εκτελούνται παράλληλα με τις άλλες εφαρμογές σας και τα παραδοσιακά πακέτα Deb χωρίς να εναλλάσσονται μεταξύ τους ή με την κανονική βάση κώδικα. Οι προγραμματιστές μπορούν να προωθήσουν (και να ανακαλέσουν) τις ενημερώσεις ελεύθερα και οι χρήστες ξεκινούν τις τελευταίες κυκλοφορίες χωρίς να ανησυχούν για τη σταθερότητα του συστήματος. Όλοι είναι χαρούμενοι… ή θα είναι, καθώς περισσότεροι προγραμματιστές αρχίζουν να κυκλοφορούν τα προϊόντα τους σε μορφή πακέτου Snap.

Πιο βαθιά, το Ubuntu 16.04 επαναφέρει το λειτουργικό σύστημα σε συγχρονισμό με μακροπρόθεσμη υποστήριξη πυρήνα (όπως Linux 14.4 LTS), προσφέρει κοντέινερ σε επίπεδο συστήματος και διαχείριση κοντέινερ τύπου VM με LXD και εισάγει εγγενή υποστήριξη πυρήνα για την αποθήκευση ZFS σύστημα σε διακομιστές 64-bit.

Επιπλέον, η Canonical συνεχίζει να επεκτείνει το εύρος της εντυπωσιακής της πλατφόρμας. Με την προσθήκη IBM LinuxONE και IBM z Systems που προστέθηκε πρόσφατα, η υποστήριξη του Ubuntu εκτείνεται από φορητές συσκευές σε mainframe.

Να εξυπηρετούνται

Η ρουτίνα εγκατάστασης για τον Ubuntu Server 16.04 τελείωσε χωρίς κανένα πρόβλημα στις νέες εγκαταστάσεις μου. Η επιτόπια ενημέρωση, ωστόσο, δεν πήγε τόσο ομαλά.

Σε μια υπάρχουσα βάση 64-bit Ubuntu 14, το εμπόδιο προήλθε από το MySQL 5.7 που δεν κατάφερε να εγκατασταθεί. Για την επίλυση του προβλήματος απαιτείται μη αυτόματη κατάργηση όλων των ιχνών της MySQL, της μερικής εγκατάστασης του 5.7 και των αρχείων διαμόρφωσης. Ακόμα και τότε, έπρεπε να το κάνω κατάλληλη εκκαθάριση Το MySQL πριν από τη νέα εγκατάσταση θα χρειαζόταν.

Εάν χρησιμοποιείτε το do-release-αναβάθμιση εντολή από το πακέτο ενημέρωσης-διαχειριστή-πυρήνα, λάβετε υπόψη ότι πρέπει να χρησιμοποιήσετε το -ρε σημαία ανάπτυξης για να βρείτε την ενημέρωση. Οι επίσημες ενημερώσεις δεν είναι ορατές παρά μόνο μετά την πρώτη κουκκίδα χρησιμοποιώντας αυτήν τη μέθοδο.

Αξίζει επίσης να σημειωθεί ότι αυτή είναι η πρώτη έκδοση LTS που υιοθέτησε το μοντέλο systemd init bootstrapping. Παρόλο που οι χρήστες του Debian Jessie και του Ubuntu 15.10 έχουν ήδη βιώσει τη μετεγκατάσταση, τα προσαρμοσμένα σενάρια του Ubuntu 14 Upstart θα απαιτήσουν τροποποίηση καθώς προσαρμόζεστε στη νέα σουίτα εργαλείων του συστήματος.

Διαφορετικά, η αναβάθμιση ήταν ομαλή.

Καλώς ήλθατε ZFS

Γεννημένος στις μέρες του Solaris, το ZFS είναι μέρος του συστήματος αρχείων και του τμήματος διαχείρισης τόμου. Συσκευασμένο με συναρπαστικές διατάξεις για συγκέντρωση δίσκων, συνεχή ανίχνευση διαφθοράς, συντήρηση στιγμιότυπων και ενσωματωμένη συμπίεση, το ZFS συμβάλλει σημαντικά στην ακεραιότητα του όγκου και την αξιοπιστία δεδομένων ελαχιστοποιώντας ταυτόχρονα τη διοικητική προσπάθεια. Επιπλέον, οι δυνατότητες κλωνοποίησης copy-on-write του ZFS το καθιστούν φυσικό συνεργάτη για τα κοντέινερ LXD της Canonical.

Παραδόξως, παρόλο που τα κομμάτια υποστήριξης βρίσκονται στο Dynamic Kernel Module Support (DKMS), έπρεπε ακόμη να εγκαταστήσω το ZFS χειροκίνητα. Αλλά τώρα που το ZFS βρίσκεται στον πυρήνα, η εγκατάσταση δεν απαιτεί πια με τα Προσωπικά Αρχεία Πακέτων (PPAs) ή δομικές μονάδες. Απλώς εγκαταστήστε τα βοηθητικά προγράμματα ZFS (εγκαταστήστε το zfsutils-linux) και έχετε ό, τι χρειάζεστε για να ξεκινήσετε τη ρύθμιση παραμέτρων αποθήκευσης (zpools) και RAID από τη γραμμή εντολών.

Ωστόσο, υπάρχουν μερικές επιφυλάξεις που πρέπει να γνωρίζετε. Πρώτον, το ZFS υποστηρίζεται προς το παρόν μόνο σε αρχιτεκτονικές Ubuntu 64-bit. Δεύτερον, υποστηρίζεται μόνο για αποθήκευση δεδομένων, που σημαίνει ότι δεν υπάρχει ακόμη υποστήριξη για την εγκατάσταση του ZFS ως ριζικού συστήματος αρχείων σας.

Τούτου λεχθέντος, θα μπορούσατε να επιλύσετε το ζήτημα του συστήματος αρχείων κάνοντας ένα περιβάλλον με το Xenial Live CD: Εγκαταστήστε το ZFS στο περιβάλλον του Live CD, αντικαταστήστε ένα σύνολο δεδομένων για το ριζικό σύστημα αρχείων, εγκαταστήστε ένα ελάχιστο σύστημα, ρυθμίστε το grub και το swap και, στη συνέχεια, επανεκκινήστε για να αναβαθμίσετε το τελικό σύστημα.

Η διαδικασία είναι κουραστική, σίγουρα. Η Canonical πρέπει να αντιμετωπίσει αυτήν την πολυπλοκότητα με απρόσκοπτους οδηγούς εγκατάστασης, καθώς και ρουτίνες για τον εξορθολογισμό της παροχής και διαχείρισης αποθήκευσης ZFS.

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

Παρουσιάζουμε το LXD

Μια άλλη καυτή προσθήκη είναι η συμπερίληψη του LXD container manager της Canonical. Τα εμπορευματοκιβώτια LXD λειτουργούν με την απλότητα των εικονικών μηχανών, αλλά μπορούν να λειτουργήσουν σε γυμνά μέταλλα - ως δοχεία μηχανών - χωρίς όλα τα γενικά έξοδα μιας VM. Για παράδειγμα, μπόρεσα να συσκευάσω και να εκκινήσω ένα κοντέινερ Docker (υποστηρίζεται Docker 1.10.3) μέσα σε ένα κοντέινερ μηχανών LXD. Ο ελαφρύς χρόνος εκτέλεσης του "hypervisor" LXD βοηθά στη βελτιστοποίηση της πυκνότητας των κοντέινερ, ενώ το Fan Networking του επιτρέπει να δικτυώνετε όλα τα κοντέινερ σας χρησιμοποιώντας μια απλή ρύθμιση βάσει script. (Αλλά φροντίστε να εγκαταστήσετε το πακέτο ανεμιστήρα ubuntu.)

Το LXD τρέχει γρήγορα, και μπορεί να εγκατασταθεί σε σχεδόν οποιαδήποτε αρχιτεκτονική - από το Raspberry Pi έως τα mainframes. Επειδή η Canonical κινείται σε κλειδαριά με το OpenStack, υπάρχει ακόμη μια προσθήκη στην τρέχουσα σταθερή κυκλοφορία του Mitaka.

Το LXD βασίζεται στη βιβλιοθήκη κοντέινερ LXC της Canonical, η οποία παρέχει όλα όσα χρειάζεστε για διαχείριση κοντέινερ χαμηλού επιπέδου αλλά δεν διαθέτει τα εργαλεία για φιλική προς το χρήστη διαμόρφωση και υιοθέτηση Το LXD συμπληρώνει το API διαχείρισης κοντέινερ LXC με ένα νέο REST API για απλοποίηση της πρόσβασης διαχείρισης.

Η Canonical έχει ενσωματώσει όλες τις προϋποθέσεις σε ένα μόνο πακέτο, οπότε το LXD είναι εύκολο να εγκατασταθεί (εγκαταστήστε lxd). Τρέξιμο LXD init θα σας καθοδηγήσει στη ρουτίνα διαμόρφωσης, θα σας ζητήσει πληροφορίες δικτύου, κωδικό πρόσβασης και τύπο αποθήκευσης (προτείνω να χρησιμοποιήσετε το ZFS για καλύτερη απόδοση). Με την τοπολογία του δικτύου σας φορτωμένη, το LXD χρησιμεύει ως ο εικονικός δρομολογητής στα κοντέινερ σας, διαχειρίζοντας όλους τους πόρους του συστήματος και τις διαμορφώσεις ασφαλείας.

Εάν είστε εξοικειωμένοι με το Docker, θα νιώσετε σαν στο σπίτι σας με τα κοντέινερ με βάση την εικόνα της LXD. Όπως το Docker, το LXD σάς επιτρέπει να εισάγετε εικόνες από τοπικά ή απομακρυσμένα αποθετήρια (χρήση Απομακρυσμένη λίστα lxc για εμφάνιση διαθέσιμων πηγών). ο εκτόξευση Η εντολή ενεργοποιεί το LXD για να τραβήξει την εικόνα προέλευσης, να δημιουργήσει το κοντέινερ και να περιστρέψει το μηχάνημα.

Το LXD λάμπει πραγματικά στα εργαλεία του για τη διαχείριση κοντέινερ που τρέχει. Το LXD παρέχει γρήγορη πρόσβαση σε ένα κέλυφος bash μέσα σε κάθε κοντέινερ, επιτρέπει την ώθηση και τράβηγμα αρχείων μεταξύ του κοντέινερ και του συστήματος κεντρικού υπολογιστή, και υποστηρίζει ακόμη και στιγμιότυπα και ζωντανές μετακινήσεις. Μπορείτε να εκτελέσετε ενημερώσεις και να εκτελέσετε πολλές εφαρμογές (συμπεριλαμβανομένου του Docker) σε ένα μόνο, εκτελώντας LXD.

Στο μειονέκτημα, η διαχείριση κοντέινερ LXD περιορίζεται στη γραμμή εντολών, αν και οι διαδικτυακές GUI είναι διαθέσιμες από την ευρύτερη κοινότητα. Προς το παρόν η προσθήκη nova-compute-lxd OpenStack μπορεί να διευκολύνει τη διαχείριση σε κλίμακα.

Αρχικά, η κυκλοφορία του Ubuntu Server 16.04 LTS μπορεί να φαίνεται ότι στερείται τεράστιου παράγοντα. Αλλά αυτό είναι ένα σταθερό πακέτο που συνδυάζει μελλοντικές βελτιώσεις με τη χαρακτηριστική προσέγγιση του Ubuntu και τη σταθερότητα μιας έκδοσης μακροπρόθεσμης υποστήριξης.

Τα πακέτα Snap πρέπει να διευκολύνουν και να είναι ασφαλέστερα να συμβαδίζουν με τις νέες εκδόσεις λογισμικού. Το ZFS φέρνει μια γρήγορη, επεκτάσιμη, επιλογή αποθήκευσης εταιρικού επιπέδου. Το LXD καλύπτει ένα σημαντικό κενό στο τοπίο εικονικοποίησης, συμπληρώνοντας τα κοντέινερ προσανατολισμένα στην εφαρμογή του Docker με κοντέινερ συστήματος που μπορούν να διαχειριστούν όπως οι εικονικές μηχανές.

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

Πίνακας βαθμολογίαςΧαρακτηριστικά (30%) Διαχείριση (30%) Ευκολία στη χρήση (15%) Ασφάλεια (15%) αξία (10%) Συνολική βαθμολογία (100%)
Διακομιστής Ubuntu 16.04 LTS988810 8.5