Инициализация диска с данными на сервере Linux (parted)

Ниже описано, как использовать утилиту parted для инициализации диска с данными, подключенного к серверу под управлением Linux®.

Максимальная емкость диска:

  • MBR — 2 ТиБ.

  • GPT — 32 ТиБ.

Когда емкость диска больше 2 ТиБ, используйте для раздела разметку GPT. Для создания GPT-раздела в Linux вместо инструмента fdisk используется parted.

Процедура инициализации диска зависит от выбранной операционной системы. В этой инструкции используется виртуальная машина с CentOS 7.4 64bit, к которой диск данных подключен, но не инициализирован.

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

В этом примере будет создан GPT-раздел на новом диске данных с помощью утилиты parted. Раздел будет отформатирован с помощью файловой системы ext4, смонтирован в /mnt/sdc и настроен на автоматическое монтирование при запуске системы.

  1. Подключитесь к виртуальной машине.

  2. Выведите информацию о дисках и разделах с помощью команды:

    lsblk
    

    Пример вывода:

    NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    vda    253:0    0   40G  0 disk
    └─vda1 253:1    0   40G  0 part /
    vdb    253:16   0  100G  0 disk
    

    В примере к серверу подключено два диска:

    • /dev/vda — системный диск.

    • /dev/vdb — новый диск c данными.

  3. Запустите утилиту parted для работы с диском «/dev/vdb»:

    parted /dev/vdb
    

    Пример вывода:

    GNU Parted 3.1
    Using /dev/vdb
    Welcome to GNU Parted! Type 'help' to view a list of commands.
    (parted)
    
  4. Чтобы просмотреть текущую разметку раздела диска, введите p и нажмите Enter.

    Пример вывода:

    Error: /dev/vdb: unrecognised disk label
    Model: Virtio Block Device (virtblk)
    Disk /dev/vdb: 107GB
    Sector size (logical/physical): 512B/512B
    Partition Table: unknown
    Disk Flags:
    (parted)
    

    Параметр Partition Table в примере имеет значение «unknown». Это означает, что для нового диска разметка раздела не задана.

  5. Задайте GPT-разметку таблиц раздела с помощью команды:

    mklabel gpt
    

    Примечание

    При изменении разметки таблиц раздела все данные на диске будут удалены. Если на диске есть данные, перед изменением разметки создайте резервную копию.

  6. Чтобы просмотреть разметку раздела диска, введите p и нажмите Enter.

    Пример вывода:

    Model: Virtio Block Device (virtblk)
    Disk /dev/vdb: 107GB
    Sector size (logical/physical): 512B/512B
    Partition Table: gpt
    Disk Flags:
    
    Number  Start  End  Size  File system  Name  Flags
    

    Значение параметра Partition Table означает, что для нового диска задана разметка раздела GPT.

  7. Установите единицу измерения диска в секторах:

    unit s
    
  8. В примере для нового диска будет создан один раздел, который будет начинаться с 2048 и использовать 100% остальной части диска. Чтобы задать эти параметры, выполните команду:

    mkpart test 2048s 100%
    

    Пример вывода:

    mkpart opt 2048s 100%
    
  9. Чтобы просмотреть сведения о новом разделе, введите p и нажмите Enter.

    Пример вывода:

    Model: Virtio Block Device (virtblk)
    Disk /dev/vdb: 209715200s
    Sector size (logical/physical): 512B/512B
    Partition Table: gpt
    Disk Flags:
    
    Number  Start  End         Size        File system  Name  Flags
     1      2048s  209713151s  209711104s               test
    
  10. Чтобы закрыть утилиту parted, введите q и нажмите Enter.

    Пример вывода:

    Information: You may need to update /etc/fstab.
    
  11. Перед установкой автоматического монтирования нужно обновить /etc/fstab. Перед обновлением файла нужно отформатировать раздел в формате нужной файловой системы и смонтировать раздел в точке монтирования.

    Чтобы просмотреть сведения о разделе диска, выполните команду:

    lsblk
    

    Пример вывода:

    NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    vda    253:0    0   40G  0 disk
    └─vda1 253:1    0   40G  0 part /
    vdb    253:16   0  100G  0 disk
    └─vdb1 253:17   0  100G  0 part
    

    В выводе команды отображается созданный раздел /dev/vdb1.

  12. Отформатируйте новый раздел. В этом примере будет использоваться файловая система 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
    6553600 inodes, 26213888 blocks
    1310694 blocks (5.00%) reserved for the super user
    First data block=0
    Maximum filesystem blocks=2174746624
    800 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
    
    Allocating group tables: done
    Writing inode tables: done
    Creating journal (32768 blocks): done
    Writing superblocks and filesystem accounting information: done
    

    Примечание

    В разных файловых системах допустимые размеры разделов варьируются. Рекомендуется выбрать подходящую файловую систему в соответствии с требованиями.

  13. Создайте точку монтирования /mnt/sdc:

    mkdir /mnt/sdc
    
  14. Смонтируйте новый раздел /dev/vdb1 в /mnt/sdc:

    mount /dev/vdb1 /mnt/sdc
    
  15. Чтобы посмотреть результат монтирования, введите команду:

    df -TH
    

    Новый раздел /dev/vdb1 смонтирован на /mnt/sdc.

