About MooseFS


MooseFS is a fault tolerant, network distributed file system. It spreads data over several physical servers which are visible to the user as one resource. For standard file operations MooseFS acts as other Unix-alike file systems:

  • A hierarchical structure (directory tree)
  • Stores POSIX file attributes (permissions, last access and modification times)
  • Supports special files (block and character devices, pipes and sockets)
  • Symbolic links (file names pointing to target files, not necessarily on MooseFS) and hard links (different names of files which refer to the same data on MooseFS)
  • Access to the file system can be limited based on IP address and/or password

Distinctive features of MooseFS are:

  • High reliability (several copies of the data can be stored across separate computers)
  • Capacity is dynamically expandable by attaching new computers/disks
  • Deleted files are retained for a configurable period of time (a file system level “trash bin”)
  • Coherent snapshots of files, even while the file is being written/accessed


MooseFS consists of four components:

  • Managing server (master server) – a single machine managing the whole filesystem, storing metadata for every file (information on size, attributes and file location(s), including all information about non-regular files, i.e. directories, sockets, pipes and devices).
  • Data servers (chunk servers) – any number of commodity servers storing files data and synchronizing it among themselves (if a certain file is supposed to exist in more than one copy).
  • Metadata backup server(s) (metalogger server) – any number of servers, all of which store metadata changelogs and periodically downloading main metadata file; so as to promote these servers to the the role of the Managing server when primary master stops working.
  • Client computers that access (mount) the files in MooseFS – any number of machines using mfsmount process to communicate with the managing server (to receive and modify file metadata) and with chunkservers (to exchange actual file data).

mfsmount is based on the FUSE mechanism(Filesystem in USErspace), so MooseFS is available on every Operating System with a working FUSE implementation (Linux, FreeBSD, MacOS X, etc.)

Metadata is stored in the memory of the managing server and simultaneously saved to disk (as a periodically updated binary file and immediately updated incremental logs). The main binary file as well as the logs are synchronized to the metaloggers (if present).
File data is divided into fragments (chunks) with a maximum of 64MiB each. Each chunk is itself a file on selected disks on data servers (chunkservers).
High reliability is achieved by configuring as many different data servers as appropriate to realize the “goal” value (number of copies to keep) set for the given file.


All file operations on a client computer that has mounted MooseFS are exactly the same as they would be with other file systems. The operating system kernel transfers all file operations to the FUSE module, which communicates with the mfsmount process. The mfsmount process communicates through the network subsequently with the managing server and data servers (chunk servers). This entire process is fully transparent to the user.
mfsmount communicates with the managing server every time an operation on file metadata is required:

  • creating files
  • deleting files
  • reading directories
  • reading and changing attributes
  • changing file sizes
  • at the start of reading or writing data
  • on any access to special files on MFSMETA

mfsmount uses a direct connection to the data server (chunk server) that stores the relevant chunk of a file. When writing a file, after finishing the write process the managing server receives information from mfsmount to update a file’s length and the last modification time.

Furthermore, data servers (chunk servers) communicate with each other to replicate data in order to achieve the appropriate number of copies of a file on different machines.


Administrative commands allow the system administrator to specify the “goal”, or number of copies that should be maintained, on a per-directory or per-file level. Setting the goal to more than one and having more than one data server will provide fault tolerance. When the file data is stored in many copies (on more than one data server), the system is resistant to failures or temporary network outages of a single data server.

This of course does not refer to files with the “goal” set to 1, in which case the file will only exist on a single data server irrespective of how many data servers are deployed in the system.

Exceptionally important files may have their goal set to a number higher than two, which will allow these files to be resistant to a breakdown of more than one server at once.

In general the setting for the number of copies available should be one more than the anticipated number of inaccessible or out-of-order servers.

In the case where a single data server experiences a failure or disconnection from the network, the files stored within it that had at least two copies, will remain accessible from another data server. The data that is now ‘under its goal’ will be replicated on another accessible data server to again provide the required number of copies.

It should be noted that if the number of available servers is lower than the “goal” set for a given file, the required number of copies cannot be preserved. Similarly if there are the same number of servers as the currently set goal and if a data server has reached 100% of its capacity, it will be unable to begin to hold a copy of a file that is now below its goal threshold due to another data server going offline.  In these cases a new data server should be connected to the system as soon as possible in order to maintain the desired number of copies of the file.

A new data server can be connected to the system at any time.  The new capacity will immediately become available for use to store new files or to hold replicated copies of files from other data servers.

Administrative utilities exist to query the status of the files within the file system to determine if any of the files are currently below their goal (set number of copies). This utility can also be used to alter the goal setting as required.

The data fragments stored in the chunks are versioned, so re-connecting a data server with older copy of data (such as if it had been offline for a period of time), will not cause the files to become incoherent. The data server will synchronize itself to hold the current versions of the chunks, where the obsolete chunks will be removed and the free space will be reallocated to hold the new chunks.

