Jakub Jelínek oznámil vydání verze 15.1 (15.1.0) kolekce kompilátorů pro různé programovací jazyky GCC (GNU Compiler Collection). Jedná se o první stabilní verzi řady 15. Přehled změn, nových vlastností a oprav a aktualizovaná dokumentace na stránkách projektu. Některé zdrojové kódy, které bylo možné přeložit s předchozími verzemi GCC, bude nutné upravit.
Byly vyhlášeny výsledky letošní volby vedoucího projektu Debian (DPL, Wikipedie). Staronovým vedoucím zůstává Andreas Tille.
Jason Citron končí jako CEO Discordu. Od pondělí 28. dubna nastupuje nový CEO Humam Sakhnini, bývalý CSO Activision Blizzard.
Článek na Libre Arts představuje baskytarový multiefekt Anagram od společnosti Darkglass Electronics. S Linuxem uvnitř (licence, GitHub).
Městský soud v Praze vyhlásil rozsudek, který vyhověl žalobě novináře Jana Cibulky, který s podporou spolku IuRe (Iuridicum Remedium) požadoval omluvu od státu za to, že česká legislativa nařizuje operátorům uchovávat metadata o elektronické komunikaci. To je přitom v rozporu s právem. Stát se musí novináři omluvit a zaplatit náklady řízení. Především je ale součástí přelomové rozhodnutí o nelegálnosti shromažďování dat a o
… více »Americké technologické firmy Apple a Meta Platforms porušily pravidla na ochranu unijního trhu, uvedla včera Evropská komise (EK). Firmám proto vyměřila pokutu – Applu 500 milionů eur (12,5 miliardy Kč) a Metě 200 milionů eur (pět miliard Kč). Komise to oznámila v tiskové zprávě. Jde o první pokuty, které souvisejí s unijním nařízením o digitálních trzích (DMA). „Evropská komise zjistila, že Apple porušil povinnost vyplývající z nařízení
… více »Americká společnost OpenAI, která stojí za chatovacím robotem ChatGPT, by měla zájem o webový prohlížeč Chrome, pokud by jeho současný majitel, společnost Google, byl donucen ho prodat. Při slyšení u antimonopolního soudu ve Washingtonu to řekl šéf produktové divize ChatGPT Nick Turley.
Po roce vývoje od vydání verze 1.26.0 byla vydána nová stabilní verze 1.28.0 webového serveru a reverzní proxy nginx (Wikipedie). Nová verze přináší řadu novinek. Podrobný přehled v souboru CHANGES-1.28.
Byla vydána nová verze 10.0.0 otevřeného emulátoru procesorů a virtualizačního nástroje QEMU (Wikipedie). Přispělo 211 vývojářů. Provedeno bylo více než 2 800 commitů. Přehled úprav a nových vlastností v seznamu změn.
42 svobodných a otevřených projektů získalo finanční podporu od NLnet Foundation (Wikipedie).
No, jak se to vezme. Nemám s ním (iSCSI) žádné zkušenosti a narazil jsem na problém, který by byl snadno řešitelný, kdybych měl k dispozici paralelní připojení nezávislé na hlavním switchi. Tak jak jsem to míval kdysi - jeden hloupý 1GB switch.
Centralizace sítě má své výhody, ale i značné nevýhody. Viz schéma dole. A případný síťový problém, který vyřadí na určitý čas přístup k iSCSI způsobí, že se souborový systém přemountuje do stavu read-only, kdežto u NFS se jen pozastaví.
Mám v hlavě několik možných řešení. Jednou z variant by mohlo být nasazení XFS, které by dočasnou nedostupnost sítě mohlo ustát, protože hodně využívá RAM a té mám poměrně dost. Jenom si nejsem jist jestli by se to po obnově síťové komunikace srovnalo, nebo ne.
Nejlepší řešení by byl sheepdog který byl na tohle ideální, jenže ten se už bohužel nevyvíjí.
Jaké máte zkušenosti?Mam zkusenosti s nasazenim na stredne velke pole. Pomohlo? Asi ne. Zaloz novy dotaz a napis co konkretne resis za problem. Pak se muzeme bavit.
To máš z toho, že nečteš titulek dotazu.
Problém, který řeším je dán podstatou iSCSI. Možná je i řešitelný nějakými parametry - to je to s čím nemám zkušenosti. U NFS, když nedostane klient data, pozastaví činnost, dokud server neodpoví. Čekal bych podobné chování. Jenomže iSCSI není FS. A souborový systém reaguje na problém tím, že se remountne do RO protože nemůže zapisovat, ale po obnově konektivity už se do původního stavu nevrátí. A je otázkou co vůbec s těmi daty dělá.
Před 13 lety, jsem u jednoho stroje přišel o data, protože měl do raidu přidaný špatný disk. Přidal ho tam kolega, který se překlepnul. Ale přišel jsem na to až o měsíc později, když po restartu stroj nenaběhnul. Od té doby jedu všechno diskless.
Kdyby ten docker akceptoval kontejnery sdílené přes NFS, tak jako singularity, bylo by to v pohodě. Jenže on si potřebuje splácat vlastní stack a to nad NFS nešlo. Proto jsem nadhodil otázku: "iSCSI & FS: Jaké máte zkušenosti?"
Já použil Btrfs, ale třeba jsou pro tenhle use case jiné FS vhodnější.
Jenomže iSCSI není FS.Tim bych mozna zacal. iSCSI je protokol pro storage area network, SAN. Mam pole a misto toho abych ho bouchnul do serveru ho spristupnim po siti tak, aby vypadalo jako primo pripojene. Je te dedikovana infrastruktura bezici mimo "starndartni sit". Je to urcite to co potrebujes? Problem lidsky faktor, jako nekdo zapojil spatne kabel, nekdo pridal spatny disk ti iSCSI pomuze tak, ze pri multiplath to jeden vytzeny kabel nezabije a na SAN swich se vetsinou stejne nesaha. Pole ktera se iSCSI pripojuji, jsou liny level nez "kolega podelal raid" a vymenuji za jizdy bez problemu(nevim jak je to s polema co maj supliky zezhora..).
Dík za odpověď. Jak už jsem tu několikrát zmínil, topologie není v mé kompetenci a řekl bych, že to jak vypadá je výsledkem mnoha kompromisů, protože narážíme na limity všude možně.
Jinak nechci nemožné, ale uznáš sám, že nelze situaci řešit tím, že začneš dělat maintainera opuštěného software, kvůli projektu co má běžet dva roky. Na druhou stranu ale nemůžeš dopustit, aby kvůli lidské chybě ten projekt přišel o nasbíraná data, na kterých staví.
Primární chyba je v tom, že ta aplikace, co to sbírá, se distribuuje zabalená v docker stacku.
/etc/iscsi/iscsid.conf
je sekce:
### timeouts ## control how much time iscsi takes to propagate an error to the ## upper layer. if using multipath, having 0 here is desirable ## so multipath can handle path errors as quickly as possible ## (and decide to queue or not if missing all paths)Tohle jsi zkoušel poladit? S dostatečně dlouhým timeoutem by se to mělo chovat, jak chceš tzn. zápisy/čtení jen vytuhnou a měly by se rozeběhnout, až se komunikace obnoví. Zdvojené síťové cesty mezi klientem a serverem taky dávají smysl, pokud to má fungovat spolehlivě. A u toho Dockeru ti jde o to, aby vše běželo nad NFS nebo na NFS má být jen persistentní oddíl, který se připojí do kontejneru? Minimálně to druhé by jít mělo.
Tohle jsi zkoušel poladit?
Nedošlo na to, ale něco takového bude nejspíš potřeba, takže díky.
Zdvojené síťové cesty mezi klientem a serverem taky dávají smysl, pokud to má fungovat spolehlivě.
To vím taky. Ale brekot Pavla Píši napoví, že strategii má v rukou někdo jiný. Ale možná, že jim zanedlouho dojde, že se vyplatí paralelizovat síť i služby, tak aby se nehonilo všechno jedním vláknem. Ovšem pro realizaci je nutné mít vše podchyceno a zrovna to není v rámci ČVUT, kde byli uživatelé zvyklí na vlastní pašalíky, jednoduché.
A u toho Dockeru ti jde o to, aby vše běželo nad NFS nebo na NFS má být jen persistentní oddíl, který se připojí do kontejneru? Minimálně to druhé by jít mělo.
Samozřejmě že to jde. Proto jsem taky nadhodil ten dotaz, abych mohl vybrat optimální konfiguraci. A teď už mohu být i konkrétní. Jde o stroj turtle. V době, kdy jsem položil tenhle dotaz, jsem teprve zjišťoval co a jak.
Je to stejný diskless jako v laborkách. Teda. Úplně stejný ne. Protože s rozsekanou distribuční vrstvou laborky pojedou až skončím s tímhle. U nás totiž platí, že se v průběhu semestru do produkčního systému nehrabe. Ale třeba někoho bude zajímat, čím se to liší od běžného disklesu. Vysvětlení k výpisu uvádím níže.
~# cat /run/sandwich 1 192.168.x.y:/srv/100/kernel/6.5.0 2 192.168.x.y:/srv/1090/xpra/docker 3 192.168.x.y:/srv/100/kernel/cli 4 192.168.x.y:/srv/1090/xpra/iscsi 5 192.168.x.y:/srv/206/config 6 192.168.x.y:/srv/1007/intel-gpu 7 192.168.x.y:/srv/1004/ldap 8 192.168.x.y:/srv/1002/turtle ~# cat /proc/partitions major minor #blocks name 11 0 2 sr0 8 0 31457280 sda 8 16 31457280 sdb ~# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 2749854db898 nats:2.1.9-alpine3.12 "docker-entrypoint.s…" 17 hours ago Up 17 hours (healthy) 4222/tcp, 6222/tcp, 8222/tcp mindlamp_message_queue.1.tqur143q6pd4rka66o96cfhn4 f4e164881361 ghcr.io/bidmcdigitalpsychiatry/lamp-server:2023 "docker-entrypoint.s…" 17 hours ago Up 17 hours (healthy) 3000/tcp mindlamp_server.1.jx98w0ayhnk6bt7lz6eep9so5 cbd746b59ecb traefik:2.9 "/entrypoint.sh --lo…" 17 hours ago Up 17 hours 80/tcp router_traefik.1.u7f7kn25p8y5xatki69s1fqa6 187c68af3a04 redis:6.0.8-alpine "docker-entrypoint.s…" 17 hours ago Up 17 hours (healthy) 6379/tcp mindlamp_cache.1.5d87y4f7gz11uugeiaoyvcf95 98be0c649a6c mongo:6.0.4 "docker-entrypoint.s…" 17 hours ago Up 17 hours 27017/tcp mindlamp_database.1.eev3qg1tdxlheeoehzsiwr5vn ~# cat /proc/mounts sysfs /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0 proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0 udev /dev devtmpfs rw,nosuid,relatime,size=4031876k,nr_inodes=1007969,mode=755,inode64 0 0 devpts /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 0 0 tmpfs /run tmpfs rw,nosuid,nodev,noexec,relatime,size=812536k,mode=755,inode64 0 0 none /overlay tmpfs rw,relatime,size=6282560k,inode64 0 0 overlay / overlay rw,relatime,lowerdir=/tmp/opt8:/tmp/opt7:/tmp/opt6:/tmp/opt5:/tmp/opt4:/tmp/opt3:/tmp/opt2:/tmp/opt1,upperdir=/tmp/unirw/over,workdir=/tmp/unirw/work 0 0 securityfs /sys/kernel/security securityfs rw,nosuid,nodev,noexec,relatime 0 0 tmpfs /dev/shm tmpfs rw,nosuid,nodev,inode64 0 0 tmpfs /run/lock tmpfs rw,nosuid,nodev,noexec,relatime,size=5120k,inode64 0 0 cgroup2 /sys/fs/cgroup cgroup2 rw,nosuid,nodev,noexec,relatime,nsdelegate,memory_recursiveprot 0 0 pstore /sys/fs/pstore pstore rw,nosuid,nodev,noexec,relatime 0 0 efivarfs /sys/firmware/efi/efivars efivarfs rw,nosuid,nodev,noexec,relatime 0 0 bpf /sys/fs/bpf bpf rw,nosuid,nodev,noexec,relatime,mode=700 0 0 systemd-1 /proc/sys/fs/binfmt_misc autofs rw,relatime,fd=30,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=649 0 0 tracefs /sys/kernel/tracing tracefs rw,nosuid,nodev,noexec,relatime 0 0 mqueue /dev/mqueue mqueue rw,nosuid,nodev,noexec,relatime 0 0 hugetlbfs /dev/hugepages hugetlbfs rw,relatime,pagesize=2M 0 0 debugfs /sys/kernel/debug debugfs rw,nosuid,nodev,noexec,relatime 0 0 fusectl /sys/fs/fuse/connections fusectl rw,nosuid,nodev,noexec,relatime 0 0 ramfs /run/credentials/systemd-firstboot.service ramfs ro,nosuid,nodev,noexec,relatime,mode=700 0 0 configfs /sys/kernel/config configfs rw,nosuid,nodev,noexec,relatime 0 0 ramfs /run/credentials/systemd-sysctl.service ramfs ro,nosuid,nodev,noexec,relatime,mode=700 0 0 ramfs /run/credentials/systemd-sysusers.service ramfs ro,nosuid,nodev,noexec,relatime,mode=700 0 0 ramfs /run/credentials/systemd-tmpfiles-setup-dev.service ramfs ro,nosuid,nodev,noexec,relatime,mode=700 0 0 tmpfs /tmp tmpfs rw,nosuid,nodev,noexec,noatime,inode64 0 0 ramfs /run/credentials/systemd-tmpfiles-setup.service ramfs ro,nosuid,nodev,noexec,relatime,mode=700 0 0 sunrpc /run/rpc_pipefs rpc_pipefs rw,relatime 0 0 binfmt_misc /proc/sys/fs/binfmt_misc binfmt_misc rw,nosuid,nodev,noexec,relatime 0 0 /dev/sda /var/lib/containerd btrfs rw,relatime,space_cache=v2,subvolid=258,subvol=/containerd 0 0 /dev/sda /var/lib/docker btrfs rw,relatime,space_cache=v2,subvolid=257,subvol=/docker 0 0 nsfs /run/docker/netns/ingress_sbox nsfs rw 0 0 nsfs /run/docker/netns/1-g9y94g2r4s nsfs rw 0 0 nsfs /run/docker/netns/lb_qrgrb5414 nsfs rw 0 0 nsfs /run/docker/netns/1-qrgrb5414r nsfs rw 0 0 nsfs /run/docker/netns/lb_od6i79t70 nsfs rw 0 0 nsfs /run/docker/netns/1-od6i79t70v nsfs rw 0 0 overlay /var/lib/docker/overlay2/6463897e24fd2a100ec285058fa24fd471e8af54d137e92acb827d49feaef8cd/merged overlay rw,relatime,lowerdir=/var/lib/docker/overlay2/l/ZFPJCLQE2MW7AFISHXJ4H6MDXA:/var/lib/docker/overlay2/l/Q5DP2XS5JJFSBWPWDRSTP2RBHZ:/var/lib/docker/overlay2/l/BLQ5UQB2HLOWKDSYLUO5TKBUOV:/var/lib/docker/overlay2/l/3WM7VTKIGLYKVOH2EQYJXUY3H3:/var/lib/docker/overlay2/l/OHRCZQ4CDZ7O2QZR4HOGYBSQX5:/var/lib/docker/overlay2/l/BMKHPXXROUBSBN43HIFK6EIOLH:/var/lib/docker/overlay2/l/IZ2TFPE5ZDCJLUNP5WUS4WTT5F,upperdir=/var/lib/docker/overlay2/6463897e24fd2a100ec285058fa24fd471e8af54d137e92acb827d49feaef8cd/diff,workdir=/var/lib/docker/overlay2/6463897e24fd2a100ec285058fa24fd471e8af54d137e92acb827d49feaef8cd/work 0 0 overlay /var/lib/docker/overlay2/d128d1b8e02f0b07c248c5a86fdb3f6520f1355519949463dc776a8e42cb35c6/merged overlay rw,relatime,lowerdir=/var/lib/docker/overlay2/l/WK3JSTRUL4B3T5TYJ6JIIJAE3N:/var/lib/docker/overlay2/l/6S54HZYSYO5O3VGVYAW6VXKDX3:/var/lib/docker/overlay2/l/T3MIXUPHBT4AD4VIELJL5MFFPN:/var/lib/docker/overlay2/l/LSH4X3QU4J7ESNPFUCIBYRAYCE:/var/lib/docker/overlay2/l/IKCDSMTE4NX432ZR4AJMU3S2V5:/var/lib/docker/overlay2/l/ZH3VF35Y7AAZUIGEDUD5QKOA3C:/var/lib/docker/overlay2/l/UPUNZ2V76WALHR4CMYT3WBYB5F:/var/lib/docker/overlay2/l/CU7ZNRUJNKHHDHQB2P6BQLD5WA:/var/lib/docker/overlay2/l/X6KSHBJ2ZM4H7K35EDQJLHFU27:/var/lib/docker/overlay2/l/4H4I2TI2OK5BHB6W37MMG4NCAT,upperdir=/var/lib/docker/overlay2/d128d1b8e02f0b07c248c5a86fdb3f6520f1355519949463dc776a8e42cb35c6/diff,workdir=/var/lib/docker/overlay2/d128d1b8e02f0b07c248c5a86fdb3f6520f1355519949463dc776a8e42cb35c6/work 0 0 overlay /var/lib/docker/overlay2/90166d6aaca5092c43c964f4cf0a77d91e041a4445cf089b1ef3fab683fc06d4/merged overlay rw,relatime,lowerdir=/var/lib/docker/overlay2/l/BJU5Y6LVN4Y2HFYNX6HSBIHB4K:/var/lib/docker/overlay2/l/SPDRM5I5IYGLRK6XTKWM3HALTN:/var/lib/docker/overlay2/l/5PX7VHBH3WOKBHHLZ3TLMN7V6E:/var/lib/docker/overlay2/l/W27RF6GROD4TX23FQSHD2HMS4U:/var/lib/docker/overlay2/l/GWDDSRJTYDGQAOYCBJ4TQCXUKK,upperdir=/var/lib/docker/overlay2/90166d6aaca5092c43c964f4cf0a77d91e041a4445cf089b1ef3fab683fc06d4/diff,workdir=/var/lib/docker/overlay2/90166d6aaca5092c43c964f4cf0a77d91e041a4445cf089b1ef3fab683fc06d4/work 0 0 overlay /var/lib/docker/overlay2/499172ecc38729037253ad96d0e945bf0ba813af172860309efa074b26291306/merged overlay rw,relatime,lowerdir=/var/lib/docker/overlay2/l/BJEM7NLS6QXO4DIWNWCNZRAFUJ:/var/lib/docker/overlay2/l/644GWHRNLFVGBBWYDRIGXOUL5U:/var/lib/docker/overlay2/l/ZLKFNA4GNHFN4NMU7V56IMCRTY:/var/lib/docker/overlay2/l/TVPZ2D3UH755QA4ZNJ3F4UVLYL:/var/lib/docker/overlay2/l/CP2SNIFF22MT2JWQOCQP24U4R6:/var/lib/docker/overlay2/l/4463R3LQ6JG6N4BJ3F74EM4LJI:/var/lib/docker/overlay2/l/XMIWWTVINGZXG27IRXREZVOL5X:/var/lib/docker/overlay2/l/3EPVECWHTSKJNNAWNT655P5G6Q:/var/lib/docker/overlay2/l/AANB7DPAMDASHYVUDRSOYMMFSQ:/var/lib/docker/overlay2/l/6PJSK7SEL2DZD3WDJ3X4AYU5RL,upperdir=/var/lib/docker/overlay2/499172ecc38729037253ad96d0e945bf0ba813af172860309efa074b26291306/diff,workdir=/var/lib/docker/overlay2/499172ecc38729037253ad96d0e945bf0ba813af172860309efa074b26291306/work 0 0 overlay /var/lib/docker/overlay2/0cbc12de0af9282ad38d6638788f6921bd54b351a34379825af665c79bd58a60/merged overlay rw,relatime,lowerdir=/var/lib/docker/overlay2/l/J5SDZFFOLMGBZZCYPAJ4X6DLXL:/var/lib/docker/overlay2/l/3E45UB5PFRBZDFQMPQ4CBKY4EN:/var/lib/docker/overlay2/l/CMH2JHIJQLKAEC5IREZBKR4ZZI:/var/lib/docker/overlay2/l/BF747SNURY3E2H2VBW3KT2BT6O:/var/lib/docker/overlay2/l/JX77LFZ4JFJAWDUUBPLMCNR7EO,upperdir=/var/lib/docker/overlay2/0cbc12de0af9282ad38d6638788f6921bd54b351a34379825af665c79bd58a60/diff,workdir=/var/lib/docker/overlay2/0cbc12de0af9282ad38d6638788f6921bd54b351a34379825af665c79bd58a60/work 0 0 nsfs /run/docker/netns/455a2eb726d0 nsfs rw 0 0 nsfs /run/docker/netns/abd62373498a nsfs rw 0 0 nsfs /run/docker/netns/b3b48ab8811d nsfs rw 0 0 nsfs /run/docker/netns/1f7e55670976 nsfs rw 0 0 nsfs /run/docker/netns/227a2de4bda9 nsfs rw 0 0 tmpfs /run/user/0 tmpfs rw,nosuid,nodev,relatime,size=812532k,nr_inodes=203133,mode=700,inode64 0 0 ~# find /overlay/over/ /overlay/over/ /overlay/over/home.nfs /overlay/over/home.nfs/root /overlay/over/root /overlay/over/root/.config /overlay/over/root/.config/htop /overlay/over/root/.config/htop/htoprc /overlay/over/root/.lesshst /overlay/over/root/.Xauthority /overlay/over/root/.bash_history /overlay/over/usr /overlay/over/usr/share /overlay/over/usr/share/applications /overlay/over/usr/share/applications/mimeinfo.cache /overlay/over/var /overlay/over/var/backups /overlay/over/var/backups/alternatives.tar.0 /overlay/over/var/backups/dpkg.statoverride.0 /overlay/over/var/backups/dpkg.diversions.0 /overlay/over/var/backups/dpkg.status.0 /overlay/over/var/backups/dpkg.arch.0 /overlay/over/var/cache /overlay/over/var/cache/nscd /overlay/over/var/cache/nscd/netgroup /overlay/over/var/cache/nscd/services /overlay/over/var/cache/nscd/hosts /overlay/over/var/cache/nscd/group /overlay/over/var/cache/nscd/passwd /overlay/over/var/tmp /overlay/over/var/tmp/systemd-private-b1870e52cbdc4a5f9176afad9dc8f38b-ModemManager.service-l1hANC /overlay/over/var/tmp/systemd-private-b1870e52cbdc4a5f9176afad9dc8f38b-ModemManager.service-l1hANC/tmp /overlay/over/var/tmp/systemd-private-b1870e52cbdc4a5f9176afad9dc8f38b-systemd-logind.service-2rSHpn /overlay/over/var/tmp/systemd-private-b1870e52cbdc4a5f9176afad9dc8f38b-systemd-logind.service-2rSHpn/tmp /overlay/over/var/log /overlay/over/var/log/lastlog /overlay/over/var/log/btmp /overlay/over/var/log/wtmp /overlay/over/var/log/journal /overlay/over/var/log/journal/1d65e2c972bc46d29af3fb9b3b2c1bae /overlay/over/var/log/journal/1d65e2c972bc46d29af3fb9b3b2c1bae/system.journal /overlay/over/var/lib /overlay/over/var/lib/dpkg /overlay/over/var/lib/dpkg/lock /overlay/over/var/lib/dpkg/lock-frontend /overlay/over/var/lib/apt /overlay/over/var/lib/apt/daily_lock /overlay/over/var/lib/logrotate /overlay/over/var/lib/logrotate/status /overlay/over/var/lib/NetworkManager /overlay/over/var/lib/NetworkManager/timestamps /overlay/over/var/lib/containerd /overlay/over/var/lib/containerd/io.containerd.runtime.v2.task /overlay/over/var/lib/containerd/io.containerd.runtime.v1.linux /overlay/over/var/lib/containerd/io.containerd.metadata.v1.bolt /overlay/over/var/lib/containerd/io.containerd.metadata.v1.bolt/meta.db /overlay/over/var/lib/containerd/io.containerd.snapshotter.v1.overlayfs /overlay/over/var/lib/containerd/io.containerd.snapshotter.v1.overlayfs/snapshots /overlay/over/var/lib/containerd/io.containerd.snapshotter.v1.native /overlay/over/var/lib/containerd/io.containerd.snapshotter.v1.native/snapshots /overlay/over/var/lib/containerd/io.containerd.snapshotter.v1.btrfs /overlay/over/var/lib/containerd/io.containerd.snapshotter.v1.blockfile /overlay/over/var/lib/containerd/tmpmounts /overlay/over/var/lib/systemd /overlay/over/var/lib/systemd/timers /overlay/over/var/lib/systemd/timers/stamp-logrotate.timer /overlay/over/var/lib/systemd/timers/stamp-fstrim.timer /overlay/over/var/lib/systemd/timers/stamp-e2scrub_all.timer /overlay/over/var/lib/systemd/timers/stamp-apt-daily-upgrade.timer /overlay/over/var/lib/systemd/timers/stamp-apt-daily.timer /overlay/over/var/lib/systemd/random-seed /overlay/over/tmp /overlay/over/etc /overlay/over/etc/shadow /overlay/over/etc/passwd /overlay/over/etc/gshadow /overlay/over/etc/group /overlay/over/etc/shadow- /overlay/over/etc/passwd- /overlay/over/etc/gshadow- /overlay/over/etc/group- /overlay/over/etc/.pwd.lock /overlay/over/etc/systemd /overlay/over/etc/systemd/system /overlay/over/etc/systemd/system/sysinit.target.wants /overlay/over/etc/systemd/system/sysinit.target.wants/iscsid.service /overlay/over/etc/machine-id /overlay/over/etc/resolv.conf /overlay/over/etc/hosts /overlay/over/overlay
Je to virtuál, který se od běžného laborkového stroje liší tím, že má dvě vrstvy navíc. Vrstva 1090/xpra/docker
obsahuje docker a 1090/xpra/iscsi
klienta pro open-iscsi. Obecná konfigurace je ve vrstvě 206/config
, konfigurace specifická pro stroje v rámci subnetu 192.168.x.y je ve vrstvě 1004/ldap
a to co z toho dělá stroj "turtle" je ve vrstvě 1002/turtle
.
Myslím, že nemusím zdůrazňovat, že všechny vrstvy vyexportované v read-only modu, složené do sendviče, jsou překryty overlayem. Jenže docker používá také overlay, a trvá na tom, aby měl adresář /var/lib/docker
nad FS, se kterým umí pracovat – vnořené overlayované kontejnery, s jakými pracuje můj deset let starý buildovací skript už by zřejmě bylo moc těžké, v už tak dost složitém a nepřehledném prostředí vzájemně provázaných kontejnerů ukočírovat.
Můj virtualizační skript kvm umožňuje několik variant, jak dovnitř dostat blokové zařízení. Ale chtěl jsem, aby ten stroj byl skutečně univerzálně použitelný. Proto jsem použil iSCSI. Nemusím tedy dělat žádný deploy pro to abych rozjel jiný stroj. Stačí jenom vybrat při bootu co chci – a stáhne se konfigurace u které finální konfigurační vrstva rozhodne o tom, jaké blokové zařízení se připojí a podle to se spustí i připravený set kontejnerů. Rozdíl mezi konfigurací stroje A a stroje B, představuje jeden záznam v DHCP a několik kilobajtů v konfigurační vrstvě.
Pokud vím, docker a jiné kontejnerové aplikace neumožňují, z principu, udělat revert, protože by se jim rozsypaly ty stacky. Mně na to stačí při rebootu předat v parametru subvol (viz vytučněné místo výpisu namountovaných zařízení) místo 'containerd' a 'docker' jména snapshotů a je to na lupnutí prstu.
Maxi, ty víš, že je síť mimo mou kompetenci. Vzpomínáš na naši poslední debatu v Šumavské? O firewallu? Momentálně panuje všeobecná posedlost kyberbezpečností, ale zdrojem skutečného nebezpečí je hloupost. Zopakovala se situace, která se podle mého přesvědčení neměla opakovat. A v měřítku mnohem horším než prvně.
Když se to stalo prvně, bylo to ještě v éře, kdy jsem používal vde switch. Takže bylo ihned jasné na kterém subnetu to vaří. Konektivita tehdy byla pouze 1Gbit, takže se to nikde jinde nestihlo projevit.
No. A teď se to projevilo takhle. Naštěstí nejde (zatím) o produkční nasazení. Ovšem remount do read-only stavu není zrovna to co chceš, protože ti zůstávájí data viset v RAM.
Uvádím výše - je to mimo mou kompetenci. Spousta věcí se mění a je to jak s očkováním proti slintavce a kulhavce. Nikdy neuhlídáš všechno. A teď se to prostě sešlo, takže se ukázala slabina, která by většinu lidí nenapadla ani ve snu. Nemůžu vědět, kdy se něco podobného stane zas, ale mohu zvolit technické řešení, které bude robustní - tak jako je robustní ta disklessová infrastruktura. S tou ten incident neudělal nic. A nebýt toho, že se remountlo to Btrfs, netušil bych, že se něco dělo.
Ty vole Golis. Nebudu ti vykládat o věcech do kterých tobě ani mně nic není. To podstatné ses dozvěděl. Nejsem velmistr vesmíru jak si někteří naivně myslí, protože kdyby jo, bylo by všechno jinak. Ptal jsem se na zkušenosti s iSCSI a FS. To je opravdu takový problém napsat používám nad tím tenhle FS protože tohle a tohle?
Chápu, že se někdo o své zkušenosti dělit nechce. Co nechápu, je ta potřeba mít blbé kecy a vyjadřovat se k problému, který jen v plné nahotě ukázal slabiny řešení, které ale není z mojí hlavy. Mým cílem je ošéfovat i takovou situaci. Ne říkat někomu jinému jak má co dělat.
Tiskni
Sdílej: