Bug 862070

Summary: lvm2-2.02.98-0.28.5.1.x86_64 seems to break initrd if lvm2 on software raid devices
Product: [openSUSE] openSUSE 13.1 Reporter: Diego Ercolani <diego.ercolani>
Component: BasesystemAssignee: Dong Mao Zhang <dmzhang>
Status: RESOLVED DUPLICATE QA Contact: E-mail List <qa-bugs>
Severity: Major    
Priority: P5 - None    
Version: Final   
Target Milestone: ---   
Hardware: x86-64   
OS: openSUSE 13.1   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: /var/log/messages during mkinitrd
my /etc/fstab
/var/log/boot.log with cmdline debug=1 to show all the units called by initrd
journalctl -b to see what happens to the syslog
systemd service to circunvent the problem when raid lvm is not a system directory

Description Diego Ercolani 2014-02-04 10:06:49 UTC
Created attachment 577061 [details]
/var/log/messages during mkinitrd

User-Agent:       Mozilla/5.0 (X11; Linux x86_64; rv:26.0) Gecko/20100101 Firefox/26.0

since the upgrade yesterday of lvm2-2.02.98-0.28.5.1.x86_64
I register a problem during mkinitrd:
see messages@mkinitrd

Really my disk configuration is a bit crap as is the result of continuous upgrade...
in brief I have 2 disk with a software raid 1 in it and a lvm mapped on the raid device and on raw partitions.
I called filesystem build in lvm2 in raid device with the "raid" keyword, in the raw partitions "nonraid".
Here it is my partiton table:
Model: ATA ST31000528AS (scsi)
Disk /dev/sda: 1000GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type     File system     Flags
 1      1049kB  16.1GB  16.1GB  primary  ext4            type=83
 2      16.1GB  20.4GB  4294MB  primary  linux-swap(v1)  type=82
 3      20.4GB  845GB   825GB   primary                  raid, type=fd
 4      845GB   1000GB  155GB   primary  ext4            type=83

Model: ATA ST3000DM001-1CH1 (scsi)
Disk /dev/sdb: 3001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt

Number  Start   End     Size    File system     Name                  Flags
 1      20.5kB  1069kB  1049kB                  BIOS boot partition   bios_grub
 2      1069kB  111MB   110MB   ntfs            Microsoft basic data
 3      111MB   67.8GB  67.6GB  ntfs            Microsoft basic data
 4      67.8GB  73.1GB  5369MB  ext4            Linux filesystem
 5      73.1GB  81.7GB  8590MB  linux-swap(v1)  Linux swap
 6      81.7GB  189GB   107GB                   Linux filesystem
 7      189GB   1263GB  1074GB                  Linux RAID            raid
 8      1263GB  2362GB  1100GB                  Linux LVM             lvm
 9      2362GB  3001GB  638GB                   Linux LVM             lvm

RAID:
md127 : active raid1 sdb7[3] sda3[2]
      805304184 blocks super 1.2 [2/2] [UU]

Volume Group:
    PV /dev/md127   VG raid      lvm2 [768.00 GiB / 378.00 GiB free]
    PV /dev/sdb8    VG nonraid   lvm2 [1024.00 GiB / 330.00 GiB free]
Logical volume:
    ACTIVE            '/dev/raid/home' [20.00 GiB] inherit
    ACTIVE            '/dev/raid/virtualmachines' [350.00 GiB] inherit
    ACTIVE            '/dev/raid/bitcoin' [20.00 GiB] inherit
    ACTIVE            '/dev/nonraid/rootfs' [20.00 GiB] inherit
    ACTIVE            '/dev/nonraid/usr' [10.00 GiB] inherit
    ACTIVE            '/dev/nonraid/vecchiopcrootfs' [24.00 GiB] inherit
    ACTIVE            '/dev/nonraid/samba' [150.00 GiB] inherit
    ACTIVE            '/dev/nonraid/ISO' [250.00 GiB] inherit
    ACTIVE            '/dev/nonraid/filmati' [110.00 GiB] inherit
    ACTIVE            '/dev/nonraid/appoggio' [100.00 GiB] inherit
    ACTIVE            '/dev/nonraid/virtual3root' [20.00 GiB] inherit
    ACTIVE            '/dev/nonraid/thunderbird' [10.00 GiB] inherit


