42n4

PROXMOX4VAGRANT

Apr 24th, 2017
341
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 11.01 KB | None | 0 0
  1. ##############################################################################################
  2. #Uruchamiam Cepha na 3 maszynach vagrant Proxmox
  3. #TUTAJ JEST GŁÓWNY SKRYPT
  4. #GŁÓWNY SKRYPT
  5. #curl https://pastebin.com/raw/Ey6qHu37 | sed 's/\r//g' > VAskryptglownyProxmox.txt
  6. #DALEJ PASTUJ LINIE z PLIKU GŁÓWNEGO skryptglowny.txt
  7. #lub z podanego powyżej adresu pastebin oraz uruchamiaj FUNKCJE
  8. #vim VAskryptglownyUbuntu.txt #paste sth
  9.  
  10. ##############################################################################################
  11. #FUNKCJE DO TEGO SKRYPTU W OSOBNYM SKRYPCIE
  12. curl https://pastebin.com/raw/anHdueta | sed 's/\r//g' > VAskryptfunkcje.sh
  13. sh VAskryptfunkcje.sh
  14.  
  15. ##############################################################################################
  16. #TWORZENIE MASZYNY VM Z LINII KOMENDY
  17. export VM="Proxmox"
  18. export VBOS="Debian_64"
  19. export VBFOLDER="/mnt/dc/VBox/"
  20. export ISO4VM="/mnt/dc/IMAGES/proxmoxve5.iso"
  21. #export ISO4VM="/mnt/dc/IMAGES/proxmox-ve_4.4-eb2d6f1e-2.iso"
  22. VACreateVM $VM $VBOS $VBFOLDER $ISO4VM 32768
  23.  
  24. ##############################################################################################
  25. #INSTALACJA SYSTEMU Z ISO NA VM z openssh-server zaznaczonym
  26. VBoxManage startvm $VM # --type headless
  27.  
  28. ##############################################################################################
  29. #WYŁĄCZENIE MASZYNY
  30. #VBoxManage controlvm $VM acpipowerbutton #nie działa
  31. VBoxManage controlvm $VM poweroff
  32. sleep 20
  33. VAChangeVMStorage $VM
  34. VBoxManage startvm $VM --type headless
  35. #ssh -p 2222 root@127.0.0.1
  36. sleep 30
  37. curl https://pastebin.com/raw/anHdueta | sed 's/\r//g' > VAskryptfunkcje.sh
  38. sh VAskryptfunkcje.sh
  39. sed -i '/:2222/d'  ~/.ssh/known_hosts
  40. scp -rp -P 2222 /usr/local/bin/va_* root@127.0.0.1:/usr/local/bin && \
  41. #ssh -p 2222 root@127.0.0.1 "/usr/local/bin/va_update_proxmox jessie jewel"
  42. ssh -p 2222 root@127.0.0.1 "/usr/local/bin/va_update_proxmox"
  43.  
  44. #DODAWANIE I USUWANIE dzielonych katalogów (vagrant ma swoje własne katalogi):
  45. #VBoxManage sharedfolder add $VM --name SHARED --hostpath /mnt/dc/SHARED --automount
  46. #VBoxManage sharedfolder remove $VM --name SHARED
  47. #To mount it on the guest:
  48. #sudo mount -t vboxsf -o uid=$UID SHARED /mnt/dc/SHARED
  49. #SNAPSHOTY BACKUPY
  50. #VBoxManage snapshot $VM take shot`date +%y%m%d`
  51. #VBoxManage snapshot $VM restore shot`date +%y%m%d`
  52. #KLONOWANIE MASZYNY
  53. #VBoxManage export $VM --output vmClone`date +%y%m%d`.ovf --options manifest,nomacs
  54. #macaddr=$(echo `uname -a`|md5sum|sed 's/^\(..\)\(..\)\(..\)\(..\)\(..\).*$/08:00:27:\3:\4:\5/')
  55. #VBoxManage modifyvm $VM --macaddressX $macaddr
  56. #domyślnie zmienia mac i nazwy
  57. #VBoxManage import vmClone`date +%y%m%d`.ovf
  58.  
  59. ##############################################################################################
  60. #TWORZYMY VAGRANT MASZYNĘ Z VIRTUALBOX MASZYNY
  61. #VBoxManage controlvm $VM acpipowerbutton #nie działa
  62. VBoxManage controlvm $VM poweroff
  63. sleep 20
  64. VBoxManage storageattach $VM --storagectl IDE --port 0 --device 0 --type dvddrive --medium none
  65. [ -e ${VBFOLDER}/v${VM}.box ] && rm ${VBFOLDER}/v${VM}.box
  66. vagrant box remove v${VM} --force
  67. vagrant package --output ${VBFOLDER}/v${VM}.box --base $VM
  68. vagrant box add v${VM} ${VBFOLDER}/v${VM}.box --force
  69. #DODAJ ${VBFOLDER}/v${VM}.box do zbioru obrazów atlas
  70. #https://atlas.hashicorp.com/vagrant
  71. #https://atlas.hashicorp.com/settings/tokens
  72. #to samo można zrobić packerem
  73. #https://github.com/uchida/packer-proxmoxbeta
  74.  
  75. ##############################################################################################
  76. cd
  77. vagrant box list
  78. rm -rf v${VM}
  79. [ ! -d v${VM} ] && mkdir v${VM}
  80. cd v${VM}
  81. #vagrant init v${VM}
  82. #dla trzech maszyn, a nie dla jednej
  83. #https://www.vagrantup.com/docs/provisioning/shell.html
  84. #sed -i 's/^end/\ \ config.vm.provision "shell", inline: "echo server1 > \/etc\/hostname"\n end/g' Vagrantfile
  85. cp /usr/local/bin/Vagrantfile.3Ubuntu Vagrantfile
  86. sed -i 's/vUbuntu1610/'v${VM}'/g' Vagrantfile
  87. vagrant up --provision
  88. vagrant ssh server1
  89.  
  90. #w przypadku gdy na koncie vagrant zmienił się publiczny klucz vagranta w .ssh/authorized_keys
  91. #należy logować się po haśle, zmienić Vagrantfile od razu po vagrant init nazwa_boxa
  92. #https://www.vagrantup.com/docs/vagrantfile/ssh_settings.html
  93. #sed -i 's/^end/\ \ config.ssh.password="vagrant"\n end/g' Vagrantfile
  94. #jeśli nie wstawimy config.ssh.password jak wyżej, to pastujemy klucz insecure vagranta do maszyny na konto vagrant:
  95. #wget https://raw.githubusercontent.com/mitchellh/vagrant/master/keys/vagrant.pub -O ~/.ssh/authorized_keys
  96. #chmod 700 ~/.ssh
  97. #chmod 600 ~/.ssh/authorized_keys
  98. #chown -R vagrant:vagrant ~/.ssh
  99. #po tym: vagrant halt && vagrant up && vagrant ssh
  100. #http://www.thisprogrammingthing.com/2016/fixing-vagrant-connection-error/
  101.  
  102. #usuwanie maszyn vagranta z nazwami na v* z VirtualBoxa
  103. cd $VBFOLDER && for i in v${VM}*; do VBoxManage controlvm $i poweroff; VBoxManage unregistervm --delete $i; done && cd
  104.  
  105. #https://atlas.hashicorp.com/boxes/search
  106. #https://github.com/Zuehlke/linux-developer-vm
  107.  
  108.  
  109. #arp-scan 192.168.2.0/24 --interface=enp0s31f6
  110. #vagrantfile for public ip http://ix.io/q2t, dla dwóch serwerów http://ix.io/q2y, dla trzech serwerów http://ix.io/qdE
  111.  
  112. #https://groups.google.com/forum/#!topic/vagrant-up/thrR2PRodQE
  113. #https://programmaticponderings.com/2014/12/14/installing-puppet-master-and-agents-on-multiple-vm-using-vagrant-and-virtualbox/
  114. #https://blog.kloudless.com/2013/07/01/automating-development-environments-with-vagrant-and-puppet/
  115. #http://kappataumu.com/articles/creating-an-Ubuntu-VM-with-packer.html
  116. #https://marcofranssen.nl/packer-io-machine-building-and-provisioning-part-1/
  117. #https://github.com/pwasiewi/packer-ubuntu
  118. #https://www.sitepoint.com/getting-started-vagrant-windows/
  119. #https://ttmm.io/tech/vagrant-windows/
  120. #https://www.digitalocean.com/community/tutorials/how-to-create-ansible-playbooks-to-automate-system-configuration-on-ubuntu
  121. #https://github.com/jimradford/superputty/releases/tag/1.4.0.8
  122. #https://github.com/mintty/wsltty/releases
  123. #https://github.com/freeciv/freeciv-web #Vagrantfile
  124. #https://wiki.christophchamp.com/index.php?title=Kubernetes
  125.  
  126. #NA JEDNYM SERWERZE np. server1
  127. pvecm create kluster
  128. pvecm help
  129. pvecm status
  130. pvecm nodes
  131. ##########################################################################################
  132. #NA POZOSTAŁYCH SERWERACH
  133. #po zalogowaniu ssh na innych od server1 serwerach dołącz je do klustera
  134. ssh server2 "pvecm add server1" && ssh server3 "pvecm add server1"
  135. #poczekaj aż każdy się skończy, potem poczekaj z 5min, aby kluster się ustabilizował
  136. #i zrebootuj
  137. ##########################################################################################
  138. #NA WSZYSTKICH SERWERACH
  139. #loguj się przez ssh do server2-3 i wykonuj reboot
  140. #od teraz bez hasła logowanie ssh server?
  141. ssh server2 "reboot" && ssh server3 "reboot"
  142. reboot
  143. ##########################################################################################
  144. #NA JEDNYM SERWERZE np. server1
  145. #wykonaj dla sieci cluster network
  146. pveceph init --network 192.168.2.0/24
  147. ##########################################################################################
  148. #NA WSZYSTKICH SERWERACH można przez ssh server?
  149. ssh server2 "pveceph createmon" && ssh server3 "pveceph createmon" && ssh server1 "pveceph createmon"
  150.  
  151. ssh server1 "ceph-disk zap /dev/sdb" && ssh server1 "pveceph createosd /dev/sdb" && ssh server1 "partprobe /dev/sdb1"
  152.  
  153. ssh server2 "ceph-disk zap /dev/sdb" && ssh server2 "pveceph createosd /dev/sdb" && ssh server2 "partprobe /dev/sdb1"
  154.  
  155. ssh server3 "ceph-disk zap /dev/sdb" && ssh server3 "pveceph createosd /dev/sdb" && ssh server3 "partprobe /dev/sdb1"
  156.  
  157. ##########################################################################################
  158. #NA JEDNYM SERWERZE
  159. #w GUI utwórz pool z osds ceph4you i
  160. #następnie na nim lub na domyślnie utworzonym rbd storage ceph4vm typu RDB
  161. # from /etc/pve/storage.cfg
  162. #rbd: ceph4vm
  163. #     monhost 192.168.2.71 192.168.2.72 192.168.2.73
  164. #     pool ceph4you (zamiast rdb)
  165. cd /etc/pve/priv/
  166. mkdir ceph
  167. cp /etc/ceph/ceph.client.admin.keyring ceph/rbd.keyring
  168. cp /etc/ceph/ceph.client.admin.keyring ceph/ceph4vm.keyring
  169. cp /etc/ceph/ceph.client.admin.keyring ceph/ceph4you.keyring
  170. #w gui tylko do 3 replik, ale w ten sposób moze być ich więcej aż do 10 według domyslnego crush ruleset
  171. ceph osd pool set rbd size 2  
  172. ceph osd pool set rbd min_size 2
  173.  
  174. ##################################################################################
  175. ##################################################################################
  176. ### CEPH #########################################################################
  177. ##################################################################################
  178. ##################################################################################
  179.  
  180. #http://www.virtualtothecore.com/en/adventures-ceph-storage-part-1-introduction/
  181. #https://blog.zhaw.ch/icclab/tag/ceph/
  182. #https://wiki.centos.org/SpecialInterestGroup/Storage/ceph-Quickstart
  183. #http://linoxide.com/storage/setup-red-hat-ceph-storage-centos-7-0/
  184. #http://karan-mj.blogspot.com/2013/12/what-is-ceph-ceph-is-open-source.html
  185. #https://www.reddit.com/r/DataHoarder/comments/4gzpxi/why_is_ceph_so_rare_for_home_use_even_among
  186. #http://palmerville.github.io/2016/04/30/single-node-ceph-install.html
  187. [ ! -d ceph-deploy ] && mkdir ceph-deploy
  188. cd ceph-deploy/
  189. #INICJALIZACJA CEPHA
  190. va_ceph_init
  191. #TESTOWANIE CEPHA
  192. va_ceph_create
  193. ceph -s #ceph status
  194. ceph osd tree
  195. ceph mon_status
  196. ceph osd lspools
  197. ceph df
  198. rados -p mypool ls
  199. [ ! -d /mnt/mycephfs ] && mkdir /mnt/mycephfs
  200. #mount -t ceph server1:6789:/ /mnt/mycephfs -o name=admin,secret=`cat /etc/ceph/ceph.client.admin.keyring | grep key | cut -f 2 | sed 's/key = //g'`
  201. mount -t ceph `ifconfig enp0s8 | grep inet\ | awk '{print $2}'`:6789:/ /mnt/mycephfs -o name=admin,secret=`cat /etc/ceph/ceph.client.admin.keyring | grep key | cut -f 2 | sed 's/key = //g'`
  202.  
  203. #test wydajności dysku ceph, gdzie -s rozmiar pliku MB, -r ilość ram MB (domyślne wartości: 8192 i dostępna pamięć)
  204. free && sync && echo 3 > /proc/sys/vm/drop_caches && free
  205. bonnie++ -s 2048 -r 1024 -u root -d /mnt/mycephfs -m BenchClient
  206.  
  207. #https://wiki.mikejung.biz/Sysbench#Install_Sysbench_on_CentOS_7
  208. #http://www.servernoobs.com/avoiding-cpu-speed-scaling-in-modern-linux-distributions-running-cpu-at-full-speed-tips/
  209. #for CPUFREQ in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor;
  210. #do [ -f $CPUFREQ ] || continue;
  211. #  echo -n performance > $CPUFREQ;
  212. #done          
  213. grep -E '^model name|^cpu MHz' /proc/cpuinfo  
  214. sysbench --test=cpu --cpu-max-prime=10000 --num-threads=4 run
  215. #sysbench --test=fileio --file-test-mode=rndwr run
  216. #sysbench --test=fileio help
  217. #sysbench --test=fileio --file-test-mode=seqwr --num-threads=1 --file-block-size=4096 run
  218. #sysbench --test=fileio --file-test-mode=rndwr --num-threads=1 --file-block-size=4096 run  
  219. #http://cromwell-intl.com/linux/performance-tuning/disks.html
  220. echo 3 | sudo tee /proc/sys/vm/drop_caches && sudo sync
  221. iperf -s #pomiar przepustowości sieci, uruchamiamy na jednym serwerze np. server1
  222. iperf -c server1 -i1 -t 10  #na drugim serwerze mierzymy
Add Comment
Please, Sign In to add comment