Po Canonicalu a SUSE oznámil také Red Hat, že bude podporovat a distribuovat toolkit NVIDIA CUDA (Wikipedie).
TrueNAS (Wikipedie), tj. open source storage platforma postavená na Linuxu, byl vydán ve verzi 25.10 Goldeye. Přináší NVMe over Fabric (NVMe-oF) nebo OpenZFS 2.3.4.
Byla vydána OpenIndiana 2025.10. Unixový operační systém OpenIndiana (Wikipedie) vychází z OpenSolarisu (Wikipedie).
České základní a střední školy čelí alarmujícímu stavu kybernetické bezpečnosti. Až 89 % identifikovaných zranitelností v IT infrastruktuře vzdělávacích institucí dosahuje kritické úrovně, což znamená, že útočníci mohou vzdáleně převzít kontrolu nad klíčovými systémy. Školy navíc často provozují zastaralé technologie, i roky nechávají zařízení bez potřebných aktualizací softwaru a používají k nim pouze výchozí, všeobecně známá
… více »Během tradiční ceremonie k oslavě Dne vzniku samostatného československého státu (28. října) byl vyznamenán medailí Za zásluhy (o stát v oblasti hospodářské) vývojář 3D tiskáren Josef Průša. Letos byly uděleny pouze dvě medaile Za zásluhy o stát v oblasti hospodářské, druhou dostal informatik a manažer Ondřej Felix, který se zabývá digitalizací státní správy.
Tor Browser, tj. fork webového prohlížeče Mozilla Firefox s integrovaným klientem sítě Tor přednastavený tak, aby přes tuto síť bezpečně komunikoval, byl vydán ve verzi 15.0. Postaven je na Firefoxu ESR 140.
Bylo oznámeno (cs) vydání Fedora Linuxu 43. Ve finální verzi vychází šest oficiálních edic: Fedora Workstation a Fedora KDE Plasma Desktop pro desktopové, Fedora Server pro serverové, Fedora IoT pro internet věcí, Fedora Cloud pro cloudové nasazení a Fedora CoreOS pro ty, kteří preferují neměnné systémy. Vedle nich jsou k dispozici také další atomické desktopy, spiny a laby. Podrobný přehled novinek v samostatných článcích na stránkách Fedora Magazinu: Fedora Workstation, Fedora KDE Plasma Desktop, Fedora Silverblue a Fedora Atomic Desktops.
Elon Musk oznámil (𝕏) spuštění internetové encyklopedie Grokipedia (Wikipedia). Zatím ve verzi 0.1. Verze 1.0 prý bude 10x lepší, ale i ve verzi 0.1 je podle Elona Muska již lepší než Wikipedia.
PSF (Python Software Foundation) po mnoha měsících práce získala grant ve výši 1,5 milionu dolarů od americké vládní NSF (National Science Foundation) v rámci programu "Bezpečnost, ochrana a soukromí open source ekosystémů" na zvýšení bezpečnosti Pythonu a PyPI. PSF ale nesouhlasí s předloženou podmínkou grantu, že během trvání finanční podpory nebude žádným způsobem podporovat diverzitu, rovnost a inkluzi (DEI). PSF má diverzitu přímo ve svém poslání (Mission) a proto grant odmítla.
Balík nástrojů Rust Coreutils / uutils coreutils, tj. nástrojů z GNU Coreutils napsaných v programovacím jazyce Rust, byl vydán ve verzi 0.3.0. Z 634 testů kompatibility Rust Coreutils s GNU Coreutils bylo úspěšných 532, tj. 83,91 %. V Ubuntu 25.10 se již používá Rust Coreutils místo GNU Coreutils, což může přinášet problémy, viz například nefunkční automatická aktualizace.
Dobrý den,
rád bych se zeptal zkušenějších jak se postavil k tomuto problému, mám Linux server CentOS 6 s rozběhnutou virtualizací přes KVM, celé to obsluhuji přes virsh nebo přes virt-manager.
Virtuální stroje jsou 4x windows XP, velikot disku 40GB a 1x Win2008 server, velikost disku 120GB, všechny stroje leží nad LVM, jinak řečeno používají přímo pro ně vytvořený oddíl (každý stroj má vlastní samostatný oddíl) o dané velikosti, oddíl je následně použit ve VM jako disk.
Problém je se zálohování, mám externí NAS (podporuje iSCSI a NFS) a rád bych na něj ukládal zálohy ale přesně netuším jak se k tomu postavit, stroje mohu přes noc zastavit/vypnout, ale dělat následně nad každým strojem dd mi neprijdě příliš efektivní.
Existuje rozumnější postup? Děkuji Jiří.
Funguje tento mechanismus i nad LVM (nemám totiž žadný qcow soubor, mám jen oddíl v LVM na kterém je disk virtuálního stroje)?
Např. http://vitobotta.com/more-on-kvm-virtual-machine-host/
Zde se popisuje zálohování s snapshotem na LVM.
Domnívám se správně, že snapshot na lvm funguje tak,že změny se nezapisuji do původního LVM, ale do snapshotu, takže s původním oddílem pracovat (kopirovat ho) a virtuální stroj žije na snapshotu, následně snapshot zruším a změny se zapíšou do původního oddílu? (ted na to koukam a je tedy potřeba ten virtuální stroj vlastně vypnout 2x během zálohování ne?) J.
Děkuji za info, toto bohužel asi nelze v mém případě splnit, mám pouze jeden stroj.
Koukám, že asi nebylo uplně štastné nasadit tam to LVM, měl jsem raději tedy nechat co stroj to jeden soubor s diskem, myslel jsem si původně, že to LVM mi pomůže při zálohování, respektive měl jsem představu, že když udělam snapshot LVM oddílu tak budu moci původní oddíl odkopírovat mimo virtualizační stroj a snapshot zrušit.
Tedy zastavit na chvíli stroj, udělat snapshot, pustit opět stroj, odkopírovat data mimo server, zrušit snapshot. J.
#!/bin/bash
# $0 {volume_group} {smazat_slozku_pripravy_zalohy}
DESTINATION='/vmshadow'
BACKUP_DIR="$DESTINATION/images" # cilovy adresar zaloh
VOLUME_GROUP=$1
VG_PATH="/dev/"$VOLUME_GROUP
CLEAR_BACKUP_DESTINATION=$2 # 1 - smazat uloziste pred vytvorenim nove zalohy (default); 0 - nemazat a jen pripisovat
LV_TMP_DEVICE='vmbackup' # jmeno snapshotu
LV_SNAPSHOT_SIZE='5G' # velikosty snapshotu
DUMP_DIR="$DESTINATION/domains"
#
# Zkontroluje zda logicky svazek smi byt zalohovan
#
# Vstupnim parametrem je nazev tesovaneho logickeho svazku
#
# Pokud ma byt vyrazen ze zalohovani, bude vracen kod 1
#
function skip_logical_volume {
PREFIX=${1:0:3}
if [ $PREFIX == "vm_" ]
then
return 0
else
echo "["`date`"] "" -- Ignoruji svazek $VOLUME_GROUP/$1 - nezacina prefixem \"vm_\" a tedy nesmi byt zalohovan"
return 1
fi
}
#
# Prochazi logickymi svazky a zavola backup pokud neni svazku zakazan backup
#
function backup_logical_volumes {
for loc_lvolume in `ls $VG_PATH`; do
skip_logical_volume $loc_lvolume
if [ $? -eq 0 ]
then
# zaloha smi byt provedena
do_lvbackup $loc_lvolume
fi
done
}
#
# Vytvori snapshot
#
# Vstupnim parametrem je jmeno logickeho svazko jehoz snapshot se bude vytvaret
#
function create_snapshot {
loc_SUCCESS=''
echo "["`date`"] ""lvcreate -L$LV_SNAPSHOT_SIZE -s -n $LV_TMP_DEVICE /dev/$VOLUME_GROUP/$1 2>&1'"
for loc_LINE in "`lvcreate -L$LV_SNAPSHOT_SIZE -s -n $LV_TMP_DEVICE /dev/$VOLUME_GROUP/$1 2>&1`"; do
echo "["`date`"] ""$loc_LINE"
tmp_gline=`echo -n "$loc_LINE" | grep -E "created"`
if [ -n "$tmp_gline" ]
then
loc_SUCCESS='true'
fi
done
if [ -z "$loc_SUCCESS" ]
then
echo "["`date`"] ""Error: nepodarilo se vytvorit snapshot $VOLUME_GROUP.$1! Koncim!"
exit 1
fi
}
#
# Odpoji SNAPSHOT_MOUNTPOINT a zrusi snapshot
#
function destroy_snapshot {
loc_SUCCESS=''
echo "["`date`"] Zaplneni snapshotu: "`lvs 2>&1 | grep $LV_TMP_DEVICE | awk '{print $6}'`'%'
echo "["`date`"] ""lvremove -f /dev/$VOLUME_GROUP/$LV_TMP_DEVICE 2>&1"
for loc_LINE in "`lvremove -f /dev/$VOLUME_GROUP/$LV_TMP_DEVICE 2>&1`"; do
echo "["`date`"] ""$loc_LINE"
tmp_gline=`echo -n "$loc_LINE" | grep -E "successfully removed"`
if [ -n "$tmp_gline" ]
then
loc_SUCCESS='true'
fi
done
if [ -z "$loc_SUCCESS" ]
then
echo "["`date`"] "'Error: nepodarilo se odstranit snapshot!'
fi
}
#
# Vytvori dump logickeho svazku
#
function do_lvbackup {
echo -e "\n\n"
echo "["`date`"] ""Priprava zalohy svazku $VOLUME_GROUP/$1"
mkdir -p $BACKUP_DIR 2>&1
create_snapshot $1
## echo "["`date`"] ""ionice -c 3 nice -n 19 dd if=$VG_PATH"/"$LV_TMP_DEVICE bs=100M 2>$BACKUP_DIR"/tmp_errout" | ionice -c 3 nice -n 19 gzip --fast -f -v -c >$BACKUP_DIR\"/\"$VOLUME_GROUP\".\"$1\".raw.gz\" 2>&1"
## ionice -c 3 nice -n 19 dd if=$VG_PATH"/"$LV_TMP_DEVICE bs=100M 2>$BACKUP_DIR/tmp_errout | ionice -c 3 nice -n 19 gzip --fast -f -v -c >$BACKUP_DIR"/"$VOLUME_GROUP"."$1".raw.gz" 2>&1
echo "["`date`"] ""ionice -c 3 nice -n 19 dd if=$VG_PATH"/"$LV_TMP_DEVICE bs=100M 2>$BACKUP_DIR"/tmp_errout" | ionice -c 3 nice -n 19 gzip --fast -f -v -c >$BACKUP_DIR/$VOLUME_GROUP.$1.raw.gz 2>&1"
ionice -c 3 nice -n 19 dd if=$VG_PATH"/"$LV_TMP_DEVICE bs=100M 2>$BACKUP_DIR/tmp_errout | ionice -c 3 nice -n 19 gzip --fast -f -v -c >$BACKUP_DIR/$VOLUME_GROUP.$1.raw.gz 2>&1
cat $BACKUP_DIR"/tmp_errout"
rm $BACKUP_DIR"/tmp_errout"
loc_tmp_imgsize=`qemu-img info /dev/$VOLUME_GROUP/$1 | grep 'virtual size' | awk '{print $4}'`
loc_imgsize=${loc_tmp_imgsize:1}
loc_bckpsize=$(stat -c%s "$BACKUP_DIR/$VOLUME_GROUP.$1.raw.gz")"00"
loc_cmpr=$(( $loc_bckpsize / $loc_imgsize ))
echo "["`date`"] ""Velikost souboru po kompresi $loc_cmpr""%"
destroy_snapshot
}
#
# Vytvori dump domeny (definice virtualni masiny)
#
function dump_domain {
mkdir -p $DUMP_DIR 2>&1
DOMAIN="$1"
echo "["`date`"] Ukladam dump domeny $DOMAIN"
virsh dumpxml "$DOMAIN" > "$DUMP_DIR/$DOMAIN.xml" 2>&1
}
function dump_all_domains {
i=0
for loc_domain in `virsh list --all | awk '{print $2}'`; do
if [ $i -ge 1 ]
then
dump_domain "$loc_domain"
fi
i=$((i+1))
done
}
#
# Ukonci beh programu v pripade, ze probiha restaurovani diskoveho pole (aby nedoslo k pretizeni)
#
function exit_when_resync {
tstresyncval=`grep resync /proc/mdstat`
if [ -n "$tstresyncval" ]
then
echo "["`date`"] Probiha restaurovani diskoveho pole!"
exit 1
fi
}
################---------------------------------####################
if [ -z "$VOLUME_GROUP" ]
then
echo "["`date`"] ""ERROR! Nebyla zadana skupina svazku! (VOLUME GROUP)"
exit 1
fi
exit_when_resync
if [ "$CLEAR_BACKUP_DESTINATION" == "" ]
then
# default hodnota je 1 (smazat)
CLEAR_BACKUP_DESTINATION=1
fi
if [ $CLEAR_BACKUP_DESTINATION -ne 0 ]
then
# vycisteni slozky pro pripravu dat k zalohovani
echo "["`date`"] ""Mazu slozku pro pripravu zalohy"
echo "["`date`"] ""rm -rf $DESTINATION/*"
rm -rf $DESTINATION/* 2>&1
fi
echo "["`date`"] Backing up /etc"
rsync -av /etc $DESTINATION 2>&1
echo "["`date`"] Backing up /usr/local/bin"
mkdir -p $DESTINATION/usr
mkdir -p $DESTINATION/usr/local
mkdir -p $DESTINATION/usr/local/bin
rsync -av /usr/local/bin/* $DESTINATION/usr/local/bin 2>&1
dump_all_domains
backup_logical_volumes
echo "["`date`"] ""Priprava zalohy dokoncena"
musis mit nainstalovan i rsync. U me to slouzi k vytvoreni zalohy na lokalni disk, odkud si to jiny proces potom stahuje do zalohy a az tam nekde venku se provadi i rotace zaloh (pouzivam dirvish).
Zavolas to takto: (mam to nazvane lvs_dump)
lvs_dump {jmeno volume group}
// takto se provede smazani tmp uloziste - pokud mas vic skupin, tak se to vola s parametrem 0
lvs_dump {jmeno prvni volume group}
lvs_dump {jmeno volume group1} 0
lvs_dump {jmeno volume group2} 0
lvs_dump {jmeno volume group3} 0
atd...
Obcas se muze stat, ze shodis masinu zrovna kdyz mas vytvoreny snapshot a tak mam za to, ze je dobre behem bootovani kazdy snapshot zrusit (v te dobe je uz kazdy takovy zbytecny) a tak do /etc/rc.local (nebo jakkoliv po spusteni) jeste volam tento script:
#!/bin/bash
i=0
for snapshot in `lvs 2>/dev/null | awk {'print $1'}`; do
if [ $i -gt 0 ]
then
tstsn=`lvs 2>/dev/null | grep "$snapshot" | awk {'print $5'}`
if [ -n "$tstsn" ] && [ "$snapshot" != "$tstsn" ]
then
vg=`lvs 2>/dev/null | grep "$snapshot" | awk {'print $2'}`
lvremove -f '/dev/'"$vg"'/'"$snapshot"
fi
fi
i=$((i+1))
done
Děkuji za script, vypadá zajímavě, zkusím si to projít.
Jestli to chápu správně, tak v tomto případě virtuální stroje nevypínáte s tím, že jsem četl upozornění, že cache se pro virtuální stroj musí nastavit na NONE (tedy zapisuje se rovnou na disk), aby data uvnitř VM byla "kozistentní", tím, že pak udělám snapshot nemělo by dojít k nekonzistentnosti, jelikož v cache nic nění.
Data si odkopiruje pomocí dd na externí úložiště a na něm si již vyřešíte tu duplikaci, dirvish neznám ale podívam se na něj.
Zeptám se ještě hloupě, rsync nelze použít přímo nad LVM oddílem (uvažujmě, že snapshot již mám hotov) místo dd a přenášet pouze změněná data? Jelikož i tom než přenesu např. 120GB dat na externí uložiště tak to chvíli potrvá (uložístě používa NFS). J.
Tiskni
Sdílej: