Главная » 2015 » Октябрь » 5

Как создать раздел в Linux в консоли

Тэги: Категория: Linux
05.10.2015
Комментариев: 0| Просмотров: 3232
Linux: Как создать раздел в Linux в консоли | showmehow.ru


Чтобы начать использовать новый диск в Linux, например в Ubuntu, его предварительно необходимо разметить и отформатировть. Разметить - это значит создать на нем таблицу разделов и сами разделы. Отформатировать  - значит записать в раздел данные для работы выбранной файловой системы, создать журнал и т.д. Все эти действия можно сделать как с помощью графических инструментов так и в консоли.

В данной статье мы разберем второй вариант. Я как то уже писал в одной из своих предыдущих статей о том как узнать свободное и занимаемое место на диске в консоли. Данный опыт пригодится администраторам удаленных серверов, а так же любознательным пользователям. Все команды приведенные в статье должны выполняться с правами суперпользователя root. В статье приведен синтаксис характерный для ubuntu и ее производных, для использования в других дистрибутивах вы можете просто убрать из строки sudo.

Создание точки монтирования


Первое, что необходимо сделать - это создать точку монтирования, куда будет подключен новый диск. Это может быть любая пустая папка в файловой системе. Можно смонтировать и в не пустую папку, но после монтирования содержимое этой папки просмотреть будет невозможно до тех пор пока вы не отмонтируете файловую систему. Для общего пользования проще всего создать папку в каталоге /mnt. Пример команды:
sudo mkdir /mnt/disk2

Где disk2 - это папка куда будет смонтирован новый диск.

Разметка диска в Linux


Для разметки используется команда fdisk. Первым делом необходимо определить имя нового диска. Все диски в linux именуются по следующей схеме sda1 - где sd - значит scsi disk (в современных дистрибутивах все диски чаще всего именуются начиная с sd, по крайней мере в ubuntu и ее производных), a - это первый подключенный диск, например sata диск подключенный в первый порт sata контроллера, 1 -номер раздела на этом диске.

Всего на диске может быть 4 основных раздела или 3 основных и один расширенный, в котором можно создавать сколько угодно логических дисков. Логические диски в расширенном разделе нумеруются с цифры 5. Таким образом sda1 - указывает на первый первичный раздел первого диска, а например sdb5 - указывает на первый логический диск расширенного раздела второго физического диска.

Зная эту теорию перейдем к разметке диска. Первое, что нам необходимо  - это получить список доступных и размеченных дисков. Сделать это можно командой sudo fdisk -l:
sudo fdisk -l
[sudo] password for testuser: 

Disk /dev/sda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders, total 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000ced88

 Device Boot Start End Blocks Id System
/dev/sda1 * 2048 39845887 19921920 83 Linux
/dev/sda2 39847934 41940991 1046529 5 Extended
/dev/sda5 39847936 41940991 1046528 82 Linux swap / Solaris

Disk /dev/sdb: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders, total 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/sdb doesn't contain a valid partition table

По размеру и отсутствию разделов (Disk /dev/sdb doesn't contain a valid partition table) мы определяем номер дискового устройства, на котором необходимо создать и отформатировать раздел. Делаем это командой sudo fdisk /dev/sdb:
sudo fdisk /dev/sdb
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0x541a2b7b.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
Command (m for help): n

Partition type:
 p primary (0 primary, 0 extended, 4 free)
 e extended
Select (default p): 
Using default response p
Partition number (1-4, default 1): 
Using default value 1
First sector (2048-41943039, default 2048): 
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039): 
Using default value 41943039

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

В данном примере сразу после приглашения Command (m for help): мы отправляем команду n - для создания нового раздела. Далее, поскольку нам необходим единственный раздел на весь диск, соглашаемся со всеми вопросами просто нажимая Enter. А именно Partition Type - primary, Partition Number - 1, First Sector 2048, Last Sector 41943039. После второго приглашения Command (m for help):  вводим команду w для записи таблицы разделов на диск. Если вам необходим иной размер раздела то на шаге Last Sector вы можете указать размер в килобайтах, мегабайтах или гигабайтах. Например так 100G - 100 Гб.

Форматирование раздела в linux


