Як створити і настроїти розділ ext4 з командного рядка?


41

РОЗМІСТЮВАННЯ (наприклад fdisk)
Які корисні команди використовуються для розділення додаткового жорсткого диска з командного рядка? Оскільки більшість опублікованих посібників спрямовані на GParted та інші графічні утиліти, корисним буде зведення деяких послідовностей командного рядка.

ТУНІНГ - ЗАБЕЗПЕЧЕННЯ ПРОСТОРИ, ЗАПИСАННЯ ТА ЧАСТИ ДОСТУПУ
Як видалити зарезервоване місце на диску (за замовчуванням), якщо диск накопичиться на 100%. Оскільки я є вторинним накопичувачем просто для «даних», видалення зарезервованої області забезпечує весь диск доступним для використання.

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

Відповіді:


64

В першу чергу:

!! УВАГА !!

Ці команди є ПРИКЛАДАМИ . ВИДАЛЕННЯ розділів, МОДИФІКАЦІЯ та ФОРМУВАННЯ файлових систем знищує дані та / або може перешкоджати завантаженню машини. Зробіть резервні копії. Використовуйте на власний ризик. Спробуйте на машині, на якій не проти втратити всі дані. застереження адмін.


Щоб швидко налаштувати диск як єдиний розділ ext4 ...

  1. Переглянути виявлені пристрої класу "DISK"

    lshw -C disk
    
  2. Переглянути наявні таблиці розділів

    fdisk -l
    
  3. Відредагуйте таблицю розділів для вибраного пристрою (у цьому випадку "sdx")

    fdisk /dev/sdx
    

    У FDISK натисніть:

    • d... до d даліть поточний розділ

    • n... створити розділ n ew

    • p... вказати його як P RIMARY розділ

    • 1... встановити його як первинний розділ 1 ST

    • w... в ж обряд зміни.

  4. Показати нову таблицю розділів:

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

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

    mkdir /storage
    mount /dev/sdx1 /storage
    

ТУНІНГ

  1. Видаліть зарезервовані блоки (тобто встановлено 0%), оскільки цей диск призначений лише для даних користувача

    tune2fs -m 0 /dev/sdx1
    
  2. Оскільки сервер працює на UPS, встановіть його назад, щоб додатки не чекали фактичного запису диска

    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

Перезавантажте, щоб перевірити, чи все пройшло добре.
Пам'ятайте, що ці команди руйнівні! Майте резервні копії та будьте обережні!


3
Між сховищем та ext4 має бути пробіл. Отже команда подібна / dev / sdx1 / storage ext4 відновлення часу, помилки = remount-ro 0 1
Ганеш Крішнан

Чудовий путівник! Було б непогано мати тут посилання на те, як визначити відповідні параметри fstab (просто було б посилання на якийсь список)
Сандер,

13

Використання 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 print
Model: ATA ST6000NM0024-1HT (scsi)
Disk /dev/sdb: 6001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt

Number  Start  End  Size  File system  Name  Flags

Нам також потрібно знати розмір диска (ми будемо використовувати MB як одиницю):

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 print
Model: ATA ST6000NM0024-1HT (scsi)
Disk /dev/sdb: 6001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt

Number  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 /crimea
sudo 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 полягає в тому, що він не залежить від фактичного номера пристрою, який операційна система надає вашому жорсткому диску. Image Ви додаєте в систему ще один жорсткий диск, і чомусь ОС вирішує, що ваш старий диск зараз 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 created
sudo parted /dev/sdb print unit MB print free # see 6001175MB size
sudo parted --align optimal /dev/sdb mkpart primary ext4 0% 6001175MB # Creating partition label
sudo mkfs.ext4 /dev/sdb1         # Creating the partition
sudo nano /etc/fstab             # Add line `/dev/sdb1 /crimea ext4 defaults 0 0`
sudo mount -a # Remount /etc/fstab without rebooting

замість того, щоб сказати кінець МБ на sudo parted --align optimal /dev/sdb mkpart primary ext4 0% 6001175MBцьому, краще було б поставити, ext4 0% 100%щоб уникнути попередження: Отриманий розділ неправильно вирівняний для найкращої продуктивності.
Пабло Марін-Гарсія
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.