Hi,

I have a problem where I'd like to be able to specify a physical device as an 
LV create option:

---

disk_config lvm fstabkey:device
vg main md2,md3
main-root /               10G xfs defaults
main-mnt  /home/mnt       50G xfs defaults
main-solr /srv/solr/disk1 0-  xfs defaults lvcreateopts="/dev/md3"

---

Please assume that the md devices are created OK (which they are), I'd like for 
main-solr LV to use 100% of the PD /dev/md3

Using (undocumented?) lvcreateopts I was able to see the device trying to be 
used, but the ordering is incorrect, the PD switch to the lvcreate command 
should be at the end of the command, but lvcreateopts is added as the beginning 
flags the 'lvcreate' command...

To get past that we can change /usr/share/fai/setup-storage/Commands.pm :

    &FAI::push_command( "lvcreate -n $lv -L " .
      &FAI::convert_unit($lv_size->{eff_size} . "B") . " $vg $create_options", 
"vg_enabled_$vg",

However this didn't work as the size option used '0-' trys to consume the 
entire VG size (so both, md2 and md3)

  VG   #PV #LV #SN Attr   VSize VFree
  main   2   2   0 wz--n- 1.79t 1.73t

the lvcreate command looks like: 
lvcreate -n solr -L 1794482.72765625 main /dev/md3

the command fails as there are already devices using the VG - so the full VG 
size is not possible to use...

I then thought maybe I could change the lvcreateopts to comsume 100% of the PV 
(rather than VG), but I think this isn't parsed by Parsed.pm properly?
lvcreateopts="-l +100%PVS /dev/md3"

Anyway, I can work round this by using the above hack to Commands.pm and 
setting the size option in the disk_config recipe to something like 900G:

main-solr /srv/solr/disk1 900G xfs defaults lvcreateopts="/dev/md3"

There is probably a more elegant way to do this though, you may have some 
pointers?

Apologies if this is the wrong list, I wasn't sure since I thought I could 
assist with the Commands.pm change if needed?

Thanks,
Luke

Reply via email to