Blog Marcina Bojko

Linux,Windows,serwer, i tak dalej ;)

Archive for the ‘open source’ Category

Chocolatey i własne źródło pakietów.

Bez wątpienia – Chocolatey (https://chocolatey.org/) jest doskonałym zarządcą pakietów dla systemu WIndows – zwłaszcza w instalacjach DesiredStateConfiguration. Trochę przytłacza mnogość sposobów instalacji pakietów (w zasadzie, każdy pakiet potrafi być oddzielnym kawałkiem kodu), jednak rekompensuje to z nawiązką ich niskim skomplikowaniem.

Owszem, sporo pakietów jest w oryginalnym repozytorium, jednak nie wszystkie pakiety źródłowe posiadają publiczne linki, tak aby można je było umieścić w samym pakiecie.

Rozwiązaniem jest np. tworzenie pakietów w repozytorium https://www.myget.org/, a same binarki trzymać np. 2 miejscach – firmowy intranet oraz linki publiczne.

Ponieważ mnie zawsze brakuje wspomnianych pakietów przedstawiam wam własne źródło, gdzie postaram się uzupełniać przydatne i brakujące pakiety.

Kilka zasad:

  1. Wszystkie pakiety binarne trzymane są w moim Dropboxie – katalog /public/choco.
  2. Wszystkie pakiety binarne podpisane są SHA256
  3. Wszystkie pakiety są weryfikowane przez Virus Total a ich suma SHA256 MUSI zgadzać się z sumą z linka VirusTotal. W opisie pakietu widnieje ich suma kontrolna.
  4. Repozytorium jest publiczne – jeżeli chcesz umieścić swój pakiet – odpowiadasz za niego 🙂

Bez zbędnej zwłoki:

Samo źródło: https://www.myget.org/feed/Packages/public-choco

Nuget v2: https://www.myget.org/F/public-choco/api/v2

RSS źródła z pakietami: https://www.myget.org/RSS/public-choco

 

Jak dodać źródło do swojego Chocolatey’a?

choco source add -n=NAZWA -s"https://www.myget.org/F/public-choco" --priority=10

Jak zainstalować/aktualizować pakiet?

choco install nazwapakietu -y

choco upgrade nazwapakietu -y

 

Jak usunąć pakiet?

choco uninstall nazwapakietu -y

 

Jakie pakiety są w repo?

Na dzień dzisiejszy:

WPS-Office-Personal – https://www.myget.org/feed/public-choco/package/nuget/wps-office-personal

Zabbix-Agent3 – https://www.myget.org/feed/public-choco/package/nuget/zabbix-agent3

 

Pozostałe pakiety przerabiam z sum kontrolnych MD5 na SHA256 co zajmuje mi nieco czasu.

 

 

Written by marcinbojko

Październik 1, 2016 at 12:57

And I landed on a BitBucket…

Written by marcinbojko

Sierpień 27, 2016 at 09:47

Hyper-V default settings

I decided to make my script public via GitHub. What it does is helping making new Hyper-V installation easier. This little thing helped me in numerous Hyper-V deployments.

https://github.com/marcinbojko/hv_default

Written by marcinbojko

Lipiec 14, 2016 at 17:39

Napisane w open source, Uncategorized, work

Tagged with ,

Blogi które śledzę – MVP i nie tylko.

Nie jest tajemnicą, iż uważam Microsoft za firmę, w której myśl inżynieryjna jest tłamszona przez część schizofreniczno-marketoidalną, co widać w ich kolejnych posunięciach. Brak jakiejkolwiek możliwości wpływania przez inżynierów na swoje produkty, częste zmiany zasad gry w połowie rozgrywki, paranoidalne trzymane się jedynie rynku USA (nie chcę nawet komentować wykastrowanego XBL w PL). Po kolejnej konferencji, na której widzę te same twarze „celebrytów-evangelistów” wiem, że nic się w tej sytuacji nie zmieni na dobre.

Tym, którzy nie widzieli – polecam, to niezły otwieracz oczu:

Rynek i chęć współpracy z produktami Microsoftu ratują dla mnie REALNI (nie ewangeliczni) MVP – ludzie zatrudnieni na co dzień w przeróżnych firmach, zajmujący się realnymi problemami, rozwiązującymi je i dzielącymi się tym z całym światem.

Swoją przygodę z Hyper-V zaczynałem od próby weryfikacji różnic pomiędzy produktami konkurencji – język Technetu to beznadziejna maszynowa nowomowa, która w żaden sposób nie wyjaśnia jak osiagnąć to co próbujesz. Śmiało moge powiedzieć iż siedziałbym jeszcze w epoce IT łupanego, gdyby nie kontakt z MVP – ludzmi, którzy częściowo bezinteresownie przeprowadzali nas przez meandry korporacyjnych zawiłości.

Obecnie, aby pozostać w obiegu (na bełkot Microsoftu szkoda mi czasu) sledzę:

  • Mało przydatne:

System Center: Virtual Machine Manager http://blogs.technet.com/b/scvmm/

W zasadzie tylko komunikaty o poprawkach i opisy rozwiązań problemów, już dawno przez społeczność rozwiązanych.

Virtualisation Bloghttp://blogs.technet.com/b/virtualization/default.aspx

Jak wyżej.Niestety.

  • Obowiązkowe (Microsoft, Hyper-V, File Server)

Łukasz Kałużnyhttp://blog.kaluzny.pro/ – Blog Łukasza był dla mnie początkiem próby zrozumienia działania i przewagi HyperV. Chociaż ostatnio pisze rzadziej, sposób w jaki przekazywał powodował iż na początkowym etapie bywał po prostu niezastąpiony.

Aidan Finnhttp://www.aidanfinn.com/ – wyszczekany, niepoprawny politycznie, hejter Linuksów i VMWare. Wrzuca zarówno rozwiązania swoje, jak i w formie agregatora newsów rzeczy związane z Hyper-V, Azure. Nie boi się w mało delikatny sposób zaznaczyć kto w Microsofcie ma problemy z głową przy wprowadzaniu (tak, tak! więcej zamieszania w licencjonowaniu i supporcie) nowości.

Ben Armstronghttp://blogs.msdn.com/b/virtual_pc_guy/ – Manager programu Hyper-V. Gość z niesamowitą wiedzą, dzielący się DZIAŁAJĄCYMI rozwiązaniami w ramach oficjalnego uczestnictwa w programie Microsoftu.

Jose Barreto’s Bloghttp://blogs.technet.com/b/josebda/default.aspx – kolejny uczestnik programu Microsoftu (FIle Server Team). Jego posty z kolei skupiają się na rozwiązaniach z zakresu Storage. Nie ma co jednak zapominać iż Storage to SILNY i KLUCZOWY parametr dobrego hypervisora.

Didier Van Hoye ‚Working Hard in IT’http://workinghardinit.wordpress.com/ tam gdzie zawiodą oficjalne sposoby Microsoftu, lub osoby powyżej mają związane ręce z powodów oficjalnych, tam wkracza Didier. Jego artykuły mogą uratować Ci życie (lub karierę) w przypadku kolejnego świetnego pomysłu marketingu czy kierownictwa Microsoftu. Dobrze Wam radzę – wrzucać jego notki do Evernota czy Pocketa bo w chwili kryzysu mamy rozwiązanie podane jak na tacy.

Michael Rueefli AKA Dr.MIRUhttp://www.miru.ch/ Michael skupia się na najbardziej niedocenionym obecnie pomyśle Microsoftu czyli HyperV Replica. Z tym rozwiązaniem jest świetnie jak działa – jak nie działa, to na 99% Michael JUŻ wie dlaczego i co zrobić.

Kristian Nesehttp://kristiannese.blogspot.com/ – Azure i HyperV

  • Obowiązkowe – sensowni ludzie w PL

Agregator Ziemborahttp://ziembor.pl/plitproblogs/ – Skupia wpisy profesjonalistów w PL piszących dla innych, celem pomocy. Nieopatrznie powiem, iż poniższy blog jest w nim obecny.

Chociaż w żaden sposób nie pretenduję do powyższej czołówki (charakter mojej pracy nie pozwoli mi specjalizować się tylko w kilku wybranych technologiach) chciałbym wierzyć (i wierzę, patrząc na statystyki i maile ze swojego bloga) iż komuś tak sprezentowane rozwiązanie przyda się w krytycznej chwili.

Serdeczne podziękowania dla Michała Panasiewicza (z którym sprzeczam się równie często, co namiętnie) jako inspiracji dla powyższego wpisu.

I jak wyżej – szanowni Microsoftowicze – MVP są naprawdę jedynym powodem, który przepycha mnie przez codzienne obcowanie z waszymi technologiami.

Written by marcinbojko

Wrzesień 7, 2014 at 19:19

Napisane w open source, work

Tagged with , , , ,

Compacting Virtual Disks in System Center Virtual Machine Manager 2012 R2 or Hyper-V 2012 R2

As we all know – disk space isn’t free. If you allocate disk space to your virtual machine, you always want to allocate proper, well-balanced size to shorten future downtimes. But what is proper and balanced you ask?  There is no short answer to this, but if you’re  IT person, you always will try to allocate more than is needed right at the moment.  The decision is : should I use static or dynamic disks?

For me, there is no really need to use static disks anymore as there is no real speed difference. So, the real pro using dynamic disk is their smaller size.

In production environment, using Microsoft’s hypervisor, we can expect our VM to grow over time. During the nature of virtual machines and virtual disks, the real data machine uses are not the same numbers as virtual disk sizes. It is happening due to hypervisor behaviour – deleting all data from OS in virtual machine is no more than throwing away and index card from your book. The written data are still there, so there is no easy, automated way to compact a virtual disk.

Hypervisor however, tries to allocate in a first place, blocks marked as used. So the real expanding is happening when you’re constantly changing your data, without deleting them first. The great example is with databases, log and temporary trash disks and just plain and simple oversizing. I’ve had a case when relativly small machine (20 GB CentOS with a 600 GB VD) just grew over few days filling whole 600 GB of data because of logs set to DEBUG.

So what will be the cons and of virtual disk growing overtime?

  • obviously, more space allocated at expensive storage for VMs
  • more obviously, when you’re using any kind of backup software, you’re forced to write and store in multiple copies the data you really doesn’t need
  • CBT (Change Block Tracking) Table is bigger to process, with every move
  • more network traffic with every backup job you have
  • live ‚shared nothing’ migration times grows just out of proportions. If you have a small machine with 20GB data on 600 GB sized disk, you will have to transfer this whole fatso over you network to other machine. Even with compression set at live migration, it is just really unwanted.

So what can we do? We can just zero the data you’re not using and Hyper-v cmdlets  will take the rest.

You have to plan downtime for the machine, but according to my tests, zeroing machines with 600 GB took 15 to 30 minutes. With smaller sizes it is just matter of single minutes.

Before you go:
– plan your downtime, compacting should not to be interrupted
– take extra caution. Zeroing important data or uneeded data it’s just a matter of mistake.
– delete all snapshots/checkpoints
– make sure you converted VHD to VHDX (optional)
– make sure your disk is set as dynamic disk
– make sure you have enough room for compacting or resizing. Remember – if you have 600 GB virtual disk, during this process it may grow to this size.
– remember that compacting deletes CBT table for backup software – next backup will be a Full Backup.

The most usable zeroing ways I found was:

Offline methods

Cons
– longer downtime
Pros
– more accurate (no more background write)
– faster (no more background write)
– smaller risk of processes failure due to ‚out of space’ event

  • zerofree for Linux ext2/ext3/ext4 disks
  • ntfswipe for Windows based disks
  • dd for both Linux and Windows based disks or exotic fs (btrfs/xfs)

Online methods
Cons
– less accurate (background write  is still happening)
– machines became slower or unresponsible
– slower process
– risk of applications failing due to ‚out of space’ events
Pros
– smaller downtime

– SDelete or CCleaner for Windows based disks
– dd for Linux based disks

 

Phase I – Zeroing Offline

Offline zeroing (done with System Rescue CD 4.x)

  • Delete all uneeded data (logs, temps, bigfiles, dowloads, caches)
  • Umount all ext2/3/4/ntfs volumes
  • for NTFS volume: ntfswipe -av /dev/volume_name
  • for ext2/3/4 volume: zerofree -v /dev/volume-name
  • for LVM: vgchange -a y;zerofree -v /dev/mapper/volume_name
Zeroing swap space:
# swapoff -a

# free
total used free shared buffers cached
Mem: 8056340 2643132 5413208 155072 606916 914796
-/+ buffers/cache: 1121420 6934920
Swap: 0 0 0

# blkid |grep swap
/dev/sdb2: UUID="adad0488-3b67-4444-b792-6a1a775b8821" TYPE="swap"
# dd if=/dev/zero|pv -treb|dd of=/dev/sdb2 bs=8192
dd: error writing ‘/dev/sdb2’: No space left on device
1,91GB 0:01:04 [30,3MB/s]
249981+4 records in
249980+4 records out
2047868928 bytes (2,0 GB) copied, 67,931 s, 30,1 MB/s

#mkswap /dev/sdb2 -U "adad0488-3b67-4444-b792-6a1a775b8821"
Setting up swapspace version 1, size = 1999868 KiB
no label, UUID=adad0488-3b67-4444-b792-6a1a775b8821
# swapon -a

# free
 total used free shared buffers cached
Mem: 8056340 3309648 4746692 159844 1112232 919708
-/+ buffers/cache: 1277708 6778632
Swap: 1999868 0 1999868

Phase I – Online zeroing

1. Delete all uneeded data (logs, temps, bigfiles, dowloads, caches)

for Windows machine
sdelete -z letter:

Linux machine
#dd if=/dev/zero|pv -treb|dd of=/file.zero bs=4096;sync;sync;rm -rfv /file.zero;sync

Phase II – Compacting

1. Shutdown the machine

For System Center VMM 2012 R1/R2

Workspace 1_107
For Hyper-V powershell

Optimize-VHD -Path path_to_vhdx_file.vhdx -Mode Full

 

Workspace 1_108
——-
System Rescue CD – http://www.sysresccd.org/Download
SDelete – http://technet.microsoft.com/en-us/sysinternals/bb897443.aspx
CCleaner Portable – https://www.piriform.com/ccleaner/builds
zerofree – http://manned.org/zerofree/00be91ab

Written by marcinbojko

Sierpień 3, 2014 at 13:10

Yatse – godny następca Official XBMC Remote.

Dla nas wszystkich, uzależnionych od XBMC wygodne zdalne nim sterowanie zawsze było kluczową korzyścią. Wygodny i stabilny klient Official XBMC Remote oferował tryb biblioteki, tryb pilota, sterowanie gestami, podstawowe notyfikacje i tym podobne rzeczy. Niestety, jednak wliczając w w to buildy developwerskie, jego ostatnie wersje pochodzą z końcówki 2012 (lub początku 2013 – w zależności od używanej wersjii), przez co nie do końca potrafią wykorzystać możliwości zarówno obecnego hw, jak i nowych funkcjonalności, które pojawiły się w XBMC 13.x Gotham.

Godnym (i równie darmowym) następcą okazał się być Yatse – dostępny w Sklepie Play:  https://play.google.com/store/apps/details?id=org.leetzone.android.yatsewidgetfree

Nowe i poprawione funkcje:

– prześliczne tematy i wygląd bilbioteki

– obsługa lockscreen (sterowanie, kontrola, tapeta)

– kontekstowa funkcja ‚send to xbmc’  dla materiałów multimedialnych w Twoim urządzeniu – obsługa Google Chromecast

– chmura dla Twoich hostów XBMC

 

Strona główna

2014-06-21 19.32.38

 

 

Tryb biblioteki

 

2014-06-21 19.32.42

 

Lockscreen

2014-06-21 19.32.22

I auto-tapetka na ekranie głównym (znika po zastopowaniu mediów, lub wybraniu innego) 🙂

2014-06-21 19.32.31

 

 

Written by marcinbojko

Czerwiec 22, 2014 at 14:25

Pogoplug – więcej korzyści dla Linksowców niż dla innych nacji.

Ostatnio, dzięki koledze z pracy, odkryłem całkiem ciekawy dysk w „chmurze” – PogoPlug.com, który za skromną, miesięczną 4 dolarową opłatą pozwala nam korzystać ze swoich zasobów w formie ‚unlimited’. Przy okazji – dziękuję Marcinie 😉

Dostarczany klient, dla systemów Windows i MacOS raczej funkcjonalnością nie powala, jednak ma sporo niedogodności:

– domyślnie wpycha do chmury foldery ‚Moje dokumenty’, ‚Moja Muzyka’, ‚Moje filmy’ itp, itd, czyli cały ten Windowsowy śmietnik (kto nie wierzy niech zajrzy do ‚Moich dokumentów’, najlepiej z włączonym podglądem plików systemowych i ukrytych. Nie można tej opcji wyłączyć (trzeba każdorazowo zatrzymywać ich kopiowanie).

– chmura działa jak czarna dziura – plik usunięty na dysku źródłowych, egzystuje w nieskończoność na dysku chmurowym. Rozwiązanie fajne dla zagapionych, ewangelistów Windowsa i przepłacanych blogerów Apple. Dla tych normalniejszych, synchronizacja jest rozwiązaniem właściwym.

– kontrola nad plikami nie powala – lepiej powiedzieć, nie ma jej wcale ;(

– nie da się skorzystać z robocopy, fastcopy czy jakiegokolwiek ręcznego copy ;(

Na szczęście, w systemie Linux, potraktowanemu po macoszemu przez twóców chmury, rozwiązaniem jest pogoplugfs, który montuje nam dysk chmurowy we wskazanym przez nas folderze. Oczywiście automatyzujemy proces (fuse lub udev), co więcej wykorzystując graficzne narzędzia jak grsync wyciągamy z chmury to co najlepsze 😉

Cały proces mamy precyzyjnie opisany tutaj: http://tuxtweaks.com/2013/06/mount-your-pogoplug-on-linux/, ja skupię się na samym rsync/grsync i małej potyczce z mechanizmem chmurowym.

PogoPlug oferuje bardzo sympatyczny (chociaż prościutki) interfejs do obsługi naszych plików multimedialnych. Pliki muzyczne czy wideo możemy sobie streamować na urządzenia mobilne (lubo dtwarzać poprzez interfejs webowy) tworząc naszego prywatnego Deezera.

A wygląda to tak:

Image

 

Co ciekawe, podczas transferu za pomocą grsynca, pliki przesyłały się poprawnie (właściwa suma md5), jednak z nieznanych mi powodów nie pojawiały się w interfejsie, w sekcji multimedialnej. Dotyczyło to zarówno plików audio jak i wideo. Pliki istniały we właściwych folderach, jednak zawsze typem pliku było ‚file’ zamiast ‚music’ czy ‚video’. Po krótkim śledztwie winowajcą okazał się standardowy sposób w jaki rsync/grsync przesyła dane. A robi to tak:

Załóżmy iż wysyłamy plik o nazwie: muzyka.mp3. Rsync wysyła go jako ‚muzyka.m3.RANDOMCHARS, po poprawnie zakończonym procesie transferu zmienia mu nazwę na ‚muzyka.mp3’.  Zachowanie to zmieniamy dodając parametr –inplace i już możemy cieszyć się zarówno poprawnie wykonaną kopią zapasową, jak też i strumieniowaniem naszych utworów muzycznych 😉

Written by marcinbojko

Marzec 2, 2014 at 18:30

%d blogerów lubi to: