EC2インスタンス(別のEBSボリュームから起動する)に接続されたEBSボリューム(例/dev/sdf
)があり、ボリュームを(を介してmount /dev/sdf /data
)マウントしました。インスタンスを停止して再開すると、ボリュームはまだ接続されていますが、マウントされていないため、手動で再度マウントする必要があります。
インスタンスの起動時にボリュームを/dev/sdf
自動的にマウントする方法はありますか?/data
EC2インスタンス(別のEBSボリュームから起動する)に接続されたEBSボリューム(例/dev/sdf
)があり、ボリュームを(を介してmount /dev/sdf /data
)マウントしました。インスタンスを停止して再開すると、ボリュームはまだ接続されていますが、マウントされていないため、手動で再度マウントする必要があります。
インスタンスの起動時にボリュームを/dev/sdf
自動的にマウントする方法はありますか?/data
公式のec2ドキュメントでは、nofailのあるプレーンな古いfstabエントリが推奨されているようです-
/dev/xvdf /data ext4 defaults,nofail 0 2
ref- http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-using-volumes.html
にエントリを作成します/etc/fstab
エントリは次のようになります。
/dev/sdf /data ext3 defaults 1 1
これにより、再起動時にボリュームが自動的にマウントされます。
これを行う/etc/initconfファイルを使用することをお勧めします。
# /etc/init/mountec2vol.conf # # description: Mounts the EBS Volume # start on net-device-up exec mount /dev/xvdf1 /myVolume`
それがあなたがしなければならないすべてです!
証明可能な証明は公式ドキュメントです
次のようなコードが必要です。
DEVICE=/dev/$(lsblk -rno NAME | awk 'FNR == 3 {print}')
MOUNT_POINT=/data/
cp /etc/fstab /etc/fstab.orig
UUID=$(blkid | grep $DEVICE | awk -F '\"' '{print $2}')
echo -e "UUID=$UUID $MOUNT_POINT xfs defaults,nofail 0 2" >> /etc/fstab
umount /data
mount -a
Terraformを使用してインスタンスを起動する場合、アタッチとマウントを使用したEBSは、私のAWS-EBS-Attach-Mountのチートシートのすべてのコードを使用できます。