시작 스크립트에서 로컬 SSD 파티션 및 포맷

시작 스크립트에서 로컬 SSD 파티션 및 포맷

VM 생성 시 실행될 선점형 인스턴스에 대한 시작 스크립트에서 Google Cloud Platform/Google Compute Engine의 "스크래치" 로컬 SSD를 설정하려고 합니다. 이 스크립트가 실행되면 VM에 중요한 데이터가 없습니다.

gcloud웹 콘솔 에서 로컬 SSD를 사용하여 VM을 생성한 후 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를 실행하고 다음 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파티션 테이블 작성을 위한 것입니다.

답변2

로컬 SSD는 파티셔닝 없이 바로 블록 장치로 사용할 수 있습니다.

다음을 수행할 수 있습니다.mkfs.ext4 -F /dev/sdb

관련 정보