|
141001 г.Мытищи МО Ул.Институтская д:1 ком:101 (095) 588-52-39, 588-55-62 E-mail: [email protected] |
Сервер Лаб. Космической информатики каф.ВТ Московский Государственный Университет Леса
|
---|
Многие люди думают что у них есть проблемы, хотя на самом деле их нет. Или они думают что проблемы связаны с геометрией диска, хотя на самом деле она не причем. Все описанное в этом документе выглядит достаточно сложным, хотя работа с геометрией диска обычно предельно проста,обычно не нужно ничего делать вообще либо задать 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 (слишком много) бывших возможными
ранее.