那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

一個代碼拼寫錯誤引發微軟Azure故障,17個生產級數據庫被刪

OSC開源社區 ? 來源:OSC開源社區 ? 2023-06-12 16:12 ? 次閱讀

5 月 24 日,微軟 Azure DevOps 在巴西南部地區的一處 scale-unit 發生故障,導致宕機約 10.5 個小時。近日,微軟首席軟件工程經理 Eric Mattingly 出面針對此次故障事件道歉,并透露了導致中斷的原因:即,一個簡單的拼寫錯誤致使 17 個生產級數據庫被刪除。

事件背景起源于,Azure DevOps 工程師有時需要對生產數據庫的快照進行保存,以調查報告的問題或測試性能改進。為了確保這些快照數據庫得到清理,會有一個專門的后臺每天運行,系統會在設定的時間段后刪除舊快照。

在 Sprint 222 期間,Azure DevOps 工程師升級了代碼庫,將已棄用的 Microsoft.Azure.Managment.* 包替換為受支持的 Azure.ResourceManager.* NuGet 包。此舉連帶了大量的 pull request 變更請求,以尋求將舊包中的 API 調用替換為新包中的 API 調用。而其中就隱藏了有關快照刪除作業中的一個拼寫錯誤,它將刪除 Azure SQL 數據庫的調用換成了刪除托管數據庫的 Azure SQL Server 的調用。

Eric 稱,運行此代碼的條件很少見,因此測試機制沒有很好地覆蓋。

我們使用我們的安全部署實踐 (SDP) 將 Sprint 222 部署到 Ring 0(我們的內部 Azure DevOps 組織),其中不存在快照數據庫,因此作業沒有執行。在 Ring 0 部署了幾天之后,我們接下來部署到 Ring 1,那里是受影響的巴西南部 scale-unit 所在的地方。其中快照數據庫的存在時間足以觸發錯誤代碼,當作業刪除 Azure SQL Server 時,它還刪除了 scale-unit 中的所有 17 個生產數據庫。從那時起,該 scale unit 就無法處理任何客戶流量。

1f53ffb0-0858-11ee-962d-dac502259ad0.png

Azure DevOps 工程師在數據庫刪除開始后 20 分鐘內檢測到中斷,并開始著手修復。目前數據已經全部恢復,但卻花費了長達十個小時。對此 Mattingly 則解釋了幾個原因:

首先,客戶無法自己恢復 Azure SQL Server,因此必須由 Azure SQL 團隊來恢復 Azure SQL Server。“確定我們需要 Azure SQL 的值班工程師,讓他們參與進來并恢復服務器,這個過程大約需要一個小時。”

其次,數據庫有不同的備份配置,一些被配置為 Zone 冗余備份,另一些則被配置為較新的 Geo-zone 冗余備份。協調這種不匹配情況給恢復過程增添了不少時間。

最后,在數據庫開始重新上線后,由于 Web 服務器出現了一系列復雜的問題,即使是數據位于這些數據庫中的客戶,也無法訪問整個 scale-unit。

根據介紹,這些問題源于服務器預熱任務,該任務通過測試調用遍歷可用數據庫列表。在恢復過程中的數據庫出現了一個錯誤,導致預熱測試 “執行指數級的 backoff retry,使得正常情況下只需不到 1 秒的預熱平均耗時了 90 分鐘。”

更復雜的是,這個恢復過程是交錯進行的,一旦有一兩臺服務器開始重新接受客戶的流量,它們就會過載并出現故障。最終,恢復服務需要工程師阻斷所有流向巴西南部 scale-unit 的流量,直到一切都準備就緒后再重新加入負載平衡器和處理流量。

微軟方面表示,已經實施各種修復和重新配置,以防止問題再次發生。

已經修復了快照刪除作業中的錯誤。

為快照刪除作業創建了一個新測試,它針對真實的 Azure 資源充分執行快照數據庫刪除方案。

正在為關鍵資源添加 Azure 資源管理器鎖,以防止意外刪除。

確保所有的 Azure SQL 數據庫備份都配置為 Geo-zone-redundant。

確保所有未來的快照數據庫都在生產數據庫的不同 Azure SQL Server 實例上創建。

正在修復 Web 服務器預熱任務中的邏輯,以便即使數據庫處于 offline 狀態也能成功啟動。

