Install and use bbcp on CentOS 7

It is very annoying to move or copy data around, from storage A to storage B, and back sometimes. Specially if it’s like, a few terabytes of data. The default tools under linux are usually command-line, and will depend on a lot of parameters, like how the type of mount (cifs, nfs, gpfs) the bandwith and the command used. The obvious ones are copy (cp) that I tend to run recusively and verbose (cp -Rav  origin destination), move (mv) and rsync (that also has a lot of options). But they don’t squeeze out all the speed, since they don’t run in parallel. If you want and your data structure allows it, you can always write a script to loop over the folders and start a copy/mv/rsync for each of them. But this is not what I wanted to show you. The most complete tool, and the fastest after my experience, is bbcp. Unfortunately, to use it, you need to install it first.

There are several ways to do that. You should get the package from somewhere, for example, download latest puias-computational rpm from a CentOS repository:

Install puias-computational rpm:

# rpm -Uvh puias-computational*rpm

Install bbcp rpm package:

# yum install bbcp

Or you can follow this installation procedure from another blog 🙂

After that, you can start by typing bbcp and you should get something like this:

bbcp: Copy arguments not specified.
Usage: bbcp [Options] [Inspec] Outspec

Options: [-a [dir]] [-A] [-b [+]bf] [-B bsz] 
[-c [lvl]] [-C cfn] [-D] [-d path]
[-e] [-E csa] [-f] [-F] [-g] [-h] [-i idfn] 
[-I slfn] [-k] [-K]
[-L opts[@logurl]] [-l logf] [-m mode] [-n] 
[-N nio] [-o] [-O] [-p]
[-P sec] [-r] [-R [args]] [-q qos] [-s snum] 
[-S srcxeq] [-T trgxeq]
[-t sec] [-v] [-V] [-u loc] [-U wsz] [-w [=]wsz] 
[-x rate] [-y] [-z]
[-Z pnf[:pnl]] [-4 [loc]] [-~] [-@ {copy|follow|ignore}] 
[-$] [-#] [--]

I/Ospec: [user@][host:]file

So how does it work? In principle, once tuned, bbcp will start several parallel copying processes and report you (if you want) of what’s going on. The nicest feature, from my point of view, is that, at the end of your run, it will inform you of what it did. Like this:

5170 files copied at effectively 20.3 MB/s

I got this line at the end of my run. Sample line to bbcp origin to destination is:

bbcp -av -P 2 -s 16 -w 2M -r origin/ /destination/

Here you have another usage example. I think the tool, although a little bit cumbersome, is working very well. What do you want more, a progress bar? 🙂


Brondignach (II)

– Tell me boy – I am coming closer to the statue he’s now – can you at least speak? It seems like they can’t hear us. And we can’t hear them. – No reaction from now. When I’m by his side, I pinch him on his belly.

– Auch! – He can’t avoid to make a face. – OK I will speak if you don’t pinch me anymore. But keep an eye on them. They are very fast for the size they have. – His voice is neutral, more a whisper than a real one. He lays against the twisted walls of the box we are, despite here in there’s a chair of our size, a bed and a big table. Definitely looking more like a toy with movable parts than a human being. – Shoot me.

– Alright. I will. – I need also to think about, now that he cooperates.- So, did you see how did I arrive here? And are there more of us or we are alone? Who are the giants? Can I come back? And the last one: at what time do we eat here?

– Ja ja very funny. – He manages to say that without showing any expression. I look around. The wall of the box is not very high, and it lets us observe the giant boy looking for something on the floor. Probably the doll. – You arrived like the others, in a flash of light. One moment there’s nothing, the next one you have a human unconscious. I see you didn’t ask why we are here. Not that I know about, but I’m going to say this is definitely not a punishment for my crimes on Earth. For your info, I was about to enter on a religious high school…the first step to become a priest. Actually, my dream was to, one day, become a cardinal. Can you imagine it? – I look at him. More than a cardinal he reminds me of a medieval monk. A monk that didn’t sleep for a week reading in the dark of his abbey. Or a toy of a monk. – Of course you can’t. But I was good, very good, as good as you can get by the Book. And as a believer of the Book, I can’t accept this a Hell. – My stomach makes some noise.

– I guess we can’t be hungry if we are dead – not a smart thing to say, but it came out of my heart – so I’m with you there. Whatever this is it is not Hell, or not my view of it. Do you know how long have you been here?

– More than what I’d like to. For a stupid reason: I’ve been convinced up to now that there will be somebody coming from us. Maybe on a flash. Maybe from the Door. – He is not yet moving, so I don’t know if he refers to the gigantic door. – There are others. There were three before you. The first one left. He simply was fast and lucky, and he managed to reach the door and leave us. I don’t know where is he now, but he intended to get some help. The other two… the other two are dead.

– Dead? How? – The giant turned around and started to move to our table. I feel like a fly. It is said that a fly moves so fast that everything they see are static images, like snapshots, one after the other. Fotograms of a movie, 52 per second.

– You don’t want to know. – But I see his eyes accusing look to the giant boy. Like to justify it, he continues – The giants are the builders of this place, but we don’t know if they brought us here. I’m going to say they didn’t. Do you know the book “Gulliver’s Travels” ? – I nod. – On the book Gulliver arrives to Brondignach, a land populated by giants. Like this place, but without electricity. – I’m tempted to laugh, but on a second thought I think it’s no more funny. – As a scholar I read a lot, not only fiction. Let’s assume then we are there, on Brondichnach. Can we come back to our place?

– You must be a hell of a speaker back on …Earth. – He definitely has what it takes to be a priest. He knows how to build up a story out of a few questions. I smile to him, but still I don’t get anything back, still he plays the doll.

– Let me continue. I’m going to say you can. This is just a wrap of us, like a twist of our dimensions. For some reason, we fell on one set of space where the dimensions are…more empty than in our space. So how do we come back? Easy as a pie. Or easy to say: find an equivalent dimensional wrap, cross it, and either you will grow to their size or cross back to our dimensional quarters. – He makes a break. The silence is ominous. I don’t know what to say, I don’t know what to do. – About your last question, I’m sorry to say I don’t know when we eat here. We’ve been eating leftovers from them, scraps of food. A bead crumb can feed us for a couple of days. A missing sausage slice. Those things. I don’t think they know we need to eat. But we will survive. And I will, one day, find a way to raise.

Brondignach (I)

– Welcome, newcomer. – I open my eyes to look at my interlocutor. It’s a small brown-haired boy of around 12 years, neatly dressed with a school uniform, but with eye bags, like if he was on drugs for a long time. To his left, a blonde woman with long, curly, voluminous hair (a wig?) dressed like a 50’s doll. I stand. They boy helps me, but the doll turns around. I can’t remember how I arrived here. Above us, some kind of roof is supported by big, metallic columns. – Don’t worry, we are under the chair at this moment, the owner will not find us unless he looks for us. And he doesn’t care.

– The owner? – I’m afraid to ask. Now that I have the perspective I understand where we are. Beyond our roof, there is yet another one, sustained by four gigantic wooden columns, probably a table, and above it, the real roof seems to be as far as the himalaya mountains, sun on it included on the shape of a light bulb. – How did I arrive here?

– Nobody knows. And nobody cares. – Strange answer.

– I care. – The doll. – I do think about it all the time. – She’s still not looking at me. She seems to be inspecting the perimeter, maybe looking for something, maybe just watching over. – The boy here has another theory, but I think we are dead, and this is our hell. Do you remember who you are? Or I should say who you were? – She jumps suddenly. – It’s back! Run if you can!

She runs. I follow her. She seems to know what to do. We go direction what looks like an enormous door frame. I didn’t see it before. Maybe the door just opened? I find out it’s hard to run here: the floor is covered by a thick, soft network of laces of different colors. A carpet? I jump all the time so my shoes don’t get trapped in a lace. Then, a big shadow appears from my back. I hear a long scream.

– It took the boy! Come here! – I try to follow her, but the shadow seems to move like a wave, a dark tsunami coming to devour us. I feel something grabbing my whole body from behind, a warm claw, and then I’m lifted…I see the doll becoming smaller and smaller over a floor that is farther and farther away from me. My trap is a hand with dirty nails. Some gigantic face filled with freckles and with a devilish frown is observing me. It’s a big boy! I shout at him, but he seems to ignore my sounds. He moves in a strange way, like flowing, like out of phase. I see him moving his lips, but I hear nothing. Maybe I can’t hear on his frequency or something like that. The monster (humanoid but a monster) takes first one of my arms, then the other, and suddenly I’m hanging in the air like fifty meters over the floor. If he drops me now, it’s going to be definitely the end. But he doesn’t drop me to the floor. After the exam, he puts me inside some kind of red velvet room (a box?) over the table, where the boy, frozen like a statue, already awaits me. I decide not to play dead like my unexpected companion, but also not to run.

Star Hotel 2050 (VI)

– Papa! Are you OK? – Paula seems to realize the trip was not so pleasant for me. There is a man with her that I seem to recall from our Aladdin meetings. The Head of Environment? The Chief Engineer?

– Yes I am. You know, I’ve done this hundred times on VR, but the reality is overwhelming. At least, it is overwhelming for me. I feel…

– Intoxicated. – The Head/Chief (damn, we don’t have internet here!) interrupted me. He doesn’t seem to be a nasty man, maybe he’s even a buddhist like all our fashion-victim bosses. He wears a modern space suit, the one I could use either to attend to a meeting or to perform surgery on a vital system. It’s fitting him, and it makes me remember my main reason for coming here: a possible change of path. – It’s the reality effect. That’s why places like this – he waves his arms around – keep calling our attention, the attention of the mankind, despite of all the VR worlds down there.

– Your friend here call himself an explorer. – I look at my father. Having lived six decades already may have created a crust of unhappiness and irony over him, but he does know how to judge the people, and I will trust him when he speaks about somebody. So I wait for his judgement.  We exchange glances before he continues. – A nice boy! He offered himself as a guide for the local restaurants…and pubs…I said yes. – I nod. I got it.

– Grandpa! You always looking for booze! Definitely, a millennial!

– Yes I am! – My father mocks her granddaughter. – And you love it!

(EDIT: I don’t know where this storyline is going. And I still need to finish my other lines! I wonder when The Water Wedding is going to end… and if Coinreruf is going ahead… please stay tuned for more news 🙂 )

CryoSPARC 2 [Errno 111] Connection refused [Errno 98] Address already in use

We’ve installed CryoSPARC, we’ve updated it and now that I have an avalanche of users, it starts to create problems. The symptoms are that the user can’t log in, or that the web display is not visible. I try obviosuly cryostartcm restart on the master. The error reads:

localhost:39001: [Errno 111] Connection refused

Then I try slowly, cryostart stop, then start. A new error appears.

cryosparcm start
Starting cryoSPARC System master process..
CryoSPARC is not already running.
database: started
command_core: started
<title>500 Internal Server Error</title>
<h1>Internal Server Error</h1>
<p>The server encountered an internal
error and was unable to complete your request.
Either the server is overloaded or there is
an error in the application.</p>

command_vis: started
command_proxy: started
webapp: ERROR (spawn error)

CryoSPARC master started.
From this machine, access the webapp at
From other machines on the network, access at

Startup can take several minutes.
Point your browser to the address
and refresh until you see the cryoSPARC web interface.

It tells me that the master is running, but the web still doesn’t let me log in, showing an Internal Error message. Server load seems to be fine. So let’s have a look to system logs and cryosparc logs. One of the cryosparcm logs say

# cryosparcm log command_core | grep error
socket.error: [Errno 98] Address already in use

Why is that? Address already in use? And then you have this discrepancy on ports, 39001 and 39000. At the end of this entry on the forum post ERROR spawm error during update, somebody suggest to do what described here.  I do

ps -ax | grep "supervisord"

And I find indeed something suspicious: there is one of my users with login rights on my cryosparc master (the webserver, that is not a cryosparc client) that seems to have launched his own instance of cryosparc.  After all my actions, his supervisord processes are dead. As root, on the master, I kill the zombies as described here,

kill -9 $(ps -A -ostat,ppid | grep -e '[zZ]'| awk '{ print $2 }')

remove as root the old sockets from the tmp files, 

/tmp ## > rm -rf cryosparc-supervisor-XXXX.sock 

and restart the master.  Now  I can log in again, webserver works and my clients are online! To close up the case, I send an email to the user asking him not to do that again and enjoy the fame of being a nasty SysAd 😦

A Wiki install on CentOS 7

We need a website that can be used to shared information. This is usually called a wiki. I was tempted to install a wiki on a container (see for example the  xwiki docker) but I went for the real thing due to a weird error with multiple LAMP dockers running on the same host that I didn’t have time to debug. But what wiki style to choose? I chose MediaWiki since it is the Wikipedia layout, but let’s have a look to the other options.

  • DokiWiki is a simple wiki. Here you have the installation procedure for CentOS 7. Why I didn’t choose it? Because it doesn’t have a popular layout, one everybody knows.
  • PhpWiki is an even simpler wiki. Here you have the installation on CentOS 7, and a live version to have a look to it. Again, I’m going to say the layout is not modern enough.
  • Xwiki is indeed looking great, so I could install it instead of MediaWiki. Here you have the installation on CentOS 7. I didn’t chose this one out of my gut’s feeling against a wiki that looks like a social network. Time will say if I’m wrong or not 🙂

I go ahead then with MediaWiki. I need to have at hand is the Manual Installation guide. And first stone I find there is the requirements.  I quote:

On CentOS 7, the default php is 5.4, so how the hell we install 7.X? I found the solution here. At the end, the list of additional packages I installed is this:

yum install
yum install
yum install yum-utils
yum-config-manager --enable remi-php72
yum install php php-mcrypt php-cli php-gd php-curl
php-mysql php-ldap php-zip php-fileinfo mysql postgresql sqlite

I have unzip my mediawiki tarball, move it to /var/www/html/ and point my browser to the local address. But I see a php text instead of the nice installer that you see at the top of this post. What am I doing wrong? Of course, I need to either reboot the computer or restart the apache server. After that, the configuration script runs, and  I have my wiki. Easy as a pie on Ubuntu, I guess. 😛

Star Hotel 2050 (V)

At one point I don’t know if we are falling or flying. Common sense is telling us, anyway, not to float far from the walls, so more than flying we seem to be jumping. We need to cover still around another 400 meters, but the flight is being really charming. Like a dream.

The raw black graphene mesh that I know is covering the hull is spotted here and there with green patches, like little gardens, of a not-random-at-all shapes. I look above and I see over our sky, beyond the fountain, similar green spots. The green clouds, I remember we called them. The first stage before the full coverage of the mesh with fertile soil. I wonder if they already plant things on this clouds. What will you plant on low g if you almost don’t have soil? Of course everything that can be grow at home in a pot. I recall. Beans. Lettuces. Radishes. Spinaches. A lot. But I don’t know how they make the clouds shine on green. Firefly genes on bushes? This is how I could have done it. But probably it’s just microsolar lights. 

I can feel the Coriolis force to the left like a gentle push, and I see here and there the soft spikes that will be the dissipators, each one with a light at the top. The stars that surround our green clouds. Yes, we could use them as emergency anchoring points, mental mark on that also. I can be here for free, but this is not meaning I’m on holidays!

A hundred meters to the restaurant area. I experience the growing curvature as a psychological slope. Maybe not sensible if we follow the walking path? I mark that also, and I ask Paula to speed up. Above us, at around ninety degrees, there is the Plaza. We should land in the middle. I see a little crowd there… that opens up to leave us space to land… and… here we are!

The people, a mixture of hotel personal and travellers, clasp their hands with enthusiasm. Somebody shouts us “Bravo!” “A superb trip!” and I don’t know what to do anymore. People hug me. The pad me on my back. Such a display of admiration makes me drunk of fame, so I grab the closest dissipator and ask the guy with the tie, that I guess it’s an hotel manager, for a new pair of magnetic boots. “Thanks” I manage to mumble. Paula and my father, in the meantime, are making friends with everybody…