How to configure RAID + 2 LVM volumes via preseed?Testing my raid array / is my mdadm raid working OK?Unable to mount an LVM Hard-drive after upgradeHow to install ubuntu on a raid 5 array using mdadmHow to install Ubuntu server 14.04 on LVM RAID?How do I preseed/partman/recipe two disks12TB storage, can someone help me? :)Unattended Offline Edubuntu 14.04 InstallUbuntu 14.04 - undo mdadm raid1 lvm system, 2nd disk as emergency recoverPreseed partitioning with multiple PVS for LVM on single discAutomating ubuntu desktop 16.04 install, setup running two times

Simulating a probability of 1 of 2^N with less than N random bits

Books on the History of math research at European universities

Can somebody explain Brexit in a few child-proof sentences?

What if somebody invests in my application?

Lifted its hind leg on or lifted its hind leg towards?

Pronouncing Homer as in modern Greek

Taylor series of product of two functions

In Star Trek IV, why did the Bounty go back to a time when whales were already rare?

How can I raise concerns with a new DM about XP splitting?

Can I use my Chinese passport to enter China after I acquired another citizenship?

Hostile work environment after whistle-blowing on coworker and our boss. What do I do?

How to color a zone in Tikz

Can the electrostatic force be infinite in magnitude?

Is it okay / does it make sense for another player to join a running game of Munchkin?

Are taller landing gear bad for aircraft, particulary large airliners?

Indicating multiple different modes of speech (fantasy language or telepathy)

Freedom of speech and where it applies

Is a naturally all "male" species possible?

Teaching indefinite integrals that require special-casing

Does "Dominei" mean something?

I'm in charge of equipment buying but no one's ever happy with what I choose. How to fix this?

Is there enough fresh water in the world to eradicate the drinking water crisis?

The One-Electron Universe postulate is true - what simple change can I make to change the whole universe?

"lassen" in meaning "sich fassen"



How to configure RAID + 2 LVM volumes via preseed?


Testing my raid array / is my mdadm raid working OK?Unable to mount an LVM Hard-drive after upgradeHow to install ubuntu on a raid 5 array using mdadmHow to install Ubuntu server 14.04 on LVM RAID?How do I preseed/partman/recipe two disks12TB storage, can someone help me? :)Unattended Offline Edubuntu 14.04 InstallUbuntu 14.04 - undo mdadm raid1 lvm system, 2nd disk as emergency recoverPreseed partitioning with multiple PVS for LVM on single discAutomating ubuntu desktop 16.04 install, setup running two times













4















Internally, we use Ubuntu (14.04 Trusty) on our workstations, and until now we've done all of our builds by hand, including the creation of RAID/LVM/LUKS-encrypted volumes. This doesn't scale, and I'm now working to automate some of our processes to reduce the amount of "hands on" involvement required to build a fresh workstation.



Our hard disk configuration is as follows:



  • /dev/sda & /dev/sdb are both 1Tb Hard Disks partitioned identically and RAIDed
    • 1Gb Partition with RAID 1 containing ext4 filesystem mounted as /boot

    • Remainder of drive RAID 1 containing a LVM PV/VG (vg_raid)
      • 8Gb LV for swap space

      • Remainder of space - LV containing ext4 filesystem mounted as /



  • /dev/sdc 128Gb SSD
    • Single partition containing a LVM PV/VG (vg_ssd)

    • Single LV using all available space containing an ext4 filesystem which is mounted at /ssd


Partitioned in this way we have a large, redundant, root filesystem for general data storage, and a smaller partition on which files which are I/O speed sensitive can be placed (e.g. MySQL databases).



I'm trying to replicate this in a partman expert_recipe with related configuration so that it can be created by the Ubuntu installer. My main issue is that there doesn't seem to be a (working?) mechanism in the partman recipe "language" to specify that a specific LV needs to be created in a specific colume group, and which LVM physical volumes are assigned to each volume group. I had an earlier version of this configuration working without trying to partition/format/mount any volumes on /dev/sdc, but as soon as the extra "non-RAID" drive is involved, I can't seem to express what I want in the partman recipe.



The relevant portion of my preseed.cfg file is as follows:



d-i partman-auto/disk string /dev/sda /dev/sdb /dev/sdc
d-i partman-auto/method string raid
d-i partman-lvm/device_remove_lvm boolean true
d-i partman-md/device_remove_md boolean true
d-i partman-lvm/confirm boolean true
d-i partman-lvm/confirm_nooverwrite boolean true
d-i partman-auto-lvm/new_vg_name string vg_raid vg_ssd
d-i partman-auto-lvm/guided_size string max
d-i partman-auto/expert_recipe string
boot-root ::
512 10 1024 raid
$primary $lvmignore $bootable
method raid
device /dev/sda /dev/sdb
vg_name vg_raid
.
4096 20 -1 raid
$primary $lvmignore
method raid
device /dev/sda /dev/sdb
.
2048 20 -1 lvm
$primary
$defaultignore
method lvm
device /dev/sdc
vg_name vg_ssd
.
8192 100 -1 ext4
$defaultignore $lvmok
in_vg vg_raid
lv_name lv_root
method format format
use_filesystem filesystem ext4
mountpoint /
device /dev/sda /dev/sdb
.
4096 100 100% linux-swap
$defaultignore $lvmok
in_vg vg_raid
lv_name lv_swap
method swap format
device /dev/sda /dev/sdb
.
2048 100 -1 ext4
$defaultignore $lvmok
method format format
use_filesystem filesystem ext4
device /dev/sdc
in_vg vg_ssd
lv_name lv_ssd
mountpoint /ssd
.
d-i partman-auto-raid/recipe string
1 2 0 ext4 /boot /dev/sda1#/dev/sdb1 .
1 2 0 lvm - /dev/sda2#/dev/sdb2 .
d-i partman-partitioning/confirm_write_new_label boolean true
d-i partman/choose_partition select finish
d-i partman/confirm boolean true
d-i partman-lvm/confirm boolean true
d-i partman-md/confirm boolean true
d-i partman/confirm_nooverwrite boolean true
d-i partman-md/confirm_nooverwrite boolean true
d-i partman-lvm/confirm_nooverwrite boolean true
d-i partman/mount_style select label


You'll note that I've tried to be quite specific about which partitions/volumes are to be placed on which disks, but partman doesn't seem to honor at least some of that configuration. I've also kept the minimum volume sizes fairly small while I test this configuration on a VM. When I run an install with this configuration onto a VirtualBox VM with smaller drives, the install fails with the error message:



Error while setting up RAID
An unexpected error occurred while setting up a preseeded RAID configuration.

Check /var/log/syslog or see virtual console 4 for the details.


The relevant section from syslog is as follows:



