パーティショニング(例:fdisk
)
追加のハードドライブをコマンドラインからパーティション分割するために使用される便利なコマンドは何ですか?公開されているほとんどのガイドはGPartedおよびその他のグラフィカルユーティリティを対象としているため、いくつかのコマンドラインシーケンスの概要が役立ちます。
チューニング-予約済みスペース、書き戻し、アクセス時間
ドライブが100%いっぱいになった場合に備えて、(デフォルトで)確保しておいた予約済みディスクスペースを削除する方法。私は単に「データ」のセカンダリドライブであるため、予約領域を削除すると、ドライブ全体が使用可能になります。
また、ライトスルーとライトバックの両方に興味があり、パフォーマンスを改善するために(ファイルおよびディレクトリの)アクセス時間の更新をスキップします。
何よりもまず:
これらのコマンドはの例です。パーティションの削除、ファイルシステムの変更およびフォーマットは、データを破壊したり、マシンの起動を妨げる可能性があります。バックアップを作成します。自己責任で使用してください。すべてのデータを失ってもかまわないマシンで試してください。管理者に注意してください。
クラス「DISK」の検出されたデバイスを表示する
lshw -C disk
既存のパーティションテーブルを表示する
fdisk -l
選択したデバイスのパーティションテーブルを編集します(この場合は「sdx」)
fdisk /dev/sdx
FDISK内で、次を押します。
d
... to d現在のパーティションを選択します
n
...を作成する n新しいパーティション
p
...として指定する PRIMARYパーティション
1
...として設定する 1STプライマリパーティション
w
... to w変更の儀式。
新しいパーティションテーブルを表示します。
fdisk -l
タイプext4
として新しいパーティションのファイルシステムをフォーマットします
mkfs -t ext4 /dev/sdx1
新しいドライブをマウントする新しいディレクトリを作成します。
mkdir /storage
mount /dev/sdx1 /storage
チューニング
このドライブはユーザーデータ専用であるため、予約済みブロックを削除します(つまり、0%に設定します)
tune2fs -m 0 /dev/sdx1
サーバーはUPS上にあるため、アプリが実際のディスク書き込みを待たないようにライトバックを設定します
tune2fs -o journal_data_writeback /dev/sdx1
/etc/fstab
を使用して起動時にマウントし、ライトバックポリシーを設定する
vi /etc/fstab
ドライブのfstab
で関連する行を検索(または追加)します。 fstabのパラメーターは空白で区切られています。たとえば、上記のドライブは次のように表示されます。
/dev/sdx1 /storage ext4 relatime,errors=remount-ro 0 1
dump
スケジュールです。そして、fsck
順序を制御するために使用されます)。オプション(4番目のパラメーター)を次のように変更します。
noatime,nodiratime,data=writeback,barrier=0,nobh,errors=remount-ro
再起動して、すべてがうまくいったことを確認します。
これらのコマンドは破壊的であることに注意してください!バックアップを取り、注意してください!
parted
を使用parted
を使用して新しいハードドライブに新しいext4パーティションを作成する手順の下(Ubuntu 14.04.4 LTS x64でテスト済み)。 parted
は GUID Partition Table(GPT) をサポートし、その後fdisk
とは異なり、2TBを超えるパーティションに使用できます。
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
を使用する代わりに、Sudo lshw -C volume
で見つけることができるUUID
を使用できます。
*-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