Failures of a client machine (that runs the mfsmount process) will have no influence on the coherence of the file system or on the other client’s operations. In the worst case scenario the data that has not yet been sent from the failed client computer may be lost.


MooseFS is available on every Operating System with a working FUSE implementation:

  • Linux (Linux 2.6.14 and up have FUSE support included in the official kernel)
  • FreeBSD
  • OpenSolaris
  • MacOS X

The master server, metalogger server and chunkservers can also be run on Solaris or Windows with Cygwin. Unfortunately without FUSE it won’t be possible to mount the filesystem within these operating systems.


Ubuntu 12.04 vs Xubuntu 12.04 vs Kubuntu 12.04 vs Lubuntu 12.04: Results

As mentioned in my previous post, tonight I tested all the Ubuntu sisters on my PC from pen drive. Specifications of my HP PC are:

Processor: 2.4 Ghz Pentium 4, single core
Build: 2003

A tabular view of the results is given below:

Distro Xubuntu 12.04 LTS Ubuntu 12.04 LTS Kubuntu 12.04 LTS Lubuntu 12.04
Booting Time 5 min. 7 min. 7 min. 3 min.
Speed Immediately loads and fast Initially hangs but fast once loaded Initially hangs but fast once loaded Immediately loads and superfast
Feel Light, less RAM intensive and
requires very little RAM to run
CPU: 6-10%
RAM: 130 MiB
Moderate, requires higher RAM to run
CPU: 17-18%
RAM: 340 MiB
Light, requires RAM lower than Ubuntu but higher
than Xubuntu or Lubuntu
CPU: 3-10%
RAM: 235 MiB
Very light and requires the least RAM
CPU: 1-11%
RAM: 126 MiB
Desktop XFCE Unity KDE LXDE
Adobe Flash Adobe Flash inbuilt Flash needs to be installed Flash needs to be installed Flash needs to be installed
Ease of Use Easy even for entry level Easy Difficult for Entry Level, mostly for Geeks
but highly functional
Easy even for entry level
Eye candy Factor Less but looks good Real eye candy Eye candy Minimalistic but looks good
Extra software required Skype
Adobe Flash
Adobe Flash
Adobe Flash
LAN/Wifi Immediate Immediate Immediate Immediate

Lubuntu & Xubuntu are the lightest using around 130 MiB of RAM whereas Ubuntu uses about 3 times more and Kubuntu two times more. I posted a detailed comparison at

Screenshots of each distro is given below. Remember, these are from as-it-is distros and not a single change is from my side. A short review for each, without going into technical nitty-gritty (which you can get from the respective websites, as hyperlinked below), along with the pictures to tell an end-user’s story:

Xubuntu 12.04 LTS:

Looks like a typical linux distro, based on extremely light XFCE desktop and super fast. Those who have low RAM old systems, Xubuntu is for them. Also, those who hate Unity, Xubuntu can be a viable option for them. It comes with Adobe Flash & GIMP pre-installed, which is good. I installed Libreoffice along with Abiword and Gnumeric as Libreoffice offers more functionality. Repository wise no worry – all the Ubuntu softwares are available here.


Ubuntu 12.04 LTS

As usual the best looking linux distro and now the Unity interface has really improved and become fast. It is the most complete linux distro I have ever seen, although a bit on the heavier side than the other three in comparison here. A lot of new functionalities have been added, which I’ll cover in a later post.


Kubuntu 12.04 LTS

A distro for the KDE lovers! Although a bit geeky but amazingly good looking distro. Those who prefer Windows XP would definitely like it. Software list is more-or-less complete and definitely lighter than Ubuntu. But I felt, it is slightly heavier than Xubuntu though almost equally fast on my low resource system.


Lubuntu 12.04

Lightest and fastest of them all. Unfortunately, it is not an LTS, as John pointed out in the comments section. That means, no 3 or 5 years support for it but only 18 months of support, just like a regular release. But, if you have a low resource computer, Lubuntu is perfect for you. It is more-or-less rich in pre-loaded softwares and you can install what-ever softwares you like from the Ubuntu repository. I have a 2003 P-4 1GB DDR RAM running on Lubuntu 12.04 without any hassles.



Who’s the winner? It depends. If you have an old, low resource computer (512 mb RAM, less than 1.5 Ghz processor), possibly Lubuntu and Xubuntu will win hands down.

If you have a modern computer, Ubuntu and Kubuntu would be the preferred distro. If you like eye-candies Ubuntu is a sure-shot choice. If you like functionality more and is a linux purist, one would prefer Kubuntu.

