コマンドラインからext4パーティションを作成および調整するにはどうすればよいですか?


41

パーティション分割(例fdisk
コマンドラインから追加のハードドライブをパーティション分割するために使用される便利なコマンドは何ですか?公開されているほとんどのガイドはGPartedやその他のグラフィカルユーティリティを対象としているため、いくつかのコマンドラインシーケンスの概要が役立ちます。

チューニング -
予約済みスペース、書き戻し、アクセス時間ドライブが100%いっぱいになった場合に(デフォルトで)確保しておいた予約済みディスクスペースを削除する方法。私は単に「データ」のセカンダリドライブであるため、予約領域を削除すると、ドライブ全体が使用可能になります。

また、ライトスルーとライトバックの両方に興味があり、パフォーマンスを向上させるために(ファイルおよびディレクトリの)アクセス時間の更新をスキップします。

回答:


64

何よりもまず:

!! 警告!!

これらのコマンドはEXAMPLEです。パーティションの削除、ファイルシステムの変更およびフォーマットは、データを破壊したり、マシンの起動を妨げる可能性があります。バックアップを作成します。自己責任で使用してください。すべてのデータを失ってもかまわないマシンで試してください。管理者に注意してください。


ドライブを単一のext4パーティションとしてすばやくセットアップするには...

  1. クラス「DISK」の検出されたデバイスを表示する

    lshw -C disk
    
  2. 既存のパーティションテーブルを表示する

    fdisk -l
    
  3. 選択したデバイスのパーティションテーブルを編集します(この場合は「sdx」)

    fdisk /dev/sdx
    

    FDISK内で、次を押します。

    • d...へのD elete現在のパーティション

    • n...作成するために、n個の東西パーティションを

    • 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によって)。
    • 2番目のパラメーターは、パーティションがマウントされるパスです。
    • 3番目はファイルシステムのタイプです。
    • 4番目のパラメーターにはオプションが含まれています。
    • 5番目はdumpバックアップのスケジュールです。そして、
    • 6番目のパラメーターはパス番号です(fsck順序を制御するために使用されます)。

オプション(4番目のパラメーター)を次のように変更します。

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

再起動して、すべてがうまくいったことを確認します。
これらのコマンドは破壊的であることに注意してください!バックアップを取り、注意してください!


3
ストレージとext4の間にスペースが必要です。コマンドを実行すると、/ dev / sdx1 /ストレージのext4がrelatime、エラー=再マウント-ROのように0 1であるので
ガネーシャクリシュナン

素晴らしいガイド!適切なfstabオプションを決定する方法に関する参考文献がここにあると便利です(一部のリストへのリンクがあれば便利です)
サンダー

13

を使用して parted

parted(Ubuntu 14.04.4 LTS x64でテスト済み)で新しいハードドライブに新しいext4パーティションを作成する手順の下。GUIDパーティションテーブル(GPT)partedサポートし、その後2TBを超えるパーティションに使用できます。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を使用する利点は、オペレーティングシステムがハードディスクに提供する実際のデバイス番号から独立していることです。イメージを別のハードディスクをシステムに追加します。何らかの理由で、OSは古いディスクがの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

代わりに、警告を回避するために、終了MBを指定sudo parted --align optimal /dev/sdb mkpart primary ext4 0% 6001175MBすることをおext4 0% 100%勧めします。結果のパーティションは、最高のパフォーマンスを得るために適切に調整されていません。
パブロマリンガルシア
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.