Tag

lvm Archives - AWS Managed Services by Anchor

Ninja migrations from VMware to KVM using vmdksync

By | Technical | 2 Comments

We recently made the decision to pay off some of our technical debt by eliminating the VMware servers we built when we first started our Virtual Private Server (VPS) offering. VMware is a commercial vendor platform so it’s not exactly trivial to jump ship, but it is possible with some time and effort. Forcing a few hours downtime on our customers for business reasons is not cool, so we had to find a better way. Background and rationale When we first started offering virtual servers the software landscape was very different. After comparing what was available at the time we settled on VMware ESX for our virtual private server product – the right features, suitable for a VPS product, secure and manageable enough, sufficiently mature and reliable, and a nominal…

Read More

Why you should use LVM: part 1319755409 in an infinite series

By | Technical | One Comment

At anchor, we loves us some LVM. It makes managing storage a breeze. Now, we’ve got one more reason to love it. Because now we have lvmsync. Like most modern hosting companies, we run a lot of VPSes, and sometimes the chunk of storage they’re on isn’t where it needs to be, so we have to transfer it around. Ordinarily, this would involve a lengthy period of downtime while dd did it’s business and sent the whole LV across a network. NOT ANY MORE! Now, with the magic of lvmsync we can transfer the bulk of the data while the VM is running, and then do a quick transfer of just the changes after we shut the VM down. We think our customers will appreciate the reduction in downtime, and…

Read More

Elegantly reverting unintentional LVM changes

By | Technical | One Comment

This is the first in a series of articles we’ll eventually publish about various interesting tricks relating to LVM – the Linux Logical Volume Manager. Stay tuned for more coverage. Occasionally you find yourself having committed a change to LVM (e.g. extending a logical volume, removing a logical volume, etc.) that you didn’t intend to make. In some cases, it’s possible to revert the change by simply performing the opposite action (e.g. lvextend with a positive offset after an unintentional lvreduce). This is by no means elegant, but it almost always works. However, there are unintentional changes which can’t be elegantly reverted in this fashion. For instance, assume I have a logical volume foo split across multiple physical segments: [email protected]:~# lvdisplay -m — Logical volume — LV Name                /dev/cyllene/foo LV…

Read More

Large filesystem “support”

By | Technical | 2 Comments

I’ve written recently on how to handle systems with very large storage subsystems. One would think that as we make our way through 2009 that the supporting tools for such large filesystems are at the top of their game, but as I’ve been playing with 24TB of storage I’ve realised that this is hardly the case: The most commonly used bootloader for Linux systems, GRUB, doesn’t yet have capabilities to boot from GPT partitions (at least not in the stable release) The most commonly used partitioner, fdisk, doesn’t support GPT-partitioned disks (and hence no disk larger than 2TB) GNU parted, which does support GPT, insists on performing all partition resize operations itself (including resizing the contained filesystem). Since it doesn’t yet understand LVM, it can’t resize any partition that contains…

Read More

Inode shortage reaches critical levels

By | Technical | One Comment

A customer got in touch with us recently saying they couldn’t upload files via FTP due to insufficient diskspace, but there was plenty of free space apparent when they logged in and checked. We don’t normally manage their server, but we said we’d take a look. [email protected]:~# touch /srv/www/newfile touch: cannot touch `/srv/www/newfile’: No space left on device After logging in and taking a look around, the problem became apparent. [email protected]:~# df -h Filesystem                Size  Used Avail Use% Mounted on /dev/mapper/nayuki-root  1016M  536M  429M  56% / /dev/mapper/nayuki-usr    4.0G  1.3G  2.6G  34% /usr /dev/mapper/nayuki-var    4.0G  1.3G  2.6G  33% /var /dev/mapper/nayuki-www     50G   41G  6.4G  87% /srv/www There’s plenty of disk space… [email protected]:~# df -i Filesystem                Inodes   IUsed   IFree IUse% Mounted on /dev/mapper/nayuki-root    65536    7244   58292   12% / /dev/mapper/nayuki-usr    262144   96830  165314   37%…

Read More