From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?utf-8?B?VG9tw6HFoSDEjGVjaA==?= Subject: LVM support Date: Wed, 15 Apr 2015 07:07:56 +0200 Message-ID: <20150415050756.GC6648@venom> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:50025) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YiFYR-0001fb-RE for guix-devel@gnu.org; Wed, 15 Apr 2015 01:08:04 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YiFYN-0005fy-Ca for guix-devel@gnu.org; Wed, 15 Apr 2015 01:08:03 -0400 Received: from cantor2.suse.de ([195.135.220.15]:48168 helo=mx2.suse.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YiFYN-0005fY-60 for guix-devel@gnu.org; Wed, 15 Apr 2015 01:07:59 -0400 Received: from relay1.suse.de (charybdis-ext.suse.de [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id 02456ACCA for ; Wed, 15 Apr 2015 05:07:56 +0000 (UTC) Content-Disposition: inline List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: guix-devel@gnu.org Hi Guix, as project for my Hackweek in SUSE I decided to spend my time on LVM support in GuixSD - something I miss greatly. This also means that I'll have much less time for that after this week :( So far I spent time on reviving my GuixSD installation and preparing staticly linked binaries for initrd. I have now lvm2 package with extra output "static".=20 What next? Now the simplest way would be to simply call vgchange --activate y Matching configuration could be one configuration option: (use-lvm?) That would scan all block devices and look for LVM signature. Pros: - it's super simple! Cons: - if LVM with filesystem required at boot-time is not found, error is not detected or returned by LVM itself Slightly bit more complicated way could be vgchange --activate y for every volume group defined in system configuration. Matching configurat= ion could be (logical-volume-groups '("system" "data")) e.g. specify list of volume group names used by system. Pros: - still simple - if group activation fails, I can detect it and report it to user Cons: - some block devices with LVM may not be available at boot-time (like iSCSI devices accessible through network only or Luks devices available after entering password) That is my current approach. I could also specify whether it should be made available at boot time or not (logical-volume-groups '('("system" #t) '("data" #f))) (sorry for my poor Scheme taste here :) Pros: - with this I could say that volume group "system" should be activated at boot time, but "data" should be activated later. Cons: - starting to be more complicated - I need both initrd stage LVM activation and root filesystem stage LVM activation (implemented as service? which dependencies it has?) Or do it in different way. I'd rather not propose here any wild ideas for configuration but if you can devise something better, please tell me... S_W