Skip to main content

migrating a RAID1 mirror

Creating a software RAID1 setup with one 2TB and two 1TB drives isn't difficult, but in this case the setup was running in production as a RAID1 over two 1TB drives.
Small sda1 and sdb1 partitions form /dev/md0 and are formatted ext3 for /boot. Large sda2 and sdb2 partitions form /dev/md1 and are an LVM PV, the rest of the system is formatted in logical volumes.
Target situation: to have /boot on all three disks, and the LVM volume group as large as possible, redundant on mirrorred diskspace.
The procedure is strict, but straightforward:
  1. partition the new disk in 3 partitions (small - large - large)
  2. make md0 3-legged with sdc1 as the third device
  3. make md1 3-legged with sdc2 as the third device
  4. wait for the sync (watch /proc/mdstat)
  5. remove sdb2 from md1 and make it 2-legged again (you'll have to --fail sdb2 before you can --remove it).
  6. make a new md2 device for sdb2 and sdc3, make it a PV and add it to your volume group.
The only utilities needed are cfdisk, mdadm, and lvm (for pvcreate and vgextend).
If you need to restructure your existing partition tables in the proces, you might need pvmove to free up existing partitions before reusing or deleting them.

Comments

Popular posts from this blog

Which vSphere version is my VM running on?

Several years ago, I created a list of ESXi versions with matching VM BIOS identifiers. The list is now complete up to vSphere 8. Your Linux runs on a VMware VM, but on which ESXi version? Even without access to the host nor vCenter, you can see for yourself: run "dmidecode" and look at lines 10, 11 and 12. The BIOS release date, the address and the runtime size are unique for each ESXi version. Starting from 7.0 U3, no address and size is reported, and the "Phoenix Technologies LTD" name changed to "VMware, Inc.". Look up your result in the following table: ESXi version   BIOS release date   Address   Size ESX 2.5 04/21/2004 0xE8480 97152 bytes ESX 3.0 04/17/2006 0xE7C70 99216 bytes ESX 3.5 01/30/2008 0xE7910 100080 bytes ESX 4 08/15/2008 0xEA6C0 88384 bytes ESX 4U1 09/22/2009 0xEA550 88752 bytes ESX 4.1 10/13/2009 0xEA2E0 89376 bytes ESXi 5 01/07/2011 0xE72C0 101696 bytes ESXi 5.1 06/22/2012 0xEA0C0 89920 bytes ESXi 5.5 07...

Volkswagen UHV bluetooth touch adapter & its problems

My Volkswagen car has the "universal cellphone preparation" UHV built-in. This is the main part of a car kit, but requires an additional adapter for connecting to a cellphone. At first, I was using an adapter for my good old Nokia 6310, even after I changed to the Nokia E71. Connecting was easy: pair the phone with the "VW UHV" bluetooth entity, and done. This has the phone connected to the car kit at all times, so even non-call-related functions use the car audio system (e.g. voice recognition). But progress will have its way, no matter what happens. So in comes the "bluetooth touch adapter". Instead of a phone-specific adapter, this is a small touchscreen device that slots into the UHV dashboard mount. Connecting a phone is very different now: the Bluetooth Touch Adapter connects to the "VW UHV" device via bluetooth the phone connects to "Touch Adapter" device, also via bluetooth The device doesn't allow step 2 if step 1 didn'...

GEM WS2 MIDI System Exclusive structure and checksums

MIDI is the standard for communication between electronic music instruments like keyboards and synthesizers. And computers! While tinkering with an old floppy-less GEM WS2 keyboard, I wanted to figure out the structure of their System Exclusive memory dumps. SysEx is the vendor-specific (and non-standard) part of MIDI. Vendors can use it for real-time instructions (changing a sound parameter in real-time) and for non-real-time instructions (sending or loading a configuration, sample set, etc.). In the GEM WS2, there's two ways of saving the memory (voices, globals, styles and songs): in .ALL files on floppy, and via MIDI SysEx. The .ALL files are binary files, 60415 bytes long. The only recognizable parts are the ASCII encoded voice and global names. The SysEx dumps are 73691 bytes long. As always in MIDI, only command start (and end) bytes have MSB 1, and all data bytes have MSB 0. The data is spread out over 576 SysEx packets, preceded by one SysEx packet with header informat...