Yandex

Дисково пространство на сървъра

Print
  • disk, diskspace, space, server, диск, пространство, сервер, сървър
  • 1

Преди да говорим за наличното дисково пространство, си струва да кажем няколко думи за единиците информационен обем. Единицата за цифрова информация е байт (byte), който се състои от 8 бита.

Съществуват две системи за измерване: десетична и двоична. Международната система единици (SI) използва десетичната система, в която увеличаващите префикси са кратни на 1000 = 103. А в двоичните системи, като IEC и ISO, са кратни на 1024 = 210.

 

Многобайтови единици от десетичната система единици

Название Обозначение Значение Съответствие
килобайт / kilobyte kB 103 = 1000 1 000 B
мегабайт / megabyte MB 106 = 10002 1 000 KB = 1 000 000 B
гегабайт / gigabyte GB 109 = 10003 1 000 MB = 1 000 000 KB
терабайт / terabyte TB 1012 = 10004 1 000 GB = 1 000 000 MB
петабайт / petabyte PB 1015 = 10005 1 000 TB = 1 000 000 GB

 

Многобайтовые единицы двоичной системы единиц

Название Обозначение Значение Съответствие
кибибайт / kibibyte KiB 210 = 1024 1 024 B
мебибайт / mebibyte MiB 220 = 10242 1 024 KB = 1 048 576 B
гибибайт / gibibyte GiB 230 = 10243 1 024 MB = 1 048 576 KB
тебибайт / tebibyte TiB 240 = 10244 1 024 GB = 1 048 576 MB
пебибайт / pebibyte PiB 250 = 10245 1 024 TB = 1 048 576 GB

 

Нека сега да разгледаме това на практика

Нека да вземем за пример SSD диск Samsung 860 EVO 4TB с капацитет 4 000 787 030 016 байта [4,00 TB]. В бинарно изражение капацитетът на диска е приблизително 3,64 TiB.

В Linux често се използва помощната програма df за определяне на обема на даден диск и ние ще я използваме по-нататък.

Системата по подразбиране е двоичната. За удобство можете да използвате командата df -h /dev/sdb1, където вместо /dev/sdb1 трябва да посочите или устройство, или точка за монтиране:

Filesystem      Size  Used Avail Use% Mounted on
/dev/sdb1       3.7T  903G  2.6T  26% /backup

За да видите капацитета на диска в десетична система, използвайте командата df -H /dev/sdb1 или df -si /dev/sdb1:

Filesystem      Size  Used Avail Use% Mounted on
/dev/sdb1       4.0T  970G  2.9T  26% /backup

 

И от пръв поглед изглежда точно. Но нека видим какво ще стане, ако изпишем обема в килобайти / кибибайти. В десетичната система:

df --block-size=kB /dev/sdb1

Filesystem       1kB-blocks        Used    Available Use% Mounted on
/dev/sdb1      3999089472kB 969324938kB 2829708461kB  26% /backup2

И в двоичен формат:

df --block-size=K /dev/sdb1 или df --block-size=KiB /dev/sdb1 или дори просто df /dev/sdb1

Filesystem       1K-blocks       Used   Available Use% Mounted on
/dev/sdb1      3905360812K 946606384K 2763387168K  26% /backup2

 

Нека отбележим използването и наличното дисково пространство и да го сравним с общото.

946 606 384 KiB + 2 763 387 168 KiB = 3 709 993 552 KiB, което изобщо не съответства на стойността 3 905 360 812 KiB.

Всъщност причината е проста - всичко е свързано с файловата система в Linux. В този случай това е EXT4. По подразбиране Linux маркира 5% от всеки раздел на диска като място, резервирано за потребителя root.

Можете да проверите това с командата tune2fs -l /dev/sdb1 |grep -i 'Block count':

Block count:              976754385
Reserved block count:     48837719

Нека да го проверим. 48837719 / 976754385 и се умножава по 100. Получаваме 5%.

 

Важно

За по-големи дискове и при условие, че се използва файловата система ext4, това резервиране може да се окаже прекомерно и може да се намали леко.

При файловата система ext3 не се препоръчва да правите това, а е по-добре винаги да поддържате резерв от 5%, тъй като когато дискът е запълнен на повече от 95%, се получава фрагментация на файловете и вследствие на това се влошава производителността. Файловата система ext4 няма този проблем.

 

Обобщение

Имайте предвид, че по подразбиране разполагате с 5% по-малко налично дисково пространство. И не бъркайте kB и KiB.

Was this answer helpful?

« Back
spinner