Handbook:AMD64/Blocks/Disks/ru

From Gentoo Wiki
Jump to: navigation, search
This page is a translated version of the page Handbook:Alpha/Blocks/Disks and the translation is 99% complete.


Слайсы

Несмотря на то, что теоретически возможно использовать весь диск для размещения системы Linux, это почти никогда не делается на практике. Вместо этого, блочное устройство разбивается на меньшие, более управляемые блочные устройства. В системах Alpha они называются слайсами.

Заметка
In further sections, the installation instructions will use the example partitioning for the ARC/AlphaBIOS setup. Please adjust to personal preference!

Разрабатываем схему разделов

Сколько разделов и насколько большие?

Количество разделов очень сильно зависит от назначения системы. Например, если много пользователей, скорее всего, захочется отделить /home/ для повышения безопасности и упрощения резервного копирования. Если Gentoo устанавливается для использования в роли почтового сервера, следует отделить /var/, так как вся почта хранится в /var/. Правильный выбор файловой системы увеличит производительность. Для игровых серверов потребуется отдельный раздел /opt/, так как большинство игровых серверов устанавливается туда. Причины выделения те же, что и для /home/: безопасность и резервное копирование. Определенно не помешает побольше места для /usr/: не только потому, что там хранится большинство приложений, обычно там также находится Gentoo репозиторий ebuild-файлов (по умолчанию находится в /var/db/repos/gentoo), который занимает около 650 МБ. Эта оценка дискового пространства исключает каталоги binpkgs/ и distfiles/, которые по умолчанию хранятся в /var/cache/.

Все сильно зависит от того, чего хочет достигнуть администратор. Наличие отдельных разделов или томов имеет следующие плюсы:

  • Можно выбрать наиболее подходящую файловую систему для каждого раздела или тома.
  • Свободное место во всей системе не кончится "вдруг" из-за того, что одна-единственная сбойная программа постоянно записывает файлы в раздел или том.
  • Необходимая проверка файловых систем будет занимать меньше времени, так как проверка разных разделов может выполняться параллельно (еще больший выигрыш времени дает использование нескольких физических дисков).
  • Можно повысить безопасность системы, монтируя часть разделов в режиме read-only (только для чтения), nosuid (игнорируется бит setuid), noexec (игнорируется бит исполнения) и так далее.

Однако у множества разделов также есть недостатки. Если они не настроены правильно, может получиться так, что будет огромное количество свободного места на одном разделе и отсутствием его на другом. Другой проблемой является то, что отдельные разделы, особенно для важных точек монтирования, например /usr/ или /var/, часто требуют загрузки initramfs, чтобы смонтировать разделы прежде чем запустятся другие загрузочные скрипты. Это не всегда является проблемой, так что результаты могут быть разные.

Также существует лимит в 15 разделов для SCSI и SATA, если только на диске не используются метки GPT.

Что по поводу пространства подкачки?

Не существует идеального значения для раздела подкачки. Целью пространства подкачки является предоставление дискового пространства ядру, когда оперативная память (ОЗУ) сильно используется. Пространство подкачки позволяет ядру переносить страницы памяти, которые, скорее всего, не будут использоваться в ближайшее время, на диск (что называется swap, или page-out), освобождая память. Конечно, если эта память, вдруг, неожиданно понадобится, эти страницы должны быть помещены обратно в память (page-in), что займет некоторое время (так как диски - это очень медленные устройства, если сравнивать их с оперативной памятью).

Если на этой системе не требуется запускать приложения, требовательные к памяти, либо очень много памяти, то, скорее всего, не нужно много пространства подкачки. Однако раздел подкачки также используется для сохранения всей памяти в случае гибернации. Если планируется использовать гибернацию, то нужно больше пространство подкачки, хотя бы равное количеству оперативной памяти, которое есть в системе.


Использование fdisk для разбития диска (только SRM)

Далее будет объяснено как создать примерную разметку слайсов для SRM:

Слайс Описание
/dev/sda1 Слайс раздела подкачки (swap)
/dev/sda2 Корневой слайс (root)
/dev/sda3 Весь диск (необходимо)

Измените структуру слайсов в соответствии с личными предпочтениями.

Определение доступных дисков

Используйте следующие команды, чтобы выяснить какие диски доступны в системе.

Для дисков IDE:

root #dmesg | grep 'drive$'

Для дисков SCSI:

root #dmesg | grep 'scsi'

Вывод команды покажет какие диски обнаружены и путь к ним в /dev/. Далее мы будем предполагать, что это SCSI-диск /dev/sda.

Теперь запустите fdisk:

root #fdisk /dev/sda

Удаление всех слайсов

Если жесткий диск полностью пуст, тогда создайте сперва BSD disklabel.

Command (m for help):b
/dev/sda contains no disklabel.
Do you want to create a disklabel? (y/n) y
A bunch of drive-specific info will show here
3 partitions:
#       start       end      size     fstype   [fsize bsize   cpg]                                    
  c:        1      5290*     5289*    unused        0     0

Мы начнем с удаления всех слайсов кроме 'c'-слайса (необходим для использования BSD disklabels). Следующий пример показывает как удалить слайс (в примере мы используем 'a'). Повторите этот процесс, чтобы удалить все другие слайсы (все кроме слайса 'c').

Используйте p, чтобы просмотреть все доступные слайсы. d используется для удаления слайса.

BSD disklabel command (m for help):p
8 partitions:
#       start       end      size     fstype   [fsize bsize   cpg]                                    
  a:        1       235*      234*    4.2BSD     1024  8192    16
  b:      235*      469*      234*      swap
  c:        1      5290*     5289*    unused        0     0
  d:      469*     2076*     1607*    unused        0     0
  e:     2076*     3683*     1607*    unused        0     0
  f:     3683*     5290*     1607*    unused        0     0
  g:      469*     1749*     1280     4.2BSD     1024  8192    16
  h:     1749*     5290*     3541*    unused        0     0
BSD disklabel command (m for help):d
Partition (a-h): a

После проделывания этой операции со всеми слайсами список должен показывать что-то подобное:

BSD disklabel command (m for help):p
3 partitions:
#       start       end      size     fstype   [fsize bsize   cpg]                                    
  c:        1      5290*     5289*    unused        0     0

Создание слайса подкачки

В системах на базе Alpha нет необходимости создавать отдельный слайс boot. Тем не менее, первый цилиндр нельзя воспользоваться, так как там будет размещен образ aboot.

Мы создадим слайс подкачки начиная с третьего цилиндра и размером в 1 GB. Используйте n, чтобы создать новый слайс. После создания слайса мы изменим его тип на 1 (один), означает swap.

BSD disklabel command (m for help):n
Partition (a-p): a
First cylinder (1-5290, default 1): 3
Last cylinder or +size or +sizeM or +sizeK (3-5290, default 5290): +1024M
BSD disklabel command (m for help):t
Partition (a-c): a
Hex code (type L to list codes): 1

После выполнения этих операций должна быть показана примерно такая разметка:

BSD disklabel command (m for help):p
3 partitions:
#       start       end      size     fstype   [fsize bsize   cpg]                                    
  a:        3      1003      1001       swap
  c:        1      5290*     5289*    unused        0     0

Создание коревого слайса

Мы создадим корневой слайс начиная с первого цилиндра после слайса подкачки. Используйте p, что посмотреть где слайс подкачки заканчивается. В нашем примере это 1003. Создайте корневой слайс начиная с 1004.

Другая проблема заключается в том, что в fdisk обнаружена ошибка, из-за которой число доступных цилиндров на единицу больше реального числа цилиндров. Другими словами, при запросе последнего цилиндра, уменьшите номер цилиндра (в этом примере: 5290) на один.

Когда слайс создан, мы изменим тип на 8 для ext2.

BSD disklabel command (m for help):n
Partition (a-p): b
First cylinder (1-5290, default 1): 1004
Last cylinder or +size or +sizeM or +sizeK (1004-5290, default 5290): 5289
BSD disklabel command (m for help):t
Partition (a-c): b
Hex code (type L to list codes): 8

Итоговая разметка слайсов теперь должна выглядеть примерно так:

BSD disklabel command (m for help):p
3 partitions:
#       start       end      size     fstype   [fsize bsize   cpg]                                    
  a:        3      1003      1001       swap
  b:     1004      5289      4286       ext2
  c:        1      5290*     5289*    unused        0     0

Сохранение разметки слайсов и выход

Выйдете из приложения fdisk нажав w. Это также сохранит разметку слайсов.

Command (m for help):w

Использование fdisk для разбития диска (только ARC/AlphaBIOS)

Далее будет объяснено как создать примерную разметку разделов для ARC/AlphaBIOS:

Раздел Описание
/dev/sda1 Загрузочный раздел (boot)
/dev/sda2 Раздел подкачки (swap)
/dev/sda3 Корневой раздел (root)

Измените структуру разделов в соответствии с личными предпочтениями.

Определение доступных дисков

Используйте следующие команды, чтобы выяснить какие диски доступны в системе.

Для дисков IDE:

root #dmesg | grep 'drive$'

Для дисков SCSI:

root #dmesg | grep 'scsi'

Из вывода команды станет видно какие диски обнаружены и путь к ним в /dev/. Далее мы будем предполагать, что это SCSI-диск /dev/sda.

Теперь запустите fdisk:

root #fdisk /dev/sda

Удаление всех разделов

Если жесткий диск полностью пуст, тогда создайте сперва DOS disklabel.

Command (m for help):o
Building a new DOS disklabel.

Мы начнем с удаления всех разделов. Следующий пример показывает как удалить раздел (в примере мы используем '1'). Повторите этот процесс, чтобы удалить все другие разделы.

Используйте p, чтобы просмотреть все доступные разделы. d используется для удаления раздела.

command (m for help):p
Disk /dev/sda: 9150 MB, 9150996480 bytes
64 heads, 32 sectors/track, 8727 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
  
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1         478      489456   83  Linux
/dev/sda2             479        8727     8446976    5  Extended
/dev/sda5             479        1433      977904   83  Linux Swap
/dev/sda6            1434        8727     7469040   83  Linux
command (m for help):d
Partition number (1-6): 1

Создание загрузочного раздела

В системах Alpha, которые используют MILO для загрузки, мы должны создать небольшой загрузочный раздел vfat.

Command (m for help):n
Command action
  e   extended
  p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-8727, default 1): 1
Last cylinder or +size or +sizeM or +sizeK (1-8727, default 8727): +16M
Command (m for help):t
Selected partition 1
Hex code (type L to list codes): 6
Changed system type of partition 1 to 6 (FAT16)

Создание раздела подкачки

Мы создадим раздел подкачки размером в 1 GB. Используйте n, чтобы создать новый раздел.

Command (m for help):n
Command action
  e   extended
  p   primary partition (1-4)
p
Partition number (1-4): 2
First cylinder (17-8727, default 17): 17
Last cylinder or +size or +sizeM or +sizeK (17-8727, default 8727): +1000M
Command (m for help):t
Partition number (1-4): 2
Hex code (type L to list codes): 82
Changed system type of partition 2 to 82 (Linux swap)

После выполнения этих операций должна быть показана примерно такая разметка:

Command (m for help):p
Disk /dev/sda: 9150 MB, 9150996480 bytes
64 heads, 32 sectors/track, 8727 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
  
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1          16       16368    6  FAT16
/dev/sda2              17         971      977920   82  Linux swap

Создание коревого раздела

Мы создадим корневой раздел. Снова просто воспользуйтесь n.

Command (m for help):n
Command action
  e   extended
  p   primary partition (1-4)
p
Partition number (1-4): 3
First cylinder (972-8727, default 972): 972
Last cylinder or +size or +sizeM or +sizeK (972-8727, default 8727): 8727

После выполнения этих операций должна быть показана примерно такая разметка:

Command (m for help):p
Disk /dev/sda: 9150 MB, 9150996480 bytes
64 heads, 32 sectors/track, 8727 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
  
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1          16       16368    6  FAT16
/dev/sda2              17         971      977920   82  Linux swap
/dev/sda3             972        8727     7942144   83  Linux

Сохранение разметки разделов и выход

Сохраните сделанные изменения в fdisk нажав w.

Command (m for help):w

Теперь, когда разделы созданы, создадим файловые системы.