Tag-Archive for » ubuntu «

Sunday, August 04th, 2013 | Author:

Historikk

Mye hadde forandret seg siden sist jeg nevnte min personlige server – den har vokst i store sprang (den har nå en 7TB md RAID6) og det hadde nylig blitt ombygd med Ubuntu Server.

Arch var aldri en feil. Arch Linux hadde allerede lært meg så mye om Linux (og vil fortsette å gjøre det på min andre stasjonære). Men Arch krever definitivt mer tid og oppmerksomhet enn jeg ønsker å bruke på en server. Ideelt sett ville jeg foretrekker å være i stand til å glemme server for en stund før en påminnelse email sier “um … Det er et par oppdateringer du bør se på, buddy.”

Plass er ikke gratis – og det er heller ikke plass

Muligheten til å migrere til Ubuntu var det faktum at jeg hadde kjørt ut av SATA porter, portene som kreves for å koble harddisker til resten av maskinen – at 7TB RAID array bruker mye av porter! Jeg hadde selv gitt bort mitt svært gamle 200 GB harddisk som det tok opp en av disse portene. Jeg advarer også om mottakeren at diskens SMART overvåking indikerte at det var upålitelig. Som en midlertidig løsning på mangelen på SATA-porter, Jeg hadde selv flyttet serverens OS til et sett med fire USB-pinner i en md RAID1. Crazy. Jeg vet. Jeg var ikke så glade om hastigheten. Jeg bestemte meg for å gå ut og kjøpe en ny pålitelig harddisk og en SATA utvidelseskort å gå med det.

Serverens primære Arch partition brukte omtrent 7 GB av disken. En stor del av det var en bytte fil, bufrede data og ellers diverse og unødvendige filer. Samlet den faktiske størrelsen av OS, herunder /hjem mappe, var bare om lag 2 GB. Dette fikk meg til å se inn i en super-rask SSD kjøre, tenker kanskje en mindre en kanskje ikke så dyrt. Det viste seg at det billigste ikke-SSD-stasjon jeg kunne finne faktisk koste mer enn en av disse forholdsvis små SSD. Yay for meg. 🙂

Valg? Woah?!

I valg av OS, Jeg hadde allerede besluttet det ville ikke være Arch. Ut av alle de andre populære distribusjoner, Jeg er mest kjent med Ubuntu og CentOS. Fedora var også en mulighet – men jeg hadde ikke seriøst ennå ikke vurdert det for en server. Ubuntu vant runden.

Den neste avgjørelsen jeg måtte gjøre skjedde ikke for meg før Ubiquity (Ubuntu installasjon wizard) spurte den av meg: Hvordan sette opp partisjoner.

Jeg var ny på å bruke SSD i Linux – Jeg er fullstendig klar over fallgruvene ved ikke å bruke dem riktig, hovedsakelig på grunn av risikoen for dårlig levetid hvis det brukes feil.

Jeg ønsker ikke å bruke en dedikert swap partisjon. Jeg har tenkt på å oppgradere serveren hovedkort / CPU / minne ikke så langt i fremtiden. Basert på at jeg bestemte meg for jeg vil sette swap i en swap fil på den eksisterende md RAID. Swap vil ikke være spesielt rask, men det eneste formålet vil være for den sjeldne anledningen når noe har gått galt, og minnet er ikke tilgjengelig.

Dette deretter forlatt meg å gi rotbane den fulle 60GB ut av en Intel 330 SSD. Jeg betraktet skille / hjem, men det virket bare litt meningsløst, gitt hvor lite ble brukt i det siste. Jeg først satt opp partisjonen med LVM – noe jeg nylig har gjort når jeg satt opp en Linux boks (virkelig, det er ingen unnskyldning for ikke å bruke LVM). Når det kom til den delen hvor jeg ville konfigurere filsystemet, Jeg klikket på drop-down og instinktivt valgt ext4. Så la jeg merke btrfs i samme liste. Henge på!!

Men en hva?

