无法装载terraform创建的卷

无法装载terraform创建的卷,terraform,terraform-provider-aws,Terraform,Terraform Provider Aws,我正在使用以下地形模板 resource "aws_instance" "ec2" { ami = "${var.ami_id}" instance_type = "${var.flavor}" key_name = "${var.key_name}" availability_zone = "${var.availability_zone}" security_groups= ["${var.security_group}"] tags = {Nam

我正在使用以下地形模板

resource "aws_instance" "ec2" {
  ami           = "${var.ami_id}"
  instance_type = "${var.flavor}"
  key_name = "${var.key_name}"
  availability_zone = "${var.availability_zone}"
  security_groups= ["${var.security_group}"]
  tags = {Name = "${var.instance_name}"}
  }

resource "aws_volume_attachment" "ebs_volume" {
  device_name = "/dev/sdg"
  volume_id = "vol-006d716dad719545c"
  instance_id = "${aws_instance.ec2.id}"
}
在aws中启动实例并将卷附加到该实例

当我执行此操作时,我看到实例已创建,卷也已连接到实例

ubuntu@ip-172-31-10-43:~$ lsblk
NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
loop0     7:0    0   91M  1 loop /snap/core/6350
loop1     7:1    0   18M  1 loop /snap/amazon-ssm-agent/930
loop2     7:2    0 88.4M  1 loop /snap/core/6964
loop3     7:3    0   18M  1 loop /snap/amazon-ssm-agent/1335
xvda    202:0    0   50G  0 disk
└─xvda1 202:1    0   50G  0 part /
xvdg    202:96   0   20G  0 disk
但是当我尝试装入卷时,我遇到了一个奇怪的错误

ubuntu@ip-172-31-10-43:~$ sudo mkdir -p /goutham
ubuntu@ip-172-31-10-43:~$ sudo mount /dev/xvdg /goutha,
mount: /goutha,: mount point does not exist.
ubuntu@ip-172-31-10-43:~$ sudo mount /dev/xvdg /goutham
mount: /goutham: wrong fs type, bad option, bad superblock on /dev/xvdg, missing codepage or helper program, or other error.
有人能帮我解决一下我在这个练习中犯了什么错误吗


提前谢谢。

我想我没有在卷中创建文件系统,因为我试图连接的卷是空卷

所以这帮了我的忙

$ sudo mkfs -t xfs /dev/xvdg


谢谢

您可以使用用户数据和terraform脚本在连接的磁盘上创建文件系统

  • 创建一个sh文件,templates/mkfs.sh
  • #/bin/bash
    虽然ls/dev/xvdg>/dev/null
    做
    睡眠5
    完成
    如果[`file-s/dev/xvdg | cut-d'-f2`='data']
    然后
    mkfs.xfs/dev/xvdg
    fi
    
  • 地形文字
  • data“模板”文件“mkfs”{
    template=“${file(${path.module}/templates/mkfs.sh”)}
    }
    资源“aws_实例”“ec2”{
    ...
    user_data=“${data.template_file.mkfs}”
    ...
    }
    
    它将在创建ec2实例时运行,并等待磁盘装入。之后,它将创建文件系统

    sudo mkdir -p /goutham
    
    sudo mount /dev/xvdg /goutham