Monday, November 7, 2016
This is actually not Ubuntu 16 specific, but i need to write it down because i tend to forget this.
Comment the sendmail line in “/etc/smokeping/config.d/pathnames”:
#sendmail = /usr/sbin/sendmail
Set the cgiurl line in “/etc/smokeping/config.d/General”:
cgiurl = http://YOURIPADDRESS/cgi-bin/smokeping.cgi
Add the stuff to “/etc/apache2/conf-available/serve-cgi-bin.conf” so it looks like:
<IfModule mod_alias.c>
<IfModule mod_cgi.c>
Define ENABLE_USR_LIB_CGI_BIN
</IfModule>
<IfModule mod_cgid.c>
Define ENABLE_USR_LIB_CGI_BIN
</IfModule>
<IfDefine ENABLE_USR_LIB_CGI_BIN>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Require all granted
</Directory>
Alias /smokeping /usr/share/smokeping/www
<Directory “/usr/share/smokeping/www”>
Options FollowSymLinks
</Directory>
</IfDefine>
</IfModule>
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
Enable CGI:
sudo a2enmod cgi
Restart apache and smokeping:
sudo service apache2 restart
sudo service smokeping restart
Wednesday, March 30, 2016
Initial linear LVM
Create the Pysical Volumes
root@lvmtest:~# pvcreate /dev/sdb /dev/sdc
Physical volume "/dev/sdb" successfully created
Physical volume "/dev/sdc" successfully created
Create the Volume Group
root@lvmtest:~# vgcreate MAIN /dev/sdb /dev/sdc
Create the Logical Volume
root@lvmtest:~# lvcreate -n LVMAIN -l 100%FREE MAIN
Logical volume "LVMAIN" created
Create the filesystem, mount it
root@lvmtest:~# mkfs.xfs /dev/MAIN/LVMAIN
root@lvmtest:~# mkdir /mnt/mylvmvolume
root@lvmtest:~# mount /dev/MAIN/LVMAIN /mnt/mylvmvolume
root@lvmtest:~# df -h | grep MAIN
/dev/mapper/MAIN-LVMAIN 64G 33M 64G 1% /mnt/mylvmvolume
Create extra space
Add two new disks
root@lvmtest:~# pvcreate /dev/sdd /dev/sde
Physical volume "/dev/sdd" successfully created
Physical volume "/dev/sde" successfully created
Add the disks to the volumegroup
root@lvmtest:~# vgextend MAIN /dev/sdd /dev/sde
Make it stripe
Now.. you can’t move PE’s between logical volumes. So you have to do a little trick.
Create a mirror (-m 1) of the current data to the recently added space. And make it stripe (—stripes <number of disks>).
Do this in a screen. This can take days, depending on the size!
root@lvmtest:~# lvconvert -m 1 --mirrorlog core --stripes 2 /dev/MAIN/LVMAIN /dev/sdd /dev/sde
Using default stripesize 64.00 KiB
MAIN/LVMAIN: Converted: 0.0%
MAIN/LVMAIN: Converted: 1.0%
MAIN/LVMAIN: Converted: 2.4%
MAIN/LVMAIN: Converted: 3.7%
MAIN/LVMAIN: Converted: 5.1%
While the mirroring is in progress, we look at the stats…
Notice there is only one disk reading (sdb) and two are writing (the striped disks). Perfect!
root@lvmtest:~# iostat -m 2 /dev/sd[b-e]
Linux 3.16.0-45-generic (btrfs) 03/30/2016 _i686_ (2 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.00 0.00 1.26 0.00 0.00 98.74
Device: tps MB_read/s MB_wrtn/s MB_read MB_wrtn
sdb 117.50 58.75 0.00 117 0
sdc 0.00 0.00 0.00 0 0
sdd 117.50 0.00 29.38 0 58
sde 117.50 0.00 29.38 0 58
.. and a little further down the progress data is read from sdc.
Device: tps MB_read/s MB_wrtn/s MB_read MB_wrtn
sdb 0.00 0.00 0.00 0 0
sdc 134.50 67.25 0.00 134 0
sdd 134.50 0.00 33.62 0 67
sde 134.00 0.00 33.50 0 67
Cleanup
Let’s break the mirror and go live with the new disks:
root@lvmtest:~# lvconvert -m0 MAIN/LVMAIN /dev/sdb /dev/sdc
Logical volume LVMAIN converted.
Remove the old disks from the volume group:
root@lvmtest:~# vgreduce MAIN /dev/sdb /dev/sdc
Removed "/dev/sdb" from volume group "MAIN"
Removed "/dev/sdc" from volume group "MAIN"
Remove the pysical volumes:
root@lvmtest:~# pvremove /dev/sdb /dev/sdc
Labels on physical volume "/dev/sdb" successfully wiped
Labels on physical volume "/dev/sdc" successfully wiped
There ya go. No downtime. Hot migrated from linear to striped!