Am o cerință de a folosi mai multe inoduri decât cele disponibile în mod normal pe majoritatea sistemelor de fișiere. Prin urmare, creez și montez un sistem de fișiere ext4 cu o setare de inode personalizată:
dd if=/dev/zero of=loop0.img bs=1MB count=5000
losetup --find --show `pwd`/loop0.img
mkfs -t ext4 -i 1024 /dev/loop0
montați /dev/loop0 /mnt
Acest lucru va crea un fișier de 5000 MB pe disc (prin ls /mnt
), dar când verific utilizarea df
se arată că discul nu este ocupat (spațiul pe disc nu crește cu 5000MB). Bănuiesc pentru că este zero pe disc și arată ca spațiu nefolosit.
Pe măsură ce discul se umple, am un program care încearcă să ștergă fișierele cele mai puțin utilizate recent până când presiunea spațiului pe disc este eliminată. Ei bine, se pare că, în ciuda ștergerii fișierelor în /mnt
, încă se înregistrează ca ocupând spațiu pe discul meu, cel puțin conform df
și alte apeluri de sistem fără disc.
Deci există o modalitate specială de care am nevoie rm
fișierele de pe acest disc virtual pentru a înregistra că spațiul este liber? sau trebuie să mă întreb despre spațiul liber într-un mod non-standard?
Editare: Comanda și ieșirea completă, observați că utilizarea discului pentru /dev/vda1
nu crește 5000MB.
root@localhost:~# df
Sistem de fișiere 1K-blocuri Utilizat Disponibil Utilizare% Montat pe
udev 490064 0 490064 0% /dev
tmpfs 101092 3188 97904 4% /run
/dev/vda1 19343152 2699088 15660656 15% /
tmpfs 505448 0 505448 0% /dev/shm
tmpfs 5120 0 5120 0% /run/lock
tmpfs 505448 0 505448 0% /sys/fs/cgroup
tmpfs 101088 0 101088 0% /run/user/0
root@localhost:~# dd if=/dev/zero of=loop0.img bs=1MB count=5000
5000+0 înregistrări în
5000+0 înregistrări scoase
5000000000 de octeți (5,0 GB, 4,7 GiB) copiați, 6,20117 s, 806 MB/s
root@localhost:~# losetup --find --show `pwd`/loop0.img
/dev/loop0
root@localhost:~# mkfs -t ext4 -i 1024 /dev/loop0
mke2fs 1.44.5 (15-dec-2018)
Eliminarea blocurilor dispozitivului: gata
Crearea unui sistem de fișiere cu 1220703 blocuri 4k și 4884000 inoduri
UUID sistemului de fișiere: 4f308a54-6ddd-4ef6-b685-c193dfec8b84
Copii de rezervă Superblock stocate pe blocuri:
8176, 24528, 40880, 57232, 73584, 204400, 220752, 400624, 662256,
1022000
Alocarea tabelelor de grup: gata
Scrierea tabelelor inode: gata
Creare jurnal (16384 blocuri): gata
Scrierea superblocurilor și a informațiilor de contabilitate a sistemului de fișiere: gata
root@localhost:~# mount /dev/loop0 /mnt
root@localhost:~# df
Sistem de fișiere 1K-blocuri Utilizat Disponibil Utilizare% Montat pe
udev 490064 0 490064 0% /dev
tmpfs 101092 3216 97876 4% /run
/dev/vda1 19343152 2769404 15590340 16% /
tmpfs 505448 0 505448 0% /dev/shm
tmpfs 5120 0 5120 0% /run/lock
tmpfs 505448 0 505448 0% /sys/fs/cgroup
tmpfs 101088 0 101088 0% /run/user/0
/dev/loop0 3594900 45080 3289556 2% /mnt