środa, 31 maja 2017

fio disk benchmark

fio --name=rand-write --ioengine=libaio --iodepth=32 --rw=randwrite --invalidate=1 --bsrange=4k:4k,4k:4k --size=512m --runtime=120 --time_based --do_verify=1 --direct=1 --group_reporting --numjobs=1

piątek, 26 maja 2017

Nginx: zwracanie 444 przy próbie odwołania do nieistniejących hostów

server {
  server_name _;
  listen 80 default_server;
  return 444;
}

server {
  server_name _;
  listen 443 default_server;
  return 444;
}

piątek, 14 kwietnia 2017

MegaRAID smartd

megacli -pdlist -a0| grep 'Device Id'

Device Id: 0
Device Id: 1

smartctl -d sat+megaraid,1 -a /dev/sda

smartd.conf

/dev/sda -d megaraid,00 -H -W 1 -m MAIL -M exec /usr/share/smartmontools/smartd-runner
/dev/sda -d megaraid,01 -H -W 1 -m MAIL -M exec /usr/share/smartmontools/smartd-runner

poniedziałek, 10 kwietnia 2017

piątek, 7 kwietnia 2017

środa, 29 marca 2017

OVH KVM resize root parition Centos 7 XFS

lsblk

parted

select /dev/sdb

unit s

print

rm 1

mkpart

Partition type? primary
File system type? xfs
Start? 2048s
End? 100%

print

set 1 boot on

quit

mount /dev/sdb1 /mnt

xfs_growfs -d /mnt

poniedziałek, 27 marca 2017

piątek, 10 marca 2017

atop cheat sheet

Cron

58 23 * * * killall atop
05 0 * * * rm -f /var/log/atop.log
07 0 * * * atop -w /var/log/atop.log 5

To read the log:

# atop -r /var/log/atop.log

Press t to move forward to the next 5 seconds, and press shift+t to move backwards.

To read only a certain time range from the log (b for beginning, e for end):

# atop -r atop.log -b 10:00 -e 11:00

To change the view:

g - Show generic output (default)

m - Show memory related output

s - Show scheduling characteristics

c - Show the command line of the process

wtorek, 7 lutego 2017

openssh ciphers

Ciphers aes256-gcm@openssh.com,aes128-gcm@openssh.com,aes256-ctr,aes128-ctr
MACs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-512,hmac-sha2-256,hmac-ripemd160
KexAlgorithms diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1

niedziela, 29 stycznia 2017

haproxy

nazwa backendu: appX-backend, roundrobin

backend appX-backend
    balance roundrobin
    server appX_01 192.168.2.2:8080 check
    server appX_02 192.168.2.3:8080 check

jesli request zawiera appX np http://example.com/appX to przekieruj do appX-backend, domyslnie do appZ-backend

frontend http-in
    bind *:80
    acl url_appX path_beg -i /appX/
    use_backend appX-backend if url_appX

    default_backend appZ-backend

przekieruj ruch na serwer backupowy tylko wtedy kiedy pierwszy bedzie niedostepny

backend appZ-backend
    server appZ_01 192.168.2.2:8080 check

    server appZ_02 192.168.2.3:8080 check backup

środa, 25 stycznia 2017

ssh mail login

#!/bin/bash

mail=user@domain.tld
monitored_user=root
monitored_ip=x.x.x.x

hostname=$(hostname)

# add a welcome message:
printf >&2 "\nWelcome on $hostname $USER\n"

read -d " " ip <<< $SSH_CONNECTION

[[ $ip == $monitored_ip && $USER == $monitored_user ]] || exit 0

date=$(date "+%d.%m.%Y %Hh%M")
reverse=$(dig -x $ip +short)

mail -s "Connexion of $USER on $hostname" $mail <<EOF

IP: $ip
Reverse: $reverse
Date: $date
EOF

wtorek, 24 stycznia 2017

BIND9 master + slave + sec

named.conf.options

acl dnsy { $IP;
           127.0.0.1;
         };

options {
        directory "/var/cache/bind";

        dnssec-validation auto;

        auth-nxdomain no;    # conform to RFC1035

        allow-recursion { dnsy; };
        allow-transfer { dnsy; };
        recursion yes;
        version "DNS";
        listen-on-v6 { none; };

};

named.conf MASTER

zone "test.net" { type master; file "/etc/bind/test.net.db"; also-notify { $IP; }; allow-transfer { $IP; }; notify yes; };

named.conf SLAVE


zone "test.net" { type slave; masters { $IP; }; file "test.net.db"; };

Tworzenie dużych plików

fallocate -l 1G swapfile

xfs_mkfile 2048m swapfile