Tag-Archive for » linux «

Sondag, 4 Augustus, 2013 | Author:

Ek het 'n kragonderbreking invloed op my bediener se groot MD RAID verskeidenheid. Eerder as laat die bediener as 'n geheel af te wees terwyl hulle wag vir dit 'n te voltooi fsck, Ek het dit boonop sonder die groot verskeidenheid so ek kon die fsck hand loop.

Egter, toe loop dit met die hand het ek besef ek het geen manier om te weet hoe ver dit is en hoe lank dit sal neem om te voltooi. Dit is veral problematies met so 'n groot verskeidenheid. Met 'n bietjie soek het ek gevind dat die punt van die toevoeging van die-C parameter toe roep fsck. Ek kon dit nie vind dit in die dokumentasie egter: fsck –help het nie so 'n opsie.

Die opsie blyk te wees ext4-spesifieke, en dus toon 'n perfek funksionele progress bar met 'n persentasie aanwyser. Die inligting te vind, in plaas van “fsck –help” of “man fsck”, jy het om insette “fsck.ext4 –help” of “man fsck.ext4”. 🙂

Deel
Sondag, 4 Augustus, 2013 | Author:

Geskiedenis

Baie het verander sedert ek laas genoem my persoonlike bediener – dit het gegroei deur spronge en perke (Dit het nou '7TB MD RAID6) en dit het onlangs herbou met Ubuntu Bediener.

Boog was nog nooit 'n fout. Arch Linux het reeds my geleer het so baie oor Linux (en sal voortgaan om dit te doen op my ander lessenaar). Maar Arch vereis beslis meer tyd en aandag as wat ek wil om te spandeer op 'n bediener. Ideaal Ek sou verkies om in staat wees om te vergeet van die bediener vir 'n rukkie totdat 'n herinnering e-pos sê “um … daar is 'n paar updates moet jy kyk na, buddy.”

Ruimte is nie vry – en is ook nie ruimte

Die geleentheid om te migreer na Ubuntu was die feit dat ek het hardloop uit SATA hawens, die hawens vereis hard dryf om toegang tot die res van die rekenaar – dat 7TB RAID reeks maak gebruik van 'n baie hawens! Ek het selfs weggegee my baie ou 200GB hardeskyf as wat dit geneem het om een ​​van die hawens. Ek het ook gewaarsku dat die ontvanger dat die skyf se SMART monitering aangedui dit is onbetroubaar. As 'n tydelike oplossing tot die gebrek aan SATA poorte, Ek het selfs migreer die bediener se bedryfstelsel op 'n stel van vier USB stokkies in 'n besturende direkteur RAID1. Crazy. Ek weet. Ek was nie te gelukkig oor die spoed. Ek het besluit om uit te gaan en 'n nuwe betroubare hardeskyf en 'n SATA uitbreiding kaart te gaan met dit koop.

Die bediener se primêre Arch verdeling gebruik oor 7GB van skyf. 'N groot deel van dit was 'n ruil lêer, data in die cache en andersins diverse of onnodige lêers. Overall die werklike grootte van die OS, insluitend die /huis gids, was net oor 2GB. Dit het my genoop om te kyk na 'n super-vinnige SSD ry, dink dalk 'n kleiner een is dalk nie so duur. Dit blyk dat die goedkoopste nie-SSD ry ek kon eintlik vind kos meer as een van hierdie relatief klein SSDs. Yay vir my. 🙂

Keuse? Woah?!

In die keuse van die OS, Ek het reeds besluit om dit nie sou wees Arch. Uit al die ander gewilde verdelings, Ek is die meeste vertroud is met Ubuntu en CentOS. Fedora was ook 'n moontlikheid – maar ek het nog nie ernstig beskou dit as 'n bediener. Ubuntu het die ronde.

Die volgende besluit wat ek moes maak nie plaasgevind het nie vir my tot Ubiquity (Ubuntu se installasie wizard) dit van my gevra: Hoe om die opstel van die mure.

Ek was 'n nuwe te gebruik SSDs in Linux – Ek is deeglik bewus van die slaggate van nie gebruik dit korrek, meestal as gevolg van hul risiko van swak langslewendheid as misbruik.

Ek wou nie 'n toegewyde ruilpartisie te gebruik. Ek is van plan op die opgradering van die bediener se moederbord / CPU / geheue nie te ver in die toekoms. Gebaseer op wat ek besluit ek swap gestel sal word in 'n ruillêer op die bestaande md RAID. Die ruil sal nie besonder vinnig, maar sy enigste doel sal wees vir daardie rare geleentheid wanneer iets verkeerd geloop en die geheue is nie beskikbaar nie.

Dit het toe vir my die te gee wortel pad die volle 60GB uit 'n Intel 330 SSD. Ek het dit oorweeg / home te skei, maar dit was net 'n bietjie nutteloos, hoe min is gebruik in die verlede. Ek het die eerste stel met die verdeling LVM – iets wat ek het onlangs te doen wanneer ek die opstel van 'n Linux box (regtig, Daar is geen verskoning nie LVM te gebruik). Wanneer dit by die deel waar ek sou die lêerstelsel instel, Ek het op die drop-down en instinktief gekies ext4. Toe sien ek Btrfs in dieselfde lys. Hang aan!!

Maar 'n wat?

Btrfs (“botter-eff-ess”, “beter-eff-ess”, “Bee-boom-eff-ess”, of wat ookal jy fancy op die dag) is 'n relatief nuwe lêerstelsel ontwikkel om Linux te bring’ lêerstelsel vermoëns terug op die regte spoor met die huidige lêerstelsel tech. Die bestaande Koning-van-die-Hill lêerstelsel, “ext” (die huidige weergawe genaamd ext4) is redelik goed – maar dit is beperk, vas in 'n ou paradigma (dink aan 'n splinternuwe F22 Raptor vs. 'n F4 Phantom met 'n half-jested poging om 'n opgradering equivalentiefactoren) en dit is onwaarskynlik in staat wees om te kompeteer vir 'n baie lang met nuwer Enterprise lêerstelsels soos Oracle se ZFS. Btrfs het nog 'n lang pad om te gaan en is nog steeds beskou as eksperimentele (afhangende van wie jy vra en wat jy nodig het). Baie dit oorweeg om stabiel te wees vir basiese gebruik – maar niemand gaan enige waarborge te maak. En, natuurlik, almal sê te maak en te toets backups!

Mooooooo

Die mees fundamentele verskil tussen ext en Btrfs is dat Btrfs is 'n “Koei” of “Kopie op Skryf” lêerstelsel. Dit beteken dat die data is nooit eintlik doelbewus oorskryf deur die lêerstelsel se internals. As jy skryf 'n verandering na 'n lêer, Btrfs sal skryf jou veranderinge aan 'n nuwe plek op fisiese media en sal werk om die interne verwysings te verwys na die nuwe ligging. Btrfs gaan 'n stap verder in dat daardie interne verwysings (bedoel as metadata) is ook Koei. Ouer weergawes van ext net oorskryf wil hê die data. Ext4 sou 'n Blaar gebruik om te verseker dat korrupsie nie sal plaasvind nie, moet die AC plug yanked word op die mees ongeleë oomblik. Die tydskrif in 'n soortgelyke aantal stappe wat nodig is om data op te dateer. Met 'n SSD, die onderliggende hardeware bedryf 'n soortgelyke koei proses maak nie saak wat lêerstelsel wat jy gebruik. Dit is omdat die SSD dryf kan eintlik nie data oorskryf – hulle het die data te kopieer (met jou veranderinge) na 'n nuwe plek en dan vee die ou blok heeltemal. 'N optimalisering in hierdie gebied is dat 'n SSD kan selfs nie vee die ou blok nie, maar eerder net 'n aantekening om die blok te vee op 'n later tyd wanneer dinge nie so besig. Die eindresultaat is dat SSD dryf pas baie goed met 'n koei lêerstelsel en nie so goed presteer met 'n nie-koei lêerstelsels.

Om sake interessant te maak, Koei in die lêerstelsel gaan maklik hand in hand met 'n funksie genoem deduplicatie. Dit kan twee (of meer) identiese blokke van data gestoor word met behulp van slegs 'n enkele kopie, spaar ruimte. Met koei, as 'n deduplicated lêer verander, die afsonderlike tweeling sal nie geaffekteer word nie as die van die gewysigde lêer se data sal geskryf gewees het na 'n ander fisiese blok.

Koei op sy beurt maak snapshotting relatief maklik om te implementeer. Wanneer 'n momentopname is die stelsel rekords bloot die nuwe momentopname as 'n duplisering van alle data en metadata binne die volume. Met koei, wanneer veranderinge gemaak word, die momentopname se data bly ongeskonde, en 'n konsekwente siening van die lêerstelsel se status by die tyd die momentopname is gemaak gehandhaaf kan word.

'N nuwe vriend

Met die bogenoemde in gedagte, veral as Ubuntu Btrfs as 'n installasie-time opsie beskikbaar gemaak het, Ek het gedink dit sou 'n goeie tyd om te duik in Btrfs en verken 'n bietjie. 🙂

Deel 2 kom gou …

Deel
Vrydag, September 11th, 2009 | Author:

Peace in the land of USB

Under a *nix operating system, having multiple partitions on a USB drive isn’t rocket science, it just works. In my geval, my USB drive has two partitions because the first partition is a bootable Arch Linux installer.

I have Windows on a desktop at homemostly for gamingand many of my colleagues use it too. Since Windows doesn’t do very well with non-Windows partitions I figured I could create a FAT32 partition on the memory stick after the bootable Arch Linux partition. FAT32 is almost ubiquitous and is usable on every common desktop operating system in the world.

Bleh

Unfortunately it doesn’t work straight off the bat. Apparently, Microsoft in their infinite wisdom decided that memory sticks are supposed to have one (and only one) partition. In reality Windows finds the first partition and then ignores any others that happen to be set up:

Please Format

Err, no, I do not want you to format my Arch Linux installation partition

The trick to getting it working is to fool Windows into thinking the device is nie a regular USB memory stick but perhaps a solid-state hard disk which happens to be connected via USB. Yes I know, this is seriously stupid that Windows behaves this way. A solid-state hard disk is just a whopping big (and fast) memory stick after all!

I found a few sources on how to do this however I still had to figure out some things on my own. Specifically, the guides I found either skipped some steps or didn’t provide enough information on where to download the driver package.

This procedure involves manually changing hardware drivers and installingnon-signeddriversnot intended for your hardware”. I know someone is going to break their system and blame me so I say now that I take no responsibility for any damage you may do to your Windows system as a result of this. Read that again. 😛

Instructions

remove the highlighted text

click for larger version

Download and unzip the driver, originally created by Hitachi, hier. Open the cfadisk.inf file in notepad (or your favourite plaintext editor), and find the section labeled [cfadisk_device]. Remove the section highlighted on the right:

Minimize (don’t close) the editor and go to your desktop iconsright-click on My Computer and select Properties. Select the hardware tab and then select [Device Manager]:

System Properties

Find the device underDisk drives”, right-click your memory stick and select Properties:

Device Manager

Click the Details tab and in the dropdown box on that page, selectHardware Ids”. Click the first line in the list of Hardware IDs and press Ctrl+C to copy the name:

USB Hardware Ids

Don’t close this dialog, go back to notepad (which was minimised) and paste the hardware ID into where the previous content was removed.

Changes pasted into notepad

Save the file in notepad and go back to the device’s property dialog window. Click theDrivertab and click the [Update Driver…] button. In the windows that pop up, selectNo, not this time”; [Next] -> “Install from a list or a specific location (Advanced)”; [Next] -> “Don’t search. I will choose the driver to install.”; [Next] -> [Have Disk…].

Unsigned Drivers - Click Continue Anyway

Browse to the folder where you have saved the modified cfadisk.inf file. Click [OK]. You will find

there is a Hitachi Microdrive driver listed. Select this and click [Next]. When the warning

appears, click [Enes]. Another warning will pop up regarding a similar issue (these are theunsigned” en “not intended for your hardwarewarnings I mentioned earlier). Click [Continue Anyway]:

At this point I recommend closing all the dialog boxes related to the setup. Finally, remove and re-insert the memory stick into your USB port and you should find that the extra partitions on the stick are accessible. In the worst-case scenario, you might still need to partition the disk however the hard part is over. 🙂

Deel
Woensdag, April 22nd, 2009 | Author:

Boog Linux’s installation process is documented on the Arch wiki. I recommend that persons new to Arch try the excellent Beginner’s Guide instead of the Official Arch Linux Install Guide. Though both wiki entries cover similar ground, the Beginner’s Guide gives a lot more relevant information for those new to the system. The Beginner’s Guide is aimed at desktop installation and, as I’m installing a server, I won’t be going through the installation of the graphical environment at all. Assuming that you’re following my installation, assume that I’ve followed the Beginner’s Guide right up to and including the installation of sudo. I installed the ssh daemon afterwards rather than during the initial setup however.

A few small recommendations and notes regarding installation:

  • If you can, consider using a USB memory stick for the installer and keep it handy for future installations.
  • I keep a copy of my localrepositoryof installed applications on my installer memory stick. Once installation is finished I save a bit of download and update time by copying this to the new server’s /var/cache/pacman/pkg/ folder. The repository on my desktop is typically 1.7GB
  • For the rc.conf, South African-appropriate regional settings are:
    LOCALE=en_ZA.utf8
    TIMEZONE=Africa/Johannesburg
  • I’ve set up the network very simply, according to the guide, and will be expanding on the network setup in a later post.
  • As it is for a server, my non-privileged user on the server is only part of 3 groups: wheel (for sudo), storage, and users. A desktop user will likely be in many more groups.

I prefer using an application called jogurt instead of Arch’s default package manager. Yaourt has the exact same usage syntax as pacman except that it supports a few extra options. It is actually a wrapper application in that it, in turn, uses pacman. Importantly, yaourt supports installation of applications from Arch’s AUR. Die AUR is a repository of installation scripts built by Arch users for Arch users to easily install applications that are not officially supported by the main Arch repositories. Yaourt can download and install applications from AUR or the main repositories with the same command, treating the AUR asjust another repository”. Pacman unfortunately does not support this.

Again, the installation is covered in the wiki. I recommend the easy route mentioned in the wiki if you’re new at Arch. Its too much too soon to do it the hard way (also mentioned in the wiki entry).

When done, update your system by issuing the single command:

yaourt -Syu

OR

pacman -Syu

and follow the given recommendations.

Deel
Saturday, March 28th, 2009 | Author:

Its amazing how much you can do by combining the small yet powerful commands Unix has available.

This little-used command, time, finally became useful today as a way to report the length of time that certain automated operations are running. In my example, I’m timing how long it takes to build the Linux kernel:

$ time rebuild-kernel26
...
couple-thousand-lines-of-scrolling-text
...
==> Finished making: kernel26 2.6.28.8-1 x86_64 (Sat Mar 28 17:19:52 SAST 2009)
real    62m21.994s
user    43m31.846s
sys     6m1.096s

Yup, that took a little over an hour to build. The values are:

  • realthe actual time elapsed while the command was running – 62 minutes
  • userthe amount of userland time the command used – 43 minutes
  • systhe amount of system time the command used – 6 minutes

(I was busy doing other things while this was happening which is why it took 62 minutes for the desktop to do (43+6=) 49 minutes-worth of work)

If you’re using the GNU version (most likely), it also gives you the option of displaying the results in a custom fashion. Mostly, this command could be useful in scripts where you need to report how long a task tookor maybe? just a geeky way to time something random. 😛

Deel
Kategorie: linux  | Tags: , , , , , , ,  | Laat 'n boodskap