In essence, what I saw all the distros are really damn good. Much refined than 11.10 versions which came out. Somehow, I didn’t like the 11.10 versions and felt that they were released somewhat uncooked with a lot of bugs. Especially Unity was a real pain and forced me to stick to Ubuntu Natty (11.04). Now, I guess it’s the time for a change and 5 years of support from Canonical is too tempting to resist. I’ll install either one of these four tomorrow evening.



How to Change the Priority of Wired/Wireless Network Cards in Windows

Do you ever plug in your wired network card while your wireless card is still enabled? Ever wonder how Windows chooses which one to use? Here’s how to see the default priority—and how to change it if you want.

Note: there’s almost never any reason to change this, as Windows does a good job of choosing the right connection. Still, if you want to tweak it to work differently, this is how you would do it.

How to See the Current Network Card Priority

You’ll need to open up a new command prompt window and type in the following command:

netstat -rn | more

The | more part of the command will make sure that it doesn’t go flying off the screen, requiring you to scroll backwards—speaking of which, you should read our article about how to scroll backwards in the command prompt with the keyboard.


At the top of the output you’ll see the Interface List, and the column on the left-hand side shows the metric of the interface. You’ll notice that the loopback interface has the highest priority, followed by my wired Gigabit card, and then my wireless card.

If you’re wondering what all the other cards in the list are about, I’ve got some VPN software loaded, as well as VMware Workstation, all of which create virtual adapters that show up in the list.

How to Change the Network Card Priority

To change the priority, head into Network and Sharing Center and click on the Change adapter settings link on the left-hand side—or you can quickly open the network connections list by typing ncpa.cpl into the Start Menu search box.

Now that we’re in here, choose the network card that you want to change the priority for, right-click it, and choose Properties from the menu.

Now select the Internet Protocol Version 4 item in the list, and click the Properties button.

Now click the Advanced button at the bottom of this window…. getting tired of clicking yet?

And now, finally, we’re at the place where you can make the change. Uncheck the box for Automatic Metric, and then type a number into the Interface Metric textbox. You can consult the list that we found in the command prompt earlier to know what metric to assign—you’ll probably want to assign it something higher than 1, since that’s used for the loopback adapter.

You may want to go ahead and change the priority for your other card as well, just to be sure that it is assigned the proper priority.

Note: again, there’s no reason to mess with this setting unless you are actually having a problem. Also, thanks to @rawmeet for the idea for this article.



Windows 7 optimizācija

Autors: purva bridējs

Šajā rakstā pastāstīšu, kā optimizēt Windows 7 operētājsistēmu ātrākam darbam. Vislabāk to darīt uz svaigi instalētas sistēmas, bet ja nē, tad no sākuma pārliecinies, ka nav vīrusu – noskenē datoru ar CureIt. Tad nu sāksim…

1) Vizuālo efektu atslēgšana

Ar labo peles pogu uzklikšķini uz Dators un izvēlies Rekvizīti, tad labajā sānā uzspied uz Sistēmas papildiestatījumi. Izvēlies cilni Papildu un tad ailē Veiktspēja spied uz Iestatījumi.

Šeit vari pats eksperimentēt un atķeksēt to, kas tev ir nepieciešams, bet lai iegūtu vislabāko izskata/veiktspējas attiecību, iesaku izmantot tikai trīs:
• Logiem un pogām lietot vizuālos stilus
• Nogludināt ekrāna fontu apmales
• Rādīt sīktēlus ikonu vietā

2) Izslēdz neizmantotos Windows 7 līdzekļus

Ieej Vadības panelī un spied Noņemt programmas instalāciju, tad kreisajā sānā spied Ieslēgt vai izslēgt sistēmas Windows līdzekļus.

Ir daudzas funkcijas, ko ikdienā neizmantojam, tāpēc labi ir tās atslēgt. Piemēram, kad tu pēdējo reizi lietoji “Internet Explorer” vai “Media Center”?
P.S. Pie šī paša punkta piebildīšu, ka izslēdzot “Windows sīkrīku platformu”, iegūsi vēl pāris sekundes startēšanas laikā.

3) Nomaini enerģijas plānu uz “Augsta veiktspēja”

Atver Vadības paneli, tad uzpied uz Aparatūra un skaņa, tad uz Enerģijas opcijas. Varētu būt, ka plāns ir paslēpts, tāpēc uzspied uz Rādīt papildus plānus.

Ja vēlies, tad uzspied Mainīt plāna iestatījumus un sakonfigurē tā, kā tev pašam patīk. Kad lieto portatīvo datoru no baterijas, plānu būtu vēlams nomainīt uz Sabalansēts, lai paildzinātu baterijas darbības laiku.

4) Izslēdz Windows Search servisu

Ar labo peles pogu uzklikšķini uz Dators, tad spied Pārvaldīt, tad Krātuve un lietojumprogrammas, bet tad uz Services. Atrodi servisu Windows Search, ar labo peles pogu uzklikšķini uz tā, spied uz Rekvizīti, un pie Startup type izvēlies Disabled.

