czwartek, 27 czerwca 2013

Szyfrowanie swap - ecrypt

Aby włączyć/wyłączyć szyfrowanie swap w systemie linux , postępuj z poniższymi instrukcjami



TURN ON
 
sudo ecryptfs-setup-swap 
 
 

TURN OFF

sudo swapoff -a 

sudo cryptsetup remove /dev/mapper/cryptswap1 

sudo vim /etc/crypttab 
(*usunac/zahaszować wpis dla swap /dev/sda5* )

sudo /sbin/mkswap /dev/sda5 

sudo swapon /dev/sda5 

sudo vim /etc/fstab 
(*zamienić /dev/mapper/cryptswap1 na /dev/sda5*)

niedziela, 23 czerwca 2013

Maszyna virtualna - KVM

URUCHAMIANIE KVM  (ubuntu)

sudo apt-get install kvm
sudo apt-get install bridge-utils

Edycja  /etc/network/interfaces

auto lo
iface lo inet loopback
auto br0
iface br0 inet static
address xxx.xxx.xxx.xxx
netmask xxx.xxx.xxx.xxx
gateway xxx.xxx.xxx.xxx
bridge_ports eth0
bridge_stp off
bridge_maxwait 5
 

Edycja /etc/qemu-ifup

#!/bin/sh
/sbin/ifconfig $1 0.0.0.0 promisc up
/usr/sbin/brctl addif br0 $1
sleep 2
 

Teraz musimy stworzyć virtualny dysk:

mamy 2 możliwości

1) tworzymy dysk o stałej wielkości 4GB (dysk fizycznie tyle zajmie na dysku)

    dd if=/dev/zero of=disk01.img bs=1G count=4


2) tworzymy dysk o interesującej nas wielkości ale wielkość nie będzie alokowana (załóżmy ze chcemy dysk 10GB)

    qemu-img create -f qcow2 disk01.qcow2 10G


Teraz instalujemy system na virtualnym dysku

1)  z obrazu instalacyjnego  w pliku
    kvm -hda disk01.img -cdrom os.iso -m 512 -boot d -vnc IP:1
2) z dysku cdrom
    kvm -cdrom /dev/cdrom  -m 1024 -boot d -vnc  IP:1 disk01.qcow2

(po instalacji)

 Teraz mamy zamiar uruchomić maszynę wirtualną z obsługą sieci. Możemy przypisać do niej adresu MAC dla interfejsu sieciowego VM
Jest to ważne, jeśli używamy więcej niż 1 VM. Każda maszyna wirtualna powinna mieć inny mac-address.

    kvm -hda disk01.img -m 512 -boot c -net nic,vlan=0,macaddr=00:16:3e:00:00:01 -net tap -nographic -daemonize

powinniśmy mieć  już możliwość podłączenia się po ssh do naszej maszyny , jeśli występują problemy można dołożyć podgląd vnc

(czasami gdy są problemy z dostepem do sieci możan sprobować tak)

     kvm -hda disk01.img -m 512 -boot c -net nic,vlan=0,macaddr=00:16:3e:00:00:01,model=rtl8139 -net tap -nographic -daemonize

 ******

Konwertowanie obrazów:

virtualbox  --> kvm

  • najpierw konwersja na obraz typu IMG
   VBoxManage clonehd /sciezka/do/obraz.vdi /sciezka/do/obraz.img --format raw

  • teraz konwersja z obrazu IMG na format którego używa KVM
    qemu-img convert -f raw obraz.img -O qcow2 obraz.qcow2





Przykłady uruchomień kvm:

    kvm -hda /sciezka/disk1.qcow -hdb /sciezka/disk2.qcow -m 2048 -vga none -usb -usbdevice tablet -net nic -net user,hostfwd=tcp:192.168.1.2:2228-:22 



*****************

 
Przenoszenie działających obrazów systemu pliku do KVM opartych na LVM.
1. chyba najlepsze rozwiązanie (po sieci) 

Na maszynie docelowej:

iptables -I INPUT -p tcp --dport 9897 -s IP_ZRODLA -j ACCEPT
nc -l -p 9897 |dd of=/dev/mapper/vgname/lvname


Na maszynie źródła:
(wyłączamy bez błędów maszynę virtualną która chcemy skopiować.) 

 
dd if=/dev/mapper/vgname/lvname | nc IP_DOCELOWEJ 9897
[Enter]

i czekamy w zależność od ilości danych i łącza, np. przy łączy 1,5Mbit i 40GB danych to czas około 1h


2. możemy użyć komendy rsync

na maszynie docelowej:

tworzymy partycje na naszym pustym wolumenie LVM identyczna jak na maszynie źródłowej (nie konieczne ale wskazane, nie trzeba zmieniać wówczas /etc/fstab)

fdisk /dev/mapper/vgname/lvname


używamy komendy kpartx aby zobaczyć stworzone partycje
kpartx -av /dev/mapper/vgname/lvname



teraz powinniśmy w /dev/mapper/ odnaleźć odnośniki do naszych partycji

dalej postępujemy już jak z urządzeniami blokowymi (dyskami)
tworzymy system plików
np.

mkfs.ext4 /dev/mapper/vgname/lvname-home

itd.

tworzymy jakiś punkt montowania np. nowy
mkdir /nowy/
cd nowy

tworzymy katalogi które będą montowane np. home , var
mkdir home var
 

na maszynie źródła (na działającym virtualu):

rsync -avz -e ssh root@IP_ZDALNEGOKOMPA:/  /nowy/
i czekamy aż się zrobi

następnie należy uruchomić kvm z butowaniem się cdrom z obrazem np. knoppixa i uaktualnić wpis w MBR dla grub'a lub lilo.

np.
qemu-system-x86_64 -cdrom knoppix.iso -m 1096 -vnc :1 -boot d -drive file=/dev/mapper/vgname/lvname
,cache=none,if=virtio -pidfile /home/test.pid


dla lilo wystarczy uruchomić komendę
lilo

dla grub uruchomić komendę
grub-install /dev/vda1 (podać poprawny dysk)