Многие люди думают что у них есть проблемы, хотя на самом деле их нет.
Или они думают что проблемы связаны с геометрией диска, хотя на самом
деле она не причем.
Все описанное в этом документе выглядит достаточно сложным,
хотя работа с геометрией диска обычно предельно проста,обычно
не нужно ничего делать вообще либо задать LILO параметр linear,
если загрузка идет лишь до LI.
Внимательно изучайте сообщения выдаваемые при загрузке и помните
чем больше вы изменяете геометрию(устанавливаете число головок и
цилиндров и т.д.) тем меньше вероятность что все это будет правильно
работать.
Проще говоря чаще всего все бывает установлено правильно по
умолчанию.
И помните Линукс не использует геометрию диска практически не где,
поэтому проблемы возникающие во время работы не могут быть вызваны
геометрией.Геометрия используется только LILO и fdisk.
Если разные операционные системы не воспринимают таблицу разделов,
то тогда это возможно проблема с геометрией.
Во всех других случаях геометрия НЕ используется.
Например если у вас проблемы с mount, то геометрия
здесь не причем.
Такая ошибка вполне вероятна.
Ядро Линукс опрашивает BIOS о hd0 и hd1 (Диски номер 80H и 81H)
и применяет эту геометрию к hda и hdb.
Но на системе, которая загружается с SCSI,первые два диска,вполне могут быть
SCSI дисками, и поэтому пятый диск (первый IDE диск), получает
геометрию sda.
Эта проблема легко решается путем задания загрузочных параметров.
`hda=C,H,S' с необходимыми C, H и S, во время загрузки или в
/etc/lilo.conf.
`Я имею два одинаковых диска 10 GB IBM . Но, fdisk
показывает для них различные размеры.
# fdisk -l /dev/hdb
Disk /dev/hdb: 255 heads, 63 sectors, 1232 cylinders
Units = cylinders of 16065 * 512 bytes
Device Boot Start End Blocks Id System
/dev/hdb1 1 1232 9896008+ 83 Linux native
# fdisk -l /dev/hdd
Disk /dev/hdd: 16 heads, 63 sectors, 19650 cylinders
Units = cylinders of 1008 * 512 bytes
Device Boot Start End Blocks Id System
/dev/hdd1 1 19650 9903568+ 83 Linux native
Как такое может быть?'
В чем же дело ? Первый из всех этих дисков
действительно 10 Гиг размером: hdb имеет размер 255*63*1232*512
= 10133544960,
а hdd имеет размер 16*63*19650*512 = 10141286400, т.е.
все правильно , и ядро видит оба диска как 10.1 ГБ.
Почему же есть разница в размерах ?
Ядро получает информацию о первых двух дисках у BIOS,
а BIOS переразметил hdb на 255 головок (и 16*19650/255=1232 цилиндров).
Округление этой цифры в меньшую сторону стоит вам около 8 МБ.
Если вы захотите переразместить hdd таким же образом,
задайте такие загрузочные параметры :`hdd=1232,255,63'.
fdisk показывает количество блоков на диске.
Если же у вас на диске создана файловая система,
то она будет занимать какое то место на диске,обычно около 4%,
размера файловой системы.Или даже больше
если при создании вы запросили много inodes.
Например:
# sfdisk -s /dev/hda9
4095976
# mke2fs -i 1024 /dev/hda9
mke2fs 1.12, 9-Jul-98 for EXT2 FS 0.5b, 95/08/09
...
204798 blocks (5.00%) reserved for the super user
...
# mount /dev/hda9 /somewhere
# df /somewhere
Filesystem 1024-blocks Used Available Capacity Mounted on
/dev/hda9 3574475 13 3369664 0% /mnt
# df -i /somewhere
Filesystem Inodes IUsed IFree %IUsed Mounted on
/dev/hda9 4096000 11 4095989 0% /mnt
#
У нас есть раздел с 4095976 блоками, создаем файловую систему ext2
на нем,монтируем его и обнаруживаем что у нас только 3574475 блока -
521501 блоков (12%) было использовано для нужд файловой системы.
Заметим, что разница между имеющимися 3574475 блоками и доступными
пользователю 3369664 - это 13 использованных блоков + 204798
блоков зарезервированных для root.
Позднее эту цифру можно изменить с помощью tune2fs.
Размер блока `-i 1024' выгоден только для раздела
содержащего очень много маленьких файлов.
По умолчанию это будет выглядеть так:
# mke2fs /dev/hda9
# mount /dev/hda9 /somewhere
# df /somewhere
Filesystem 1024-blocks Used Available Capacity Mounted on
/dev/hda9 3958475 13 3753664 0% /mnt
# df -i /somewhere
Filesystem Inodes IUsed IFree %IUsed Mounted on
/dev/hda9 1024000 11 1023989 0% /mnt
#
Теперь только 137501 блока (3.3%) используются для inodes,
т.е. высвободилось 384 МБ свободного места.
(Каждый inode занимает 128 байт.)
С другой стороны данная файловая система может содержать только
1024000 файлов (более чем достаточно), против 4096000 (слишком много)
бывших возможными ранее.
Emanual.ru – это сайт, посвящённый всем значимым событиям в IT-индустрии: новейшие разработки, уникальные методы и горячие новости! Тонны информации, полезной как для обычных пользователей, так и для самых продвинутых программистов! Интересные обсуждения на актуальные темы и огромная аудитория, которая может быть интересна широкому кругу рекламодателей. У нас вы узнаете всё о компьютерах, базах данных, операционных системах, сетях, инфраструктурах, связях и программированию на популярных языках!