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

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

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

  • MBR — 2 Тб.

  • GPT — 18 Эб.

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

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

Предварительные условия

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

В этом примере создадим первичный раздел на новом диске с данными с использованием MBR и fdisk. Также раздел будет отформатирован с использованием файловой системы ext4, смонтирован в /mnt/sdc и настроен на автоматическое монтирование при запуске системы.

  1. Введите команду fdisk -l.

    [root@ecs-test-0001 ~]# fdisk -l
    
    Disk /dev/vda: 42.9 GB, 42949672960 bytes, 83886080 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: 0x000bcb4e
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/vda1   *        2048    83886079    41942016   83  Linux
    
    Disk /dev/vdb: 107.4 GB, 107374182400 bytes, 209715200 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
    

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

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

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

  2. Введите команду для раздела нового диска с данными fdisk new data disk, где new data disk — путь к прикрепленному диску.

  3. Введите команду fdisk /dev/vdb.

    [root@ecs-test-0001 ~]# 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 0x38717fc1.
    
    Command (m for help):
    
  4. Чтобы создать новый раздел, введите команду n.

    Command (m for help): n
    Partition type:
    p   primary (0 primary, 0 extended, 4 free)
    e   extended
    

    Существует два типа разделов диска:

    • При выборе p создается первичный раздел.

    • При выборе e создается расширенный раздел.

    См.также

    При использовании MBR могут быть созданы максимум четыре первичных раздела или три первичных и один расширенный разделы. Перед использованием расширенного раздела необходимо разделить его на логические разделы. Разделы диска, созданные с использованием GPT, не классифицируются.

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

    Select (default p): p
    Partition number (1-4, default 1):
    

    Partition number указывает серийный номер первичного раздела. Значение варьируется от одного до четырех.

  6. Введите серийный номер первичного раздела и нажмите Enter. В этом примере используется первичный раздел номер один.

    См.также

    Обычно при классификации пустого диска раздел начинается с номера один.

    Partition number (1-4, default 1): 1
    First sector (2048-209715199, default 2048):
    

    First sector указывает первый сектор. Значение находится в диапазоне от 2048 до 209715199, по умолчанию — 2048.

  7. Выберите первый сектор по умолчанию 2048 и нажмите Enter. Система отображает первый и последний секторы доступного пространства раздела. Можно использовать стандартное значение или настроить его в пределах этого диапазона. Номер первого сектора должен быть меньше номера последнего сектора.

    First sector (2048-209715199, default 2048):
    Using default value 2048
    Last sector, +sectors or +size{K,M,G} (2048-209715199, default 209715199):
    

    Last sector указывает последний сектор. Значение находится в диапазоне от 2048 до 209715199, по умолчанию — 209715199.

  8. Выберите последний сектор по умолчанию 209715199 и нажмите Enter. Система отображает первый и последний секторы доступного пространства раздела. Можно настроить значение в пределах этого диапазона или использовать по умолчанию. Первый сектор должен быть меньше последнего сектора.

    Last sector, +sectors or +size{K,M,G} (2048-209715199, default 209715199):
    Using default value 209715199
    Partition 1 of type Linux and of size 100 GiB is set
    
    Command (m for help):
    

    Для нового диска с данными создан первичный раздел.

  9. Чтобы просмотреть сведения, введите p и нажмите Enter.

    Command (m for help): p
    
    Disk /dev/vdb: 107.4 GB, 107374182400 bytes, 209715200 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: 0x38717fc1
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/vdb1            2048   209715199   104856576   83  Linux
    
    Command (m for help):
    

    Отображаются сведения о разделе /dev/vdb1.

  10. Чтобы записать изменения в таблицу разделов, введите w и нажмите Enter.

    Command (m for help): w
    The partition table has been altered!
    
    Calling ioctl() to re-read partition table.
    Syncing disks.
    

    Раздел создан.

    См.также

    Чтобы отменить сделанные ранее изменения, выйдите из fdisk, введя p.

  11. Выполните команду partprobe, чтобы синхронизировать новую таблицу разделов с ОС.

  12. Выполните следующую команду, чтобы установить файловую систему ext4 для нового раздела:

    mkfs -t ext4 /dev/vdb1

    [root@ecs-test-0001 ~]# 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, 26214144 blocks
    1310707 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.

    [root@ecs-test-0001 ~]# df -TH
    Filesystem     Type      Size  Used Avail Use% Mounted on
    /dev/vda1      ext4       43G  1.9G   39G   5% /
    devtmpfs       devtmpfs  2.0G     0  2.0G   0% /dev
    tmpfs          tmpfs     2.0G     0  2.0G   0% /dev/shm
    tmpfs          tmpfs     2.0G  9.1M  2.0G   1% /run
    tmpfs          tmpfs     2.0G     0  2.0G   0% /sys/fs/cgroup
    tmpfs          tmpfs     398M     0  398M   0% /run/user/0
    /dev/vdb1      ext4      106G   63M  101G   1% /mnt/sdc
    

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

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

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

  1. Выполните следующую команду, чтобы запросить UUID раздела /dev/vdb1:

    blkid /dev/vdb1

    [root@ecs-test-0001 ~]# blkid /dev/vdb1
    /dev/vdb1: UUID="0b3040e2-1367-4abb-841d-ddb0b92693df" TYPE="ext4"
    

    Отображается UUID раздела /dev/vdb1.

  2. Введите команду vi /etc/fstab, чтобы открыть файл fstab с помощью редактора vi.

  3. Чтобы войти в режим редактирования, нажмите i.

  4. Переместите курсор в конец файла и нажмите Enter. Добавьте следующую информацию:

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

    Предыдущее содержимое используется только для примера. Добавьте информацию, которая используется в среде. Параметры описываются следующим образом:

    • В первом столбце указан UUID раздела, полученный в пункте 1.

    • Во втором столбце указан каталог, в который смонтирован раздел. Можно запросить точку монтирования с помощью команды df -TH.

    • В третьем столбце указан формат файловой системы раздела. Можно запросить формат файловой системы с помощью команды df -TH.

    • Четвертая колонка указывает вариант монтирования раздела. Этот параметр устанавливается по умолчанию.

    • В пятой колонке указан вариант резервного копирования дампа Linux.

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

      • 1 — использовать резервную копию дампа Linux.

    • В шестом столбце указан параметр fsck для проверки прикрепленного диска во время запуска.

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

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

  5. Нажмите Esc → :wq → Enter.

    Система сохраняет настройки и выходит из редактора vi.

  6. Выполните следующие операции, чтобы проверить функцию автоматического монтирования:

    1. Введите umount /dev/vdb1, чтобы размонтировать раздел.

    2. Введите mount -a, чтобы перезагрузить все содержимое файла /etc/fstab.

    3. Введите mount | grep /mnt/sdc, чтобы запросить информацию о монтировании файловой системы.

    Отображается информация, подобная следующей, что функция автоматического монтирования установлена:

    root@ecs-test-0001 ~]# mount | grep /mnt/sdc
    /dev/vdb1 on /mnt/sdc type ext4 (rw,relatime,data=ordered)