如何使用Terraform将驱动器连接到GCP中的windows服务器并将驱动器号分配给这些服务器?

如何使用Terraform将驱动器连接到GCP中的windows服务器并将驱动器号分配给这些服务器?,terraform,terraform-provider-gcp,Terraform,Terraform Provider Gcp,我需要将驱动器连接到GCP中的windows server VM,这必须在terraform中完成。我正在使用terraform版本12 我们有3个数据库服务器需要进入terraform。现有服务器的驱动器映射如下: Data: E Log: F Backup: G 目前,我正在构建的服务器的驱动器连接顺序不正确,并且分配了错误的字母: Log: D Backup: E Data: F 这是我用来创建和附加卷的代码: // Create Data Disk resourc

我需要将驱动器连接到GCP中的windows server VM,这必须在terraform中完成。我正在使用terraform版本12

我们有3个数据库服务器需要进入terraform。现有服务器的驱动器映射如下:

Data:   E
Log:    F
Backup: G
目前,我正在构建的服务器的驱动器连接顺序不正确,并且分配了错误的字母:

Log:    D
Backup: E
Data:   F
这是我用来创建和附加卷的代码:

// Create Data Disk
resource "google_compute_disk" "datadisk_instance1" {
  name  = var.data_disk_name_instance1
  type  = var.disk_type
  size  = var.data_disk_size
  zone  = var.zone1
  snapshot  =  var.data_snapshot_name_instance1
  physical_block_size_bytes = 4096
}

// Create Log Disk
resource "google_compute_disk" "logdisk_instance1" {
  name  = var.log_disk_name_instance1
  type  = var.disk_type
  size  = var.log_disk_size
  zone  = var.zone1
  snapshot  =  var.log_snapshot_name_instance1
  physical_block_size_bytes = 4096
}

// Create Backup Disk
resource "google_compute_disk" "backupdisk_instance1" {
  name  = var.backup_disk_name_instance1
  type  = var.disk_type
  size  = var.backup_disk_size
  zone  = var.zone1
  snapshot =  var.backup_snapshot_name_instance1
  physical_block_size_bytes = 4096
}

// Attach Data disk
resource "google_compute_attached_disk" "datadiskattach_instance1" {
  disk = google_compute_disk.datadisk_instance1.id
  instance = google_compute_instance.instance1.id
}
// Attach  Log Disk
resource "google_compute_attached_disk" "logdiskattach_instance1" {
  disk = google_compute_disk.logdisk_instance1.id
  instance = google_compute_instance.instance1.id
}

// Attach Backup disk
resource "google_compute_attached_disk" "backupdiskattach_instance1" {
  disk = google_compute_disk.backupdisk_instance1.id
  instance = google_compute_instance.instance1.id
}
正在从快照创建磁盘,必须保留数据


如何以正确的顺序连接这些磁盘并分配正确的驱动器号?

在Azure中,我们通过运行自定义脚本扩展来实现这一点,该扩展基本上在VM中下载powershell脚本并执行它

我不知道GCP,但谷歌快速搜索告诉我谷歌计算可以让你设置启动脚本。 您可以将powershell作为启动脚本运行,该脚本将执行磁盘初始化和格式化

Azure文档记录了powershell(您可能需要在此基础上进行构建,通过添加诸如-是否存在类型为RAW的分区?等检查)

Terraform docs提供了一个添加启动脚本的简单示例,您可能需要修改语法以使其在powershell中运行

好的,谢谢。但是,在这种情况下,磁盘将从快照恢复,并且必须保留数据。您通常如何/手动执行此操作?同样的步骤可以在powershell中编写并在启动时运行,对吗?好的,谢谢!我会努力的。我感谢你的信息!