Konsola domU w Xen 4.0

Kernel gościa zatrzymuje się na:
Entering runlevel: 2
Starting enhanced syslogd: rsyslogd.
Starting periodic command scheduler: crond.

Aby otrzymać poniżej konsolę, należy w systemie gościa skonfigurować inittab aby uruchamiał getty dla hvc0 a nie tty. W pliku /etc/inittab zmieniamy linię:
1:2345:respawn:/sbin/getty 38400 tty1
na
1:2345:respawn:/sbin/getty 38400 hvc0

Aby móc się logować jako root należy także dodać do /dev/securetty: hvc0

Z Hypervisorem 3.x działało dodanie w pliku konfiguracyjnym gościa linii:
extra = 'console=hvc0 xencons=tty'
przy wersji 4.0 to już nie działa i pomaga to co powyżej.

data i czas w skryptach bash

# odczytujemy aktualny czas w sekundach od 1970 roku
today=`date '+%s'`
#Dodajemy ile trzeba (w sekundach)
todayplus6=$(($today+518400))
# małpa oznacza, że czas przekazany do komendy date jest liczony od 1970 roku
plus6month=`date +%Y-%m -d @$todayplus6`

mysql – uprawnienia do bazy (grant)

Przyznanie uprawnień do bazy z poziomu administratora:
Z localhosta:
grant all privileges on nazwa_bazy.* to nazwa_usera@localhost identified by ‚haslo’;
Z konkretnego IP:
grant all privileges on nazwa_bazy.* to nazwa_usera@195.64.174.x identified by ‚haslo’;
Z dowolnego IP:
grant all privileges on nazwa_bazy.* to nazwa_usera@’%’ identified by ‚haslo’;

Postfix+SASL

apt-get install postfix-tls libsasl2-modules sasl2-bin

W debianie smtpd pracuje w chroocie, trzeba zmienić w /etc/postfix/master.cf edytując linię:
smtp inet n - - - - smtpd
zmieniając na:
smtp inet n - n - - smtpd

W pliku /etc/group do grupy sasl dodajemy użytkownika postfix, np.
sasl:x:45:postfix

W /etc/default/saslauthd
ustawiamy w ostatnij linii:
OPTIONS=”-c -m /var/spool/postfix/var/run/saslauthd”
(gdyż w debianie postfix pracuje w chroocie).
i restart postfix’a oraz saslauthd:
/etc/init.d/postfix restart
Stopping Postfix Mail Transport Agent: postfix.
Starting Postfix Mail Transport Agent: postfix.
eff:~# /etc/init.d/saslauthd restart
Stopping SASL Authentication Daemon: saslauthd.
Starting SASL Authentication Daemon: saslauthd.

Sprawdzić, czy logowanie działa poprawnie można telnetem:
# telnet localhost 587
Trying 127.0.0.1…
Connected to localhost.
Escape character is ‚^]’.
220 mail2.richtongroup.net ESMTP Postfix (Debian/GNU)
ehlo aaa
250-mail2.richtongroup.net
250-PIPELINING
250-SIZE 30720000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH CRAM-MD5 NTLM PLAIN LOGIN DIGEST-MD5
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
auth login
334 VXNlcm5hbWU6
YW1z (to jest login zakodowany base64)
334 UGFzc3dvcmQ6
dGVzdDEyMw== (to jest hasło test123 zakodowane base64)
235 2.7.0 Authentication successful

Jeśli nie loguje poprawnie, można poprzez strace -p podejrzeć w czym może być problem (np. ścieżka do mux)

Tworzenie macierzy RAID

Tworzenie macierzy RAID1 składającej się z dwóch dysków:

mdadm –create /dev/md0 –level=1 –raid-devices=2 /dev/sda1 /dev/sdc1

Tworzymy częściową macierz, z jednym dyskiem:

mdadm --create /dev/md0 --level=1 --raid-devices=2 missing /dev/sdc1

Dodanie kolejnej partycji do raida:
mdadm --manage /dev/md0 --add /dev/sdd1

pvcreate /dev/md0
Physical volume "/dev/md0" successfully created
vgcreate host /dev/md0
lvcreate -L 250G host -n home

Ustawienie prędkości wykonywania replikacji: (w kB/s)
echo 100000> /proc/sys/dev/raid/speed_limit_max
echo 100000 > /proc/sys/dev/raid/speed_limit_min

Stopowanie raida:
vgchange -a n host
mdadm /dev/md0 --manage --stop

aktywacja LVM

mdadm –assemble /dev/md0 /dev/sdb1
mdadm: /dev/md0 has been started with 1 drive (out of 2).

pvscan
PV /dev/md0 VG host lvm2 [1,36 TB / 580,86 GB free]
Total: 1 [1,36 TB] / in use: 1 [1,36 TB] / in no VG: 0 [0 ]

vgscan
Reading all physical volumes. This may take a while…
Found volume group „host” using metadata type lvm2

cat /proc/mdstat
Personalities : [raid1]
md0 : active (auto-read-only) raid1 sdb1[1]
1465135936 blocks [2/1] [_U]

mdadm –readwrite /dev/md0

lvscan
inactive ‚/dev/host/swap’ [2,93 GB] inherit
inactive ‚/dev/host/root’ [29,30 GB] inherit
inactive ‚/dev/host/home’ [781,25 GB] inherit
inactive ‚/dev/host/tmp’ [2,93 GB] inherit

lvdisplay /dev/host/tmp
— Logical volume —
LV Name /dev/host/tmp
VG Name host
LV UUID xY3Q6E-3LNG-Qw49-UXMo-wryK-7Vm4-W2Aulh
LV Write Access read/write
LV Status NOT available
LV Size 2,93 GB
Current LE 750
Segments 1
Allocation inherit
Read ahead sectors auto

vgchange -a y host

ACTIVE ‚/dev/host/swap’ [2,93 GB] inherit
ACTIVE ‚/dev/host/root’ [29,30 GB] inherit
ACTIVE ‚/dev/host/home’ [781,25 GB] inherit
ACTIVE ‚/dev/host/tmp’ [2,93 GB] inherit

lvdisplay /dev/host/tmp

LV Name /dev/host/tmp
VG Name host
LV UUID xY3Q6E-3LNG-Qw49-UXMo-wryK-7Vm4-W2Aulh
LV Write Access read/write
LV Status available
# open 0
LV Size 2,93 GB
Current LE 750
Segments 1
Allocation inherit
Read ahead sectors auto
– currently set to 256
Block device 253:3

Po pracy:
lvchange -a n host
mdadm –stop /dev/md0

Kopiowanie przy użyciu rsync

Synchronizowanie katalogu ze zdalnego serwera do dysk lokalny:

rsync -ave ‚ssh -p22’ –del skad@serwer:/katalog /docelowy/katalog

Kopiowanie całego systemu plików bez /proc:

rsync -ave ‚ssh -p22’ –del –exclude ‚/proc’ skad@serwer:/ /docelowy/katalog

Opcja –del powoduje, że pliki których już nie ma w źródle zostaną usunięte.

Korzystająć z rsync można łatwo robić wielokrotne kopie (np. backup), gdzie pliki bez zmian są hardlinkami, czyli nie zabierają miejsca:
rsync -av –link-dest /katalog/2 1/ 3