FAI 4 Debian Wheezy und LVM Probleme

FAI 4 Debian Wheezy LVM Bug

 

Leider sind bei meiner aktuellen FAI Installation noch zwei LVM Bugs vorhanden.

Ist schon im FAI Wiki hinterlegt.

Der erste Fehler:
dracut findet beim booten ein bestehendes LVM und mountet nicht das Live-System (nfsroot)
Lösung ist beim fai-chroot den Kernelparameter „-k rd_NO_LVM“ anzugeben.

fai-chboot -IBv -k rd_NO_LVM test.dmz-home.secretisland.de

Dadurch wird der Kernel angewiesen keine LVM Treiber zu laden.
Wenn man dies nicht immer wieder von hand angeben will kann man auch nen alias in der .bachrc setzen.

nano /root/.bashrc
alias fai-chboot='fai-chboot -k rd_NO_LVM'

Der zweite Fehler:Die FAI Installation bricht beim Storage Setup da es ein LVM findet, und dies nicht löschen tut.
Eine mögliche Lösung ist bei github hinterlegt
Hier als Patch Datei

nano /root/FAI_setup-storage_Commands.pm.patch
--- /srv/fai/nfsroot/usr/share/fai/setup-storage/Commands.pm.orig       2013-04-19 20:48:00.000000000 +0200
+++ /srv/fai/nfsroot/usr/share/fai/setup-storage/Commands.pm    2013-04-19 20:50:17.170737861 +0200
@@ -644,6 +644,8 @@

   if (0 == $clear_vg) {
     my $vg_setup_pre = "vgchange_a_n_VG_$vg";
+       &FAI::push_command( "vgchange -a y $vg",
+       "", "vg_enabled_for_destroy_$vg" );
     if (defined($FAI::configs{"VG_$vg"})) {
       $FAI::configs{"VG_$vg"}{exists} = 1;

@@ -664,12 +666,12 @@
           }
         }

-        &FAI::push_command( "wipefs -a $vg/$lv",
-          "vgchange_a_n_VG_$vg$pre_deps_cl",
+        &FAI::push_command( "wipefs -a /dev/$vg/$lv",
+          "vg_enabled_for_destroy_$vg$pre_deps_cl",
           "wipefs_$vg/$lv");
         &FAI::push_command( "lvremove -f $vg/$lv",
           "wipefs_$vg/$lv",
-          "lv_rm_$vg/$lv,self_cleared_/dev/$vg/$lv");
+          "lv_rm_$vg/$lv,self_cleared_$lv");
         $vg_setup_pre .= ",lv_rm_$vg/$lv";
       }
     } else {
@@ -683,18 +685,21 @@
   }

   my $vg_destroy_pre = "vgchange_a_n_VG_$vg";
+    &FAI::push_command( "vgchange -a y $vg",
+    "", "vg_enabled_for_destroy_$vg" );
+
   foreach my $lv (keys %{ $FAI::current_lvm_config{$vg}{volumes} }) {
     my $pre_deps_cl = "";
     $pre_deps_cl = ",self_cleared_" .
       join(",self_cleared_", @{ $FAI::current_dev_children{"/dev/$vg/$lv"} })
         if (defined($FAI::current_dev_children{"/dev/$vg/$lv"}) &&
           scalar(@{ $FAI::current_dev_children{"/dev/$vg/$lv"} }));
-    &FAI::push_command( "wipefs -a $vg/$lv",
-      "vgchange_a_n_VG_$vg$pre_deps_cl",
+      &FAI::push_command( "wipefs -a /dev/$vg/$lv",
+      "vg_enabled_for_destroy_$vg$pre_deps_cl",
       "wipefs_$vg/$lv");
     &FAI::push_command( "lvremove -f $vg/$lv",
       "wipefs_$vg/$lv",
-      "lv_rm_$vg/$lv,self_cleared_/dev/$vg/$lv");
++      "lv_rm_$vg/$lv,self_cleared_$lv");
     $vg_destroy_pre .= ",lv_rm_$vg/$lv";
   }
   &FAI::push_command( "vgremove $vg", "$vg_destroy_pre", "vg_removed_$vg");

Eventuell verzieht mein Blog die Zeichen deswegen hier noch als Datei.
FAI_setup-storage_Commands.pm.patch

Alternativ kann man diese Datei in /etc/fai/nfsroot-hooks erstellen und ausführbar machen.
10_FAI_setup-storage_Commands.pm.patch.sh

Patch anwenden

patch -Np1 -i /root/FAI_setup-storage_Commands.pm.patch

Dieser Patch muss, bis er eingebaut ist, bei jeder neu Erstellung des FAI Live-Systems  wieder angewendet werden.

Getagged mit: , ,
Ein Kommentar zu “FAI 4 Debian Wheezy und LVM Probleme
  1. Thomas (Mrfai) sagt:

    Anstatt einen alias zu nutzen wuerde ich die Templatefunktion von fai-chboot nutzen und dann das Template mit fai-chboot -vc templatename rechnermane kopieren.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*