正在創建一個新的 cmdlet 來恢復已刪除的數據庫,以確保恢復使用與刪除之前相同的設置(包括備份冗余)。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 數據庫
    +關注

    關注

    7

    文章

    3848

    瀏覽量

    64689
  • 資源管理
    +關注

    關注

    0

    文章

    22

    瀏覽量

    7891
  • 微軟Azure
    +關注

    關注

    0

    文章

    11

    瀏覽量

    4585

原文標題:一個代碼拼寫錯誤引發微軟Azure故障,17 個生產級數據庫被刪

文章出處:【微信號:OSC開源社區,微信公眾號:OSC開源社區】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    MySQL數據庫的安裝

    MySQL是開源免費的關系型數據庫管理系統,由瑞典MySQL AB 公司開發,目前屬于 Oracle 旗下公司。 MySQL 最流行的關系型數據庫管理系統,在 WEB 應用方面M
    的頭像 發表于 01-14 11:25 ?131次閱讀
    MySQL<b class='flag-5'>數據庫</b>的安裝

    數據庫是哪種數據庫類型?

    數據庫種部署在虛擬計算環境中的數據庫,它融合了云計算的彈性和可擴展性,為用戶提供高效、靈活的數據庫服務。云數據庫主要分為兩大類:關系型
    的頭像 發表于 01-07 10:22 ?142次閱讀

    數據庫數據恢復—Mysql數據庫表記錄丟失的數據恢復流程

    Mysql數據庫故障: Mysql數據庫表記錄丟失。 Mysql數據庫故障表現: 1、Mysql
    的頭像 發表于 12-16 11:05 ?224次閱讀
    <b class='flag-5'>數據庫</b><b class='flag-5'>數據</b>恢復—Mysql<b class='flag-5'>數據庫</b>表記錄丟失的<b class='flag-5'>數據</b>恢復流程

    數據庫事件觸發的設置和應用

    數據庫無論對于生產管理還是很多的實際應用都非常重要。小編這次聊數據庫事件觸發的應用。示例使用了postgresql和Python。
    的頭像 發表于 12-13 15:14 ?220次閱讀

    數據庫數據恢復—MYSQL數據庫ibdata1文件損壞的數據恢復案例

    mysql數據庫故障: mysql數據庫文件ibdata1、MYI、MYD損壞。 故障表現:1、數據庫無法進行查詢等操作;2、使用my
    的頭像 發表于 12-09 11:05 ?224次閱讀

    SQL錯誤代碼及解決方案

    在SQL數據庫開發和管理中,常見的錯誤代碼及其解決方案可以歸納如下: 、語法錯誤(Syntax Errors) 錯誤代碼 :無特定
    的頭像 發表于 11-19 10:21 ?2936次閱讀

    數據庫數據恢復—通過拼接數據庫碎片恢復SQLserver數據庫

    運行在存儲上的SQLServer數據庫,有1000多個文件,大小幾十TB。數據庫每10天生成
    的頭像 發表于 10-31 13:21 ?337次閱讀
    <b class='flag-5'>數據庫</b><b class='flag-5'>數據</b>恢復—通過拼接<b class='flag-5'>數據庫</b>碎片恢復SQLserver<b class='flag-5'>數據庫</b>

    Oracle數據恢復—異常斷電后Oracle數據庫報錯的數據恢復案例

    Oracle數據庫故障: 機房異常斷電后,Oracle數據庫報錯:“system01.dbf需要更多的恢復來保持致性,
    的頭像 發表于 09-30 13:31 ?387次閱讀
    Oracle<b class='flag-5'>數據</b>恢復—異常斷電后Oracle<b class='flag-5'>數據庫</b>啟<b class='flag-5'>庫</b>報錯的<b class='flag-5'>數據</b>恢復案例

    企業級數據庫的配置和管理要求匯總

    企業級數據庫配置需高性能硬件支撐,包括服務器、存儲、網絡及電源冗余,選用穩定DBMS與操作系統,注重索引與查詢優化。管理上,強調數據安全,實施加密、訪問控制與審計;確保高可用,配置容錯機制與備份恢復;監控調優性能,規劃容量與擴展性;追求易用性,簡化日常管理與維護,確保
    的頭像 發表于 09-27 10:50 ?243次閱讀

    數據庫數據恢復—SQL Server數據庫出現823錯誤數據恢復案例

    SQL Server數據庫故障: SQL Server附加數據庫出現錯誤823,附加數據庫失敗。數據庫
    的頭像 發表于 09-20 11:46 ?410次閱讀
    <b class='flag-5'>數據庫</b><b class='flag-5'>數據</b>恢復—SQL Server<b class='flag-5'>數據庫</b>出現823<b class='flag-5'>錯誤</b>的<b class='flag-5'>數據</b>恢復案例

    數據庫數據恢復—SQL Server數據庫所在分區空間不足報錯的數據恢復案例

    Server數據庫故障: 存放SQL Server數據庫的D盤分區容量不足,管理員在E盤中生成了.ndf的文件并且將
    的頭像 發表于 07-10 13:54 ?579次閱讀

    數據庫數據恢復—數據庫所在分區空間不足導致sqlserver故障數據恢復案例

    數據。服務器上部署sql server數據庫數據庫存放在C盤。 數據庫故障: 工作人員發現服務器的C盤容量即將耗盡,于是將sql
    的頭像 發表于 05-22 13:16 ?540次閱讀
    <b class='flag-5'>數據庫</b><b class='flag-5'>數據</b>恢復—<b class='flag-5'>數據庫</b>所在分區空間不足導致sqlserver<b class='flag-5'>故障</b>的<b class='flag-5'>數據</b>恢復案例

    數據庫數據恢復—raid5陣列上層Sql Server數據庫數據恢復案例

    數據庫數據恢復環境: 5塊硬盤組建組RAID5陣列,劃分LUN供windows系統服務器使用。windows系統服務器內運行了Sql Server數據庫,存儲空間在操作系統層面劃分
    的頭像 發表于 05-08 11:43 ?579次閱讀
    <b class='flag-5'>數據庫</b><b class='flag-5'>數據</b>恢復—raid5陣列上層Sql Server<b class='flag-5'>數據庫</b><b class='flag-5'>數據</b>恢復案例

    微軟將為Win 10/11系統的記事本加入拼寫檢查與自動糾正功能

    此外,僅少數參與Windowsinsider測試計劃的用戶有機會體驗到此版本應用。新的記事本可使出現在文本中的拼寫錯誤字符突出顯示并給出相應修正意見,同時,使用者亦可啟用自動校正功能以避免錯別字出現。
    的頭像 發表于 03-21 10:02 ?564次閱讀

    PostgreSQL數據庫連接報錯故障分析

    數據庫的密碼設置錯誤或未設置,在連接到本地服務后,重新設置即可。本次錯誤就是大意將密碼錯打了一個字母。
    的頭像 發表于 03-15 10:00 ?1665次閱讀
    PostgreSQL<b class='flag-5'>數據庫</b>連接報錯<b class='flag-5'>故障</b>分析
    大发888游戏网页版| 迷你百家乐官网的玩法技巧和规则 | 大发888游戏技巧| 百家乐官网tie| 大发888国际娱乐城lm0| 新东泰百家乐官网的玩法技巧和规则| 棋牌源码论坛| 百家乐长路投注法| 容城县| 百家乐赢退输进有哪些| 真人百家乐官网澳门娱乐城| 大发888娱乐城赢钱| 百家乐官网筹码币套装| 兖州市| 唐人街百家乐的玩法技巧和规则| 百家乐官网千术手法| 博彩交流| 太阳城百家乐网址--| 澳门百家乐官网才能| 新全讯网网址xb112| 大发百家乐官网的玩法技巧和规则| 第一足球网| 百家乐官网扑克片礼服| 大发888网页登录| 百家乐投注技巧球讯网| 百家乐官网最新首存优惠| 东方太阳城租房| 做生意人的风水| 百家乐官网游戏研发| 大发888娱乐场玩什么| 新世纪百家乐现金网| 百家乐官网龙虎桌布| 六合彩现场开奖| 百家乐官网全部规| 六合彩| 百家乐suncity| 黄金城百家乐官网苹果版| 网上百家乐官网合法吗| 大发888大发888m摩卡游戏博彩官方下载| 百家乐平投注法| 百家乐官网路珠多少钱|