我想在AWS使用彈性文件系統(EFS)......我的目標是把它用/自動掛載etc/fstab中動態IP在/ etc/fstab中
由於EC2實例自動縮放跨越可用區域,EFS掛載IP的更改取決於實例的區域。目前,AWS提供此命令將其安裝到正確的區...
sudo mount -t nfs4 -o nfsvers=4.1 $(curl -s http://169.254.169.254/latest/meta-data/placement/availability-zone).fs-xxxx.efs.us-east-1.amazonaws.com:/ efs
然而,有一些問題,EFS DNS地址的,我只能通過提供EFS IP的連接。所以,我創建了一個bash腳本,以獲得有關區的正確IP ...
納米/efsmount.sh
#!/bin/sh
CURR_ZONE=$(/usr/bin/curl -s http://169.254.169.254/latest/meta-data/placement/availability-zone)
if [ "$CURR_ZONE" == "us-east-1e" ];then
echo "172.xx.xx.xx"
fi
... more if statements to cover all zones
我可以安裝使用這個腳本
sudo mount -t nfs4 -o nfsvers=4.1 $(/efsmount.sh):/ /efs
現在的問題是...我如何使用fstab自動掛載?
像這樣的東西用的init.d腳本在引導過程中不工作
$(/efsmount.sh):/ /efs nfs auto,noatime,nolock,bg,nfsvers=4.1,intr,tcp,actimeo=1800 0 0
感謝
fstab中是不是一個編程環境,並不能嵌入動態內容到它。您可以動態生成文件,但無論您嘗試在內部執行什麼操作,都會將其讀取爲靜態文本。 –
謝謝...有什麼替代方法可以讓它在啓動時裝上? – Jsp
cron中的外部腳本或掛載程序爲您調用的其他一些自動觸發器環境。那麼你可以找出IP並直接調用mount。 –