Provozovatel čínské sociální sítě TikTok dostal v Evropské unii pokutu 530 milionů eur (13,2 miliardy Kč) za nedostatky při ochraně osobních údajů. Ve svém oznámení to dnes uvedla irská Komise pro ochranu údajů (DPC), která jedná jménem EU. Zároveň TikToku nařídila, že pokud správu dat neuvede do šesti měsíců do souladu s požadavky, musí přestat posílat data o unijních uživatelích do Číny. TikTok uvedl, že se proti rozhodnutí odvolá.
Společnost JetBrains uvolnila Mellum, tj. svůj velký jazykový model (LLM) pro vývojáře, jako open source. Mellum podporuje programovací jazyky Java, Kotlin, Python, Go, PHP, C, C++, C#, JavaScript, TypeScript, CSS, HTML, Rust a Ruby.
Vývojáři Kali Linuxu upozorňují na nový klíč pro podepisování balíčků. K původnímu klíči ztratili přístup.
V březnu loňského roku přestal být Redis svobodný. Společnost Redis Labs jej přelicencovala z licence BSD na nesvobodné licence Redis Source Available License (RSALv2) a Server Side Public License (SSPLv1). Hned o pár dní později vznikly svobodné forky Redisu s názvy Valkey a Redict. Dnes bylo oznámeno, že Redis je opět svobodný. S nejnovější verzí 8 je k dispozici také pod licencí AGPLv3.
Oficiální ceny Raspberry Pi Compute Modulů 4 klesly o 5 dolarů (4 GB varianty), respektive o 10 dolarů (8 GB varianty).
Byla vydána beta verze openSUSE Leap 16. Ve výchozím nastavení s novým instalátorem Agama.
Devadesátková hra Brány Skeldalu prošla portací a je dostupná na platformě Steam. Vyšel i parádní blog autora o portaci na moderní systémy a platformy včetně Linuxu.
Lidi dělají divné věci. Například spouští Linux v Excelu. Využít je emulátor RISC-V mini-rv32ima sestavený jako knihovna DLL, která je volaná z makra VBA (Visual Basic for Applications).
Revolut nabídne neomezený mobilní tarif za 12,50 eur (312 Kč). Aktuálně startuje ve Velké Británii a Německu.
Společnost Amazon miliardáře Jeffa Bezose vypustila na oběžnou dráhu první várku družic svého projektu Kuiper, který má z vesmíru poskytovat vysokorychlostní internetové připojení po celém světě a snažit se konkurovat nyní dominantnímu Starlinku nejbohatšího muže planety Elona Muska.
Jedno z řešení je, v době úprav, za server spustit nějakou náhradu, přemostit služby a až bude vše vyřešeno, přemostit je zpět. Z různých důvodů (například finančních) to ale není vždy možné a potom i tak je dobré, aby daná změna probíhala co nejkratší dobu. Není nic horšího, než se potit celou noc, pak dát reboot a zjistit, že server nenaběhl .
Nedávno jsem potřeboval svůj server zaktualizovat a provést ještě pár dalších úprav a protože nejsem v žádném případě profesionální admin, chtěl jsem si vše vyzkoušet nanečisto a změny provést, až si budu jistý, že vše bude fungovat jako předtím (a vyhnout se černému scénáři v předchozím odstavci).
Proto jsem se v dnešní době plné virtualizace pokusil zduplikovat a zvirtualizovat svůj server u sebe na notebooku, provést patřičné úpravy, vše otestovat a pak vše v noci znovu provést (s patřičnými obětními rituály) na ostrém serveru. Povedlo se mi to a o tom bude tento článek. Pro úplnost dodávám, že předpokládám, že vám na vaší VPS běží Linux. Na lokálním počítači, který pro jednoduchost budu dále v článku nazývat notebook, kde budeme VPSku virtualizovat, Linux předpokládám rovněž, ale v článku uvedu i tipy, jak virtualizaci provést na Windows. Předem se chci omluvit všem skutečným adminům, nejsem odborník ani v oblasti virtualizace, ani správy serverů a pokud se dopustím nějakých nepřesností, prosím o dovysvětlení v diskuzi. Rovněž tento článek není univerzálním návodem, ale spíše inspirací, jak na to.
Prvním krokem je pochopitelně vytvoření image disku serveru. Protože jsem líný a nechtěl jsem řešit přeinstalaci Grubu a podobně, zavrhl jsem rsync
, tar
, apod. a rozhodl se pro klasický image přes dd
. Například takto:
ssh root@server "dd if=/dev/vda | xz" | unxz | dd of=/home/uzivatel/server.img
Příkaz xz
(a unxz
) je v pajpě jen kvůli kompresi, může se vynechat.
Pokud nechcete povolovat ssh
na roota na serveru a nemáte veřejnou ip na notebooku, můžete využít reverzní tunel.
Tento příkaz (spouští se na notebooku) vytvoří tunel:
ssh -N -R 5000:localhost:22 uzivatel@server
Nyní se ze serveru na notebook můžeme připojit přes port 5000 a zkopírovat image.
dd if=/dev/vda | xz | ssh uzivatel@notebook -p 5000 "unxz | dd of=/home/uzivatel/server.img"
Při vytváření image by měly být klíčové služby ideálně zastaveny, ať se na disku nemění během kopírování data. Jelikož ale kopírování může trvat několik hodin, služby jsem samozřejmě nezastavoval a vše mi naštěstí fungovalo . Je dobré si na to ale dát pozor a zvirtualizovaný klon našeho serveru dobře otestovat.
Jinak jistě je tu spousta uživatelů Linuxu na serveru, kteří ale na svém lokálním stroji mají Windows. Image si ovšem mohou stáhnout taky, například přes Cygwin.
Jak jsem v úvodu článku uvedl, ve virtualizaci se příliš nevyznám. Jsem akorát uživatelem VirtualBoxu a to proto, že se v něm dá virtuálka intuitivně naklikat. V tomto případě jsem ale VirtualBox zavrhl, jelikož image serveru je ve formátu .img a VirtualBox potřebuje .vdi. Mezi formátem .img a .vdi lze ovšem konvertovat a mám od kolegy potvrzeno, že je následná virtualizace pomocí VirtualBoxu funkční. Takže je to jedna z alternativ, opět hlavně pro uživatele Windows.
Kdo je ve virtualizaci stejně zběhlý jako já, se ale nemusí obávat, našel jsem adekvátní náhradu. Ta se jmenuje virt-manager a je to mimo jiné klikátko ke KVM. Trošku záludné může být, že ve spoustě BIOSech bývá defaultně virtualizace zakázána, proto si ověřte, zda ji máte povolenou a zda ji Váš hardware podporuje.
Virt-manager si do Vaši distribubce nainstalujte ideálně přes balíčkovací systém, který vyřeší i všechny závislosti a můžeme vytvořit náš virtuální server.
Na to má virt-manager intuitivního průvodce, na první obrazovce chceme importovat existující obraz disku, na druhé vybereme naše .img, na třetí zvolíme takovou RAM a CPU, aby to pokud možno odpovídalo našemu serveru a na poslední obrazovce vybereme jako síť NAT.
Pokud NAT nepůjde vybrat, zkuste restartovat počítač nebo se podívat do Změnit -> Detaily spojení -> Virtuální sítě. Po tom, co vytvoříte virtuální počítač, se Vás asi ještě virt-manager zeptá, jestli má síť aktivovat, dejte ano. Po restartu notebooku bude ale síť (pravděpodobně) zase deaktivována, ovšem jde zapnout ve zmíněných „Virtuálních sítích“. Je dobré si ještě ověřit, zda síť skutečně existuje, ifconfig
nebo ip link
by měl ukázat zařízení virbr0
.
Pokud je vše připravené, můžeme počítač spustit. S trochou štěstí se normálně nastartuje.
Pochopitelně bylo u klonu mé VPSky nutné, aby byla připojená do internetu a ideálně, abych se k ní mohl připojit i z hostitelského stroje (notebook) a testovat, zda se vše chová tak jak má. Ve výchozí konfiguraci stačí nastavit síťovce přidělování adresy z dhcp, třeba takto:
/etc/network/interfaces:
allow-hotplug eth0 auto eth0 iface eth0 inet dhcp
Když se podíváme, jakou má síťovka přidělenou adresu (ifconfig
nebo ip addr show
), můžeme ji bez problému pingovat z notebooku.
Nyní si můžete dělat se serverem co chcete a nic se nerozbije (pokud si nespletete terminál) .
Pokud se snažíte odsimulovat například upgrade serveru, každou změnu si zapisujte. Až to budete dělat naostro, odkrokovaný seznam položek, které máte vykonat, Vás uklidní, že vše probíhá stejně, jako při simulaci (a nebo naopak varuje, pokud to tak nebude).
Také je mnohem pohodlnější se na virtuální stroj připojovat přes ssh
. Konzole virt-manageru se totiž občas divně překresluje a taky může mít tty jiné rozložení klávesnice, než jste zvyklí.
Pro simulaci webového serveru si můžete dát ip adresu klonu do /etc/hosts
, například:
192.168.122.83 mojewebovastranka.domena
Doporučuji ale po každé změně /etc/hosts
restartovat webový prohlížeč, minimálně Firefox si totiž /etc/hosts
kešoval.
Jak jsem podotkl v úvodu, článek je jen inspirací. V každém případě staré pořekadlo „dvakrát měř, jednou řež“ platí a virtualizace je jedním ze způsobů, jak si ušetřit spoustu nervů.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
Při vytváření image by měly být klíčové služby ideálně zastaveny, ať se na disku nemění během kopírování data.Pro tohle je vhodné používat souborový systém, který umí snapshoty.
dd
se pak pustí na provedený snapshot.
flush tables with read lock
, ale ihned po vytvoření se to zas může ukončit.
flush tables with read lock
a vytvoříš LVM snapshot, tak tě nezajímá (tj. nezáleží na tom) zda to je opravdu zapsaný na disku (což teda mimochodem ani sync nezaručuje).
dd if=/dev/zero of=/zero; rm -f /zero
. Nuly sa komprimuju lepsie nez historicky bordel.
OpenVZ mám podezření, že musí být použit kernel stejné verze?Jako že bys na fyzickém nesměl upgradovat jádro? Proč?
A jak se ta závislost řeší u VPS?Zaprvé je důležité se smířit s faktem, že kontejnery nejsou to stejné co virtualizovaný hardware. Řešení jsou různá. Například lze nepoužívat služby závislé na nových verzích kernelu. Nebo lze mít pro jednu verzi distribuce jeden fyzický stroj a virtuály neupgradovat nebo po upgradu migrovat na fyzický stroj s vyšší verzí jádra. Obecně provoz kontejnerů vyžaduje více znalostí a práce, snajpa z vpsfree by mohl povídat. A vůbec, kde je, když ho potřebujem?
/etc/vz # cat osrelease.conf # List of kernel versions (osreleases) required by different # distributions (OS templates). vzctl tells kernel to report # the given version to containers based on a specified distro. # # Format: < template> < minimum kernel version required> fedora-11 2.6.18 fedora-12 2.6.18 fedora-13 2.6.18 fedora-14 2.6.32 fedora-15 2.6.32 debian-6.0 2.6.32 ubuntu-12.04 2.6.32Potom OpenVZ udrzuje distribution-specific skripty, ktere napr. nastavuji hostname, IP adresy, DNS resolvery, to vypada zhruba takhle:
/etc/vz # ls dists/ alpine.conf default owl.conf scripts suse-8.2.conf altlinux-2.4.conf distribution.conf-template redhat-7.0.conf slackware-9.0.conf suse.conf altlinux.conf fedora.conf redhat-7.1.conf slackware-9.1.conf ubuntu-6.06.conf arch.conf fedora-core.conf redhat-7.2.conf slackware.conf ubuntu.conf centos.conf funtoo.conf redhat-7.3.conf sles.conf debian-3.0.conf gentoo.conf redhat.conf suse-7.3.conf debian-3.1.conf mandrake.conf rhel.conf suse-8.0.conf debian.conf opensuse.conf scientific.conf suse-8.1.conf /etc/vz # ls dists/scripts/ arch-add_ip.sh functions redhat-7.x_add_ip.sh slackware-del_ip.sh arch-del_ip.sh funtoo-add_ip.sh redhat-add_ip.sh slackware-set_hostname.sh arch-set_hostname.sh funtoo-del_ip.sh redhat-del_ip.sh slackware-set_ugid_quota.sh arch-set_ugid_quota.sh funtoo-set_dns.sh redhat-set_hostname.sh suse-7.x_add_ip.sh debian-3.x-add_ip.sh gentoo-add_ip.sh set_dns.sh suse-8.x_add_ip.sh debian-add_ip.sh gentoo-del_ip.sh set_ugid_quota.sh suse-8.x_del_ip.sh debian-del_ip.sh gentoo-set_hostname.sh set_userpass.sh suse-add_ip.sh debian-set_hostname.sh gentoo-set_ugid_quota.sh slackware-9.x_add_ip.sh suse-del_ip.sh etcnet-add_ip.sh postcreate.sh slackware-9.x_del_ip.sh suse-set_hostname.sh etcnet-del_ip.sh prestart.sh slackware-add_ip.sh /etc/vz # cat dists/ubuntu.conf # Copyright (C) 2000-2008, Parallels, Inc. All rights reserved. # # < stripnuty GPL header tady> ADD_IP=debian-add_ip.sh DEL_IP=debian-del_ip.sh SET_HOSTNAME=debian-set_hostname.sh SET_DNS=set_dns.sh SET_USERPASS=set_userpass.sh SET_UGID_QUOTA=set_ugid_quota.sh POST_CREATE=postcreate.sh PRE_START=prestart.sh
Jinak stava se, ze obcas nefunguje nejake nove distro - Fedora je krasny priklad, kde casto veci visi na novinkach v kernelu. Vetsinou to lidi z OpenVZ dodelaji do par tydnu, max mesicu, takze to neni az takovy problem. Na podporu Ubuntu 12.04 jsme tusim cekali 2 mesice, tam nas to trochu stvalo, protoze ho lidi proste chteli hned
Co se tyce Debianu, fungovaly mi vzdycky krasne vsechny verze od Sarge (tzn. odkdy s Debianem delam), dist-upgrade sebehnul vzdycku bez problemu - teda az na jednu situaci s NFS mounty, ktere mame do kontajneru mountovane zeshora (zalohy a NAS), takze bylo potreba ve vpsAdminu ty mounty poodpojovat.
ssh root@server "dd if=/dev/vda | xz" | unxz | dd of=/home/uzivatel/server.imgudělá to, že se ssh přihlásí na server pod uživatelem root a spustí na něm příkaz dd, který začné číst disk /dev/vda na serveru, ještě se to prožene kompresí (ta není podstatná - lze vynechat), ovšem samozřejmě se to nezapisuje zpatky na server (to by se to tam skutečně nevlezlo), ale posílá se to přes ssh po síti k tobě na notebook, dekomprimuje se to a teprve na notebooku zapíše do server.img. Ale skutečně doporučuju se prvně pořádně naučit základy bashe a Linuxu a až pak zkoušet něco pokročilejšího. Obzvlášť s příkazy jako dd, co umí něco přemazat raz dva.