mandag den 23. december 2019

Replacing root disk with a smaller one.

In this example we will be replacing a single disk system with two partitions one for root and one for swap. After physically installing the disk boot OS and notice the name (CTRL+S top - CTRL+Q uit) or find it from dmesg after login. On a higher level it can also be found with fdisk -l Start with partitioning the disk. One primary, leave enough for double your physical RAM if you have less than 16GB or else make it equal the size. One extended, for swap. Now mkfs.ext4 /dev/hdX1 And mkswap /dev/hdX2 Mount the /dev/hdX1 to lets say /mnt Start copying files cp -rav /srv/ /mnt/ cp -rav /media/ /mnt/ cp -rav /lib64/ /mnt/ cp -rav /lib/ /mnt/ cp -rav /home/ /mnt/ cp -rav /opt/ /mnt/ cp -rav /usr/ /mnt/ cp -rav /bin/ /mnt/ cp -rav /sbin/ /mnt/ cp -rav /boot/ /mnt/ cp -rav /root/ /mnt/ cp -rav /etc/ /mnt/ cp -av /cdrom/ /mnt/ Go to /mnt and link the kernel files ln -s boot/vmlinuz-4.15.0-70-generic vmlinuz.old ln -s boot/vmlinuz-4.15.0-72-generic vmlinuz ln -s boot/initrd.img-4.15.0-70-generic initrd.img.old ln -s boot/initrd.img-4.15.0-72-generic initrd.img Do a blkid and note the UUID for you new disk and replace the one in /mnt/etc/fstab Replace the swap drive now your add it anyway. Now its time to leave the comfort of your multi user system and drop into single user mode with telinit 1 rSync the rest with -avhPHAXx chroot to your new disk system and mount -B the rest of the file systems. Only thing left is to update-grup and install-grup. Reboot and change boot order in disk. Not working? change the boot order back and try again, no harm done :)

torsdag den 6. marts 2014

NRPE til icinga.aoit.dk

Vejledningen er til Redhat EL baseret distributioner, men konceptet og konfigurationen er den samme.

Installation

For at lette installationen anbefales det at tilføje repoforge til dit rpm reposetory, du kan altid fjerne det bagefter.
Følg vejledningen her http://repoforge.org/use/

Herefter kan du installere nrpe, nagios-plugins og dets afhængigheder på en gang med yum

#yum install nrpe nagios-plugins
Tag en kopi af nrpe konfigurations filen
cp -p /etc/nagios/nrpe.cfg /etc/nagios/nrpe.cfg.orig
Tilføj herefter IP adressen på icinga.aoit.dk, i konfigurationens filen.
allowed_hosts=127.0.0.1,84.22.97.202
Installer nrpe som en service.
#chkconfig --add nrpe
Tilføj service i runlevels
#chkconfig nrpe on --level 3
Start nrpe.
#service nrpe start

Firewall

Der skal åbnes for TCP trafik på port 5666 til din maskine fra 84.22.97.202

Tilpassning

Til forskel fra overvågning af internet services, er der ved lokal overvågning to forskellige måder at opsætte check kommandoer til Icinga.
Den ene, hvor du tillader at AOit sender kommando argumenter til NRPE på din server og du kan derfor bruge AOit's Icinga konfigurator til opsætning af kommandoer ligesom ved opsætning af internet services. Det giver den bedste brugervenlighed men også mindre fleksibilitet til at lave sine helt egne kommandoer.
Den anden måde, hvor der ikke tillades argumenter kræver du selv sætter dine alarmdefinationer op i din lokale konfigurationsfil. Ud over du så kan sammensætte dine helt egne check plugins giver det også en lidt større sikkerhed da du præcist ved hvad dine plugins udføre.

Når du har besluttet dig skal du i konfigurations filen angive hvilen metode du vil bruge.

dont_blame_nrpe=
Sæt til "0" for at tillade argumenter og bruge AOit's Icinga kongigurator.
Sæt til "1" for at selv opsætte check kommandoer og have mere kontrol med hvad der udføres på din server.

Til sidst skal de kommandoer du vil benytte indsættes i konfigurations filen. Nederst i filen kan de se en stribe eksempler på kommando definationer, de skal slettes og erstattes af nye.

Hvis du har valgt at bruge argumenter skal du bruge kommando nedenstående definationer.
På 64bits intel systemer ligger de plugins der køres i /usr/lib64/nagios/plugins, bruge den rigtige stig i forhold til din installation.