Jan 13 02:41:54 md-devices: mdadm: No arrays found in config file or automatically
Jan 13 02:41:54 partman: No matching physical volumes found
Jan 13 02:41:54 partman: Reading all physical volumes. This may take a while...
Jan 13 02:41:54 partman:
Jan 13 02:41:54 partman: No volume groups found
Jan 13 02:41:54 partman:
Jan 13 02:41:54 partman-lvm:
Jan 13 02:41:54 partman-lvm: No volume groups found
Jan 13 02:41:54 partman-lvm:
Jan 13 02:41:56 partman-auto: Available disk space (4294) too small for expert recipe (4608); skipping
Jan 13 02:41:57 kernel: [ 91.295036] Adding 2095100k swap on /dev/sdc5. Priority:-1 extents:1 across:2095100k FS
Jan 13 02:41:57 partman: mke2fs 1.42.9 (4-Feb-2014)
Jan 13 02:41:57 apt-install: Queueing package mdadm for later installation
Jan 13 02:41:57 partman-auto-raid: Error: No recipe specified in partman-auto-raid/recipe


I suspect the line 4th from the bottom is most relevant, as you can see that partman has gone ahead and created swap space on /dev/sdc, which wasn't what I wanted.



I've tried a number of variations of how partitions are specified. I've Googled a lot for versions terms relating to partman recipes and preseed in general, and I can't find a canonical reference for the different configuration options in a recipe and why they're applicable. I've found a number of RAID examples, and many LVM examples, but nothing that mixes the two in the way I'm trying to use them. This thread from the debian-user mailing list suggests that what I want to do isn't possible, and that seem to track with my impression that the partman recipe language doesn't have the tools required to describe what I'm trying to acheive.



If anyone can point out what I'm doing wrong with my configuration, or even just some good reference materials on partman expert_recipe and the configuration language involved, that'd be most appreciated. At this point it looks like I can automate my entire install, except for the partitioning portion, which is really the main thing I wanted to automate!










share|improve this question
















bumped to the homepage by Community 16 mins ago


