=======Poznamky k KVM virtualizaci a zalohovani =======
seznam praktickych prikazu
virsh list
virsh edit testing
// Escape character is ^] //
Takhle se hledaji a instaluji baliky
apt search agent | grep guest
apt install qemu-guest-agent
virsh snapshot-create-as --domain testing try1 --atomic ---flags disk-only a quiesce vyvolaju permission error
virsh -c qemu:///system domblklist testing --- zoznam .qcow2
virsh -c qemu:///system dumpxml testing > /srv/storage/backup/testing_backup.xml
jak pouzivat aplikace
virtualenv -
24.10.
1)https://kashyapc.wordpress.com/2012/09/14/externaland-live-snapshots-with-libvirt/
toto je celkom useful link, ale ako navod to nefunguje kvoli permissions.
Je tam aspon vysvetleny rozdiel medzi internal a external snapshot. Domnievam sa, ze nas zaujima external. Internal sa mi uz predtym vlastne podaril. o permissions pre qemu neexistuju ziadne zdroje, ani dokumentacia qemu sa o nicom takom poriadne nezmienuje.
zapamataj si definice:
qemu - emulator
libvirt - API pre manazovanie roznych VM
virsh - cmd interface zalozeny na libvirt
// //
2) snazil som sa skumat moznost qemu-img.
https://serverfault.com/questions/692435/qemu-img-snapshot-on-live-vm
pomocou poslednej odpovede tu ide vytvorit kopiu qcow2 suboru. Podla tej odpovede toto + xml s config VM staci na back-up.
\\ 25.10
\\ Pri blizsom pohlade sa to javi ako dost nezmysel.
\\ dalsie useful linky: //
\\ https://gist.github.com/ringe/334ee88ba5451c8f5732//
\\ http://soliton74.blogspot.com/2013/08/about-kvm-qcow2-live-backup.html //
\\ Stu tam cele scripty co robia ten back up . Problem je ten, ze pouziju tie iste prikazy co nam nejde spustit. //
\\ chown -R libvirt-qemu:kvm "$BASEPATH" toto vyzera ako zaujimavy napad ale nejde to spustit //
\\
// potencialne uzitocne: dpkg queries, installs, removes, and maintains Debian software packages and their dependencies //
\\
// strace vyvola nejaky vypis volania do kernelu //
\\
// //
====== Vim =======
:%s/search/replace/gc
\\
// 26.10. //
Stalo sa ze, storage odmietol reagovat- host is down. Staci umount storage, mount storage a hotovo
\\
Heslo do virsh console testing: ahoj......, login root
\\
Takze. Mal by som si do utorka zapamatat, co mam vlastne robit. Externe snapshoty su po vytvoreni inverzne. T.j. ten backup je povodny a zmeny sa ukladaju do toho snapu.
Preto vytvorime kopiju toho povodneho .qcow2 niekam mimo a dalej bezi vm na tom snapshote-------------->
https://wiki.libvirt.org/page/Live-disk-backup-with-active-blockcommit
--------------------------
\\
30.10.
virsh blockcommit jakub-sevcik /vps/jakub-sevcik2018-10-30 --active --verbose --pivot
---fungovalo asi tak ako sme dufali. Takze proces je
1. dumpxml
2. create snapshot
3. okopirovat backup
4. blockcommit
5. odmazat snap
6. ???
7. profit
\\
31.10.
import: os, subprocess, stat na vytvorenie executable suboru
\\
(import libvirt) \\
virsh list: \\
con = openReadOnly( adresa, k najdeniu v godsview models alebo views ) \\
list = con.ListAllDomains(0) \\
.name() ----------------> testing, jakub-sevcik atd.
======= New server =======
echo jmeno >/etc/hostname
hostname jmeno
echo domain starlab.cz >>/etc/resolv.conf
bash
echo frozen > /sys/block/md0/md/sync_action
echo frozen > /sys/block/md1/md/sync_action
echo frozen > /sys/block/md2/md/sync_action
apt update
apt install puppet
puppet agent -t
Add the server to "VHOST class at puppet.starlab.cz" and run the //puppet agent -t// again.
Add the new server to vSwitch vlans (usualy vlan10, vlan11 and vlan40)
====6.11.====
Praca s databazou. Problemy:
1. Duplikatne mena vps cez VHost
2. Cele robit co najviac cez db. Pozmenit mozno nejak ten refresh nech mi fetchne tie potrebne data
3.
=== Fail2ban ===
fail2ban-client set sshd unbanip 88.198.64.144
.
====20.11. -- SSH v pythone====
from pexpect import pxssh
s = pxssh.pxssh()
s.login('h6', 'root')
prikaz linux na vyzkouseni zda je gueatagent na virtual windows nainstalovan: virsh qemu-agent-command testing '{"execute":"guest-info"}'
postup na vydanie do produkcie:
ideal nebyt na django prihlaseny ako root, ale ako vps. Asi je ale problem s pravami na git
bin/actiovate, git pull
pripadne zmenit vlastnika suborom aby to bol vps
makemigrations/ migrate
./manage.py createsuperuser
to by malo byt technicky vsetko
https://www.layoutit.com/
Storage sizes app - useful linky co sa asi zidu
https://www.reddit.com/r/django/comments/319u80/how_do_you_setup_django_with_remote_database/
https://www.quora.com/How-does-python-Django-connect-to-a-remote-database
https://stackoverflow.com/questions/6536783/django-getting-data-from-different-database
https://docs.djangoproject.com/en/2.1/ref/contrib/contenttypes/
https://docs.djangoproject.com/en/2.1/topics/db/multi-db/
toto by malo byt riesenie mojho najvacsieho problemu projektu- ako sa dostat do databaz cudzich projektov. Snad
pre vsetky vps
for x in `virsh list | tr -s ' ' | cut -d' ' -f3`; do virsh domblklist $x; done
WEBHOSTING PASSWD: Born2runIneptus
Formatovanie JSON:
json pretty print (google)
====== Fail2ban ======
fail2ban-client set sshd unbanip 88.198.64.144
supervisorctl restart ...
virsh -c qemu:///system list
=====Curl requests format=====
curl --header "Content-Type: application/json" --request POST --data '{ "amount": "512", "ico": null,"dic": "","account_no": "666","bank_no": "4200", "invoice_items": []}' --user uziv:aho...... http://127.0.0.1:8000/api/out_invoice/
curl -X POST -F 'amount=1024' -F 'invoice_items=[]' -F 'note=Curl test-form' -F 'picture_pro_forma=@/srv/fakturace2/fakturace2/invoice_pictures/2019-61667812_5cO24If.pdf' --user uziv:aho...... http://127.0.0.1:8000/api/incoming_invoices/
GET /api/incoming_invoices/?company_id=4bd3f127-9700-46d4-868a-a467e2e34042