Btrfs (“smør-eff-ess”, “bedre eff-ess”, “bee-tree-eff-ess”, eller hva du har lyst på dagen) er et relativt nytt filsystem utviklet for å bringe Linux’ filsystem evner tilbake på sporet med dagens filsystem tech. Den eksisterende King-of-the-Hill filsystem, “ext” (gjeldende versjon kalt ext4) er ganske bra – men det er begrenset, fast i et gammelt paradigme (tenke på en helt ny F22 Raptor vs. en F4 Phantom med en halv-Jested forsøk på en ekvivalens oppgradering) og vil neppe kunne konkurrere på veldig lenge med nyere Enterprise filsystemer som Oracles ZFS. Btrfs har fortsatt en lang vei å gå, og regnes fortsatt eksperimentell (avhengig av hvem du spør, og hvilke funksjoner du trenger). Mange anser det å være stabil i grunnleggende bruk – men ingen kommer til å gi noen garantier. Og, Selvfølgelig, alle sier å lage og teste backup!

Mooooooo

Den mest grunnleggende forskjellen mellom ext og btrfs er at btrfs er en “Ku” eller “Kopi på Skriv” filsystem. Dette betyr at data er aldri bevisst overskrevet av en såkalt innvendige. Hvis du skriver en endring i en fil, btrfs vil skrive endringene til en ny plassering på fysiske medier, og vil oppdatere interne pekere til å referere til den nye plasseringen. Btrfs går et skritt videre ved at de interne pekere (referert til som metadata) er også Ku. Eldre versjoner av ext ville ha bare overskrevet data. Ext4 ville bruke en Journal for å sikre at korrupsjon ikke vil forekomme bør støpselet bli yanked ut på det mest inopportune øyeblikk. Tidsskriftet resulterer i et tilsvarende antall skritt som kreves for å oppdatere data. Med en SSD, den underliggende maskinvaren opererer en lignende ku prosessen uansett hva filsystemet du bruker. Dette er fordi SSD-disker ikke kan faktisk overskrive data – de har til å kopiere dataene (med endringene) til et nytt sted, og deretter slette den gamle blokken helt. En optimalisering i dette området er at en SSD ikke kan selv slette den gamle blokken, men heller rett og slett lage et notat til å slette blokken på et senere tidspunkt når ting ikke er så opptatt. Sluttresultatet er at SSD-disker passer veldig godt med en ku filsystem og ikke utføre så godt med ikke-ku filsystemer.

Å lage saker interessant, Ku i filsystemet går lett hånd i hånd med en funksjon kalt deduplisering. Dette tillater to (eller mer) identiske blokker av data som skal lagres ved hjelp av bare en enkelt kopi, sparer plass. Med ku, hvis en deduplicated filen endres, den separate twin vil ikke bli påvirket som den modifiserte filens data vil ha blitt skrevet til en annen fysisk blokk.

Ku i sin tur gjør snapshotting relativt enkelt å implementere. Når et øyeblikksbilde er gjort i systemet registrerer bare den nye snapshot som en duplisering av alle data og metadata i volum. Med ku, når det gjøres endringer, øyeblikksbildet data forblir intakt, og en konsekvent visning av filsystemet status på det tidspunkt øyeblikksbildet ble gjort kan opprettholdes.

En ny venn

Med ovenstående i tankene, særlig ettersom Ubuntu har gjort btrfs tilgjengelig som install-tid alternativet, Jeg skjønte det ville være et godt tidspunkt å dykke inn btrfs og utforske litt. 🙂

Part 2 kommer snart …

Dele
Thursday, January 01st, 2009 | Author:

Apparently, what operating system you use can say a lot about you. If you’re using some form of *nix, which 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 aptitude 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 og Debian vel. 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) 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, however, 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” eller “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, for example, 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!

Om 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 script, 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 til 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 (for example, 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. For eksempel: 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 (vel, 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 pacmann, has built-in dependency and conflict handling. I use another package manager, yaourt (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, eller 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.

Også, 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 do 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 on Distrowatch.

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