Как мне создать и настроить раздел ext4 из командной строки?

РАЗДЕЛЕНИЕ НА РАЗДЕЛЫ (например fdisk)
Каковы некоторые полезные команды, используемые для разделения дополнительного жесткого диска из командной строки? Поскольку большинство опубликованных руководств ориентированы на GParted и другие графические утилиты, краткое описание некоторых последовательностей командной строки было бы полезно.

настройка - ЗАРЕЗЕРВИРОВАННОЕ ПРОСТРАНСТВО, ВРЕМЯ ОБРАТНОЙ ЗАПИСИ И ДОСТУПА
Как удалить зарезервированное место на диске, выделенное (по умолчанию) на случай, если диск заполнится на 100%. Поскольку I является дополнительным диском просто для "данных", удаление зарезервированной области гарантирует, что весь диск будет доступен для использования.

Мне также интересно узнать о сквозной записи и обратной записи и пропустить обновление времени доступа (к файлам и каталогам), чтобы повысить производительность.

В первую очередь:

!! ВНИМАНИЕ!!

Эти команды являются примеры. УДАЛЕНИЕ разделов, ИЗМЕНЕНИЕ и ФОРМАТИРОВАНИЕ файловых систем приводит к уничтожению данных и/или может помешать загрузке вашего компьютера.  Делайте резервные копии.   Используйте на свой страх и риск. Попробуйте на компьютере, на котором вы не возражаете потерять все данные. предостережение админа.


Чтобы быстро настроить диск как отдельный раздел ext4...

  1. Просмотр обнаруженных устройств класса "ДИСК"

    lshw -C disk
  2. Просмотр существующих таблиц разделов

    fdisk -l
  3. Отредактируйте таблицу разделов для выбранного мной устройства (в данном случае "sdx")

    fdisk /dev/sdx

    В FDISK нажмите:

    • d ...чтобы dудалите текущий раздел

    • n ...для создания nперегородка РЭБ

    • p ...чтобы указать его как PРИМАРНАЯ перегородка

    • 1 ...чтобы установить его в качестве 1ST первичный раздел

    • w ...чтобы всовершите обряд перемен.

  4. Отображение новой таблицы разделов:

    fdisk -l
  5. Отформатируйте файловую систему нового раздела как тип ext4

    mkfs -t ext4 /dev/sdx1
  6. Создайте новый каталог, в который будет монтироваться новый диск:

    mkdir /storagemount /dev/sdx1 /storage

настройка

  1. Удалите зарезервированные блоки (т.е. установите значение 0%), поскольку этот диск предназначен только для пользовательских данных

    tune2fs -m 0 /dev/sdx1
  2. Поскольку сервер подключен к ИБП, установите режим обратной записи, чтобы приложения не ждали фактической записи на диск

    tune2fs -o journal_data_writeback /dev/sdx1
  3. Монтируется при загрузке с помощью /etc/fstab а также установить политику обратной записи

    vi /etc/fstab
  4. Найдите (или добавьте) соответствующую строку в fstab для вашего драйва. Параметры в fstab разделены пробелом, например, описанный выше диск может выглядеть как:

    /dev/sdx1 /storage ext4 relatime,errors=remount-ro 0 1
    • Первый параметр идентифицирует раздел (либо с помощью /dev/, либо с помощью длинного UUID);
    • Второй параметр - это путь, по которому будет смонтирован раздел;
    • В-третьих, это тип файловой системы;
    • Четвертый параметр содержит параметры;
    • Пятое - это dump запланируйте резервное копирование; и,
    • Шестой параметр - номер прохода (используется для управления fsck порядок).

Измените параметры (4-й параметр) на:

noatime,nodiratime,data=writeback,barrier=0,nobh,errors=remount-ro

Перезагрузитесь, чтобы убедиться, что все прошло хорошо.
Помните, что эти команды разрушительны! Имейте резервные копии и будьте осторожны!

С помощью parted

Ниже приведены инструкции по созданию нового раздела ext4 на новом жестком диске с parted (протестировано на Ubuntu 14.04.4 LTS x64). parted поддерживает Таблица разделов GUID (GPT) и впоследствии может использоваться для разделов объемом более 2 ТБ, в отличие от fdisk.

Воспользуйся sudo lshw -C disk *-disk чтобы увидеть логическое имя вашего нового жесткого диска:

   description: ATA Disk   product: ST6000NM0024-1HT   vendor: Seagate   physical id: 0.0.0   bus info: scsi@1:0.0.0   logical name: /dev/sdb   version: SN05   serial: Z4D30T30   size: 5589GiB (6001GB)   configuration: ansiversion=5 sectorsize=4096