Для того чтобы отформатировать свежесозданный раздел используется команда mkfs. Пользоваться ей очень просто. Достаточно через точку указать файловую систему, в которую необходимо отформатировать раздел, а затем через пробел устройство которое необходимо отформатировать. В нашем примере это устройство /dev/sdb1 (мы уже создали на /dev/sdb раздел, поэтому добавляем единичку в конец).
sudo mkfs.ext4 /dev/sdb1
[sudo] password for testuser: 
mke2fs 1.42.9 (4-Feb-2014)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
1310720 inodes, 5242624 blocks
262131 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=0
160 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
 4096000

Allocating group tables: done 
Writing inode tables: done 
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

Форматирование завершено. Теперь можно монтировать раздел в папку, которую мы создали в самом начале.

Монтирование файловой системы в linux


Для монтирования используется команда mount. Чтобы смонтировать наш новый диск в папку, что мы создали в самом начале статьи достаточно ввести команду:
sudo mount /dev/sdb1 /mnt/disk1

Команда не выведет никаких уведомлений, поэтому чтобы убедится, что раздел смонтирован вводим команду mount без ключей.
mount
/dev/sda1 on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/cgroup type tmpfs (rw)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
udev on /dev type devtmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
none on /run/shm type tmpfs (rw,nosuid,nodev)
none on /run/user type tmpfs (rw,noexec,nosuid,nodev,size=104857600,mode=0755)
none on /sys/fs/pstore type pstore (rw)
systemd on /sys/fs/cgroup/systemd type cgroup (rw,noexec,nosuid,nodev,none,name=systemd)
vmware-vmblock on /run/vmblock-fuse type fuse.vmware-vmblock (rw,nosuid,nodev,default_permissions,allow_other)
gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,user=testuser)
/dev/sdb1 on /mnt/disk1 type ext4 (rw)

В последней строке видим смонтированную нашу файловую систему. Чтобы отмонтировать ее достаточно ввести команду unmount:
sudo unmount /mnt/disk1

Автоматическое монтирование при загрузке


По понятным причинам монтировать каждый раз файловую систему вручную очень неудобно. Для того, чтобы настроить автоматическое монтирование отредактируем файл /etc/fstab. В общем случае синтаксис файла очень простой в одной строке по порядку идут следующие данные:
"устройство"  "точка монтирования"  "файловая система" "опции" "дамп" "пропуск" 

Последние два поля это флаги для резервного копирования "dump" и пропуск автоматической проверки диска "pass". Обычно их значения оставляют равным нулю. Давайте разберемся с остальными опциями. Первое поле устройство в нашем случае это /dev/sdb1, второе поле это точка монтирования в нашем случае она равна /mn/disk1, далее файловая система - у нас это ext4, опции монтирования можно поставить defaults. Если вы добавляете строку в конец файла то не забудьте добавить пустую строку после нее. Итоговая строка выглядит следующим образом:
/dev/sdb1 /mnt/disk1 ext4 defaults 0 0

Обратите внимание, нумерация физических дисков идет по подключенным дискам, а не по номерам портов в которые они подключены. Таким образом если вы сначала подключите во второй порт sata контроллера один диск, то он будет нумероваться как sda, но если вы подключите после этого в первый порт еще один диск нумерация может изменится! Чтобы этого не произошло лучше всего будет в fstab прописать не символьное имя устройства, а UUID диска. Получить его можно командой sudo blkid -c /dev/null :
sudo blkid -c /dev/null
/dev/sda1: UUID="d2dc2ffc-ac76-4377-ad58-e6c21e9a031f" TYPE="ext4" 
/dev/sda5: UUID="bf965acc-f452-476c-ad68-48cc81a3f897" TYPE="swap" 
/dev/sdb1: UUID="b1c23340-5e7b-4a86-a4d6-5f6a4b3438ae" TYPE="ext4" 

Далее в строке монтирования в файле fstab указать вместо /dev/sdb1 UUID=b1c23340-5e7b-4a86-a4d6-5f6a4b3438ae. Итоговая строчка будет выглядеть подобным образом:
UUID=b1c23340-5e7b-4a86-a4d6-5f6a4b3438ae /mnt/disk1 ext4 defaults 0 0

Оцените статью Комментариев: 0

Посмотрите так же

При полном или частичном копировании материалов сайта, установка ссылки на сайт источник: http://www.showmehow.ru обязательна!