日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

解決因磁盤空間耗盡導致的鎖定或無法寫入問題

MongoDB實例的磁盤空間被耗盡后,實例的狀態將轉變為鎖定中,處于該狀態的實例將無法寫入或刪除數據。本文將介紹如何排查因磁盤空間耗盡導致的無法寫入問題。

故障表現

  • 部署的應用程序突然無法將數據寫入數據庫,但是可以正常讀取數據。

  • 管理人員通過Mongo Shell連接數據庫進行排查時,測試寫入一條數據,返回錯誤信息:not authorized on xxxx to execute command,例如:

    db.customer.insert({"name":"zhangsan"})
    WriteCommandError({
            "operationTime" : Timestamp(1563437183, 1),
            "ok" : 0,
            "errmsg" : "not authorized on db1 to execute command { insert: \"customer\", ordered: true, lsid: { id: UUID(\"8d43461c-5c51-49ef-b9b3-9xxxxxxxxf\") }, $clusterTime: { clusterTime: Timestamp(1563437183, 1), signature: { hash: BinData(0, 0C3FAAE747xxxxxx), keyId: 668293399xxxxxx } }, $db: \"db1\" }",
            "code" : 13,
            "codeName" : "Unauthorized",
            "$clusterTime" : {
                    "clusterTime" : Timestamp(1563437183, 1),
                    "signature" : {
                            "hash" : BinData(0,"DD+q50dPTuIQKTzytT5SiTPYX4Q="),
                            "keyId" : NumberLong("66xxxxxxxx")
                    }
            }
    })
  • 管理人員通過MongoDB控制臺,查看到實例的狀態處于鎖定中

    說明

    由于分片集群架構的特殊性,當分片集群實例磁盤空間被占滿后,實例不會顯示為鎖定中

檢查磁盤空間是否被耗盡

  1. 登錄MongoDB管理控制臺
  2. 在頁面左上角,選擇實例所在的資源組和地域。
  3. 根據實例類型,在左側導航欄單擊副本集實例列表分片集群實例列表
  4. 找到目標實例,單擊實例ID。
  5. 根據實例類型,選擇下述步驟進行操作。

    說明

    磁盤空間使用率的數據采集粒度為5分鐘。

    • 單節點或副本集實例

      基本信息頁面,確認實例狀態及磁盤空間的使用率信息。本案例中,實例狀態為鎖定中,同時查看到實例的磁盤空間使用率超過了100%,由此可判斷磁盤空間被耗盡。

      查看磁盤空間使用率

    • 分片集群實例

      1. 單擊左側導航欄的監控信息

      2. 監控信息頁面頂部,篩選所需查看的Shard節點。選擇Shard節點

        說明

        d開頭的節點IDShard節點,以s開頭的節點IDMongos節點。

      3. 查看磁盤空間使用率。本案例中,查看到Shard節點的磁盤空間的使用率超過了100%,由此可判斷磁盤空間被耗盡。查看磁盤空間使用率

解決方法

優化建議

如果您的實例使用db.collection.remove命令刪除了大量數據或沒有整理過碎片,您可以回收磁盤碎片以提升磁盤利用率