To circumvent the issue, i modified the /etc/fstab adding the "nofail" tag to the mount options for /dev/raid/* partitions
I booted in runlevel 1
I found that /dev/raid/* partitions were "inactive".
I activated with lvchange -ay /dev/raid/* and then I switched to runlevel 5 but I know that next boot I have to redo tha same.
I activated the feature for initrd: dm and lvm2 as you can see:
pc-diego:~ # mkinitrd

Kernel image:   /boot/vmlinuz-3.11.6-4-desktop
Initrd image:   /boot/initrd-3.11.6-4-desktop
Root device:    /dev/nonraid/rootfs (mounted on / as ext4)
/usr device:    UUID=cb9b8f2b-f590-49c1-a896-7f372732a00a (/dev/dm-1) (mounted on /usr as btrfs)
Resume device:  /dev/disk/by-id/ata-ST3000DM001-1CH166_W1F3ES6A-part5 (/dev/sdb5)
Kernel Modules: thermal_sys thermal processor fan pata_atiixp pata_via ata_generic i2c-algo-bit drm drm_kms_helper ttm radeon dm-mod dm-log dm-region-hash dm-mirror dm-snapshot scsi_dh scsi_dh_hp_sw scsi_dh_emc scsi_dh_alua scsi_dh_rdac libcrc32c xor zlib_deflate raid6_pq btrfs xhci-hcd hid-logitech-dj hid-holtek-kbd hid-lenovo-tpkbd hid-ortek hid-roccat hid-roccat-common hid-roccat-arvo hid-roccat-isku hid-samsung ohci-pci linear crc32c-intel 
Firmware:       radeon/R520_cp.bin radeon/RS600_cp.bin radeon/RS690_cp.bin radeon/R420_cp.bin radeon/R300_cp.bin radeon/R200_cp.bin radeon/R100_cp.bin radeon/SUMO2_me.bin radeon/SUMO2_pfp.bin radeon/SUMO_me.bin radeon/SUMO_pfp.bin radeon/SUMO_rlc.bin radeon/PALM_me.bin radeon/PALM_pfp.bin radeon/CYPRESS_smc.bin radeon/CYPRESS_rlc.bin radeon/CYPRESS_me.bin radeon/CYPRESS_pfp.bin radeon/JUNIPER_smc.bin radeon/JUNIPER_rlc.bin radeon/JUNIPER_me.bin radeon/JUNIPER_pfp.bin radeon/REDWOOD_smc.bin radeon/REDWOOD_rlc.bin radeon/REDWOOD_me.bin radeon/REDWOOD_pfp.bin radeon/CEDAR_smc.bin radeon/CEDAR_rlc.bin radeon/CEDAR_me.bin radeon/CEDAR_pfp.bin radeon/R700_rlc.bin radeon/R600_rlc.bin radeon/RV710_smc.bin radeon/RV710_me.bin radeon/RV710_pfp.bin radeon/RV740_smc.bin radeon/RV730_smc.bin radeon/RV730_me.bin radeon/RV730_pfp.bin radeon/RV770_smc.bin radeon/RV770_me.bin radeon/RV770_pfp.bin radeon/RS780_me.bin radeon/RS780_pfp.bin radeon/RV670_me.bin radeon/RV670_pfp.bin radeon/RV635_me.bin radeon/RV635_pfp.bin radeon/RV620_me.bin radeon/RV620_pfp.bin radeon/RV630_me.bin radeon/RV630_pfp.bin radeon/RV610_me.bin radeon/RV610_pfp.bin radeon/R600_me.bin radeon/R600_pfp.bin radeon/ARUBA_rlc.bin radeon/ARUBA_me.bin radeon/ARUBA_pfp.bin radeon/CAYMAN_smc.bin radeon/CAYMAN_rlc.bin radeon/CAYMAN_mc.bin radeon/CAYMAN_me.bin radeon/CAYMAN_pfp.bin radeon/CAICOS_smc.bin radeon/CAICOS_mc.bin radeon/CAICOS_me.bin radeon/CAICOS_pfp.bin radeon/TURKS_smc.bin radeon/TURKS_mc.bin radeon/TURKS_me.bin radeon/TURKS_pfp.bin radeon/BTC_rlc.bin radeon/BARTS_smc.bin radeon/BARTS_mc.bin radeon/BARTS_me.bin radeon/BARTS_pfp.bin radeon/HAINAN_smc.bin radeon/HAINAN_rlc.bin radeon/HAINAN_mc.bin radeon/HAINAN_ce.bin radeon/HAINAN_me.bin radeon/HAINAN_pfp.bin radeon/OLAND_smc.bin radeon/OLAND_rlc.bin radeon/OLAND_mc.bin radeon/OLAND_ce.bin radeon/OLAND_me.bin radeon/OLAND_pfp.bin radeon/VERDE_smc.bin radeon/VERDE_rlc.bin radeon/VERDE_mc.bin radeon/VERDE_ce.bin radeon/VERDE_me.bin radeon/VERDE_pfp.bin radeon/PITCAIRN_smc.bin radeon/PITCAIRN_rlc.bin radeon/PITCAIRN_mc.bin radeon/PITCAIRN_ce.bin radeon/PITCAIRN_me.bin radeon/PITCAIRN_pfp.bin radeon/TAHITI_smc.bin radeon/TAHITI_rlc.bin radeon/TAHITI_mc.bin radeon/TAHITI_ce.bin radeon/TAHITI_me.bin radeon/TAHITI_pfp.bin radeon/BONAIRE_uvd.bin radeon/TAHITI_uvd.bin radeon/SUMO_uvd.bin radeon/CYPRESS_uvd.bin radeon/RV710_uvd.bin radeon/KABINI_sdma.bin radeon/KABINI_rlc.bin radeon/KABINI_mec.bin radeon/KABINI_ce.bin radeon/KABINI_me.bin radeon/KABINI_pfp.bin radeon/BONAIRE_sdma.bin radeon/BONAIRE_rlc.bin radeon/BONAIRE_mc.bin radeon/BONAIRE_mec.bin radeon/BONAIRE_ce.bin radeon/BONAIRE_me.bin radeon/BONAIRE_pfp.bin 
Features:       acpi dm plymouth block usb lvm2 btrfs resume.userspace resume.kernel







Reproducible: Always

Steps to Reproduce:
1.
2.
3.
Actual Results:  
Seems that initramdisk don't activate raid lvm partitions so system don't boot
Comment 1 Diego Ercolani 2014-02-04 10:10:40 UTC
Created attachment 577062 [details]
my /etc/fstab
Comment 2 Diego Ercolani 2014-02-04 14:05:42 UTC
Created attachment 577099 [details]
/var/log/boot.log with cmdline debug=1 to show all the units called by initrd
Comment 3 Diego Ercolani 2014-02-04 14:11:43 UTC
Created attachment 577102 [details]
journalctl -b to see what happens to the syslog
Comment 4 Diego Ercolani 2014-02-04 22:38:21 UTC
Created attachment 577162 [details]
systemd service to circunvent the problem when raid lvm is not a system directory

Fortunally in my case system files resides in normal lvm2 filesystem and not on lvm2 filesystem on software raid, so the Operating System for me is functional. So I created a systemd service that I called /etc/systemd/system/activateraidlvm.service that use a script under /root/scripts/activateraidlvm.sh that
only with a functional bash (sed, awk, lvscan, lvchange)
scan the lvm2 partition that are "inactive" and activate them.
I set the dependancy only on lacal-fs.target

to setup:

systemctl enable activateraidlvm.service
or
ln -s '/etc/systemd/system/activateraidlvm.service' '/etc/systemd/system/local-fs.target.wants/activateraidlvm.service'

but in my case I cannot drop on the rescue shell after the timeout (I think it's another bug, hopefully related only to this), I have to boot from a live CD.
Comment 5 Diego Ercolani 2014-02-14 08:46:12 UTC
Hello, to verify that this bug isn't only on my system I installed a new system with the same architecture:

* software raid1 on 2 partitions
* lvm2 built on top of software raid

As mentioned the upgrade done on 2014/02/13 15:00 CET broke initrd and when system is boot it doesn't automatically activate logical volumes built on software raid devices) so this bug is easy to reproduce.

Hope this helps
Comment 6 Diego Ercolani 2014-02-14 15:43:27 UTC
Due to further investigation I think the problem is more critical.
It seem there is something in base system that won't work with lvm2 on software raid as stated in my bug report #864046

*** This bug has been marked as a duplicate of bug 864046 ***