Я установил CentOS 5.7 64 бит на свой сервер, который имеет 4x300 ГБ SAS-накопителя на аппаратном RAID 10. При установке я выбрал разделы по умолчанию.
Вот вывод команд:
[root@server ~]# fdisk -l
Disk /dev/sda: 598.8 GB, 598879502336 bytes
255 heads, 63 sectors/track, 72809 cylinders
Units = cylinders de 16065 * 512 = 8225280 bytes
Boot Device Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 72809 584733870 8e Linux LVM
[root@server ~]# df -h
File System Size Used Free Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
493G 1,4G 466G 1% /
/dev/sda1 99M 13M 81M 14% /boot
tmpfs 24G 0 24G 0% /dev/shm
Куда делись эти 100 ГБ и как их добавить?
заранее спасибо
Ваш вопрос несколько интересен - на самом деле есть 3 проблемы:
Примечание: Я собираюсь использовать числа, взятые из одной из моих систем, а не ваши числа, так как требуется дополнительная информация - хотя применяется та же математика.
1. ГБ (гигабайты) по сравнению с гигабайтами (гибибайтами)
Жесткие диски почти всегда продаются в ГБ.
fdisk -l /dev/xvda1
Disk /dev/xvda1: 4294 MB, 4294967296 bytes
255 heads, 63 sectors/track, 522 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Итак, этот раздел имеет 4294967296 байт - вы можете видеть, что число (МБ) просто 1/10002 того, что. Чтобы преобразовать в ГиБ, разделим на 10243:
4294967296 Б / (10243 Б / ГиБ) = 4 ГиБ (или 4096 МБ, определенно отличается от указанного выше числа).
2. Файловая система резервирует некоторые блоки, которые df
может видеть
Для начала найдем размер нашего блока:
dumpe2fs -h /dev/xvda1 | grep "Block size"
dumpe2fs 1.41.12 (17-May-2010)
Block size: 4096
Поскольку размер блока в этой системе составляет 4096 Байт, я использую это значение ниже. (Заметка, df
использует 4K = 4096 и 4KB = 4000):
df -B 4K
Filesystem 4K-blocks Used Available Use% Mounted on
/dev/xvda1 1032112 325035 696599 32% /
Однако можно было бы ожидать, что Used + Available = Total (т.е. блоки по 4 КБ):
325035+696599 = 1021634 =/= 1032112
Это отсутствующее значение и есть «количество зарезервированных блоков»:
dumpe2fs -h /dev/xvda1 | grep "Reserved block count"
dumpe2fs 1.41.12 (17-May-2010)
Reserved block count: 10478
Проверка математики:
1021634 + 10478 = 1032112
3. Недостающие блоки, которые df
не могу видеть
Что ж, пока все хорошо, но цифры все равно не сходятся.
Общее количество блоков 4K, которое я должен иметь, составляет 4294967296/4096 = 1048576. Вы можете проверить это с помощью вывода dumpe2fs -h / dev / xvda1 | grep "Счетчик блоков"
dumpe2fs -h /dev/xvda1 | grep "Block count"
dumpe2fs 1.41.12 (17-May-2010)
Block count: 1048576
Итак, согласно fdisk и dumpe2fs существует 1048576 блоков 4K Согласно df: 1032112 блоков 4K Что означает: 1048576 - 1032112 = 16464 блока отсутствуют
Здесь вам нужно немного понять файловую систему. В моем случае я использую ext4 - и он разделен на группы.
Для начала вот частичный вывод dumpe2fs:
dumpe2fs -h /dev/xvda1
dumpe2fs 1.41.12 (17-May-2010)
Filesystem OS type: Linux
Inode count: 262144
Block count: 1048576
Reserved block count: 10478
Free blocks: 735865
Free inodes: 216621
First block: 0
Block size: 4096
Fragment size: 4096
Reserved GDT blocks: 511
Blocks per group: 32768
Fragments per group: 32768
Inodes per group: 8192
Inode blocks per group: 512
RAID stride: 32582
Flex block group size: 16
First inode: 11
Inode size: 256
Required extra isize: 28
Desired extra isize: 28
Journal inode: 8
First orphan inode: 15632
Journal backup: inode blocks
Journal features: journal_incompat_revoke
Journal size: 128M
Journal length: 32768
Journal sequence: 0x0006db26
Journal start: 7391
В группе 32768 блоков. Всего у нас 1048576 блоков, следовательно: 1048576/32768 = 32 группы
Если вы запустите dumpe2fs (без -h), вы получите длинный список всех групп и соответствующую информацию. Например, для моей первой группы:
Group 0: (Blocks 0-32767) [ITABLE_ZEROED]
Checksum 0xdc79, unused inodes 0
Primary superblock at 0, Group descriptors at 1-1
Reserved GDT blocks at 2-512
Block bitmap at 513 (+513), Inode bitmap at 529 (+529)
Inode table at 545-1056 (+545)
13296 free blocks, 0 free inodes, 1487 directories
Free blocks: 10382, 11506-11537, 11672-11679, 11714-11727, 12169, 12173-12179, 12181-12185, 12938-12962, 12964-12969, 13105, 13217-13246, 13384-13390, 13392-13393, 13644-13647, 13707, 13712-13855, 16346-18395, 20442-22491, 22699-22701, 22748, 23053-31837, 32290-32408
Free inodes:
Здесь вы заметите несколько вещей:
Мы можем найти список наших суперблоков с:
dumpe2fs /dev/xvda1 | grep -i superblock
dumpe2fs 1.41.12 (17-May-2010)
Primary superblock at 0, Group descriptors at 1-1
Backup superblock at 32768, Group descriptors at 32769-32769
Backup superblock at 98304, Group descriptors at 98305-98305
Backup superblock at 163840, Group descriptors at 163841-163841
Backup superblock at 229376, Group descriptors at 229377-229377
Backup superblock at 294912, Group descriptors at 294913-294913
Backup superblock at 819200, Group descriptors at 819201-819201
Backup superblock at 884736, Group descriptors at 884737-884737
Итак, в моем случае 1 первичный суперблок и 7 резервных копий.
Разрабатывая это, мы получаем:
Посчитав, мы находим:
24 groups * 514 block/group + 8 groups * 516 blocks/group = 16464 blocks
Что в точности равно нашему пропущенному числу!
Стоит упомянуть, что есть дополнительные зарезервированные блоки (например, зарезервированные блоки GDT), которые допускают рост в будущем, но df учитывает их в своих расчетах. Кроме того, журнал файловой системы распознается df как использованное пространство (поэтому даже без файлов будет использовано 128 МБ).