GNU/Linux >> Znalost Linux >  >> Fedora

Linux – Deep Freeze Like Software pro Fedoru?

Pro jednu z mých laboratoří potřebuji udržovat konzistentní systémy souborů. Nechci tedy po vypnutí systému zapisovat do systému souborů žádné změny. V současné době udržuji bitovou kopii operačního systému a po skončení laboratorní relace jej ručně kopíruji.

Snažím se zjistit, zda existuje nějaká open source implementace Deep Freeze software pro systémy založené na Fedoře. Snažím se udržovat konzistentní systém souborů, aby se při restartu systému ztratily všechny provedené změny.

Z tohoto odkazu vidím, že existuje podobný software jako Deep freeze, nicméně jsou dostupné pro systémy založené na Debianu. Také jsem narazil na oddíly LVM, kterým jsem moc nerozuměl.

Navrhněte mi nějaký software, který lze použít v systémech založených na Fedoře, nebo nějaké jiné lepší řešení.

Přijatá odpověď:

Můžete nastavit aufs na kořenovém oddílu a nechat původní obraz pouze pro čtení a všechny změny jsou uloženy v paměti RAM. Tímto způsobem mohou studenti provádět jakékoli změny, které se jim líbí (i jako root), po restartu se obnoví čistý a dobře definovaný stav systému.

Přesně toto nastavení jsem provedl pomocí Debianu, ale totéž by mělo být možné bez přílišných úprav také na Fedoře. Protože klienti běželi bez disku, použil jsem PXE boot. Zde jsou základní kroky, pokyny jsou převážně převzaty z Diskless Debian Linux bootování přes dhcp/pxe/nfs/tftp/aufs a Instalace Debianu pomocí síťového bootování.

Zaváděcí server PXE má IP adresu 192.168.1.10 a slouží také jako TFTP
a NFS server. Používá aufs a kořenový souborový systém je připojen pouze pro čtení. Kvůli
aufs mají klienti přístup pro zápis. Všechny změny jsou uloženy v paměti a jsou
při restartu vymazány.

Nainstalujte potřebné balíčky

apt-get install isc-dhcp-server tftp-hpa nfs-kernel-server debootstrap syslinux

Nakonfigurujte server DHCP tak, aby poskytoval spouštěcí obraz PXE

cat >/etc/dhcp/dhcpd.conf <<EOF
next-server 192.168.1.10;  # address of the TFTP server
allow bootp;
allow booting;

subnet 192.168.1.0 netmask 255.255.255.0 {
  # clients get a dynamic IP address
  range dynamic-bootp 192.168.1.20 192.168.1.254;
  filename "pxelinux.0";
  option domain-name-servers 192.168.0.10;
  option broadcast-address 192.168.1.255;
  option routers 192.168.0.10;
}
EOF

Toto nakonfiguruje DHCP tak, aby používal server TFTP na adrese 192.168.1.10 a načtěte zaváděcí obraz PXE pxelinux.0 .

Konfigurace serveru TFTP

mkdir /srv/tftp

Nakonfigurujte server NFS.

Kořenový souborový systém je připojen pouze pro čtení přes NFS.

mkdir /srv/nfsroot
cat >/etc/exports <<EOF
/srv/nfsroot 192.168.1.10/24(ro,no_root_squash,no_subtree_check)
EOF

Naplňte adresář NFS instalací Debianu

debootstrap stable /srv/nfsroot <mirror>
# e.g.
debootstrap stable /srv/nfsroot 
  http://ftp.sunet.se/pub/Linux/distributions/debian/

Nainstalujte nástroje jádra a initramfs:

chroot /srv/nfsroot apt-get update
chroot /srv/nfsroot apt-get install initramfs-tools linux-image-amd64

Nakonfigurujte jeho initramfs tak, aby generoval initrd spouštění NFS:

sed 's/BOOT=local/BOOT=nfs/' 
  -i /srv/nfsroot/etc/initramfs-tools/initramfs.conf

Načtěte aufs modul:

echo aufs >> /srv/nfsroot/etc/initramfs-tools/modules

Nakonfigurujte aufs :

cat >/srv/nfsroot/etc/initramfs-tools/scripts/init-bottom/aufs <<EOF
modprobe aufs
mkdir /ro /rw /aufs
mount -t tmpfs tmpfs /rw -o noatime,mode=0755
mount --move $rootmnt /ro
mount -t aufs aufs /aufs -o noatime,dirs=/rw:/ro=ro
mkdir -p /aufs/rw /aufs/ro
mount --move /ro /aufs/ro
mount --move /rw /aufs/rw
mount --move /aufs /root
exit 0
EOF

Nastavte soubor jako spustitelný:

chmod +x /srv/nfsroot/etc/initramfs-tools/scripts/init-bottom/aufs

Generovat initrd:

chroot /srv/nfsroot update-initramfs -k $(uname -r) -u

Dávejte pozor, zda se jádro hostitele a chroot neshodují. Nahraďte $(uname -r) v případě potřeby se správným jádrem.

Související:Linux – Kde je uložen pojmenovaný semafor?

Zkopírujte vygenerovaný initrd, obraz jádra a zavaděč PXE do kořenového adresáře TFTP a
vytvořte složku pro konfiguraci PXE:

cp /srv/nfsroot/boot/initrd.img-* /srv/tftp/
cp /srv/nfsroot/boot/vmlinuz-*    /srv/tftp/
cp /usr/lib/syslinux/pxelinux.0   /srv/tftp/
mkdir /srv/tftp/pxelinux.cfg

Soubor pxelinux.0 je zaváděcí program PXELINUX.

Konfigurace zavaděče:

cat >/srv/tftp/pxelinux.cfg/default <<EOF
default Debian
prompt 1
timeout 10
label Debian
kernel vmlinuz-2.6.32-5-amd64  # <- use correct version!
append ro initrd=initrd.img-2.6.32-5-amd64 root=/dev/nfs ip=dhcp 
nfsroot=192.168.1.10:/srv/nfsroot
EOF

Změnit heslo uživatele root

chroot /srv/nfsroot passwd root

Restartujte služby

invoke-rc.d isc-dhcp-server restart
invoke-rc.d tftpd-hpa restart
exportfs -ra

Fedora
  1. Linuxová distribuce pro digitální umělce

  2. Top 5 softwaru pro zálohování dat pro Linux

  3. Linux – Deep Freeze Like Software pro Fedoru?

  1. Top 5 Open-Source virtualizačního softwaru pro Linux

  2. Top 5 jazyků pro automatizaci v Linuxu

  3. Top 5 vývojových prostředí pro Linux

  1. 6 nejlepších bezplatných CAD softwaru pro Linux

  2. FreeCAD – 3D modelovací a návrhářský software pro Linux

  3. 11 nejlepších CAD softwaru pro Linux