【问题标题】:Error locking state: Error acquiring the state lock: state blob is already locked错误锁定状态:获取状态锁时出错:状态 blob 已锁定
【发布时间】:2021-02-17 18:13:06
【问题描述】:

当我尝试执行任何操作时出现此错误:

Error locking state: Error acquiring the state lock: state blob is already locked

如何列出当前持有锁的人以及获得锁的时间?

【问题讨论】:

    标签: terraform terraform-provider-azure


    【解决方案1】:

    解决此问题的最简单方法是:

    (1) 导航到存储帐户,

    (2) 然后转到 Azure 门户中保存状态文件的容器。

    (3) blob 将在租用状态列下显示为“Leased”。

    (4) 选择状态文件,然后点击“中断租约”按钮。

    *仅供参考:您需要 PIM(特权身份管理 (PIM))来执行此操作。

    引用Fixing Terraform ‘Error acquiring state lock’ in Azure

    【讨论】:

      【解决方案2】:

      取决于用于状态锁定的机制。

      您可以在配置中看到这一点(例如在 terraform.tf 中,当用作文件名时..)

      terraform {
        required_version = "0.13.4"
        backend "s3" {
          bucket         = "my.state.bucket.for.terraform"
          key            = "infra/my.tfstate"
          region         = "eu-central-1"
          encrypt        = true
          dynamodb_table = "my.locking.table.in.dynamo"
        }
      }
      

      如果使用 dynamobdb(在 aws 上),只需检查表。对 PostgreSQL 或其他什么都一样。

      要修复它,您可以从客户端释放状态:

      terraform force-unlock <ID_OF_LOCK_SHOWN_IN_ERROR>
      

      【讨论】:

        猜你喜欢
        • 2021-05-20
        • 2021-01-16
        • 2020-09-23
        • 2012-12-09
        • 1970-01-01
        • 2023-03-19
        • 1970-01-01
        • 2021-05-24
        • 1970-01-01
        相关资源
        最近更新 更多