在启动脚本中对本地 SSD 进行分区和格式化

在启动脚本中对本地 SSD 进行分区和格式化

我正在尝试在启动脚本中为在创建虚拟机时运行的可抢占实例在 Google Cloud Platform/Google Compute Engine 上设置“临时”本地 SSD。运行此脚本时,虚拟机上没有有价值的数据。

从或 Web 控制台创建具有本地 SSD 的 VM 后gcloud,需要在 VM 上进行一些设置。

本地 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

相关内容