This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.



















    4















    Internally, we use Ubuntu (14.04 Trusty) on our workstations, and until now we've done all of our builds by hand, including the creation of RAID/LVM/LUKS-encrypted volumes. This doesn't scale, and I'm now working to automate some of our processes to reduce the amount of "hands on" involvement required to build a fresh workstation.



    Our hard disk configuration is as follows:



    • /dev/sda & /dev/sdb are both 1Tb Hard Disks partitioned identically and RAIDed
      • 1Gb Partition with RAID 1 containing ext4 filesystem mounted as /boot

      • Remainder of drive RAID 1 containing a LVM PV/VG (vg_raid)
        • 8Gb LV for swap space

        • Remainder of space - LV containing ext4 filesystem mounted as /



    • /dev/sdc 128Gb SSD
      • Single partition containing a LVM PV/VG (vg_ssd)

      • Single LV using all available space containing an ext4 filesystem which is mounted at /ssd


    Partitioned in this way we have a large, redundant, root filesystem for general data storage, and a smaller partition on which files which are I/O speed sensitive can be placed (e.g. MySQL databases).



    I'm trying to replicate this in a partman expert_recipe with related configuration so that it can be created by the Ubuntu installer. My main issue is that there doesn't seem to be a (working?) mechanism in the partman recipe "language" to specify that a specific LV needs to be created in a specific colume group, and which LVM physical volumes are assigned to each volume group. I had an earlier version of this configuration working without trying to partition/format/mount any volumes on /dev/sdc, but as soon as the extra "non-RAID" drive is involved, I can't seem to express what I want in the partman recipe.



    The relevant portion of my preseed.cfg file is as follows:



    d-i partman-auto/disk string /dev/sda /dev/sdb /dev/sdc
    d-i partman-auto/method string raid
    d-i partman-lvm/device_remove_lvm boolean true
    d-i partman-md/device_remove_md boolean true
    d-i partman-lvm/confirm boolean true
    d-i partman-lvm/confirm_nooverwrite boolean true
    d-i partman-auto-lvm/new_vg_name string vg_raid vg_ssd
    d-i partman-auto-lvm/guided_size string max
    d-i partman-auto/expert_recipe string
    boot-root ::
    512 10 1024 raid
    $primary $lvmignore $bootable
    method raid
    device /dev/sda /dev/sdb
    vg_name vg_raid
    .
    4096 20 -1 raid
    $primary $lvmignore
    method raid
    device /dev/sda /dev/sdb
    .
    2048 20 -1 lvm
    $primary
    $defaultignore
    method lvm
    device /dev/sdc
    vg_name vg_ssd
    .
    8192 100 -1 ext4
    $defaultignore $lvmok
    in_vg vg_raid
    lv_name lv_root
    method format format
    use_filesystem filesystem ext4
    mountpoint /
    device /dev/sda /dev/sdb
    .
    4096 100 100% linux-swap
    $defaultignore $lvmok
    in_vg vg_raid
    lv_name lv_swap
    method swap format
    device /dev/sda /dev/sdb
    .
    2048 100 -1 ext4
    $defaultignore $lvmok
    method format format
    use_filesystem filesystem ext4
    device /dev/sdc
    in_vg vg_ssd
    lv_name lv_ssd
    mountpoint /ssd
    .
    d-i partman-auto-raid/recipe string
    1 2 0 ext4 /boot /dev/sda1#/dev/sdb1 .
    1 2 0 lvm - /dev/sda2#/dev/sdb2 .
    d-i partman-partitioning/confirm_write_new_label boolean true
    d-i partman/choose_partition select finish
    d-i partman/confirm boolean true
    d-i partman-lvm/confirm boolean true
    d-i partman-md/confirm boolean true
    d-i partman/confirm_nooverwrite boolean true
    d-i partman-md/confirm_nooverwrite boolean true
    d-i partman-lvm/confirm_nooverwrite boolean true
    d-i partman/mount_style select label


    You'll note that I've tried to be quite specific about which partitions/volumes are to be placed on which disks, but partman doesn't seem to honor at least some of that configuration. I've also kept the minimum volume sizes fairly small while I test this configuration on a VM. When I run an install with this configuration onto a VirtualBox VM with smaller drives, the install fails with the error message:



    Error while setting up RAID
    An unexpected error occurred while setting up a preseeded RAID configuration.

    Check /var/log/syslog or see virtual console 4 for the details.


    The relevant section from syslog is as follows:



    Jan 13 02:41:54 md-devices: mdadm: No arrays found in config file or automatically
    Jan 13 02:41:54 partman: No matching physical volumes found
    Jan 13 02:41:54 partman: Reading all physical volumes. This may take a while...
    Jan 13 02:41:54 partman:
    Jan 13 02:41:54 partman: No volume groups found
    Jan 13 02:41:54 partman:
    Jan 13 02:41:54 partman-lvm:
    Jan 13 02:41:54 partman-lvm: No volume groups found
    Jan 13 02:41:54 partman-lvm:
    Jan 13 02:41:56 partman-auto: Available disk space (4294) too small for expert recipe (4608); skipping
    Jan 13 02:41:57 kernel: [ 91.295036] Adding 2095100k swap on /dev/sdc5. Priority:-1 extents:1 across:2095100k FS
    Jan 13 02:41:57 partman: mke2fs 1.42.9 (4-Feb-2014)
    Jan 13 02:41:57 apt-install: Queueing package mdadm for later installation
    Jan 13 02:41:57 partman-auto-raid: Error: No recipe specified in partman-auto-raid/recipe


    I suspect the line 4th from the bottom is most relevant, as you can see that partman has gone ahead and created swap space on /dev/sdc, which wasn't what I wanted.



    I've tried a number of variations of how partitions are specified. I've Googled a lot for versions terms relating to partman recipes and preseed in general, and I can't find a canonical reference for the different configuration options in a recipe and why they're applicable. I've found a number of RAID examples, and many LVM examples, but nothing that mixes the two in the way I'm trying to use them. This thread from the debian-user mailing list suggests that what I want to do isn't possible, and that seem to track with my impression that the partman recipe language doesn't have the tools required to describe what I'm trying to acheive.



    If anyone can point out what I'm doing wrong with my configuration, or even just some good reference materials on partman expert_recipe and the configuration language involved, that'd be most appreciated. At this point it looks like I can automate my entire install, except for the partitioning portion, which is really the main thing I wanted to automate!










    share|improve this question
















    bumped to the homepage by Community 16 mins ago


    This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.

















      4












      4








      4








      Internally, we use Ubuntu (14.04 Trusty) on our workstations, and until now we've done all of our builds by hand, including the creation of RAID/LVM/LUKS-encrypted volumes. This doesn't scale, and I'm now working to automate some of our processes to reduce the amount of "hands on" involvement required to build a fresh workstation.



      Our hard disk configuration is as follows:



      • /dev/sda & /dev/sdb are both 1Tb Hard Disks partitioned identically and RAIDed
        • 1Gb Partition with RAID 1 containing ext4 filesystem mounted as /boot

        • Remainder of drive RAID 1 containing a LVM PV/VG (vg_raid)
          • 8Gb LV for swap space

          • Remainder of space - LV containing ext4 filesystem mounted as /



      • /dev/sdc 128Gb SSD
        • Single partition containing a LVM PV/VG (vg_ssd)

        • Single LV using all available space containing an ext4 filesystem which is mounted at /ssd


      Partitioned in this way we have a large, redundant, root filesystem for general data storage, and a smaller partition on which files which are I/O speed sensitive can be placed (e.g. MySQL databases).



      I'm trying to replicate this in a partman expert_recipe with related configuration so that it can be created by the Ubuntu installer. My main issue is that there doesn't seem to be a (working?) mechanism in the partman recipe "language" to specify that a specific LV needs to be created in a specific colume group, and which LVM physical volumes are assigned to each volume group. I had an earlier version of this configuration working without trying to partition/format/mount any volumes on /dev/sdc, but as soon as the extra "non-RAID" drive is involved, I can't seem to express what I want in the partman recipe.



      The relevant portion of my preseed.cfg file is as follows:



      d-i partman-auto/disk string /dev/sda /dev/sdb /dev/sdc
      d-i partman-auto/method string raid
      d-i partman-lvm/device_remove_lvm boolean true
      d-i partman-md/device_remove_md boolean true
      d-i partman-lvm/confirm boolean true
      d-i partman-lvm/confirm_nooverwrite boolean true
      d-i partman-auto-lvm/new_vg_name string vg_raid vg_ssd
      d-i partman-auto-lvm/guided_size string max
      d-i partman-auto/expert_recipe string
      boot-root ::
      512 10 1024 raid
      $primary $lvmignore $bootable
      method raid
      device /dev/sda /dev/sdb
      vg_name vg_raid
      .
      4096 20 -1 raid
      $primary $lvmignore
      method raid
      device /dev/sda /dev/sdb
      .
      2048 20 -1 lvm
      $primary
      $defaultignore
      method lvm
      device /dev/sdc
      vg_name vg_ssd
      .
      8192 100 -1 ext4
      $defaultignore $lvmok
      in_vg vg_raid
      lv_name lv_root
      method format format
      use_filesystem filesystem ext4
      mountpoint /
      device /dev/sda /dev/sdb
      .
      4096 100 100% linux-swap
      $defaultignore $lvmok
      in_vg vg_raid
      lv_name lv_swap
      method swap format
      device /dev/sda /dev/sdb
      .
      2048 100 -1 ext4
      $defaultignore $lvmok
      method format format
      use_filesystem filesystem ext4
      device /dev/sdc
      in_vg vg_ssd
      lv_name lv_ssd
      mountpoint /ssd
      .
      d-i partman-auto-raid/recipe string
      1 2 0 ext4 /boot /dev/sda1#/dev/sdb1 .
      1 2 0 lvm - /dev/sda2#/dev/sdb2 .
      d-i partman-partitioning/confirm_write_new_label boolean true
      d-i partman/choose_partition select finish
      d-i partman/confirm boolean true
      d-i partman-lvm/confirm boolean true
      d-i partman-md/confirm boolean true
      d-i partman/confirm_nooverwrite boolean true
      d-i partman-md/confirm_nooverwrite boolean true
      d-i partman-lvm/confirm_nooverwrite boolean true
      d-i partman/mount_style select label


      You'll note that I've tried to be quite specific about which partitions/volumes are to be placed on which disks, but partman doesn't seem to honor at least some of that configuration. I've also kept the minimum volume sizes fairly small while I test this configuration on a VM. When I run an install with this configuration onto a VirtualBox VM with smaller drives, the install fails with the error message:



      Error while setting up RAID
      An unexpected error occurred while setting up a preseeded RAID configuration.

      Check /var/log/syslog or see virtual console 4 for the details.


      The relevant section from syslog is as follows:



      Jan 13 02:41:54 md-devices: mdadm: No arrays found in config file or automatically
      Jan 13 02:41:54 partman: No matching physical volumes found
      Jan 13 02:41:54 partman: Reading all physical volumes. This may take a while...
      Jan 13 02:41:54 partman:
      Jan 13 02:41:54 partman: No volume groups found
      Jan 13 02:41:54 partman:
      Jan 13 02:41:54 partman-lvm:
      Jan 13 02:41:54 partman-lvm: No volume groups found
      Jan 13 02:41:54 partman-lvm:
      Jan 13 02:41:56 partman-auto: Available disk space (4294) too small for expert recipe (4608); skipping
      Jan 13 02:41:57 kernel: [ 91.295036] Adding 2095100k swap on /dev/sdc5. Priority:-1 extents:1 across:2095100k FS
      Jan 13 02:41:57 partman: mke2fs 1.42.9 (4-Feb-2014)
      Jan 13 02:41:57 apt-install: Queueing package mdadm for later installation
      Jan 13 02:41:57 partman-auto-raid: Error: No recipe specified in partman-auto-raid/recipe


      I suspect the line 4th from the bottom is most relevant, as you can see that partman has gone ahead and created swap space on /dev/sdc, which wasn't what I wanted.



      I've tried a number of variations of how partitions are specified. I've Googled a lot for versions terms relating to partman recipes and preseed in general, and I can't find a canonical reference for the different configuration options in a recipe and why they're applicable. I've found a number of RAID examples, and many LVM examples, but nothing that mixes the two in the way I'm trying to use them. This thread from the debian-user mailing list suggests that what I want to do isn't possible, and that seem to track with my impression that the partman recipe language doesn't have the tools required to describe what I'm trying to acheive.



      If anyone can point out what I'm doing wrong with my configuration, or even just some good reference materials on partman expert_recipe and the configuration language involved, that'd be most appreciated. At this point it looks like I can automate my entire install, except for the partitioning portion, which is really the main thing I wanted to automate!










      share|improve this question
















      Internally, we use Ubuntu (14.04 Trusty) on our workstations, and until now we've done all of our builds by hand, including the creation of RAID/LVM/LUKS-encrypted volumes. This doesn't scale, and I'm now working to automate some of our processes to reduce the amount of "hands on" involvement required to build a fresh workstation.



      Our hard disk configuration is as follows:



      • /dev/sda & /dev/sdb are both 1Tb Hard Disks partitioned identically and RAIDed
        • 1Gb Partition with RAID 1 containing ext4 filesystem mounted as /boot

        • Remainder of drive RAID 1 containing a LVM PV/VG (vg_raid)
          • 8Gb LV for swap space

          • Remainder of space - LV containing ext4 filesystem mounted as /



      • /dev/sdc 128Gb SSD
        • Single partition containing a LVM PV/VG (vg_ssd)

        • Single LV using all available space containing an ext4 filesystem which is mounted at /ssd


      Partitioned in this way we have a large, redundant, root filesystem for general data storage, and a smaller partition on which files which are I/O speed sensitive can be placed (e.g. MySQL databases).



      I'm trying to replicate this in a partman expert_recipe with related configuration so that it can be created by the Ubuntu installer. My main issue is that there doesn't seem to be a (working?) mechanism in the partman recipe "language" to specify that a specific LV needs to be created in a specific colume group, and which LVM physical volumes are assigned to each volume group. I had an earlier version of this configuration working without trying to partition/format/mount any volumes on /dev/sdc, but as soon as the extra "non-RAID" drive is involved, I can't seem to express what I want in the partman recipe.



      The relevant portion of my preseed.cfg file is as follows:



      d-i partman-auto/disk string /dev/sda /dev/sdb /dev/sdc
      d-i partman-auto/method string raid
      d-i partman-lvm/device_remove_lvm boolean true
      d-i partman-md/device_remove_md boolean true
      d-i partman-lvm/confirm boolean true
      d-i partman-lvm/confirm_nooverwrite boolean true
      d-i partman-auto-lvm/new_vg_name string vg_raid vg_ssd
      d-i partman-auto-lvm/guided_size string max
      d-i partman-auto/expert_recipe string
      boot-root ::
      512 10 1024 raid
      $primary $lvmignore $bootable
      method raid
      device /dev/sda /dev/sdb
      vg_name vg_raid
      .
      4096 20 -1 raid
      $primary $lvmignore
      method raid
      device /dev/sda /dev/sdb
      .
      2048 20 -1 lvm
      $primary
      $defaultignore
      method lvm
      device /dev/sdc
      vg_name vg_ssd
      .
      8192 100 -1 ext4
      $defaultignore $lvmok
      in_vg vg_raid
      lv_name lv_root
      method format format
      use_filesystem filesystem ext4
      mountpoint /
      device /dev/sda /dev/sdb
      .
      4096 100 100% linux-swap
      $defaultignore $lvmok
      in_vg vg_raid
      lv_name lv_swap
      method swap format
      device /dev/sda /dev/sdb
      .
      2048 100 -1 ext4
      $defaultignore $lvmok
      method format format
      use_filesystem filesystem ext4
      device /dev/sdc
      in_vg vg_ssd
      lv_name lv_ssd
      mountpoint /ssd
      .
      d-i partman-auto-raid/recipe string
      1 2 0 ext4 /boot /dev/sda1#/dev/sdb1 .
      1 2 0 lvm - /dev/sda2#/dev/sdb2 .
      d-i partman-partitioning/confirm_write_new_label boolean true
      d-i partman/choose_partition select finish
      d-i partman/confirm boolean true
      d-i partman-lvm/confirm boolean true
      d-i partman-md/confirm boolean true
      d-i partman/confirm_nooverwrite boolean true
      d-i partman-md/confirm_nooverwrite boolean true
      d-i partman-lvm/confirm_nooverwrite boolean true
      d-i partman/mount_style select label


      You'll note that I've tried to be quite specific about which partitions/volumes are to be placed on which disks, but partman doesn't seem to honor at least some of that configuration. I've also kept the minimum volume sizes fairly small while I test this configuration on a VM. When I run an install with this configuration onto a VirtualBox VM with smaller drives, the install fails with the error message:



      Error while setting up RAID
      An unexpected error occurred while setting up a preseeded RAID configuration.

      Check /var/log/syslog or see virtual console 4 for the details.


      The relevant section from syslog is as follows:



      Jan 13 02:41:54 md-devices: mdadm: No arrays found in config file or automatically
      Jan 13 02:41:54 partman: No matching physical volumes found
      Jan 13 02:41:54 partman: Reading all physical volumes. This may take a while...
      Jan 13 02:41:54 partman:
      Jan 13 02:41:54 partman: No volume groups found
      Jan 13 02:41:54 partman:
      Jan 13 02:41:54 partman-lvm:
      Jan 13 02:41:54 partman-lvm: No volume groups found
      Jan 13 02:41:54 partman-lvm:
      Jan 13 02:41:56 partman-auto: Available disk space (4294) too small for expert recipe (4608); skipping
      Jan 13 02:41:57 kernel: [ 91.295036] Adding 2095100k swap on /dev/sdc5. Priority:-1 extents:1 across:2095100k FS
      Jan 13 02:41:57 partman: mke2fs 1.42.9 (4-Feb-2014)
      Jan 13 02:41:57 apt-install: Queueing package mdadm for later installation
      Jan 13 02:41:57 partman-auto-raid: Error: No recipe specified in partman-auto-raid/recipe


      I suspect the line 4th from the bottom is most relevant, as you can see that partman has gone ahead and created swap space on /dev/sdc, which wasn't what I wanted.



      I've tried a number of variations of how partitions are specified. I've Googled a lot for versions terms relating to partman recipes and preseed in general, and I can't find a canonical reference for the different configuration options in a recipe and why they're applicable. I've found a number of RAID examples, and many LVM examples, but nothing that mixes the two in the way I'm trying to use them. This thread from the debian-user mailing list suggests that what I want to do isn't possible, and that seem to track with my impression that the partman recipe language doesn't have the tools required to describe what I'm trying to acheive.



      If anyone can point out what I'm doing wrong with my configuration, or even just some good reference materials on partman expert_recipe and the configuration language involved, that'd be most appreciated. At this point it looks like I can automate my entire install, except for the partitioning portion, which is really the main thing I wanted to automate!







      14.04 system-installation lvm mdadm preseed






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Jan 13 '15 at 4:59









      A J

      5,934153457




      5,934153457










      asked Jan 13 '15 at 4:35









      Jim OHalloranJim OHalloran

      12115




      12115





      bumped to the homepage by Community 16 mins ago


      This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.







      bumped to the homepage by Community 16 mins ago


      This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.






















          1 Answer
          1






          active

          oldest

          votes


















          0














          Using preseed file to create raid+lvm is tricky.
          Basically, you cannot create a flexible configuration file using preseed. It is not simple and flow as a kickstart in RedHat/CentOS.



          For me, I had to create custom commands using preseed_early syntax.
          You can change is as you like, regarding your configuration.
          The main goal is to create RAID array before the partitioner starts.
          Setup daemon will as you that no /boot partition is defined, ignore this.
          Tested on Debian 9



          So we have four disks



          /dev/sda1 and /dev/sdb1 is a RAID1 mirror -> /dev/md0
          /dev/sda2 and /dev/sdb2 is a RAID0 stripe. -> /dev/md1
          /dev/sdc1 and /dev/sdd1 is a RAID1 mirror. -> /dev/md2



          on md0 he have a /boot partition
          on md1 we have a swap file
          on md2 is a / root.



          so the preseed file is the following:



          d-i partman-auto/disk string /dev/md0 /dev/md1 /dev/md2
          d-i partman-auto/method string lvm



          d-i partman-auto/expert_recipe string
          1 1 -1 lvm
          $defaultignore
          $primary
          device /dev/md0
          method lvm
          vg_name vg00
          .
          1 1 -1 lvm
          $defaultignore
          $primary
          device /dev/md1
          method lvm
          vg_name vg01
          .
          1 1 -1 lvm
          $defaultignore
          $primary
          device /dev/md2
          method lvm
          vg_name vg02
          .
          512 512 512 ext4
          $lvmok
          in_vg vg00
          lv_name lv_boot
          method format format
          use_filesystem filesystem ext4
          mountpoint /boot
          .
          512 1024 1024 linux-swap
          $lvmok
          in_vg vg02
          lv_name lv_swap
          method swap format
          .
          1000 9000 9000 ext4
          $lvmok
          in_vg vg01
          lv_name lv_root
          method format format
          use_filesystem filesystem ext4
          mountpoint /
          .



          d-i grub-installer/bootdev string /dev/sda /dev/sdb



          d-i preseed/early_command string /bin/killall.sh;
          /bin/netcfg;



          echo "o# clear the in memory partition table" >> /tmp/fdisk1;
          echo "n# create new partition" >> /tmp/fdisk1;
          echo "p# type primary" >> /tmp/fdisk1;
          echo "1# no. of partition" >> /tmp/fdisk1;
          echo " # default" >> /tmp/fdisk1;
          echo "+512M# partition size" >> /tmp/fdisk1;
          echo "t# partition type" >> /tmp/fdisk1;
          echo "fd# Linux RAID" >> /tmp/fdisk1;
          echo "w# write changes" >> /tmp/fdisk1;

          echo "n# create new partition" >> /tmp/fdisk2;
          echo "p# type primary" >> /tmp/fdisk2;
          echo "2# no. of partition" >> /tmp/fdisk2;
          echo " # default" >> /tmp/fdisk2;
          echo " # partition size" >> /tmp/fdisk2;
          echo "t# partition type" >> /tmp/fdisk2;
          echo "2# no. of partition" >> /tmp/fdisk2;
          echo "fd# Linux RAID" >> /tmp/fdisk2;
          echo "w# write changes" >> /tmp/fdisk2;

          echo "o# clear the in memory partition table" >> /tmp/fdisk3;
          echo "n# create new partition" >> /tmp/fdisk3;
          echo "p# type primary" >> /tmp/fdisk3;
          echo "1# no. of partition" >> /tmp/fdisk3;
          echo " # default" >> /tmp/fdisk3;
          echo " # partition size" >> /tmp/fdisk3;
          echo "t# partition type" >> /tmp/fdisk3;
          echo "fd# Linux RAID" >> /tmp/fdisk3;
          echo "w# write changes" >> /tmp/fdisk3;


          cat /tmp/fdisk1 | grep -o '^[^#]' | fdisk /dev/sda;
          cat /tmp/fdisk1 | grep -o '^[^#]
          ' | fdisk /dev/sdb;
          cat /tmp/fdisk2 | grep -o '^[^#]' | fdisk /dev/sda;
          cat /tmp/fdisk2 | grep -o '^[^#]
          ' | fdisk /dev/sdb;
          /sbin/mdadm --create /dev/md0 --metadata=1.2 --auto=mdp
          --raid-devices=2 --level=1 /dev/sda1 /dev/sdb1;



          cat /tmp/fdisk3 | grep -o '^[^#]' | fdisk /dev/sdc;
          cat /tmp/fdisk3 | grep -o '^[^#]
          ' | fdisk /dev/sdd;
          /sbin/mdadm --create /dev/md1 --metadata=1.2 --auto=mdp
          --raid-devices=2 --level=1 /dev/sdc1 /dev/sdd1;



          /sbin/mdadm --create /dev/md2 --metadata=1.2 --auto=mdp
          --raid-devices=2 --level=0 /dev/sda2 /dev/sdb2;






          share|improve this answer






















            Your Answer








            StackExchange.ready(function()
            var channelOptions =
            tags: "".split(" "),
            id: "89"
            ;
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function()
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled)
            StackExchange.using("snippets", function()
            createEditor();
            );

            else
            createEditor();

            );

            function createEditor()
            StackExchange.prepareEditor(
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader:
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            ,
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            );



            );













            draft saved

            draft discarded


















            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f573108%2fhow-to-configure-raid-2-lvm-volumes-via-preseed%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            0














            Using preseed file to create raid+lvm is tricky.
            Basically, you cannot create a flexible configuration file using preseed. It is not simple and flow as a kickstart in RedHat/CentOS.



            For me, I had to create custom commands using preseed_early syntax.
            You can change is as you like, regarding your configuration.
            The main goal is to create RAID array before the partitioner starts.
            Setup daemon will as you that no /boot partition is defined, ignore this.
            Tested on Debian 9



            So we have four disks



            /dev/sda1 and /dev/sdb1 is a RAID1 mirror -> /dev/md0
            /dev/sda2 and /dev/sdb2 is a RAID0 stripe. -> /dev/md1
            /dev/sdc1 and /dev/sdd1 is a RAID1 mirror. -> /dev/md2



            on md0 he have a /boot partition
            on md1 we have a swap file
            on md2 is a / root.



            so the preseed file is the following:



            d-i partman-auto/disk string /dev/md0 /dev/md1 /dev/md2
            d-i partman-auto/method string lvm



            d-i partman-auto/expert_recipe string
            1 1 -1 lvm
            $defaultignore
            $primary
            device /dev/md0
            method lvm
            vg_name vg00
            .
            1 1 -1 lvm
            $defaultignore
            $primary
            device /dev/md1
            method lvm
            vg_name vg01
            .
            1 1 -1 lvm
            $defaultignore
            $primary
            device /dev/md2
            method lvm
            vg_name vg02
            .
            512 512 512 ext4
            $lvmok
            in_vg vg00
            lv_name lv_boot
            method format format
            use_filesystem filesystem ext4
            mountpoint /boot
            .
            512 1024 1024 linux-swap
            $lvmok
            in_vg vg02
            lv_name lv_swap
            method swap format
            .
            1000 9000 9000 ext4
            $lvmok
            in_vg vg01
            lv_name lv_root
            method format format
            use_filesystem filesystem ext4
            mountpoint /
            .



            d-i grub-installer/bootdev string /dev/sda /dev/sdb



            d-i preseed/early_command string /bin/killall.sh;
            /bin/netcfg;



            echo "o# clear the in memory partition table" >> /tmp/fdisk1;
            echo "n# create new partition" >> /tmp/fdisk1;
            echo "p# type primary" >> /tmp/fdisk1;
            echo "1# no. of partition" >> /tmp/fdisk1;
            echo " # default" >> /tmp/fdisk1;
            echo "+512M# partition size" >> /tmp/fdisk1;
            echo "t# partition type" >> /tmp/fdisk1;
            echo "fd# Linux RAID" >> /tmp/fdisk1;
            echo "w# write changes" >> /tmp/fdisk1;

            echo "n# create new partition" >> /tmp/fdisk2;
            echo "p# type primary" >> /tmp/fdisk2;
            echo "2# no. of partition" >> /tmp/fdisk2;
            echo " # default" >> /tmp/fdisk2;
            echo " # partition size" >> /tmp/fdisk2;
            echo "t# partition type" >> /tmp/fdisk2;
            echo "2# no. of partition" >> /tmp/fdisk2;
            echo "fd# Linux RAID" >> /tmp/fdisk2;
            echo "w# write changes" >> /tmp/fdisk2;

            echo "o# clear the in memory partition table" >> /tmp/fdisk3;
            echo "n# create new partition" >> /tmp/fdisk3;
            echo "p# type primary" >> /tmp/fdisk3;
            echo "1# no. of partition" >> /tmp/fdisk3;
            echo " # default" >> /tmp/fdisk3;
            echo " # partition size" >> /tmp/fdisk3;
            echo "t# partition type" >> /tmp/fdisk3;
            echo "fd# Linux RAID" >> /tmp/fdisk3;
            echo "w# write changes" >> /tmp/fdisk3;


            cat /tmp/fdisk1 | grep -o '^[^#]' | fdisk /dev/sda;
            cat /tmp/fdisk1 | grep -o '^[^#]
            ' | fdisk /dev/sdb;
            cat /tmp/fdisk2 | grep -o '^[^#]' | fdisk /dev/sda;
            cat /tmp/fdisk2 | grep -o '^[^#]
            ' | fdisk /dev/sdb;
            /sbin/mdadm --create /dev/md0 --metadata=1.2 --auto=mdp
            --raid-devices=2 --level=1 /dev/sda1 /dev/sdb1;



            cat /tmp/fdisk3 | grep -o '^[^#]' | fdisk /dev/sdc;
            cat /tmp/fdisk3 | grep -o '^[^#]
            ' | fdisk /dev/sdd;
            /sbin/mdadm --create /dev/md1 --metadata=1.2 --auto=mdp
            --raid-devices=2 --level=1 /dev/sdc1 /dev/sdd1;



            /sbin/mdadm --create /dev/md2 --metadata=1.2 --auto=mdp
            --raid-devices=2 --level=0 /dev/sda2 /dev/sdb2;






            share|improve this answer



























              0














              Using preseed file to create raid+lvm is tricky.
              Basically, you cannot create a flexible configuration file using preseed. It is not simple and flow as a kickstart in RedHat/CentOS.



              For me, I had to create custom commands using preseed_early syntax.
              You can change is as you like, regarding your configuration.
              The main goal is to create RAID array before the partitioner starts.
              Setup daemon will as you that no /boot partition is defined, ignore this.
              Tested on Debian 9



              So we have four disks



              /dev/sda1 and /dev/sdb1 is a RAID1 mirror -> /dev/md0
              /dev/sda2 and /dev/sdb2 is a RAID0 stripe. -> /dev/md1
              /dev/sdc1 and /dev/sdd1 is a RAID1 mirror. -> /dev/md2



              on md0 he have a /boot partition
              on md1 we have a swap file
              on md2 is a / root.



              so the preseed file is the following:



              d-i partman-auto/disk string /dev/md0 /dev/md1 /dev/md2
              d-i partman-auto/method string lvm



              d-i partman-auto/expert_recipe string
              1 1 -1 lvm
              $defaultignore
              $primary
              device /dev/md0
              method lvm
              vg_name vg00
              .
              1 1 -1 lvm
              $defaultignore
              $primary
              device /dev/md1
              method lvm
              vg_name vg01
              .
              1 1 -1 lvm
              $defaultignore
              $primary
              device /dev/md2
              method lvm
              vg_name vg02
              .
              512 512 512 ext4
              $lvmok
              in_vg vg00
              lv_name lv_boot
              method format format
              use_filesystem filesystem ext4
              mountpoint /boot
              .
              512 1024 1024 linux-swap
              $lvmok
              in_vg vg02
              lv_name lv_swap
              method swap format
              .
              1000 9000 9000 ext4
              $lvmok
              in_vg vg01
              lv_name lv_root
              method format format
              use_filesystem filesystem ext4
              mountpoint /
              .



              d-i grub-installer/bootdev string /dev/sda /dev/sdb



              d-i preseed/early_command string /bin/killall.sh;
              /bin/netcfg;



              echo "o# clear the in memory partition table" >> /tmp/fdisk1;
              echo "n# create new partition" >> /tmp/fdisk1;
              echo "p# type primary" >> /tmp/fdisk1;
              echo "1# no. of partition" >> /tmp/fdisk1;
              echo " # default" >> /tmp/fdisk1;
              echo "+512M# partition size" >> /tmp/fdisk1;
              echo "t# partition type" >> /tmp/fdisk1;
              echo "fd# Linux RAID" >> /tmp/fdisk1;
              echo "w# write changes" >> /tmp/fdisk1;

              echo "n# create new partition" >> /tmp/fdisk2;
              echo "p# type primary" >> /tmp/fdisk2;
              echo "2# no. of partition" >> /tmp/fdisk2;
              echo " # default" >> /tmp/fdisk2;
              echo " # partition size" >> /tmp/fdisk2;
              echo "t# partition type" >> /tmp/fdisk2;
              echo "2# no. of partition" >> /tmp/fdisk2;
              echo "fd# Linux RAID" >> /tmp/fdisk2;
              echo "w# write changes" >> /tmp/fdisk2;

              echo "o# clear the in memory partition table" >> /tmp/fdisk3;
              echo "n# create new partition" >> /tmp/fdisk3;
              echo "p# type primary" >> /tmp/fdisk3;
              echo "1# no. of partition" >> /tmp/fdisk3;
              echo " # default" >> /tmp/fdisk3;
              echo " # partition size" >> /tmp/fdisk3;
              echo "t# partition type" >> /tmp/fdisk3;
              echo "fd# Linux RAID" >> /tmp/fdisk3;
              echo "w# write changes" >> /tmp/fdisk3;


              cat /tmp/fdisk1 | grep -o '^[^#]' | fdisk /dev/sda;
              cat /tmp/fdisk1 | grep -o '^[^#]
              ' | fdisk /dev/sdb;
              cat /tmp/fdisk2 | grep -o '^[^#]' | fdisk /dev/sda;
              cat /tmp/fdisk2 | grep -o '^[^#]
              ' | fdisk /dev/sdb;
              /sbin/mdadm --create /dev/md0 --metadata=1.2 --auto=mdp
              --raid-devices=2 --level=1 /dev/sda1 /dev/sdb1;



              cat /tmp/fdisk3 | grep -o '^[^#]' | fdisk /dev/sdc;
              cat /tmp/fdisk3 | grep -o '^[^#]
              ' | fdisk /dev/sdd;
              /sbin/mdadm --create /dev/md1 --metadata=1.2 --auto=mdp
              --raid-devices=2 --level=1 /dev/sdc1 /dev/sdd1;



              /sbin/mdadm --create /dev/md2 --metadata=1.2 --auto=mdp
              --raid-devices=2 --level=0 /dev/sda2 /dev/sdb2;






              share|improve this answer

























                0












                0








                0







                Using preseed file to create raid+lvm is tricky.
                Basically, you cannot create a flexible configuration file using preseed. It is not simple and flow as a kickstart in RedHat/CentOS.



                For me, I had to create custom commands using preseed_early syntax.
                You can change is as you like, regarding your configuration.
                The main goal is to create RAID array before the partitioner starts.
                Setup daemon will as you that no /boot partition is defined, ignore this.
                Tested on Debian 9



                So we have four disks



                /dev/sda1 and /dev/sdb1 is a RAID1 mirror -> /dev/md0
                /dev/sda2 and /dev/sdb2 is a RAID0 stripe. -> /dev/md1
                /dev/sdc1 and /dev/sdd1 is a RAID1 mirror. -> /dev/md2



                on md0 he have a /boot partition
                on md1 we have a swap file
                on md2 is a / root.



                so the preseed file is the following:



                d-i partman-auto/disk string /dev/md0 /dev/md1 /dev/md2
                d-i partman-auto/method string lvm



                d-i partman-auto/expert_recipe string
                1 1 -1 lvm
                $defaultignore
                $primary
                device /dev/md0
                method lvm
                vg_name vg00
                .
                1 1 -1 lvm
                $defaultignore
                $primary
                device /dev/md1
                method lvm
                vg_name vg01
                .
                1 1 -1 lvm
                $defaultignore
                $primary
                device /dev/md2
                method lvm
                vg_name vg02
                .
                512 512 512 ext4
                $lvmok
                in_vg vg00
                lv_name lv_boot
                method format format
                use_filesystem filesystem ext4
                mountpoint /boot
                .
                512 1024 1024 linux-swap
                $lvmok
                in_vg vg02
                lv_name lv_swap
                method swap format
                .
                1000 9000 9000 ext4
                $lvmok
                in_vg vg01
                lv_name lv_root
                method format format
                use_filesystem filesystem ext4
                mountpoint /
                .



                d-i grub-installer/bootdev string /dev/sda /dev/sdb



                d-i preseed/early_command string /bin/killall.sh;
                /bin/netcfg;



                echo "o# clear the in memory partition table" >> /tmp/fdisk1;
                echo "n# create new partition" >> /tmp/fdisk1;
                echo "p# type primary" >> /tmp/fdisk1;
                echo "1# no. of partition" >> /tmp/fdisk1;
                echo " # default" >> /tmp/fdisk1;
                echo "+512M# partition size" >> /tmp/fdisk1;
                echo "t# partition type" >> /tmp/fdisk1;
                echo "fd# Linux RAID" >> /tmp/fdisk1;
                echo "w# write changes" >> /tmp/fdisk1;

                echo "n# create new partition" >> /tmp/fdisk2;
                echo "p# type primary" >> /tmp/fdisk2;
                echo "2# no. of partition" >> /tmp/fdisk2;
                echo " # default" >> /tmp/fdisk2;
                echo " # partition size" >> /tmp/fdisk2;
                echo "t# partition type" >> /tmp/fdisk2;
                echo "2# no. of partition" >> /tmp/fdisk2;
                echo "fd# Linux RAID" >> /tmp/fdisk2;
                echo "w# write changes" >> /tmp/fdisk2;

                echo "o# clear the in memory partition table" >> /tmp/fdisk3;
                echo "n# create new partition" >> /tmp/fdisk3;
                echo "p# type primary" >> /tmp/fdisk3;
                echo "1# no. of partition" >> /tmp/fdisk3;
                echo " # default" >> /tmp/fdisk3;
                echo " # partition size" >> /tmp/fdisk3;
                echo "t# partition type" >> /tmp/fdisk3;
                echo "fd# Linux RAID" >> /tmp/fdisk3;
                echo "w# write changes" >> /tmp/fdisk3;


                cat /tmp/fdisk1 | grep -o '^[^#]' | fdisk /dev/sda;
                cat /tmp/fdisk1 | grep -o '^[^#]
                ' | fdisk /dev/sdb;
                cat /tmp/fdisk2 | grep -o '^[^#]' | fdisk /dev/sda;
                cat /tmp/fdisk2 | grep -o '^[^#]
                ' | fdisk /dev/sdb;
                /sbin/mdadm --create /dev/md0 --metadata=1.2 --auto=mdp
                --raid-devices=2 --level=1 /dev/sda1 /dev/sdb1;



                cat /tmp/fdisk3 | grep -o '^[^#]' | fdisk /dev/sdc;
                cat /tmp/fdisk3 | grep -o '^[^#]
                ' | fdisk /dev/sdd;
                /sbin/mdadm --create /dev/md1 --metadata=1.2 --auto=mdp
                --raid-devices=2 --level=1 /dev/sdc1 /dev/sdd1;



                /sbin/mdadm --create /dev/md2 --metadata=1.2 --auto=mdp
                --raid-devices=2 --level=0 /dev/sda2 /dev/sdb2;






                share|improve this answer













                Using preseed file to create raid+lvm is tricky.
                Basically, you cannot create a flexible configuration file using preseed. It is not simple and flow as a kickstart in RedHat/CentOS.



                For me, I had to create custom commands using preseed_early syntax.
                You can change is as you like, regarding your configuration.
                The main goal is to create RAID array before the partitioner starts.
                Setup daemon will as you that no /boot partition is defined, ignore this.
                Tested on Debian 9



                So we have four disks



                /dev/sda1 and /dev/sdb1 is a RAID1 mirror -> /dev/md0
                /dev/sda2 and /dev/sdb2 is a RAID0 stripe. -> /dev/md1
                /dev/sdc1 and /dev/sdd1 is a RAID1 mirror. -> /dev/md2



                on md0 he have a /boot partition
                on md1 we have a swap file
                on md2 is a / root.



                so the preseed file is the following:



                d-i partman-auto/disk string /dev/md0 /dev/md1 /dev/md2
                d-i partman-auto/method string lvm



                d-i partman-auto/expert_recipe string
                1 1 -1 lvm
                $defaultignore
                $primary
                device /dev/md0
                method lvm
                vg_name vg00
                .
                1 1 -1 lvm
                $defaultignore
                $primary
                device /dev/md1
                method lvm
                vg_name vg01
                .
                1 1 -1 lvm
                $defaultignore
                $primary
                device /dev/md2
                method lvm
                vg_name vg02
                .
                512 512 512 ext4
                $lvmok
                in_vg vg00
                lv_name lv_boot
                method format format
                use_filesystem filesystem ext4
                mountpoint /boot
                .
                512 1024 1024 linux-swap
                $lvmok
                in_vg vg02
                lv_name lv_swap
                method swap format
                .
                1000 9000 9000 ext4
                $lvmok
                in_vg vg01
                lv_name lv_root
                method format format
                use_filesystem filesystem ext4
                mountpoint /
                .



                d-i grub-installer/bootdev string /dev/sda /dev/sdb



                d-i preseed/early_command string /bin/killall.sh;
                /bin/netcfg;



                echo "o# clear the in memory partition table" >> /tmp/fdisk1;
                echo "n# create new partition" >> /tmp/fdisk1;
                echo "p# type primary" >> /tmp/fdisk1;
                echo "1# no. of partition" >> /tmp/fdisk1;
                echo " # default" >> /tmp/fdisk1;
                echo "+512M# partition size" >> /tmp/fdisk1;
                echo "t# partition type" >> /tmp/fdisk1;
                echo "fd# Linux RAID" >> /tmp/fdisk1;
                echo "w# write changes" >> /tmp/fdisk1;

                echo "n# create new partition" >> /tmp/fdisk2;
                echo "p# type primary" >> /tmp/fdisk2;
                echo "2# no. of partition" >> /tmp/fdisk2;
                echo " # default" >> /tmp/fdisk2;
                echo " # partition size" >> /tmp/fdisk2;
                echo "t# partition type" >> /tmp/fdisk2;
                echo "2# no. of partition" >> /tmp/fdisk2;
                echo "fd# Linux RAID" >> /tmp/fdisk2;
                echo "w# write changes" >> /tmp/fdisk2;

                echo "o# clear the in memory partition table" >> /tmp/fdisk3;
                echo "n# create new partition" >> /tmp/fdisk3;
                echo "p# type primary" >> /tmp/fdisk3;
                echo "1# no. of partition" >> /tmp/fdisk3;
                echo " # default" >> /tmp/fdisk3;
                echo " # partition size" >> /tmp/fdisk3;
                echo "t# partition type" >> /tmp/fdisk3;
                echo "fd# Linux RAID" >> /tmp/fdisk3;
                echo "w# write changes" >> /tmp/fdisk3;


                cat /tmp/fdisk1 | grep -o '^[^#]' | fdisk /dev/sda;
                cat /tmp/fdisk1 | grep -o '^[^#]
                ' | fdisk /dev/sdb;
                cat /tmp/fdisk2 | grep -o '^[^#]' | fdisk /dev/sda;
                cat /tmp/fdisk2 | grep -o '^[^#]
                ' | fdisk /dev/sdb;
                /sbin/mdadm --create /dev/md0 --metadata=1.2 --auto=mdp
                --raid-devices=2 --level=1 /dev/sda1 /dev/sdb1;



                cat /tmp/fdisk3 | grep -o '^[^#]' | fdisk /dev/sdc;
                cat /tmp/fdisk3 | grep -o '^[^#]
                ' | fdisk /dev/sdd;
                /sbin/mdadm --create /dev/md1 --metadata=1.2 --auto=mdp
                --raid-devices=2 --level=1 /dev/sdc1 /dev/sdd1;



                /sbin/mdadm --create /dev/md2 --metadata=1.2 --auto=mdp
                --raid-devices=2 --level=0 /dev/sda2 /dev/sdb2;







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Sep 10 '18 at 13:13









                jawayayjawayay

                1




                1



























                    draft saved

                    draft discarded
















































                    Thanks for contributing an answer to Ask Ubuntu!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid


                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.

                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function ()
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f573108%2fhow-to-configure-raid-2-lvm-volumes-via-preseed%23new-answer', 'question_page');

                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    Möglingen Índice Localización Historia Demografía Referencias Enlaces externos Menú de navegación48°53′18″N 9°07′45″E / 48.888333333333, 9.129166666666748°53′18″N 9°07′45″E / 48.888333333333, 9.1291666666667Sitio web oficial Mapa de Möglingen«Gemeinden in Deutschland nach Fläche, Bevölkerung und Postleitzahl am 30.09.2016»Möglingen

                    Virtualbox - Configuration error: Querying “UUID” failed (VERR_CFGM_VALUE_NOT_FOUND)“VERR_SUPLIB_WORLD_WRITABLE” error when trying to installing OS in virtualboxVirtual Box Kernel errorFailed to open a seesion for the virtual machineFailed to open a session for the virtual machineUbuntu 14.04 LTS Virtualbox errorcan't use VM VirtualBoxusing virtualboxI can't run Linux-64 Bit on VirtualBoxUnable to insert the virtual optical disk (VBoxguestaddition) in virtual machine for ubuntu server in win 10VirtuaBox in Ubuntu 18.04 Issues with Win10.ISO Installation

                    Antonio De Lisio Carrera Referencias Menú de navegación«Caracas: evolución relacional multipleja»«Cuando los gobiernos subestiman a las localidades: L a Iniciativa para la Integración de la Infraestructura Regional Suramericana (IIRSA) en la frontera Colombo-Venezolana»«Maestría en Planificación Integral del Ambiente»«La Metrópoli Caraqueña: Expansión Simplificadora o Articulación Diversificante»«La Metrópoli Caraqueña: Expansión Simplificadora o Articulación Diversificante»«Conózcanos»«Caracas: evolución relacional multipleja»«La Metrópoli Caraqueña: Expansión Simplificadora o Articulación Diversificante»