[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#686130: hack for installing with btrfs raid1



Package: installation-reports

Image version: beta1 DVD amd64
http://cdimage.debian.org/cdimage/wheezy_di_beta1/amd64/iso-dvd/debian-wheezy-DI-b1-amd64-DVD-1.iso
Date: 28 August 2012


Although D-I doesn't have menu-based support for btrfs RAID, I was keen
to find out if there were any other traps later on in the process.

Therefore, I describe the hack I've used to run D-I and install onto
btrfs RAID1

The install is done in expert mode, text interface, using VirtualBox
with two virtual SATA disks of 10GB each.

I successfully proceed through all steps up to partitioning

In the partitioning system, I create raw partitions for LVM on each of
my two disks

sda:
  /dev/sda1  type 83   (ext4 for /boot)
  /dev/sda2   swap
  /dev/sda3  type 8e
sdb:
  /dev/sdb3  type 83

I then do the LVM setup, creating a VG called vg00 with both disks

Next, I leave partman running and press Alt-F2 for a shell

In the shell, I manually create two LVs:

  lvcreate -n lv0 -L 10GB vg00 /dev/sda3
  lvcreate -n lv1 -L 10GB vg00 /dev/sdb3

and I join them into a btrfs RAID1:

  mkfs.btrfs -d raid1 -m raid1 /dev/vg00/lv0 /dev/vg00/lv1

Going back to the D-I menu, I try to `Detect Disks' and back into
partman, it just doesn't recognise the RAID1,
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=686117
   so a further workaround is needed:

I simply ask partman to format /dev/vg00/lv0 alone as btrfs (no RAID)
for mount = / (root filesystem)

Then I am back in the main menu.  Before running the step "Install the
base system", I go back to the shell, (alt-f2)

  umount /target/boot
  umount /target
  mkfs.btrfs -d raid1 -m raid1 /dev/vg00/lv0 /dev/vg00/lv1
  mount /dev/vg00/lv0 /target
  mkdir /target/boot
  mount /dev/sda1 /target/boot

Now I go back to the D-I menu and proceed normally from `Install the
base system'

Note that /etc/fstab is not created correctly.  It is necessary to
manually edit /target/etc/fstab

When it reboots into grub, there is trouble (this may require a fix in
update-initramfs tool or in the initramfs scripts provided by btrfs-tools)

Loading, please wait...
Scanning for Btrfs filesystems
mount: mounting /dev/mapper/vg00-lv0 on /root failed: Invalid argument

and we are dumped in the BusyBox shell.  The first discovery is that
/dev/vg00/lv1 is not active:

(initramfs) lvm
lvm> lvscan
  ACTIVE   /dev/vg00/lv0
  inactive /dev/vg00/lv1
lvm> lvchange -ay vg00
  ACTIVE   /dev/vg00/lv0
  ACTIVE   /dev/vg00/lv1
lvm> exit
(initramfs) btrfs dev scan
Scanning for btrfs filesystems
(initramfs) mount -o ro /dev/vg00/lv0 /root
(initramfs) ls /root

At this point, /root looks normal

However, trying to continue the init (e.g. typing `exit' or trying to
invoke switch_root /root /sbin/init) fails, e.g.


Usage: switch_root [-c /dev/console] NEW_ROOT NEW_INIT [ARGS]


Only the help text appears, no details about why switch_root is unhappy


Reply to: