Вы посетили: » пайка » где_посмотреть_фильмы » описание_различных_форматов_видео » хоккей » шахматы » заглавная_страница » compil_deb » compilirovanie » first_linux_consol » hdd
Подготовка нового жесткого диска в Linux
Если вы купили новый жесткий диск, то мало того чтобы его подключить, нужно так же создать на нем файловую систему, разделить на разделы и примонтировать, конечно тем пользователям, которые давно администрируют линукс уже «не глядя» могут сделать подобное, но для новичков это целая наука. Я в данной статье попытался рассмотреть более понятно весь этот процесс.
Нахождение дисков в системе
Наша система видит все устройства как файлы, эти файлы-устройства находятся в каталоге /dev (по моим догадкам от слова device - устройство). Чтобы посмотреть диски напишем команду просмотра объектов в директории, с маской hd* или sd*
ls /dev/hd*
Пример:
indpavel@indserver:~$ ls /dev/hd* /dev/hda /dev/hda1 /dev/hda2 /dev/hda3 /dev/hda5 /dev/hdb
На данном примере хорошо видно что у меня 2 диска hda и hdb, так же система отобразила как отдельные устройства логические диски hda1 hda2 hda3 hda5 которые находятся на физическом диске hda
SATA и Flash диски обычно видятся как sd*#
Этот вариант не самый прекрасный, гораздо красивее использовать утилиту fdisk
Вводим следующую команду
indpavel@indserver:~$ sudo fdisk -l [sudo] password for indpavel: Disk /dev/hda: 80.0 GB, 80026361856 bytes 255 heads, 63 sectors/track, 9729 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk identifier: 0x490f70f5 Device Boot Start End Blocks Id System /dev/hda1 * 1 2432 19535008+ 83 Linux /dev/hda2 2433 3040 4883760 5 Extended /dev/hda3 3041 9729 53729392+ 83 Linux /dev/hda5 2433 3040 4883728+ 82 Linux swap / Solaris Disk /dev/hdb: 320.0 GB, 320072933376 bytes 255 heads, 63 sectors/track, 38913 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk identifier: 0x00000000 Disk /dev/hdb doesn't contain a valid partition table
то что находится ниже строки «Disk /dev/hda: 80.0 GB, 80026361856 bytes» относится к диску hda на 80 гигабайт
то что находится ниже строки «Disk /dev/hdb: 320.0 GB, 320072933376 bytes» относится к диску hdb на 320 гигабайт
Думаю понять все это не сложно, на данном листинге видно что первый диск разделен у меня на 4 раздела, а второй диск не разделен на диски, так же из строки «Disk /dev/hdb doesn't contain a valid partition table» мы видим что этот диск не имеет разделов, следовательно это наш целевой новый диск на 320 гигов
Создаем разделы
Разделы создаются все той же утилиткой fdisk для этого в параметрах надо указать какой диск нам нужен (физический)
из прошлого раздела статьи (Нахождение дисков) мы определили что наш новый диск увиделся системой как /dev/hdb,соответственно вводим команду fdisk /dev/hdb
indpavel@indserver:~$ sudo fdisk /dev/hdb Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel Building a new DOS disklabel with disk identifier 0x9a6ea34c. Changes will remain in memory only, until you decide to write them. After that, of course, the previous content won't be recoverable. The number of cylinders for this disk is set to 38913. There is nothing wrong with that, but this is larger than 1024, and could in certain setups cause problems with: 1) software that runs at boot time (e.g., old versions of LILO) 2) booting and partitioning software from other OSs (e.g., DOS FDISK, OS/2 FDISK) Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite) Command (m for help):
Из листинга видим что для справки по командам надо нажать m
Command (m for help): m Command action a toggle a bootable flag b edit bsd disklabel c toggle the dos compatibility flag d delete a partition l list known partition types m print this menu n add a new partition o create a new empty DOS partition table p print the partition table q quit without saving changes s create a new empty Sun disklabel t change a partition's system id u change display/entry units v verify the partition table w write table to disk and exit x extra functionality (experts only) Command (m for help):
Поясняю по русски что значат некоторые команды
a - установка метки *загрузочный* для раздела
d удаление раздела
m отображение данной справки
n добавить новый раздел
p отобразить таблицу разделов (посмотреть какие разделы на диске)
q выйти не сохраняя изменений
v проверить таблицу разделов
w сохранить изменения и выйти
Естественно для создания разделов команда n
Command (m for help): n Command action e extended p primary partition (1-4)
Мастер спрашивает нас, какой раздел создать e - расширенный, p - основной
Расширенный раздел - такой же как и основной, только может содержать внутренние подразделы
Следовательно чтобы создать более 4х разделов на диске нужно чтобы был какой то из них расширенным и поделен на подразделы
в мастере где нас спросило какой раздел создавать выберем первичный (p)
p Partition number (1-4):
Далее мастер спрашивает нас какой будет номер раздела (от этого будет зависеть какая цифра будет после hdb)
Создаем первый
Partition number (1-4): 1 First cylinder (1-38913, default 1):
Далее спрашивает какой первый цилиндр, указываем 1
First cylinder (1-38913, default 1): 1 Last cylinder or +size or +sizeM or +sizeK (1-38913, default 38913):
Сейчас нам надо ввести конечный цилиндр раздела, но это делается так +<размер в мегабайтах>M или +<размер в килобайтах>K
Например +100000M означает что данный раздел будет размером в 100 тысяч мегабайт (около 100 гигабайт), вводим данную комбинацию
Last cylinder or +size or +sizeM or +sizeK (1-38913, default 38913): +100000M
Далее создадим еще расширенный раздел, на котором будет 2 подраздела, я уже не буду описывать каждый этап, просто сделаю комментарии в листинге
Command (m for help): n //вводим команду "n" чтобы создать новый раздел Command action e extended p primary partition (1-4) e //нажимаем e, чтобы создать расширенный раздел Partition number (1-4): 2 //указываем номер раздела (так как первый уже существует указываем 2) First cylinder (12160-38913, default 12160): //первый цилиндр раздела (в скобках указано значение которое вы можете указать, // если нажать энтер то будет значение по умолчанию - 12160) Using default value 12160 Last cylinder or +size or +sizeM or +sizeK (12160-38913, default 38913): //конечный цилиндр, можно вводить +<сколько мегабайт>M, если нажать энтер, то по умолчанию выберется последний цилиндр, //т.е. раздел создастся от начала прошлого раздела до конца диска Using default value 38913
Сейчас создаем на нашем расширенном разделе подразделы
Command (m for help): n //опять команда n чтобы создать раздел Command action l logical (5 or over) p primary partition (1-4) l //нажимаем "l", чтобы создать логический диск First cylinder (12160-38913, default 12160): //первый цилиндр, по умолчанию первый возможный цилиндр расширенного раздела Using default value 12160 Last cylinder or +size or +sizeM or +sizeK (12160-38913, default 38913): +100000M //конечный цилиндр, указываем что размер этого подраздела 100000 мегабайт Command (m for help): n //опять создаем Command action l logical (5 or over) p primary partition (1-4) l //указываем что хотим логический First cylinder (24319-38913, default 24319): //первый возможный цилиндр этого раздела это следующий после прошлого, нам надо //его создать прямо за ним без отступа, делаем по умолчанию Using default value 24319 Last cylinder or +size or +sizeM or +sizeK (24319-38913, default 38913): //конечный, по умолчанию максимально возможный, т.е. до конца нашего расширенного раздела Using default value 38913 Command (m for help): p //команда p отобразит то что мы сделали Disk /dev/hdb: 320.0 GB, 320072933376 bytes 255 heads, 63 sectors/track, 38913 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk identifier: 0xf9f57f5b Device Boot Start End Blocks Id System /dev/hdb1 1 12159 97667136 83 Linux /dev/hdb2 12160 38913 214901505 5 Extended /dev/hdb5 12160 24318 97667136 83 Linux /dev/hdb6 24319 38913 117234306 83 Linux
Сейчас мы видим то что создали 4 раздела, при чем тех разделов на которые мы что то будем сохранять 3, так как hdb2 это расширенный раздел, на него мы сохранять ни чего не сможем, но сможем сохранять на его подразделы
Чтобы сохранить изменения и выйти нажмите w
Форматирование
Сейчас на наших разделах нужно создать файловую систему, я лично предпочитаю ext3, она позволяет хранить большие файлы, а так же делает журнал, который хранит все действия перед их выполнением, и если например случайно вырубится электричество то потеря данных менее вероятна.
утилитка mkfs нам в этом поможет, чтобы отформатировать наш раздел hdb1 делаем команду
mkfs -t ext3 /dev/hdb1
А далее для наших двух логических подразделов (сам расширенный раздел не форматируем, как помните он у нас только для хранения подразделов)
mkfs -t ext3 /dev/hdb5 mkfs -t ext3 /dev/hdb6
Монтирование дисков
Мы создали три раздела один первичный и два логических /dev/hdb1
/dev/hdb5
/dev/hdb6
Например у нас hdb1 это раздел для музыки, hdb5 - раздел для видео, hdb6 - раздел для фотографий
Чтобы получить доступ к этим разделам, надо их примонтировать к какой-нибудь папке, естественно пустой, ибо все содержимое папки заменится содержимым примонтированного раздела.
Создадим такие папки, в которые будем монтировать, ну например в корне диска папки /music, /video и /photo
sudo mkdir /music /video /photo
Сейчас будем монтировать эти папки, в нашем случае примонтированные разделы должны автоматически монтироваться при загрузке системы
1.Открываем файл /etc/fstab
sudo nano /etc/fstab
2.Вписываем строчки в конец файла, более подробно о синтаксисе данного файла напишу ниже
/dev/hdb1 /music ext3 defaults 0 0 /dev/hdb5 /video ext3 defaults 0 0 /dev/hdb6 /photo ext3 defaults 0 0
Жмем ctrl+o чтоб соxранить, а далее ctrl+x чтобы выйти
3.Монтируем разделы командой
mount -a
Дополнительно
Синтаксис файла /etc/fstab
В данном файле все просто, главное соблюдать синтаксис, если где то не там сделаете пробел или наоборот его забудите, то будет что то нехорошее
*1.* Файл состоит из строчек, разделенных знаком переноса, закомментированные строки начинаются со знака решетки (#)
2. Каждая строка сотоит из 6 сегментов, разделенных знаком пробела (или несколькими пробелами) или табуляцией (или несколькими табуляциями)
3. Внутри сегмента нельзя ставить пробелы или знаки табляции
Сегменты в этом файле слкдующие:
<что> <куда> <файловая система> <опции> <флаг резеррвного копирования> <флаг проверки>
Что
В этом сегменте указывается устройство, как мы помним все устройства отображаются в виде файлов в каталоге /dev
Так же может указываться идентификатор диска например UUID=45237t4ef35 или путь до ISO файла итд
Куда
В этом сегменте указывается папка в которой будет отображаться содержимое примонтируемого устройства
Опции
rw - монтировать на запись и чтение
ro - монтировать только на чтение
exec - разрешать выполнять бинарные файлы noexec - запретить выполнять бинарные файлы nls - указание кодировки файловой системы umask - права доступа к файловой системе
Флаг резервного копирования
Указывает нужно ли включать данный раздел в дамп при создании резервной копии (бекапа) Обычно 0-нет 1-да
Флаг проверки
У меня система проверяет с определённым периодом диски на ошибки при включении компьютера (начальной загрузке), дак вот именно эта проверка и контролируется данной опцией, тут тоже 0-не проверять, 1-проверять.
p.s.: я еще не совсем понял почему бывают флаги больше 1го, но скорей всего - это приоритет проверки
Источники информации
- Денис Колисниченко «Серверное применение Linux»
- UNIX справочник, изд. O'Railly
- man fstab
- man mount
Вы находитесь здесь: Заглавная Страница » indeferend » hdd
