Tag-Archive for » ubuntu «

Domenica, 4 agosto, 2013 | Autore:

Storia

Molto era cambiato dall'ultima volta che ho detto la mia server personale – è cresciuto a passi da gigante (ora ha un 7TB md RAID6) ed era stata recentemente ricostruita con Ubuntu Server.

Arco non è mai un errore. Arch Linux mi aveva già insegnato tanto su Linux (e continuerà a farlo sul mio desktop dall'altro). Ma Arch richiede sicuramente più tempo e attenzione di quanto vorrei spendere su un server. Idealmente Preferirei essere in grado di dimenticare il server per un po 'fino a quando un promemoria via email, dice “um … ci sono un paio di aggiornamenti che si dovrebbe guardare, amico.”

Lo spazio non è gratuito – e nessuno dei due è spazio

La possibilità di migrare a Ubuntu è stato il fatto che avevo esaurito SATA porti, le porte richieste per collegare i dischi fissi al resto del computer – che array RAID 7TB utilizza un sacco di porte! Avevo anche dato via il mio molto vecchio disco rigido da 200GB come ha preso una di quelle porte. Ho anche avvertito il destinatario che il disco SMART monitoraggio indicato che era inaffidabile. Come soluzione temporanea alla mancanza di porte SATA, Avevo anche migrato il sistema operativo del server per un set di quattro chiavi USB in un MD RAID1. Pazzo. Lo so. Non ero troppo contento della velocità. Ho deciso di uscire e comprare un nuovo hard disk affidabili e una scheda di espansione SATA per andare con esso.

Partizione di Arch principale del server è stato utilizzato circa 7 GB di disco. Una grossa fetta di che era un scambiare File, dati memorizzati nella cache e file altrimenti varie o inutili. Generale la dimensione effettiva del sistema operativo, compresa la /domestico cartella, era solo circa 2 GB. Questo mi ha spinto a guardare in un super-veloce SSD guidare, pensando forse una più piccola potrebbe non essere così costoso. Si è scoperto che l'unità SSD più economico non sono riuscito a trovare in realtà costava di più di uno di questi SSD relativamente piccole. Yay per me. 🙂

Scelta? Woah?!

Nella scelta del sistema operativo, Avevo già deciso che non sarebbe Arch. Di tutte le altre distribuzioni popolari, Io sono più familiarità con Ubuntu e CentOS. Fedora era anche una possibilità – ma non avevo ancora preso in considerazione seriamente per un server. Ubuntu ha vinto il round.

La decisione successiva ho dovuto fare non si è verificato a me fino a Ubiquity (Installazione di Ubuntu guidata) ha chiesto di me: Come impostare la partizioni.

Ero di nuovo da usare SSD in Linux – Sono ben consapevole delle insidie ​​di non usarle correttamente, in gran parte a causa del loro rischio di longevità scarsa utilizzo improprio.

Non volevo usare una partizione di swap dedicata. Ho intenzione di aggiornare scheda madre del server / CPU / memoria non troppo lontano nel futuro. Sulla base di che ho deciso io metterò di swap in un file di swap su RAID md esistente. Lo swap non sarà particolarmente veloce, ma il suo unico scopo sarà per quella rara occasione, quando qualcosa è andato storto e la memoria non è disponibile.

Questo poi ha lasciato me per dare il percorso principale la piena 60GB su un Intel 330 SSD. Ho considerato la separazione / casa, ma mi sembrava un po 'inutile, Dato quanto poco è stato utilizzato in passato. Ho creato la partizione con LVM – qualcosa che ho fatto di recente quando ho creato una macchina Linux (davvero, non ci sono scuse per non usare LVM). Quando è arrivata al punto in cui avrei configurare il filesystem, Ho cliccato sul menu a discesa e istintivamente selezionato ext4. Poi ho notato btrfs nella medesima lista. Aspetta!!

Ma una cosa?

Btrfs (“burro-eff-ess”, “meglio-eff-ess”, “bee-tree-eff-ess”, o qualsiasi altra cosa si voglia il giorno) è un relativamente nuovo filesystem sviluppato al fine di portare Linux’ capacità di filesystem di nuovo in pista con corrente filesystem tecnologia. Il re-of-the-Hill esistente filesystem, “ext” (la versione corrente chiamata ext4) è abbastanza buono – ma è limitata, bloccato in un vecchio paradigma (pensare ad un nuovo marchio F22 Raptor vs. un F4 Phantom con un tentativo poco jested ad un aggiornamento di equivalenza) ed è improbabile che sia in grado di competere per molto tempo con i nuovi filesystem Enterprise come ZFS di Oracle. Btrfs ha ancora una lunga strada da percorrere ed è ancora considerato sperimentale (a seconda di chi si chiede e quali caratteristiche avete bisogno). Molti ritengono che sia stabile per l'utilizzo di base – ma nessuno sta andando a fare alcuna garanzia. E, naturalmente, tutti dicono per realizzare e testare i backup!

Mooooooo

La differenza fondamentale tra ext e Btrfs è che btrfs è un “CoW” o “Copia Scrivi” filesystem. Ciò significa che i dati non è mai in realtà deliberatamente sovrascritto da interni del filesystem. Se si scrive una modifica a un file, btrfs scriverà le modifiche in una nuova posizione su supporti fisici e aggiorna i puntatori interni per fare riferimento alla nuova posizione. Btrfs fa un passo avanti in quanto tali puntatori interni (indicato come metadati) sono anche CoW. Le versioni precedenti di ext avrebbe semplicemente sovrascritto i dati. Ext4 avrebbe utilizzato una rivista per garantire che la corruzione non si verificherà se la spina CA essere tirato fuori al momento più inopportuno. I risultati rivista in un numero simile di passi necessari per aggiornare i dati. Con un SSD, l'hardware sottostante opera un processo CoW simile non importa quale filesystem stai usando. Questo perché le unità SSD non può effettivamente sovrascrivere i dati – devono copiare i dati (con le modifiche) in una nuova posizione e poi cancellare il vecchio blocco interamente. Una ottimizzazione in questo settore è che un SSD potrebbe anche non cancellare il vecchio blocco, ma piuttosto semplicemente fare una nota per cancellare il blocco in un secondo momento, quando le cose non sono così occupati. Il risultato finale è che le unità SSD si adattano molto bene con un filesystem di mucca e non si comportano così con i file system non-mucca.

Per rendere le cose interessanti, Mucca nel filesystem va facilmente di pari passo con una funzione chiamata di deduplicazione. Questo permette a due (o più) blocchi identici di dati da memorizzare utilizzando solo una singola copia, risparmio di spazio. Con mucca, se un file viene modificato deduplicati, il gemello separato non saranno interessati come i dati del file modificato sarà sono state scritte in un altro blocco fisico.

CoW a sua volta rende snapshot relativamente facile da implementare. Quando uno snapshot è fatto il sistema registra semplicemente la nuova istantanea come una duplicazione di tutti i dati e metadati all'interno del volume. Con mucca, quando vengono apportate modifiche, dati dello snapshot rimane intatto, e una visione coerente dello stato del filesystem al momento è stata effettuata l'istantanea può essere mantenuta.

Un nuovo amico

Con in mente quanto sopra, tanto più che Ubuntu ha reso btrfs disponibile come opzione al momento dell'installazione, Ho pensato che sarebbe stato un buon momento per tuffarsi in Btrfs ed esplorare un po '. 🙂

Parte 2 in arrivo …

Condividere
Thursday, January 01st, 2009 | Autore:

Apparentemente, what operating system you use can say a lot about you. If you’re using some form of *nix, che 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 attitudine 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 e Debian bene. 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 Fedora 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) non sarà, 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, tuttavia, they’re not going to be so lucky unless they like using “beta” 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” o “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, per esempio, 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!

Circa 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 bash copione, 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 a 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 (per esempio, 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. Per esempio: 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. Instead, Arch Linux caught his eye. Arch Linux is a rolling-release (like Gentoo), binary-based (like Ubuntu) distribution. Its packages (bene, 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 pacuomo, has built-in dependency and conflict handling. I use another package manager, yogurt (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, o 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.

Anche, the AUR supports a voting system whereby popular packages get placed into the more official [community] deposito. 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 fare 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 su Distrowatch.

* IF you know what you’re doing. AND YOU BETTER BLOODY KNOW WHAT YOU’RE DOING!
Condividere