Логическое имя - это /dev/sdb. Мы можем начать:

sudo parted /dev/sdb mklabel gpt # Creating the GUID Partition Table (GPT)

С sudo parted /dev/sdb print, мы можем видеть, что GPT был создан:

username@server:~$ sudo parted /dev/sdb printModel: ATA ST6000NM0024-1HT (scsi)Disk /dev/sdb: 6001GBSector size (logical/physical): 512B/4096BPartition Table: gptNumber  Start  End  Size  File system  Name  Flags

Нам также нужно знать размер диска (мы будем использовать МБ в качестве единицы измерения):

sudo parted /dev/sdb print unit MB print free

что указывает на:

Disk /dev/sdb: 6001175MB

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

sudo parted --align optimal /dev/sdb mkpart primary ext4 0% 6001175MB 

(см. https://unix.stackexchange.com/a/49274/16704 если вы хотите знать, почему мы используем --align optimal)

С sudo parted /dev/sdb print, мы видим, что была создана метка основного раздела:

username@server:~$ sudo parted /dev/sdb printModel: ATA ST6000NM0024-1HT (scsi)Disk /dev/sdb: 6001GBSector size (logical/physical): 512B/4096BPartition Table: gptNumber  Start   End     Size    File system  Name     Flags 1      1049kB  6001GB  6001GB  xfs          primary

Затем нам нужно использовать mkfs чтобы фактически создать раздел:

sudo mkfs.ext4 /dev/sdb1

Теперь раздел создан, нам нужно его смонтировать. Для этого, sudo nano /etc/fstab и добавьте следующую строку (/crimea это папка, в которую мы выбираем для монтирования нового раздела):

/dev/sdb1       /crimea ext4 defaults   0       0      

Мы создаем папку и перезагружаем /etc/fstab:

sudo mkdir /crimeasudo mount -a # Remount /etc/fstab without rebooting in Linux

Вы можете увидеть новый смонтированный раздел с помощью df -h:

/dev/sdb1                      5.5T   58M  5.2T   1% /crimea

В sudo nano /etc/fstab, вместо того , чтобы использовать /dev/sdb1 вы могли бы использовать его UUID, который вы можете найти с помощью sudo lshw -C volume:

*-volume       description: EXT4 volume       vendor: Linux       physical id: 1       bus info: scsi@1:0.0.0,1       logical name: /dev/sdb1       logical name: /crimea       version: 1.0       serial: c3559307-795b-66db-9844-8e974c88a1cf       size: 200MiB       capacity: 5589GiB       capabilities: journaled extended_attributes huge_files dir_nlink extents ext4 ext2 initialized       configuration: created=2016-06-24 14:56:55 filesystem=ext4 lastmountpoint=/boot modified=2016-07-01 17:15:55 mount.fstype=ext4 mount.options=rw,relatime,data=ordered mounted=2016-07-01 17:07:19 name=primary state=mounted

В противном случае вы могли бы просто сделать sudo blkid /dev/sdb1:

/dev/sdb1: UUID="c3559307-795b-66db-9844-8e974c88a1cf" TYPE="ext4"

Новая линия /etc/fstab будет:

UUID=c3559307-795b-66db-9844-8e974c88a1cf          5.5T   58M  5.2T   1% /crimea

https://unix.stackexchange.com/a/137868/16704 объясняет, почему лучше всего использовать UUID (liquidat, cc by-sa 3.0):

Преимущество использования UUID заключается в том, что он не зависит от фактического номера устройства, который операционная система присваивает вашему жесткому диску. Изображение вы добавляете в систему другой жесткий диск, и по какой-то причине ОС решает, что ваш старый диск теперь sdb вместо sba. Ваш процесс загрузки был бы испорчен, если бы fstab указывал на имя устройства. Однако, в случае UUID, это было бы прекрасно.


Резюме:

sudo lshw -C disk                # Checking the location of the new drive. It is /dev/sdb.     sudo parted /dev/sdb mklabel gpt # Creating the GUID Partition Table (GPT)sudo parted /dev/sdb print       # Checking that the GPT has been createdsudo parted /dev/sdb print unit MB print free # see 6001175MB sizesudo parted --align optimal /dev/sdb mkpart primary ext4 0% 6001175MB # Creating partition labelsudo mkfs.ext4 /dev/sdb1         # Creating the partitionsudo nano /etc/fstab             # Add line `/dev/sdb1 /crimea ext4 defaults 0 0`sudo mount -a # Remount /etc/fstab without rebooting