GNU/Linux >> Linux の 問題 >  >> Linux

既存の EBS ボリュームを EC2 インスタンス ファイルシステムにアタッチしてマウントする問題

新しい 16 GB ボリュームを追加して既存のインスタンスにアタッチした後も、この問題が発生しました。まず最初に、現在実行中のディスクを知る必要があります

  sudo fdisk -l 

ディスク (ボリューム) に関する詳細な情報を以下に示すような出力が表示されます。"

 Disk /dev/xvda: 12.9 GB, 12884901888 bytes
  255 heads, 63 sectors/track, 1566 cylinders, total 25165824 sectors
  Units = sectors of 1 * 512 = 512 bytes
  Sector size (logical/physical): 512 bytes / 512 bytes
  I/O size (minimum/optimal): 512 bytes / 512 bytes
  Disk identifier: 0x00000000

Device Boot      Start         End      Blocks   Id  System
/dev/xvda1   *       16065    25157789    12570862+  83  Linux

 Disk /dev/xvdf: 17.2 GB, 17179869184 bytes
 255 heads, 63 sectors/track, 2088 cylinders, total 33554432 sectors
 Units = sectors of 1 * 512 = 512 bytes
 Sector size (logical/physical): 512 bytes / 512 bytes
 I/O size (minimum/optimal): 512 bytes / 512 bytes
 Disk identifier: 0x00000000

 Disk /dev/xvdf doesn't contain a valid partition table

ご覧のとおり、新しく追加されたディスク /dev/xvdf が存在します。利用可能にするには、ファイルシステムを作成してマウントポイントにマウントする必要があります。次のコマンドでそれを実現できます

 sudo mkfs -t ext4 /dev/xvdf

新しいファイル システムを作成すると、ボリューム内のすべてが消去されるため、重要なデータのない新しいボリュームでこれを行ってください

次に、おそらく /mnt フォルダーの下のディレクトリにマウントします

 sudo mount /dev/xvdf /mnt/dir/

実行して、ボリュームがインスタンスにマウントされたことを確認します

  df -h

これはあなたが持つべきものです

Filesystem      Size  Used Avail Use% Mounted on
 udev            486M   12K  486M   1% /dev
 tmpfs           100M  400K   99M   1% /run
 /dev/xvda1       12G  5.5G  5.7G  50% /
 none            4.0K     0  4.0K   0% /sys/fs/cgroup
 none            5.0M     0  5.0M   0% /run/lock
 none            497M     0  497M   0% /run/shm
 none            100M     0  100M   0% /run/user
 /dev/xvdf        16G   44M   15G   1% /mnt/ebs

これで、そこで使用するボリュームが既存の instance.credit にアタッチされました。


何らかの理由でボリュームが /dev/xvdf1 にあることに気付きました 、 /dev/xvdf ではありません .

の使用
sudo mount /dev/xvdf1 /vol -t ext4

魔法のように働きました


ワンライナー

ð¥ パーティションをマウントします (ディスクがパーティション化されている場合) :

sudo mount /dev/xvdf1 /vol -t ext4

ディスクをマウントします (パーティション分割されていない場合) :

sudo mount /dev/xvdf /vol -t ext4

ここで:

  • /dev/xvdf EBS ボリューム デバイス に変更されます マウント中
  • /vol フォルダに変更されました
  • ext4 ファイルシステム タイプです マウントされているボリュームの

よくある間違い方法:

✳️ 接続デバイス リスト

マウント コマンドが正しいかどうかを確認してください EBS ボリューム デバイス名ファイル システム タイプ .以下にそれらをすべてリストします:

sudo lsblk --output NAME,TYPE,SIZE,FSTYPE,MOUNTPOINT,UUID,LABEL

EBS ボリュームに partition が添付されて表示される場合 、 partition をマウントします;ディスクではありません。

✳️ボリュームがリストにない場合

表示されない場合は、Attach していません。 AWS Web コンソールでの EBS ボリューム

✳️再起動時の自動再マウント

EC2 インスタンスが再起動すると、これらのデバイスは再びアンマウントされます。

起動時にそれらを再度マウントする方法は、ボリュームをサーバーの /etc/fstab に追加することです ファイル。

ð¥注意:ð¥
/etc/fstab を破損した場合 ファイルを削除すると、システムが起動できなくなります。 AWS の短い記事を読んで、正しく行ったことを確認してください。

<ブロック引用>

https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-using-volumes.html#ebs-mount-after-reboot

最初 :
lsblk で 上記のコマンドで、ボリュームの UUID を見つけます &FSTYPE .

2番目 :
元の fstab のコピーを保管してください ファイル。

sudo cp /etc/fstab /etc/fstab.original

3番目 :
sudo nano /etc/fstab にボリュームの行を追加します .

fstab のフィールド 「タブ区切り」で、各行には次のフィールドがあります:

<UUID>  <MOUNTPOINT>    <FSTYPE>    defaults,discard,nofail 0   0

これはあなたを助けるための例です、私自身の fstab 次のように読みます:

LABEL=cloudimg-rootfs   /   ext4    defaults,discard,nofail 0   0
UUID=e4a4b1df-cf4a-469b-af45-89beceea5df7   /var/www-data   ext4    defaults,discard,nofail 0   0

これで完了です。以下を実行して、作業にエラーがないか確認してください:

sudo mount --all --verbose

ð の場合、次のように表示されます:

/                   : ignored
/var/www-data       : already mounted

この問題に遭遇しましたが、今解決しました。

[[email protected] ~]$ lsblk
NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda    202:0    0   8G  0 disk
└─xvda1 202:1    0   8G  0 part /
xvdf    202:80   0   8G  0 disk
└─xvdf1 202:81   0   8G  0 part

partition をマウントする必要があります

<ブロック引用>

/dev/xvdf1 (パーティションのタイプ)

disk をマウントしない

<ブロック引用>

/dev/xvdf (ディスクのタイプ)


Linux
  1. Terraformを使用してAWSでEC2インスタンスを作成します

  2. Cifsファイルシステムを直接またはFstab経由でマウントしますか?

  3. Linux でファイルシステム / パーティションをマウントおよびアンマウントする方法 (Mount/Umount コマンドの例)

  1. CentOS/RHEL で同じ名前の 2 つのボリューム グループをアクティブ化してマウントする方法

  2. 現在マウントされているファイルシステムのマウントオプションを見つける方法

  3. CentOS/RHEL 8 で Stratis ファイルシステムを作成/削除およびマウントする方法

  1. Docker 内の Docker はボリュームをマウントできません

  2. jq を Amazon EC2 インスタンスにインストールする方法

  3. AWS EC2 のアプリケーションから EBS ボリュームの現在の IOPS 使用量を見つける