Amazon-Web-Services
在 Ubuntu 16.04 的 AWS EC2 上自動掛載 SSD 實例儲存
我在 c5d.2xlarge 硬體上使用來自 AWS 的 Ubuntu 16.04 EC2。它帶有一個 200 GB 的 SSD,稱為
/dev/nvme1n1
.我可以使用以下方法安裝此驅動器:
$ sudo mkfs.ext4 -E nodiscard /dev/nvme1n1 $ sudo mount -o discard /dev/nvme1n1 /home/ubuntu
為了嘗試讓它自動掛載,我還添加了
/etc/fstab
:/dev/nvme1n1 /home/ubuntu/spda ext4 defaults,users,nofail,discard 0 2
我的問題:
- 當我停止/啟動實例時,它似乎不會自動掛載。我不確定如何修復/調試。
- 當我手動安裝它時,創建的文件夾屬於根目錄,我無法以使用者身份訪問它。
我的目標是能夠啟動實例並且已經安裝了驅動器並可供使用者訪問。
您看到的200GB SSD 磁碟稱為**Instance storage(或ephemeral storage),每次停止實例時都會銷毀,每次啟動實例時都會創建新**的。
這意味著兩件事:
- 不要在停止/啟動時儲存您想要保留的任何*寶貴數據- 當您停止它時,它會全部消失。*這些實例儲存磁碟非常適合記憶體、臨時目錄、交換空間等。任何可以在失去時輕鬆重新創建的東西。
- 每次啟動實例時*,磁碟都是空白的*- 您必須先對其進行格式化(例如
mkfs.ext4
),然後才能使用它。下次您停止/啟動時,它將再次為空白,您必須mkfs
再次使用它。這就是為什麼僅僅添加它
/etc/fstab
是不夠的——在引導腳本嘗試掛載它時,磁碟不會被格式化。要解決您的問題,您將必須創建一個自定義腳本,例如
/usr/local/sbin/mount-instance-store.sh
大致包含以下內容:mkfs.ext4 -E nodiscard -m0 /dev/nvme1n1 mount -o discard /dev/nvme1n1 /home/ubuntu/spda chown ubuntu:ubuntu /home/ubuntu/spda
然後,您必須確保腳本在啟動時執行。對於不同的發行版,這樣做的方法是不同的,對於 Ubuntu 16.04,這應該可以工作:How to automatically execute shell script at startup boot on systemd Linux
希望有幫助:)