空のデータディスクを作成した後、Elastic Compute Service (ECS) インスタンスでディスクを直接使用することはできません。 ディスクを初期化する必要があります。 ディスクをパーティション分割せずに生ディスクとして使用する場合は、初期化プロセス中に生ディスク上にファイルシステムを作成できます。 このトピックでは、rawディスクにファイルシステムを作成する方法について説明します。
ファイルシステムは、Linux ECSインスタンスのrawディスクにのみ作成できます。
Rawディスクは通常、/dev/vda、/dev/vdbとして表されますが、パーティションを表す /dev/vdb1、/dev/vdb2などの数値インデックスは除きます。
前提条件
データディスクがECSインスタンスにアタッチされており、ディスクのステータスが使用中です。 詳細については、「データディスクのアタッチ」をご参照ください。
データディスクの作成時にECSインスタンスにアタッチする場合は、この手順を無視してください。
手順
この例では、Alibaba Cloud Linux 3.2104 LTS 64ビットパブリックイメージが使用されています。 コマンドはオペレーティングシステムによって異なり、実際の環境に応じてアクションを調整します。
ECSインスタンスに接続します。
詳細については、「パスワードまたはキーを使用したLinuxインスタンスへの接続」をご参照ください。
次のコマンドを実行して、データディスクのデバイス名を取得します。
sudo fdisk -l
次のようなコマンド出力が表示された場合、インスタンスには /dev/vdaシステムディスクと /dev/vdbデータディスクがあります。
以下のコマンドを実行して e2fsprogs をインストールします。
sudo yum install -y e2fsprogs
説明このステップのyumコマンドは、CentOSなどのLinuxディストリビューションに適しています。 他のLinuxディストリビューションの場合は、パッケージ管理ソフトウェアに基づいてコマンドを変更します。 たとえば、DebianまたはUbuntuの場合、
sudo apt-get install <Package name>
を使用します。次のコマンドを実行して、ターゲットデータディスクのファイルシステムを作成します。
パーティションのサイズは、ファイルシステムの種類によって異なります。 ビジネス要件を満たすファイルシステムを作成します。 次のサンプルコマンドを実行して、それぞれext4ファイルシステムとxfsファイルシステムを作成します。
ext4ファイルシステムの作成
sudo mkfs.ext4 /dev/vdb
サンプルコマンドでは、
/dev/vdb
はデータディスクのデバイス名です。 デバイス名を実際のデバイス名に置き換えます。重要16 TiBデータディスク用のext4ファイルシステムを作成するときにエラーが報告された場合、使用するe2fsprogsパッケージのバージョンが1.42より前である可能性があります。 e2fsprogsのバージョンを1.42以降にアップグレードします。 詳細については、「Linuxインスタンスでのサイズが2 TiBを超えないデータディスクの初期化」の「Linuxインスタンスでのe2fsprogsのアップグレード方法」をご参照ください。
ext4ファイルシステムのlazy init機能は、データディスクのI/Oパフォーマンスに影響します。 ext4ファイルシステムのlazy init機能を無効にすることができます。 詳細については、「Linuxインスタンスでサイズが2 TiBを超えないデータディスクを初期化する」の「Linuxインスタンスでlazy init機能を無効にする方法」をご参照ください。
xfsファイルシステムの作成
sudo mkfs.xfs /dev/vdb
サンプルコマンドでは、
/dev/vdb
はデータディスクのデバイス名です。 デバイス名を実際のデバイス名に置き換えます。(必須) 使用可能なマウントディレクトリがない場合は、次のコマンドを実行して、ターゲットデータディスクのマウントディレクトリを作成します。
または、コピー先のデータディスクを既存のディレクトリにマウントすることもできます。 この例では、
/media/test
という名前のマウントディレクトリが作成されます。 ディレクトリ名を実際のディレクトリ名に置き換えます。sudo mkdir /media/test
次のコマンドを実行して、作成したマウントディレクトリにターゲットデータディスクをマウントします。
この例では、
/dev/vdb
という名前のデータディスクが/media/test
という名前のディレクトリにマウントされています。 ディスク名とディレクトリ名を実際のディスク名とディレクトリ名に置き換えます。mount
コマンドを実行してファイルシステムをマウントする場合は、対応するマウントパラメーターを指定して、ファイルシステムのデータセキュリティとパフォーマンスに関する要件を満たします。 詳細については、「mountコマンドを実行してext4ファイルシステムをマウントする」をご参照ください。(推奨) ファイルシステムのデータセキュリティとパフォーマンスに中程度の要件がある場合は、マウントパラメーターを指定しないでください。
sudo mount /dev/vdb /media/test
ファイルシステムのデータセキュリティに対する要件が高く、ファイルシステムのパフォーマンスに対する要件が低い場合は、次のマウントパラメーターを指定します。
sudo mount -o rw,atime,sync,barrier,data=journal /dev/vdb /media/test
ファイルシステムのパフォーマンスに対する要件が高く、ファイルシステムのデータセキュリティに対する要件が低い場合は、次のマウントパラメーターを指定します。
sudo mount -o defaults,noatime,nodiratime,nobarrier,nodelalloc,data=writeback /dev/vdb /media/test
次のコマンドを実行して、ファイルシステムがマウントされているかどうかを確認します。
df -h
次のようなコマンド出力が表示された場合, /dev/vdbデータディスクがマウントされます。
/etc/fstabファイルを作成し、インスタンスの起動時にディスクパーティションを自動的にマウントします。
インスタンスの起動時にデータディスクをマウントする場合は、ディスクパーティションに関する情報を /etc/fstabファイルに書き込み、インスタンスの起動時にデータディスクを自動的にマウントするようにディスクパーティションを構成します。
次のコマンドを実行して、etc/fstabファイルをバックアップします。
sudo cp /etc/fstab /etc/fstab.bak
次のコマンドを実行して、ディスクパーティションに関する情報を/etc/fstabファイルを作成します。
ルートユーザー
rootユーザーの場合は、次のコマンドを実行して /etc/fstabファイルを変更します。
echo `blkid /dev/vdb | awk '{print $2}' | sed 's/\"//g'` /media/test ext4 defaults 0 0 >> /etc/fstab
次の項目は、パラメータについて説明します。
/dev/vdb
: データディスクのデバイス名。 デバイス名を実際のデバイス名に置き換えます。/media/test
: パーティションのマウントポイント。 マウントポイントを実際のマウントポイントに置き換えます。ext4
: パーティションのファイルシステムタイプ。 ファイルシステムタイプを実際のファイルシステムタイプに置き換えます。defaults
: ファイルシステムのマウントパラメータ。 データセキュリティとファイルシステムのパフォーマンスに関する要件を満たすように、対応するマウントパラメーターを指定します。 詳細については、「mountコマンドを実行してext4ファイルシステムをマウントする」をご参照ください。
通常のユーザー
通常のユーザーの場合は、/etc/fstabファイルを手動で変更できます。 詳細については、「データディスクを自動的にマウントするためのfstabファイルのUUIDの設定」をご参照ください。
次のコマンドを実行して、/etc/fstabファイル内の新しいパーティションに関する情報を確認します。
cat /etc/fstab
次のようなコマンド出力が表示された場合、新しいパーティションの情報が /etc/fstabファイルに書き込まれます。
次のコマンドを実行して、/etc/fstabファイルで構成されているファイルシステムをマウントします。 ファイルシステムが /etc/fstabファイルで正しく構成されている場合、エラーは報告されません。
sudo mount -a
次のコマンドを実行して、ファイルシステムが期待どおりにマウントされているかどうかを確認します。
df -Th
次のようなコマンド出力が表示されると, ファイルシステムがマウントされます。