Puncte:0

Rularea cachefilesd cache pe discul ram (tmpfs) pentru boot PXE NFS

drapel mx

Rulez ubuntu 20.04 LTS (kernel 5.4.0-81-generic) din PXE și doresc să adaug un cache local. Deoarece nu vreau să am o partiție pe toate dispozitivele mele pentru stocarea în cache, doresc să folosesc un disc ram în acest scop.

Am reușit să activez fsc opțiune în timpul pornirii cu ajutorul acest raspuns.

Cu toate acestea, când rulez cachefilesd serviciu, eșuează -95: Operațiunea nu este acceptată. Acest lucru se datorează probabil că tmpfs nu suporta user_xattr, care este necesar.

am citit Aici pe care îl puteți compila/patch kernel-ul pentru a-l activa user_xattr, deși acesta este un risc de securitate. Pe lângă faptul că sunt un coșmar de întreținere, nu vreau să merg atât de departe și să mă ocup de automatizarea asta cu fiecare actualizare a nucleului.

am citit Aici (germană) și acest si este raspuns.

Indică faptul că puteți face un tmpfs, apoi puteți face un dispozitiv de loopback, îl formatați în ext4 și apoi rulați fs-cache-ul acolo.

Cu toate acestea, din moment ce folosesc PXE și punctul de montare NFS este /, cum fac asta în timpul pornirii, de preferință înainte cachedfilesd.service este început?

Bootloader-ul meu (vesamenu.c32)

# [...]
eticheta ubuntunfs
        etichetă de meniu ^Ubuntu NFS
        ajutor text
Rulați ubuntu din Network File System.
        text final
        kernel ubuntu/boot/vmlinuz
        initrd ubuntu/boot/initrd.img
        append root=/dev/nfs nfsroot=192.168.1.5:/srv/tftp/ubuntu,rw,fsc,relatime ip=dhcp rw
# [...]

Fstab-ul meu

/proc /proc proc implicit 0 0
/sys /sys sysfs implicite 0 0
/dev/nfs / nfs defaults,relatime,fsc 1 1

# ramdisk pentru fs-cache pentru nfs
tmpfs /media/ramdisk tmpfs implicite, dimensiune=5% 0 0

none /tmp tmpfs implicit 0 0
nici unul /var/run tmpfs implicite 0 0
nici unul /var/lock tmpfs implicite 0 0
nici unul /var/tmp tmpfs implicit 0 0

/etc/cachefilesd.conf meu

dir /media/ramdisk
etichetați mycache
brun 90%
bcull 70%
bstop 30%
frun 90%
până la 70%
fstop 30%

masa de sacrificare 14
guiverc avatar
drapel cn
Vă rugăm să furnizați detalii despre produs și lansare.
FalcoGer avatar
drapel mx
@guiverc Sper că te referi la versiunea ubuntu și kernel. Le-am adăugat pe acelea.
guiverc avatar
drapel cn
după produs, server ubuntu, desktop ubuntu, core ubuntu etc. și detalii despre lansare, cum ar fi 20.04, 20.04.3, 20 etc. (dacă sunt furnizate detalii complete despre produs și ediție, știm nucleul, de exemplu, serverul ubuntu 20.04 utilizează GA sau 5.4 kernel, nucleul desktop 20.ubuntu 20.04 este HWE, deci variază în funcție de nivelul de upgrade, 20.04 este 5.4, 20.04.2 este 5.8, 20.04.3 este 5.11 etc., Ubuntu Core 20 este....) -- 5.4 dvs. înseamnă că este... server pentru mine, astfel, nucleul GA
FalcoGer avatar
drapel mx
@guiverc am instalat cu debootstrap. Presupun că este server sau minim.
Puncte:0
drapel mx

Am făcut-o cu un serviciu systemd.

[Unitate]
Descriere=Creator cache
Înainte=cachefilesd.service

[Serviciu]
ExecStart=/bin/bash -c "dd if=/dev/zero of=/media/ramdisk/cache.ext4 bs=1k count=`df /media/ramdisk | tail -n 1 | sed -e 's/ \ +/ /g' | cut -d ' ' -f 2` && mke2fs /media/ramdisk/cache.ext4 && mount -o rw,noatime,nodiratime,user_xattr /media/ramdisk/cache.ext4 /media/cache/"
Restart=nu
Type=onehot

[Instalare]
WantedBy=multi-user.target

Scriptul ia numărul de blocuri de 1k (de la df) a discului ram ca intrare pentru ddfișierul de intrare al lui (daca=), altfel dd va returna un cod de eroare deoarece discul este plin și && nu va funcționa în această situație. Evident, acest lucru funcționează numai dacă discul ram este gol.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.