- Инициализация диска с данными на сервере Linux емкостью более 2 ТБ (parted)
- Предварительные условия
- Создание и монтирование разделов
- Настройка автоматического монтирования при запуске системы
- Как создать GPT-диск в Linux (носитель более 2 ТиБ)
- Создаем GPT
- Создание раздела диска размером более 2 Тб в Линуксе
- Поддержка GPT в ядре
- Как создать 3 Тб раздел
- Что еще почитать по теме:
- Ubuntu → Подключение жесткого диска на 3Tb и более в Ubuntu/Debian
Инициализация диска с данными на сервере Linux емкостью более 2 ТБ (parted)
Ниже описано, как использовать parted для инициализации диска с данными, емкость которого превышает 2 ТБ.
Максимальная емкость диска:
Когда емкость диска больше 2 ТБ, необходимо использовать стиль раздела GPT. В Linux при GPT вместо инструмента fdisk используется parted.
Процедура инициализации диска зависит от выбранной операционной системы.
Предварительные условия
Создание и монтирование разделов
В этом примере создадим раздел на новом диске с данными с использованием GPT и parted. Также раздел будет отформатирован с помощью файловой системы ext4 , смонтирован в /mnt/sdc и настроен на автоматическое монтирование при запуске системы.
[root@ecs-centos74 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT vda 253:0 0 40G 0 disk ├─vda1 253:1 0 1G 0 part /boot └─vda2 253:2 0 39G 0 part / vdb 253:16 0 3T 0 disk
[root@ecs-centos74 ~]# parted /dev/vdb GNU Parted 3.1 Using /dev/vdb Welcome to GNU Parted! Type 'help' to view a list of commands. (parted)
(parted) p Error: /dev/vdb: unrecognised disk label Model: Virtio Block Device (virtblk) Disk /dev/vdb: 3299GB Sector size (logical/physical): 512B/512B Partition Table: unknown Disk Flags: (parted)
(parted) mklabel gpt (parted) p Model: Virtio Block Device (virtblk) Disk /dev/vdb: 3299GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags (parted)
(parted) mkpart opt 2048s 100% Warning: The resulting partition is not properly aligned for best performance. Ignore/Cancel? Ignore
(parted) p Model: Virtio Block Device (virtblk) Disk /dev/vdb: 6442450944s Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 2048s 6442448895s 6442446848s opt
(parted) q Information: You may need to update /etc/fstab.
[root@ecs-centos74 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT vda 253:0 0 40G 0 disk ├─vda1 253:1 0 1G 0 part /boot └─vda2 253:2 0 39G 0 part / vdb 253:16 0 3T 0 disk └─vdb1 253:17 0 3T 0 part
[root@ecs-centos74 ~]# 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 201326592 inodes, 805305856 blocks 40265292 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=2952790016 24576 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, 23887872, 71663616, 78675968, 102400000, 214990848, 512000000, 550731776, 644972544 Allocating group tables: done Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done
См.также Размеры разделов, поддерживаемые файловыми системами, различаются. Поэтому рекомендуется выбрать подходящую файловую систему в зависимости от требований.
[root@ecs-centos74 ~]# df -TH Filesystem Type Size Used Avail Use% Mounted on /dev/vda2 ext4 42G 1.5G 38G 4% / devtmpfs devtmpfs 2.0G 0 2.0G 0% /dev tmpfs tmpfs 2.0G 0 2.0G 0% /dev/shm tmpfs tmpfs 2.0G 8.9M 2.0G 1% /run tmpfs tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup /dev/vda1 ext4 1.1G 153M 801M 17% /boot tmpfs tmpfs 398M 0 398M 0% /run/user/0 /dev/vdb1 ext4 3.3T 93M 3.1T 1% /mnt/sdc
Настройка автоматического монтирования при запуске системы
В этом пункте показано, как настроить автоматическое монтирование диска при запуске сервера с помощью UUID для идентификации дисков в файле fstab . Не рекомендуется использовать имена устройств для идентификации дисков в файле, поскольку имя устройства может измениться (например, с /dev/vdb1 на /dev/vdb2) во время остановки или запуска сервера, что приведет к неправильной работе сервера после перезапуска.
- Введите команду blkid /dev/vdb1, чтобы запросить UUID раздела /dev/vdb1:
[root@ecs-test-0001 ~]# blkid /dev/vdb1 /dev/vdb1: UUID="0b3040e2-1367-4abb-841d-ddb0b92693df" TYPE="ext4"
UUID=0b3040e2-1367-4abb-841d-ddb0b92693df /mnt/sdc ext4 defaults 0 2
- В первом столбце указан UUID раздела, полученный в пункте 1.
- Во втором столбце указан каталог, в который смонтирован раздел. Можно запросить точку монтирования с помощью команды df -TH.
- В третьем столбце указан формат файловой системы раздела. Можно запросить формат файловой системы с помощью команды df -TH.
- Четвертая колонка указывает вариант монтирования раздела. Этот параметр устанавливается по умолчанию.
- В пятой колонке указан вариант резервного копирования дампа Linux.
- 0 — не использовать резервное копирование дампа Linux.
- 1 — использовать резервную копию дампа Linux.
- 0 — не использовать fsck.
- 1 — если точкой монтирования является корневой раздел (/), то этот параметр должен иметь значение 1.
- Введите umount /dev/vdb1, чтобы размонтировать раздел.
- Введите mount -a, чтобы перезагрузить все содержимое файла /etc/fstab .
- Введите mount | grep /mnt/sdc, чтобы запросить информацию о монтировании файловой системы.
Отображается информация, подобная следующей, что функция автоматического монтирования установлена:
root@ecs-test-0001 ~]# mount | grep /mnt/sdc /dev/vdb1 on /mnt/sdc type ext4 (rw,relatime,data=ordered)
Как создать GPT-диск в Linux (носитель более 2 ТиБ)
Обновлено: 18.04.2017 Опубликовано: 17.01.2017
C GPT в системах Linux работает утилита parted.
Чтобы узнать, какой именно тип диска (GPT или MBR) настроен вводим команду:
Если будет выведено предупреждение WARNING: GPT (GUID Partition Table) detected, значит используется GPT.
Также, для определения диска можно использовать gdisk, но сначала его нужно установить.
Создаем GPT
Открываем наш диск утилитой parted:
Откроется интерактивное меню утилиты — нажимаем p:
На экран будет выведена информация о разделах. Если они есть, удаляем командой rm:
* где 1 — номер раздела. Команду нужно повторить для всех разделов. Их список мы смотрели на предыдущем шаге командой p.
* если на разделе есть важная информация, ее нужно скопировать на другой носитель.(parted) mkpart primary 0 0
* где primary указывает, что раздел является основным; 0 и 0 — использовать весь диск для создания раздела, но можно использовать часть диска, например, 0 2048GB.
* где в качестве файловой системы выбрана ext4.
Для проверки, монтируем отформатированный диск в директорию /mnt:
Если есть необходимость монтировать диск при загрузке системы, прочитайте статью Автоматическое монтирование дисков в Linux
Создание раздела диска размером более 2 Тб в Линуксе
Те, кто пользуется Линуксом на десктопах, обычно имеют относительно небольшие винчестеры и разделы, в то время как для сервера необходимы большие разделы. Однако вы не сможете создать 4-х терабайтный раздел на своем RAID массиве, используя штатные инструменты Линукс. Программа fdisk не позволит вам создать раздел размером более 2 Тб.
Разрешить проблему поможет команда GNU parted, использующая GPT (GUID [Globaly Unique Identifier] Partition Table — Глобально Уникальный Идентификатор Таблицы Разделов). Она поддерживает Intel EFI/GPT таблицы разделов. GPT является стандартом для размещения разделов на физическом жестком диске. Она является частью Расширяемого Микропрограммного Интерфейса (Extensible Firmware Interface) — EFI — стандарта, предложенного Intel на смену устаревшего PC BIOS, одного из немногих сохранившихся реликтов первозданной IBM PC. EFI использует GPT так же, как BIOS использует Master Boot Record (MBR).
На следующей диаграмме приведена схема размещения GUID Partition Table. Каждый логический блок (LBA) имеет размер в 512 байт. LBA-адреса с отрицательными значениями обозначают смещения от конца тома, так что -1 обозначает последний адресуемый блок. (Рисунок заимствован из статьи [2] в Wikipedia )
Поддержка GPT в ядре
Поддержка EFI GUID Partition работает как на 32-битных, так и на 64-битных платформах. Чтобы пользоваться GPT,необходимо включить ее поддержку в ядре; если этого не сделать, то при перезагрузке сервера либо файловая система окажется немонтируемой, либо GPT таблица окажется поврежденной. Redhat Enterprise Linux / CentOS содержит поддержку GPT в ядре по умолчанию. Если же вы используете Debian или Ubuntu Linux, вам придется перекомпилировать ядро.
Установите CONFIG_EFI_PARTITION в значение y , чтобы скомпилировать ядро с поддержкой GPT.
File Systems
Partition Types
[*] Advanced partition selection
[*] EFI GUID Partition support (NEW)
.Как создать 3 Тб раздел
Один из моих клиентов имеет Raid 5 массив из 7 жестких дисков по 500 GB для хранения большого количества данных. Чтобы создать раздел, запустите в консоли GNU parted следующим образом:
# parted /dev/sdx
Вывод:
GNU Parted 1.8.1
Using /dev/sdx
Welcome to GNU Parted! Type ‘help’ to view a list of commands.
(parted)
Создаем новый GPT disklabel, то есть таблицу разделов (partition table):
mklabel gpt
Устанавливаем размер раздела ( в гигабайтах):
mkpart primary 0 3001G
Выходим с сохранением изменений:
quit
Форматируем файловую систему:
# mkfs.ext3 /dev/sdx1Примечание: Замените /dev/sdx настоящими именами вашего диска или RAID или блочного Ethernet устройства, скажем /dev/etherd/e0.0 . И не забудьте внести необходимые изменения в /etc/fstab.
Что еще почитать по теме:
1. How Basic Disks and Volumes Work (Немного устаревшие, но доходчиво изложенные основные концепции)
Ubuntu → Подключение жесткого диска на 3Tb и более в Ubuntu/Debian
Решил поделиться, думаю кому-то будет полезным.
Проблема следующая, при подключении жесткого диска на 3Tb, предназначался он для хранения бэкапов, и его разметке через fdisk, система видит только 750Gb, что не есть хорошо, проблема довольно легко решается и сейчас я об этом расскажу.
Для начала установим пакетПредположим что у меня в системе был один жеский диск он называется /dev/sda, тогда второй хард, который у нас на 3Тб будет устройство /dev/sdb вот с ним мы и будем работать.
Разметка диска
Попробуем узнать сколько блоков на нашем диске
В ответ получаем нечто подобное:
Где мы видим название модели и его объем памяти, нас интересует цифра 3001GB
Нам необходимо создать раздел на весь диск начиная от первого мегабайта до последнего
Раздел мы создали, осталось его отформатировать
выходим из parted набрав:Форматирование раздела
Теперь нам требуется отформатировать указанный раздел
для это используем утилиту mkfs
Выясняем, какие варианты файловых систем нам доступны
наберемmkfs mkfs.ext2 mkfs.ext4dev mkfs.ntfs
mkfs.bfs mkfs.ext3 mkfs.minix mkfs.vfat
mkfs.cramfs mkfs.ext4 mkfs.msdosЯ хочу отформатировать диск в ext4, тогда нам необходимо набрать:
Следуем указаниям системы и наш хард будет отформатирован, в выбранную нами, файловую систему.
Чтобы жесткий диск монтировался при старте системы автоматически, нам необходимо внести изменения в fstab, о том как это сделать, можно прочитать в статье: Монтирование раздела жесткого диска при старте системы в Linux
На этом все.