Protams, ir arī citi atslēdzami servisi, par kuriem pastāstīšu nākamajā punktā, bet kāpēc es šim servisam veltīju atsevišķu punktu? Meklēšanas indeksācijas serviss indeksē tavus failus, lai tos meklējot varētu ātri atrast, kas ir noderīgi, ja tu meklētāju izmanto regulāri. Tiem, kas meklē reti, tas ir pilnīgi nevajadzīgi, bet ideksējot tiek izmantoti palieli sistēmas resursi. Lai palielinātu veiktspēju, viennozīmīgi iesaku šo servisu atslēgt.

5) Servisu optimizācija

• Adaptive brightness – var droši atslēgt, ja tavam monitoram nav gaismas sensors.
• Bluetooth support service – ja tavam datoram nav bluetooth, vari droši atslēgt.
• BitLocker drive encryption service – ja nelieto BitLocker lai šifrētu failus, vari atslēgt.
• Darbvirsmas loga pārvaldnieka sesijas pārvaldnieks – vajadzīgs priekš Aero, vari atslēgt, ja Aero neizmanto.
• Distributed Link Tracking Client – uztur saites starp NTFS failu sistēmas failiem datorā vai tīklā. Var droši atslēgt, jo mājās pārsvarā neizmanto.
• Encrypting File System – vari droši atslegt, ja neizmanto failu kriptēšanu.
• Internet connection sharing – ja izmanto rūteri, vari atslēgt.
• IP Helper – ja neizmanto IPv6, noteikti atslēdz.
• Parental Control – atlieka no Vistas laikiem, droši var atslēgt.
• Remote Access Connection Manager – ja tev nav dial-up interneta pieslēgums un neizmanto VPN, droši atslēdz. Tā kā no šī servisa ir atkarīgs Remote Access Auto Connection Manager, atslēdz arī to.
• Remote Registry – noteikti jāatslēdz drošības dēļ.
• Tablet PC Input-service – ja tu neizmanto planšetdatoru, tad droši atslēdz.
• Windows Defender – ja tev ir antivīruss vai esi pārliecināts, ka vīrusus nedabūsi, vari atslēgt.

6) Lieko start up programmu atslēgšana

Meklētājā ieraksti msconfig, atver to, uzspied uz Startup cilnes un izķeksē programmas, kurām nav nepieciešams ieslēgties kopā ar datoru.

7) Antivīruss

Ja esi pārliecināts, ka vīrusus nedabūsi, tad antivīrusu var nelietot(piemēram, kā to daru es), bet ja neesi, tad noteikti to vajag uzstādīt. Daudzi datori tiek pārdoti ar jau ieinstalētu antivīrusu, piemēram, Norton vai McAfee – šie antivīrusi ir ļoti lēni, tāpēc iesaku tos nomainīt. Daudzi “torrentu lielveikalā” ir iegādājušies “NOD32” vai kādu citu antivīrusu – arī šos iesaku nomainīt, jo ir tik pat labas bezmaksas alternatīvas. Jāatcerās, ka bezmaksas antivīrusus bez pirkšanas drīkst lietot tikai personiskām vajadzībām, firmām tie ir jāpērk. Pirmkārt, izdzēs savu iepriekšējo antivīrusu(Vadības panelis -> Noņemt programmas instalāciju), jo divi antivīrusi savā starpā konfliktēs un palēlinās datoru. Pēc tam lejupielādē jauno antivīrusu un to uzinstalē(rekomendēju Avira vai Avast).

8) Regulāra profilakse

Vislabākā programma priekš regulāras profilakses ir CCleaner. Ar CCleaner var iztīrīt pagaidu failus un citas drazas, kas aizņem vietu un laika gaitā var sākt bremzēt datoru. Palaižot programmu, pirmajā logā ir iespējams veikt vispārēju datora tīrīšanu – jānospiež poga Palaist tīrītāju un aptuveni minūtes laikā dators būs tīrs no sistēmas drazām.
Otra noderīgā lieta ir reģistra tīrītājs. Laika gaitā reģistrā mēdz sakrāties daudz nevajadzīgas informācijas, tādējādi palēlinot datoru. No sākuma nospiežam Meklēt problēmas un kad tās atrastas – Salabot problēmas. Pats programmu lietoju aptuveni piecus gadus un nekad nav izdzēsts tas, ko nevajag.

Ko vēl var darīt profilatiski:
• Izdzēst programmas, ko neizmanto(atceries – jo vairāk programmu, jo lēnāks dators)
• Defragmentēt cieto disku(Windows 7 to pats reizi nedēļā izdarīs)
• Instalēt sistēmas atjauninājumus