pmeerw's blog

May 2018

Thu, 24 May 2018

Adding space to a Linux LVM volume

The steps can be done when the disk is online; only creating the partition required a reboot for me.

Growing the filesystem
  1. Create a physical LVM volume: pvcreate /dev/sdaN; check using pvdisplay
    $ pvcreate /dev/sdaN
      Physical volume "/dev/sdaN" successfully created
    
    $ pvdisplay
       --- Physical volume ---
      PV Name               /dev/sda1
      VG Name               vg-name
      ...
     
      --- Physical volume ---
      PV Name               /dev/sda2
      VG Name               vg-name
      ...
     
      "/dev/sdaN" is a new physical volume of "100.00 GiB"
      --- NEW Physical volume ---
      PV Name               /dev/sdaN
      VG Name
      PV Size               100.00 GiB
      Allocatable           NO
      PE Size               0
      Total PE              0
      Free PE               0
      Allocated PE          0
      ...
    
  2. Extend the volume group: vgextend vg-name /dev/sdaN; check using lvdisplay
    $ vgextend vg-name /dev/sdaN
      Volume group "vg-name" successfully extended
    
    $ lvdisplay
     
      --- Logical volume ---
      LV Name                /dev/vg-name/root
      VG Name                vg-name
      ...
    
  3. Extend the logical volume to all free space available: lvextend -l+100%FREE /dev/vg-name/root
    $ lvextend -l+100%FREE /dev/vg-name/root
    
  4. Resize the file system: resize2fs /dev/mapper/vg--name-root
    $ resize2fs /dev/mapper/vg--name-root
    
Partition type code for LVM is 8e.

Some more useful commands
lvmdiskscan -l to scan for LVM physical volumes
vgdisplay -v to summarize lot of information about a volume group
lvs to find the logical volumes and there size; also try the --segments argument

posted at: 11:16 | path: /configuration | permanent link

Wed, 23 May 2018

let's encrypt: auto-renew

Note to myself about let's encrypt auto-renew: Put letsencrypt in /etc/cron.weekly, edit the services that need to be restarted. The first snippet is for a relatively modern, systemd-enabled, system (Ubuntu 16.04), the second snippet target an ancient system (Ubuntu 14.04): The script assumes that the letsencrypt tool in installed (via Ubuntu PPA).

Recent systems:
#!/bin/sh
letsencrypt renew --pre-hook "systemctl stop apache2" --post-hook "systemctl start apache2"
res=$(find /etc/letsencrypt/live/ -type l -mtime -1)
if [ -n "$res" ]; then
  echo "letsencrypt: new keys"
  systemctl restart apache2
  systemctl restart postfix
  systemctl restart dovecot
else
  echo "letsencrypt: nothing to do"
fi
Ancient systems:
#!/bin/sh
letsencrypt renew --pre-hook "/etc/init.d/apache2 stop" --post-hook "/etc/init.d/apache2 start"
res=$(find /etc/letsencrypt/live/ -type l -mtime -1)
if [ -n "$res" ]; then
  echo "letsencrypt: new keys"
  /etc/init.d/apache2 restart
  #/etc/init.d/postfix restart
  #/etc/init.d/dovecot restart
else
  echo "letsencrypt: nothing to do"
fi

posted at: 10:37 | path: /configuration | permanent link

Tue, 22 May 2018

h18

Here are my citations per year (from 2003 to 2018) according to Google scholar: citations per year

Google Scholar thinks I have reached h-18.

posted at: 15:32 | path: /academic | permanent link

Made with PyBlosxom