在啟動腳本中對本機 SSD 進行分割和格式化

在啟動腳本中對本機 SSD 進行分割和格式化

我正在嘗試在啟動腳本中在 Google Cloud Platform / Google Compute Engine 上設定一個「臨時」本地 SSD,以便在建立虛擬機器時運行可搶佔執行個體。執行此腳本時,VM 上不存在任何有價值的資料。

從 Web 控制台建立具有本機 SSD 的虛擬機器後gcloud,需要在虛擬機器上進行一些設定。

本機SSD文檔說我應該:

  1. 識別 SSD 區塊設備lsblk
  2. 將其格式化為mkfs.ext4 -F /dev/[block-dev-from-part1]
  3. 將其安裝在某個地方&&享受

/dev/sdb1但在第 2 步中我收到一個未找到的錯誤。

fdisk顯示/dev/sdb存在但沒有分區表。

我可以手動使用 fdisk 並且可以正常工作,但是如何在啟動腳本中對 SSD 進行分區並進行設定?

答案1

如果您願意冒險讓 SSD 始終位於 /dev/sdb 並且 fdisk 不會更改其用戶界面,您可以簡單地運行 fdisk 並在區塊中提供 fdisk 的輸入,EOF如下所示:

#!/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寫入分區表。

答案2

本地SSD可以直接作為區塊設備使用,無需分區。

你可以:mkfs.ext4 -F /dev/sdb

相關內容