Google-Cloud-Platform
在啟動腳本中對本地 ssd 進行分區和格式化
我正在嘗試在啟動腳本中在 Google Cloud Platform / Google Compute Engine 上設置“臨時”本地 SSD,以便在創建 VM 時執行可搶占實例。執行此腳本時,VM 上沒有有價值的數據。
從或 Web 控制台創建具有本地 SSD 的 VM 後,
gcloud
需要在 VM 上進行一些設置。本地 SSD 文件說我應該:
- 辨識 ssd 塊設備
lsblk
- 格式化它
mkfs.ext4 -F /dev/[block-dev-from-part1]
- 將它安裝在某個地方&&享受
但在第 2 步中,我得到一個
/dev/sdb1
未找到的錯誤。
fdisk
顯示/dev/sdb
存在但沒有分區表。我可以手動使用 fdisk 並且可以,但是如何在啟動腳本中對 SSD 進行分區和設置?
如果您願意冒險讓 SSD 始終位於 /dev/sdb 並且 fdisk 不會更改其使用者界面,您可以簡單地執行 fdisk 並在一個
EOF
塊中提供 fdisk 的輸入,如下所示:#!/bin/bash sleep 30 fdisk /dev/sdb <<EOF n p 1 w EOF mkfs.ext4 -F /dev/sdb1 mkdir /tmp/ssd mount /dev/sdb1 /tmp/ssd chmod 777 /tmp/ssd
fdisk 輸入
n
用於新建,p
用於系統分區,然後1
用於分區 1,兩個空行接受來自 fdisk 的預設值,然後w
寫入分區表。