Marvinator-а, брат на marvin, който съвсем скоро вдигнах имаше нужда от мониторинг. И тръгвам аз да инсталирам prometheus/alertsmanager/grafana и в един момент започнах да смятам колко рам ще ми е нужна. И понеже съм скръндза реших да изнеса целия мониторинг към Grafana.com и да им използвам безплатния tier, който като единствен минус към момента ми е, че metrics & log retention-а ми е само 14 дни, но yolo.
Инсталацията на агента, който е единственото нещо, което живее на моя хост е бърза и лесна, а откъм потребление към момента е около 140 MB RAM. Ако бях хостнал локално целия стак щеше със сигурност да бъде много повече.
A project of the day отива при tuning-primer – bash скрипт, който дава добър анализ на mysql/mariadb бази. Нужни са само root user/pass към базата и като резултат ви изплюва всичко, което му е харесало и което не е ок. Има доста данни покрай анализите и можете да си направите един добър fine tuning.
Време е за сетъп на k8s, rancher и nextcloud! Юхууу!
Tip №1 – за да не теглите ISO на любимата ви дистрибуция на вашата машина и после да upload-вате към proxmox (аз съм с някакъв абсурден сетъп с рутерче за сигурно 10 лв. и wifi е болезнен) можете да го wget-нете направо на сървъра по този начин:
В първия пост по темата си говорихме за това, че искам да използвам k8s, но за тези, които просто искат инсталиран nextcloud (или и k8s + docker) просто могат да го направят от инсталатора на Ubuntu Server:
А какво правим когато не можем да спрем/рестаритраме машината заради Proxmox can’t lock file ‘/var/lock/qemu-server/lock-xxx.conf’ – got timeout? Първо опитваме с built-in инструмента на Quemu/KVM VMM:
qm unlock 100
Ако не стане ще се наложи по грозния начин – да изтриете lock файла. Първо намираме кое е VM ID-то, което ни е нужно и после трием lock файла ръчно. Това сработи при мен:
nedko@minimicro:~# ls -l /run/lock/qemu-server/
-rw-r--r-- 1 root root 0 Jun 17 16:27 lock--1.conf
-rw-r--r-- 1 root root 0 Jun 17 17:42 lock-101.conf
rm -f /var/lock/qemu-server/lock-101.conf
Днес е голяма забава. Оказа се, че при инсталацията на Ubuntu 22.04 LTS при Proxmox & VMWare спира при curtin command in-target. Разрешението, както е описано е да се инсталираме Ubuntu без networking и в последствие да си го пуснем. И понеже трябва да си напишем yaml-а на ръка и е малко пипкаво оставям тук моето решение (което е стандартно такова, не съм открил топлата вода). Първо трябва да си знаем името на интерфейса, което ще вземем от /sys/class/net/ защото по default например нямаме netstat в ubuntu server така, че горното решение ще свърши работа при всяка Debian based машина:
nedko@k8s:~$ ls /sys/class/net/
ens18 lo
nedko@k8s:~$ sudo vim /etc/netplan/01-network-manager-all.yaml
Приемайки, че нашата мрежа е 192.168.1.1/24 с gateway 192.168.1.1 (и използваме DNS на Cloudflare, които предпочитам по ред причини) резултата изглежда такъв:
Понеже последно време покрай ОГРОМНИЯ избор на проекти, които мога да хостна и чуденките ми кой как да свържа с другия за да ми паснат на use case-а изпаднах в нещо наречено analysis paralysis, което в същността си е “задръстването” от информация, която поемаме за да направим нещо. Обикновено е съчетно и с желание за идеален сетъп от първия път, а това освен много напрежение ни добавя и нереалистични представи понякога. Та когато се усетих, че съм си набелязал 20-тина сървиса и гледам някакви advanced pi-hole techniques и се спрях. Първата ми цел ще бъде да тествам nextcloud – проект, който искам да тествам в production от доста време.
И понеже старото ми аз би направило нова виртуалка на която да вдигна nextcloud се спрях и си реших да приключа веднъж завинаги с това и да започна да уча по-интензивно kubernetes, защото ще ми бъде много полезно за в бъдеще. И така планът е:
kubernetes на който върви Nextcloud –> да използвам volumes за mySQL (или noSQL по възможност, ще бъда щастлив) и основните директории на nextcloud (/var/www/html{custom_apps,config, data, themes}). Този целия сетъп след някакво време като дойде време за network hardening-а ще отиде на отделен VLAN и ще му орежа доколкото мога достъпа отвън за да няма изненади в последствие.
Също така тряба да се науча да правя и къдърни графики, че това с –> ми е навик от малък и не носи никаква информация освен ако не е нещо линейно.
Днес почистих HP MicroServer gen8 машината – смених паста, почистих от прахта, малко cable management и почистих кутията. Температурите спаднаха със средно градус-два като се замислям да сложа някакъв по-тих и с по-голям дебит вентилатор, но HP-тата винаги са били ********* и си ползват свои собствени стандарти и смяната на всеки вентилатор е болезнено и рисково. Освен това възнамерявам да ъпгрейдна към Xeon E5-1225 v2, който е почти 70 вата (срещу 17вата на текущия процесор) и още един вентилатор би му дошъл меко казано добре.
Освен това ъпгрейднах и iLO4 от 2.78 към 2.80. С времето iLO ми стана неизменен помощник и е супер полезен за много неща, някои от които:
Мога да управлявам машината без да закачам периферия по нея, директно през iLO като най-якото е, че имам достъп до него и когато машината НЕ Е ПУСНАТА!
Мога да инсталирам OS директно през iLO без да има нужда да правя USB-та и CD-та, мега удобно е
За някои системи можете да си наблюдавате и консума
Хардуерен мониторинг на системата
Insight agent
SNMP съобщения при определени събития (например така разбрах, че единия ми диск е гръмнал докато нямаше още го тествах и нямах мониторинг на него)
2.80 можете да изтеглите от тук, а след като го изтеглите можете да използвате този snippet за да разархивирате:
TechnoTim даде една страхотна идея. Сто дни биха били достатъчни човек да изгради солиден навик. И понеже той е tech youtuber на който доста се кефя се зачудих като видях заглавието на клипа. Оказа се обаче, че не е само той, а буквално ВСИЧКИ технически youtubers,които говорят зa homelabs, инфраструктура, proxmox и хардуер. Ако сте фенове ви го препоръчвам.
Та по негов пример смятам да ъпдейтвам тук в блога какво съм правил и правя по моя homelab. Ще зацапам блога с много и кратки постове, но е по-добре отколкото един огромен пост тип changelog. Мислих си и за едно git repo (или gist), но така exposure-a ще е много по-малък и няма да усещам peer pressure-а :D Понеже няма как да правя всеки ден неща в продължение на толкова време си слагам таргет от 3 пъти седмично като това може да включва целия спектър – от стратегия през provisioning, хардуер и до networking. Надявам се да ви в полезно и да надъхам някой да направи същото или поне да се зачете за контейнери/хардуер/networking и т.н.
А защо го правя ще се запитате? Ще попитате нямам ли дете, бременна жена, семейство, хоби и т.н.? И ще ви отговоря. Освен, че ми е супер интересно тези предизвикателства са и супер полезни в професионален план. Пример – всеки е разцъквал docker, но до къде? Да вдигне един hello world или както направих аз да взема един прост ruby script и да го изпълня? Хубаво ама в реални условия може да речем да вдигнете един домашен plex за да си имате библиотека с филмите и сериалите, но искате достъпа до persistent volume-а да става от друга машина? Или да се стартира автоматично при пускането на машината? Или да се вдига наново ако нещо се строши? Това са елементарни примери, но са извън обикновеното – “Я да разгледам тоя docker” и всичко да приключи след 2 примера от нета. А кога сте правили конфигурирали VLAN за да сегментирате трафика между устройства? Това са все неща, които всеки е чувал как работят, някои са цъкали малко, но рядко някой е поддържал такива системи и лично е отговарял за тях поради една или друга причина. И точно тук идва моето нещо – цяла екосистема, която да е съвсем истински production за който аз да съм отговорен и да съм направил цялата архитектура и всичко около него. Това за мен би било супер близко до това, което правя на работа.