Tag-Archive for » ubuntu «

Axad, Ogosto 04th, 2013 | Qoraa:

Taariikhda

Inbadan ayaa isbadalay tan iyo markii ugu dambeysay ee aan sheego server shaqsiyeed – waxay ku kortay boodbooyin iyo soohdin (waxay hadda leedahay 7TB md RAID6) oo mar dhow ayaa dib loo dhisay iyadoo Ubuntu Server.

Gawaarida marna qalad ma ahayn. Arch Linux horey wax badan buu iiga baray Linux (oo waan kusii wadi doonaa inaan ku sameeyo desktop-kayga kale). Laakiin Arch xaqiiqdii waxay u baahan tahay waqti iyo feejignaan ka badan intii aan jeclaan lahaa inaan ku qaato serverka. Fikrad ahaan waxaan jeclaan lahaa inaan awoodo inaan iska iloobo adeegaha in yar illaa iimayl xusuusin ah uu dhaho “a … waxaa jira laba casriyeyn ah oo ay tahay inaad fiiriso, saaxiib.”

Meel bannaan maahan – mana aha mid bannaan

Fursadda aan ugu haajiro Ubuntu waxay ahayd xaqiiqda oo ah inaan ka dhammaaday SATA dekedaha, dekedaha loo baahan yahay inay ku xirmaan darawallada adag kombiyuutarka intiisa kale – in soo diyaarinta 7TB RAID ay isticmaasho dekedo badan! Xitaa waan bixiyay aad duug ah 200GB disk adag maadaama ay qaadatay mid ka mid ah dekedahaas. Waxaan sidoo kale uga digay qaataha in diskiga SMART kormeerku wuxuu muujiyey in aan lagu kalsoonaan karin. Sida ku-meel-gaadhka ku-meel-gaadhka ah ee la'aanta dekeddaha SATA, Xitaa waxaan u haajiray OS-ka adeegaha illaa afar xirmo oo USB ah oo ku jira md RAID1. Waali. waan ogahay. Aad uma aanan faraxsanayn xawaaraha. Waxaan go aansaday inaan baxo oo aan iibsado darawal adag oo la isku halleyn karo iyo kaarka ballaarinta SATA si aan ula socdo.

Qeybinta aasaasiga ah ee 'Arch server' waxay isticmaaleysay qiyaastii 7GB disk ah. Qeyb weyn oo ka mid ah taas ayaa ahayd a isdhaafsasho faylka, xogta keydsan iyo haddii kale faylal kaladuwan ama aan loo baahnayn. Guud ahaan cabirka dhabta ah ee OS, ay ka mid yihiin /guriga galka, wuxuu ahaa oo keliya qiyaastii 2GB. Tani waxay igu kaliftay inaan fiiriyo super-soon SSD wadid, ka fikirida mid ka yar in uusan sidaa qaali u ahayn. Waxaa ii soo baxday in kan ugu raqiisan ee aan ahayn SSD-ka ee aan runtii ku heli lahaa qiime dheeraad ah marka loo eego mid ka mid ah SSD-yadaas yar yar. Haa aniga. 🙂

Xulasho? Woah?!

Xulashada OS, Waxaan horey u go’aansaday inaysan Arch noqon doonin. Dhamaan qeybiyeyaasha kale ee caanka ah, Waxaan aad u aqaan Ubuntu iyo CentOS. Fedora sidoo kale waxay ahayd macquul – laakiin si dhab ah ugama aanan fakarin wali server. Ubuntu ayaa ku guuleysatay wareegga.

Go’aanka xiga ee aan qaadan lahaa aniga iguma soo dhicin ilaa Ubilence (Saaxir rakibaadda Ubuntu) ayaa iga weydiisay: Sida loo dejiyo xijaab.

Waxaan ku cusbaa isticmaalka SSD-ka Linux – Waxaan si fiican uga warqabaa khaladaadka jira ee aanan sida saxda ah u isticmaalin, badanaa waxay ugu wacan tahay halistooda cimri dherer xumo haddii si qaldan loo adeegsado.

Ma aanan dooneynin inaan isticmaalo qayb isku beddel ah. Waxaan qorsheynayaa kor u qaadista server-ka hooyada / CPU / Memory-ka ee aan aad ugu fogeyn mustaqbalka. Iyada oo ku saleysan taas ayaan go'aansaday inaan ku beddelanayo faylka isku-beddelka md RAID-da jirta. Isweydaarsigu si gaar ah uma noqon doono mid deg deg ah laakiin ujeedadiisa kaliya ayaa noqon doonta munaasabadaas dhifka ah marka wax khaldamaan oo xusuusta aan la helin.

Tani waxay markaa iga tagtay inaan siiyo wadada xididka 60GB buuxa ee ka mid ah Intel 330 SSD. Waxaan ka fiirsaday kala tag / guri laakiin waxay umuuqatay wax aan micno lahayn, la siiyay inta yar ee la isticmaali jiray waagii hore. Waxaan marka hore qotomiyey xijaab leh LVM – wax aan dhawaanahan sameynayay markasta oo aan dejiyo sanduuq Linux ah (run ahaantii, ma jirto wax cudurdaar ah oo aan loo isticmaalin LVM). Markay gaadhay qaybtii aan ku habayn lahaa nidaamka faylasha, Waxaan dhajiyay hoos-u-dhaca oo si xamaasad leh u xushay ext4. Kadib waxaan ku arkay btrfs isla liistada. Sudhan!!

Laakiin maxay tahay?

Btrfs (“subag-eff-ess”, “fiican-eff-ess”, “shinni-geed-eff-ess”, ama wax kastoo aad ujeceshahay maalinta) waa nidaam cusub oo faylal ah oo loo soo saaray Linux’ awoodaha faylasha ee nidaamka saxda ah ee nidaamka casriga ah. Nidaamka faylasha ee jira ee King-of-the-Hill, “dheeraad ah” (nooca hada la yiraahdo ext4) waa wax fiican – laakiin waa xaddidan tahay, ku xayiran muuqaal hore (ka fikir nooc cusub F22 Raptor vs. ah F4 Phantom oo leh isku day nus kaftan ah oo lagu hagaajinayo u dhigma) umana badna inay awood u yeelan karto inay muddo dheer la tartanto nidaamyada faylasha cusub ee Enterprise sida Oracle’s ZFS. Btrfs wali waddo dheer ayaa loo hayaa welina waxaa loo arkaa tijaabo (waxay kuxirantahay qofka aad weydiiso iyo astaamaha aad ubaahantahay). Kuwo badan waxay u tixgeliyaan inay xasilloon tahay isticmaalka aasaasiga ah – laakiin cidina ma samaynayso dammaanad qaad. Iyo, Dabcan, qof walba wuxuu dhahayaa sameyso oo tijaabiyo keyd!

Mooooooo

Farqiga ugu aasaasiga ah ee u dhexeeya ext iyo btrfs ayaa ah in btrfs-ku uu yahay a “CoW” ama “Nuqul ku qor” nidaamka faylasha. Tani waxay ka dhigan tahay in xogta aan si dhab ah si ula kac ah dib loogu qoro gudaha nidaamka faylasha. Haddii aad u qorto isbeddel feyl, btrfs waxay kuu qori doonaan isbeddeladaada meel cusub oo ku saabsan warbaahinta jirka waxayna cusbooneysiin doonaan tilmaamayaasha gudaha si ay u tixraacaan goobta cusub. Btrfs waxay tallaabo dheeri ah u qaadaysaa tilmaamayaashaas gudaha ah (loo yaqaan metadata) yihiin sidoo kale CoW. Noocyadii hore ee ext ayaa si fudud dib loogu qori lahaa xogta. Ext4 waxay isticmaali doontaa Joornaal si loo hubiyo in musuqmaasuqu uusan dhici doonin haddii fiilada AC laga siibto xilliga ugu habboon. Joornaalku wuxuu ku soo baxayaa tiro tallaabooyin la mid ah oo loo baahan yahay si loo cusbooneysiiyo xogta. Iyada oo leh SSD, qalabka hoose wuxuu ku shaqeeyaa nidaam la mid ah CoW iyadoon loo eegin nooca faylasha aad isticmaaleysid. This is because SSD drives cannot actually overwrite datathey have to copy the data (with your changes) to a new location and then erase the old block entirely. An optimisation in this area is that an SSD might not even erase the old block but rather simply make a note to erase the block at a later time when things aren’t so busy. The end result is that SSD drives fit very well with a CoW filesystem and don’t perform as well with non-CoW filesystems.

To make matters interesting, CoW in the filesystem easily goes hand in hand with a feature called deduplication. This allows two (or more) identical blocks of data to be stored using only a single copy, saving space. With CoW, if a deduplicated file is modified, the separate twin won’t be affected as the modified file’s data will have been written to a different physical block.

CoW in turn makes snapshotting relatively easy to implement. When a snapshot is made the system merely records the new snapshot as being a duplication of all data and metadata within the volume. With CoW, when changes are made, the snapshot’s data stays intact, and a consistent view of the filesystem’s status at the time the snapshot was made can be maintained.

A new friend

With the above in mind, especially as Ubuntu has made btrfs available as an install-time option, I figured it would be a good time to dive into btrfs and explore a little. 🙂

Qaybta 2 coming soon

Share
Thursday, January 01st, 2009 | Qoraa:

Sida muuqata, 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 iyo Debian iyo sidoo kale. 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” ama “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!

Ku saabsan 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 qoraalka, 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 si ay u 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. Tusaale ahaan: 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 (iyo sidoo kale, 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 pacNin, 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, ama 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.

Sidoo kale, 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!
Share