Подключение дополнительного диска к Linux серверу¶
- Описание
- Создание раздела
- Форматирование раздела
- Создание точки монтирования
- Монтирование раздела
- Автоматическое монтирование раздела
Описание
В этой статье описан пример процесса добавления и подключения нового «сырого» диска к существующему серверу Linux, такой как RHEL / CentOS или Debian / Ubuntu.
В данном примере мы рассмотрим, как добавить дополнительный диск объемом 90 GB для подключения в качестве раздела «/data».
Данная статья описывает процесс подключения нового диска на основе дистрибутива «CentOS Linux 7». В статье будут рассмотрены процессы создания раздела, форматирования раздела, создание точки монтирования, а также монтирование созданного раздела как в ручном режиме так и в автоматическом.
Создание раздела будет выполнено с помощью команд fdisk. «fdisk» - это утилита командной строки для просмотра и управления жесткими дисками и разделами в системах Linux.
Информация о подключенных дисках и разделах до подключения диска:
fdisk -l
Disk /dev/vda: 10.7 GB, 10737418240 bytes, 20971520 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 label type: dos
Disk identifier: 0x000a25ba
Device Boot Start End Blocks Id System
/dev/vda1 * 2048 1026047 512000 83 Linux
/dev/vda2 1026048 10485759 4729856 8e Linux LVM
Disk /dev/mapper/vg0-rootfs: 4840 MB, 4840226816 bytes, 9453568 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
После подключения диска емкостью 90 GB, fdisk -l выдаст следующий вывод:
fdisk -l
Disk /dev/vda: 10.7 GB, 10737418240 bytes, 20971520 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 label type: dos
Disk identifier: 0x000a25ba
Device Boot Start End Blocks Id System
/dev/vda1 * 2048 1026047 512000 83 Linux
/dev/vda2 1026048 10485759 4729856 8e Linux LVM
Disk /dev/mapper/vg0-rootfs: 4840 MB, 4840226816 bytes, 9453568 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 /dev/vdb: 96.6 GB, 96636764160 bytes, 188743680 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 /dev/vdb: 96.6 GB».
Создание раздела
В данном примере будет создан раздел на диске занимающий все свободное пространство. Это значит, что размер раздела будет равен размеру диска.
Примечание
В командной строке можно использовать две команды для разбиения нового диска: fdisk и parted. Fdisk - более старая программа, и ее основным недостатком является то, что она может создавать только разделы MBR. Parted - позволяет создавать разделы MBR или GPT.
MBR (Master Boot Record) имеет два основных ограничения: у вас не может быть раздела больше 2 ТБ, и у вас не может быть более 4 основных разделов. GPT (GUID Partition Table) может выполнять обе эти функции, но это является частью стандарта EFI. Это означает, что ваше ядро должно поддерживать EFI. Последняя версия ядра поддерживает EFI, и почти все последние дистрибутивы тоже.
Так как максимальный размер диска составляет 2TB, и в данном примере подключается диск, который объемом 90 GB, будет использоваться утилита «fdisk».
Приступим к созданию раздела.
- Запустите fdisk с помощью следующей команды:
fdisk /dev/vdb
- Утилита fdisk отобразит следующее меню:
fdisk /dev/vdb
Welcome to fdisk (util-linux 2.23.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0x6561828e.
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
g create a new empty GPT partition table
G create an IRIX (SGI) partition table
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)
- Для создания нового раздела введите «n» (add a new partition) и нажмите «enter»:
Command (m for help): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p):
- Создаем основной раздел. Введите «р» и нажмите «enter».
- ::
- Select (default p): p Partition number (1-4, default 1):
- Это будет единственный раздел на диске, номер 1. Введите «1» и нажмите «enter».
Partition number (1-4, default 1): 1
First sector (2048-188743679, default 2048):
- Выбираем умолчательное значение «default 2048». Нажмите «enter».
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-188743679, default 188743679):
- Выбираем умолчательное значение «default 188743679». Нажмите «enter».
Using default value 188743679
Partition 1 of type Linux and of size 90 GiB is set
- Теперь, когда раздел введен, выберите опцию «w», чтобы записать таблицу разделов на диск. Введите «w» нажмите «enter».
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
- Если все прошло хорошо, диск был правильно размеченный и уже готовый к форматированию. Поскольку это первый раздел, Linux распознает его как /dev/vdb1, в то время как диск, на котором находится раздел, по-прежнему /dev/vdb.
Форматирование раздела
- Выполняем форматирование нового раздела «/dev/vdb1» как файловую систему «ext4»:
mkfs -t ext4 /dev/vdb1
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
5898240 inodes, 23592704 blocks
1179635 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2172649472
720 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, 7962624, 11239424, 20480000
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
Примечание
Выполняя форматирование, замените «/dev/vdb1» на путь вашего собственного раздела.
- Выполняем проверку с помощью команды «blkid»:
blkid
/dev/mapper/vg0-rootfs: UUID="1e4b1167-6fa3-4d44-bdb7-282841e0b31e" TYPE="ext4"
/dev/vda2: UUID="9stkBB-ZiYX-S7sb-rGxJ-idrH-m0ov-OTEuNs" TYPE="LVM2_member"
/dev/vda1: UUID="ab1dd6e8-62a4-4752-befe-cda7f0e8383a" TYPE="ext4"
/dev/vdb1: UUID="10396c2f-9335-4966-8e94-377e413045b4" TYPE="ext4"
Создание точки монтирования
12. Теперь, когда диск разбит на разделы и отформатирован, нужно выбрать точку монтирования. Это будет место, откуда вы получите доступ к диску в будущем. Для этого примера мы будем использовать путь «/data».
mkdir /data
Теперь всё готово для монтирования раздела к точке монтирования.
Монтирование раздела
- Для ручного монтирования используйте следующую команду:
mount /dev/vdb1 /data
Автоматическое монтирование раздела
14. Для обеспечения автоматического монтирования раздела к точке монтирования, необходимо внести изменения в «/etc/fstab». В данный конфигурационный файл необходимо добавить строку автоподключения:
UUID=10396c2f-9335-4966-8e94-377e413045b4 /data ext4 defaults 0 0
После внесенных изменений файл /etc/fstab будет выглядеть примерно так:
# /etc/fstab
# Created by anaconda on Thu Sep 14 14:20:31 2017
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/vg0-rootfs / ext4 defaults 1 1
UUID=ab1dd6e8-62a4-4752-befe-cda7f0e8383a /boot ext4 defaults 1 2
UUID=10396c2f-9335-4966-8e94-377e413045b4 /data ext4 defaults 0 0
Если перед изменением «fstab» не выполнялся процесс монтирования, описанный в пункте № 13, то его необходимо выполнить.
15. В качестве завершения и демонстрации успешно выполненного задания по подключению диска используем команду «df -h»:
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg0-rootfs 4,4G 1,6G 2,5G 40% /
devtmpfs 3,9G 0 3,9G 0% /dev
tmpfs 3,9G 0 3,9G 0% /dev/shm
tmpfs 3,9G 8,6M 3,9G 1% /run
tmpfs 3,9G 0 3,9G 0% /sys/fs/cgroup
/dev/vdb1 89G 57M 84G 1% /data
/dev/vda1 477M 121M 327M 28% /boot
tmpfs 799M 0 799M 0% /run/user/0
Как видно из результатов вывода, раздел /dev/vdb1 успешно примонтирован к /data. Общий объем раздела менее 90GB, так как часть пространства диска зарезервирована под служебные цели. В целом же диск готов к использованию.