command[check_load_nrpe]=/usr/lib64/nagios/plugins/check_load -w $ARG1$ -c $ARG2$
command[check_disk_nrpe]=/usr/lib64/nagios/plugins/check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$
command[check_swap_nrpe]=/usr/lib64/nagios/plugins/check_swap -w $ARG1$ -c $ARG2$
command[check_proc_states_nrpe]=/usr/lib64/nagios/plugins/check_procs -w $ARG1$ -c $ARG2$ -s $ARG3$
command[check_proc_nrpe]=/usr/lib64/nagios/plugins/check_procs -w $ARG1$ -c $ARG2$ -C $ARG3$
command[check_procs_nrpe]=/usr/lib64/nagios/plugins/check_procs -w $ARG1$ -c $ARG2$
command[check_sensors_nrpe]=/usr/lib64/nagios/plugins/check_sensors
Hvis du har valgt uden argumenter skal du bruge disse kommandoer. Vær opmærksom på argumenterne er eksempler og bør tilrettes.
command[check_load_nrpe]=/usr/lib64/nagios/plugins/check_load -w 15,10,5 -c 30,25,20
command[check_disk0_noarg]=/usr/lib64/nagios/plugins/check_disk -w 20% -c 10% -p /dev/hda1
command[check_disk1]=/usr/lib64/nagios/plugins/check_disk -w 20% -c 10% -p /dev/hdb1
command[check_disk2]=/usr/lib64/nagios/plugins/check_disk -w 20% -c 10% -p /mnt/backup
command[check_disk3]=/usr/lib64/nagios/plugins/check_disk -w 20% -c 10% -p /home
command[check_disk4]=/usr/lib64/nagios/plugins/check_disk -w 20% -c 10% -p /mnt/das
command[check_swap]=/usr/lib64/nagios/plugins/check_swap -w 75% -c 50%
command[check_zombies]=/usr/lib64/nagios/plugins/check_procs -w 5 -c 10 -s Z
command[check_proc0]=/usr/lib64/nagios/plugins/check_procs -w 0:0 -c 0:0 -C vnstat
command[check_proc1]=/usr/lib64/nagios/plugins/check_procs -w 150 -c 200
command[check_proc2]=/usr/lib64/nagios/plugins/check_procs -w 150 -c 200
command[check_proc3]=/usr/lib64/nagios/plugins/check_procs -w 150 -c 200
command[check_proc4]=/usr/lib64/nagios/plugins/check_procs -w 150 -c 200
command[check_sensors]=/usr/lib64/nagios/plugins/check_sensors

fredag den 14. februar 2014

BOINC for a brighter future

Berkeley Open Infrastructure for Network Computing
Mest kendt er SETI@home the seach for extraterestial at home der for mere end ti år siden
http://boinc.berkeley.edu/download_all.php
Older Linux x86 and x64
wget http://boinc.berkeley.edu/dl/boinc_compat_6.12.22_i686-pc-linux-gnu.sh
./boinc_compat_6.12.22_i686-pc-linux-gnu.sh
mv BOINC /home/boinc
useradd boinc
chown -R boinc:boinc /home/boinc
rpm -qa | grep libstdc++.so.6
if [ !$? ]
then
rpm -ivh libstdc++.so.6
fi
ln -s libstdc++.so.6 libstdc++.so.3
su -c "/home/boinc/boinc > /home/boinc/boinc.log 2>&1 &" boinc
echo "Let it run some bencmarking and ctrl+c when it reaches "Resuming computation"
tail -f /home/boinc/boinc.log
./boinccmd --create_account http://boinc.bakerlab.org/rosetta EMAIL PASSWORD USER
./boinccmd --project-attach http://boinc.bakerlab.org/rosetta KEY
vi /etc/init.d/boinc

chmod +x /etc/init.d/boinc
chkconfig --add boinc

onsdag den 27. februar 2013

Privatliv og Instant messaging

Nedenstående matrix er stjålet fra news.cnet.com som har en god artikel om emnet. I artiklen stilles en række spørgsmål til de store IM udbydere som fx microsoft, google og facebook. Deres svar kan så læses mere fyldestgørende end nedenstående matrix ved at følge linket til artiklen her.

Sikker login Sikker msg Logs user Logs msg Logs periode Gov. wiretapping
AOL AIM Yes Yes Yes No Won't say Won't say
AOL ICQ Yes No Yes No Won't say Won't say
Facebook Chat[1] No No Refused to answer Refused to answer[2] Refused to answer Refused to answer
Google Talk Yes Yes[3] Yes No[4] Four weeks Won't say
Lotus Sametime Yes Yes Yes Configurable Configurable N/A
Windows Live Messenger Yes No[5] No No N/A Won't say
Skype Yes Yes Yes No "A short time" Cannot comply with wiretaps[6]
Yahoo Messenger Yes No Yes No As long as "necessary" Won't say

søndag den 10. februar 2013

Microprocessor og hukommelse

Overordnet

Når du starter en program process på en computer, indlæses programmet i hukommelsen, hvorefter programmet processeres.
Et program består af en masse logiske beregninger der fortages i den centrale processerings enhed, CPU.
Flere processer kan skeduleres til en "time slice" i CPU'en, hvorefter de sættes i kø til de er kørt færdige eller afsluttes.

Hukommelse

I CPU'ens cache holdes de ting som er smartes at have tilgængelig med det samme. Cache hukommelse kommer i to "levels" L1 integreret i selve CPU'en og L2 der sidder lige udenfor. Man kan se det lidt som CPU'ens arbejds hukommelse.
Har CPU'en kigget forgæves i cachen kaldes det "misses" og den må henvende sig i den virtuelle hukommelse, Virtual memory. Det er et abstrakt lag til den reelle program hukommelse i en computer. Man kan se det lidt som CPU'ens data hukommelse.
Dette lag er styret af en "memory manager unit" MMU.

På billedet er den virtuelle hukommelse inddelt i tre typer:
Memory som repræsentere den hurtige RAM i computeren, herfra kan data vidergives fra den virtuelle hukommelse.
SWAP (område) som er en fil eller harddisk forberedt til ind og ud læsning i memory.
Disk eller andet tilsluttet dataudstyr.

MMU'en arbejder med alt hukommelsen inddelt i sider og bruger alt sin tid på at flytte sider ind og ud af memory (paging), så det bedst muligt matcher CPU'ens forespørgsler i den virtuelle hukommelse.
Laves der en forspørgelse på en side der ikke findes i memory kaldes det en "fault", som alt efter om den så findes i SWAP eller på disk kaldes forholdsvis soft eller hard.

Baggrunden for opslag og artikler her på AOit er mine mere end sidste ti års erfaringer i drift og brug af LAMP platformen til at løse et utal af opgaver. En platform der består af Linux, Apache, MySQL og PHP. Alle fire frit og åben software og til at presentere data som som information bruger jeg HTML til formatering og CSS til layout.