Mon, 31 Dec 2012

Weight of Things

— SjG @ 4:26 pm

It was bad luck that Ponderus, Fifth Imperial Lord of Varia, was born on a day with exceptionally light gravity. The Royal Minister of Standards duly weighed out the calibration stones, and a clockwork chain of events began: the Royal Metallurgist selected materials from her mineral store-room, and crafted the Standard Unit; from there, countless copies were cast at the Imperial Forge, endless couriers and emissaries spread out across the land, bringing the new metric to cities, towns, and villages alike.

Merchants groaned at the new metric, for, as luck would have it, the Fourth Imperial Lord had been born on a day of extremely high gravity, thus the old metrics had been small and easily carried. Now with Ponderus, the Fifth Imperial Lord, this convenience was gone. If someone purchased a simple quarter King of flour, it required seven large stones on the balance.

It was a mere four months later when Simon Waggoner, a potato farmer, had had enough. Over the course of the morning, he’d had to weigh out a thirty-king of potatoes twelve times, and something inside him snapped. In the middle of the market, he threw down his metrics onto the floor, shattering two of them. The entire throng of merchants, farmers, restauranteurs, household shoppers, and all fell silent and drew back. Inevitably, the word would get out, and soon armored legions of the Royal Knights would march in.

“Friends,” implored Simon. “I am nothing if not a loyal subject of his Supreme Majesty. But, if he loved his subjects, would he not give us a convenient weight, regardless of the day’s gravity?”

And thus the War of The Metric began…

Sun, 18 Nov 2012


— SjG @ 11:14 am

“The superficial aspects of any popular art can be dislocated from the gut of it, marketed, and trivialized. That is the inevitable American artistic dilemma.” — Janet Coleman, The Compass

Filed in:

Fri, 16 Nov 2012

Official Inquiry

— SjG @ 2:09 pm

“Whether they knew it or not, the interest that drew them here was purely psychological – the expectation of some essential disclosure as to the strength, the power, the horror, of human emotions. Naturally nothing of the kind could be disclosed. The examination of the only man able and willing to face it was beating futilely round the well-known fact, and the play of questions upon it was as instructive as the tapping with a hammer on an iron box, were the object to find out what’s inside. However, an official inquiry could not be any other thing. Its object was not the fundamental why, but the superficial how, of this affair.”
— Joseph Conrad, Lord Jim

Filed in:

Tue, 13 Nov 2012

Clear Thinking

— SjG @ 9:10 am

“Nobody thinks clearly, no matter what they pretend. Thinking’s a dizzy business, a matter of catching as many of those foggy glimpses as you can and fitting them together the best you can. That’s why people hang on so tight to their beliefs and opinions: because, compared to the haphazard way in which they’re arrived at, even the goofiest opinion seems wonderfully clear, sane, and self-evident. And if you let it get away from you, then you’ve got to dive back into that foggy muddle to wrangle yourself out another to take its place.” — Dashiell Hammett, The Dain Curse

Filed in:

Fri, 12 Oct 2012

Resizing LVM partitions

— SjG @ 10:30 am

I ran into a problem where the default installer for RHEL had configured a server’s partitions in a way that was really suboptimal for how the server was being used. It looks like the default was intended for workstation use or one in which a lot of users would keep their stuff in home directories, but this system is being used as a web application server. The root partition filled up, and the database (with its files in /var) got quite unhappy.

[root@epicwin]# df -h
Filesystem Size Used Avail Use% Mounted on
50G 47G 0 100% /
tmpfs 1.9G 76K 1.9G 1% /dev/shm
/dev/sde1 485M 80M 380M 18% /boot
532G 198M 505G 1% /home

So I had to learn some LVM basics, and move the space around. I found various instructions out there, but many of them were missing steps or glossed over whether or not I’d suffer data loss. Here’s how I solved my problem (without data loss!) and got the system back on its feet.

  • Boot into “rescue” mode.
  • Decline to mount the existing system or filesystem for repair, instead go straight to a root shell.
  • Activate the LVM system:
    lvm vgchange -a y
  • Make sure the filesystems are clean:
    e2fsck -f /dev/mapper/vg_epicwin-lv_home
    e2fsck -f /dev/mapper/vg_epicwin-lv_root
  • Reduce the size of the lv_home logical volume from 540G to 40G:
    resize2fs /dev/mapper/vg_epicwin-lv_home 40g
    lvreduce -L 40g /dev/mapper/vg_epicwin-lv_home
  • Expand the size of the lv_root logical volume from 50G to 550G:

    lvextend -L +500g /dev/mapper/vg_epicwin-lv_root

  • Expand the filesystem on the root logical volume:

    resize2fs /dev/mapper/vg_epicwin-lv_root

  • Exit shell / reboot.
  • Watch SELinux freak out on next boot:

    *** Warning -- SELinux targeted policy relabel is required. ***
    *** Relabeling could take a very long time, depending on file ***
    *** system size and speed of hard drives. ***

  • Watch SELinux print asterisks and then the system reboot unexpectedly in a way that looks quite disturbingly bad.
  • System comes up clean!

A few notes:
If /home had a lot of stuff in it, this would obviously be a lot more complicated. This approach works because I had the space and it wasn’t being utilized. if /home had been closer to full, the approach would have been to add a new physical drive, and it to the logical volume set, and then do something similar to the above.