Настройка автоматического монтирования при запуске системы

В этом разделе показано, как настроить автоматическое монтирование диска при запуске сервера.

Чтобы идентифицировать диски в файле fstab, в этом примере будет использован UUID. Для идентификации дисков не рекомендуется использовать названия устройств, поскольку оно может измениться (например, с /dev/vdb1 на /dev/vdb2) во время остановки или запуска сервера, что приведет к неправильной работе сервера после перезапуска.

  1. Подключитесь к виртуальной машине.

  2. Чтобы запросить UUID раздела /dev/vdb1, введите команду:

    blkid /dev/vdb1
    

    Пример вывода:

    /dev/vdb1: UUID="0b3040e2-1367-4abb-841d-ddb0b92693df" TYPE="ext4"
    
  3. Откройте файл fstab с помощью редактора vi:

    vi /etc/fstab
    
  4. Чтобы войти в режим редактирования, нажмите i.

  5. Добавьте новую строку:

    UUID=0b3040e2-1367-4abb-841d-ddb0b92693df /mnt/sdc ext4 defaults 0 2
    

    Замените содержимое строки на параметры в вашей среде:

    • UUID — UUID раздела. Получен с помощью команды blkid /dev/vdb1.

    • /mnt/sdc — каталог, в который смонтирован раздел. Получен с помощью команды df -TH.

    • ext4 — файловая система раздела. Получен с помощью команды df -TH.

    • defaults — опции монтирования раздела. Значение defaults указывает на использование стандартных опций.

    • 0 — резервное копирование с помощью утилиты dump.

      Возможные параметры:

      • 0 — не использовать резервное копирование.

      • 1 — использовать резервное копирование.

    • 2 — параметр утилиты fsck. Утилита проверяет файловую систему на ошибки и возможные проблемы. Этот параметр определяет, используется ли fsck для проверки диска во время запуска.

      Возможные значения:

      • 0 — не использовать fsck.

      • 1 — если точкой монтирования является корневой раздел (/), то этот параметр должен иметь значение 1.

      • 2 — если для корневого раздела задано значение 1, для остальных разделов должно быть задано значение 2 и выше.

  6. Чтобы сохранить изменения в файле и закрыть редактор, нажмите Esc, введите :wq и нажмите Enter.

Автоматическое монтирование раздела настроено. Чтобы проверить его работу:

  1. Размонтируйте раздел:

    umount /dev/vdb1
    
  2. Перезапустите файл /etc/fstab:

    mount -a
    
  3. Выведите информацию о монтировании раздела:

    mount | grep /mnt/sdc
    

Если автоматическое монтирование настроено верно, появится соответствующая информация:

/dev/vdb1 on /mnt/sdc type ext4 (rw,relatime,data=ordered)
Запустили Evolution free tier
для Dev & Test
Получить