chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

一個代碼拼寫錯誤引發(fā)微軟Azure故障,17個生產(chǎn)級數(shù)據(jù)庫被刪

OSC開源社區(qū) ? 來源:OSC開源社區(qū) ? 2023-06-12 16:12 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

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

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

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

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

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

首先,客戶無法自己恢復(fù) Azure SQL Server,因此必須由 Azure SQL 團隊來恢復(fù) Azure SQL Server?!按_定我們需要 Azure SQL 的值班工程師,讓他們參與進來并恢復(fù)服務(wù)器,這個過程大約需要一個小時?!?/p>

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

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

根據(jù)介紹,這些問題源于服務(wù)器預(yù)熱任務(wù),該任務(wù)通過測試調(diào)用遍歷可用數(shù)據(jù)庫列表。在恢復(fù)過程中的數(shù)據(jù)庫出現(xiàn)了一個錯誤,導(dǎo)致預(yù)熱測試 “執(zhí)行指數(shù)級的 backoff retry,使得正常情況下只需不到 1 秒的預(yù)熱平均耗時了 90 分鐘?!?/p>

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

微軟方面表示,已經(jīng)實施各種修復(fù)和重新配置,以防止問題再次發(fā)生。

已經(jīng)修復(fù)了快照刪除作業(yè)中的錯誤。

為快照刪除作業(yè)創(chuàng)建了一個新測試,它針對真實的 Azure 資源充分執(zhí)行快照數(shù)據(jù)庫刪除方案。

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

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

確保所有未來的快照數(shù)據(jù)庫都在生產(chǎn)數(shù)據(jù)庫的不同 Azure SQL Server 實例上創(chuàng)建。

正在修復(fù) Web 服務(wù)器預(yù)熱任務(wù)中的邏輯,以便即使數(shù)據(jù)庫處于 offline 狀態(tài)也能成功啟動。

正在創(chuàng)建一個新的 cmdlet 來恢復(fù)已刪除的數(shù)據(jù)庫,以確?;謴?fù)使用與刪除之前相同的設(shè)置(包括備份冗余)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 數(shù)據(jù)庫
    +關(guān)注

    關(guān)注

    7

    文章

    4020

    瀏覽量

    68355
  • 資源管理
    +關(guān)注

    關(guān)注

    0

    文章

    23

    瀏覽量

    8042
  • 微軟Azure
    +關(guān)注

    關(guān)注

    0

    文章

    11

    瀏覽量

    4736

原文標(biāo)題:一個代碼拼寫錯誤引發(fā)微軟Azure故障,17 個生產(chǎn)級數(shù)據(jù)庫被刪

文章出處:【微信號:OSC開源社區(qū),微信公眾號:OSC開源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    Oracle數(shù)據(jù)庫ASM實例無法掛載的數(shù)據(jù)恢復(fù)案例

    Oracle數(shù)據(jù)庫故障表現(xiàn)為ASM磁盤組掉線,ASM實例無法掛載(mount)。數(shù)據(jù)庫管理員自行進行簡單修復(fù),未能成功,隨后聯(lián)系北亞
    的頭像 發(fā)表于 02-24 15:19 ?81次閱讀
    Oracle<b class='flag-5'>數(shù)據(jù)庫</b>ASM實例無法掛載的<b class='flag-5'>數(shù)據(jù)</b>恢復(fù)案例

    恒訊科技解析:如何安裝MySQL并創(chuàng)建數(shù)據(jù)庫

    安裝和管理MySQL不必復(fù)雜。只需幾分鐘,你就能在Linux服務(wù)器上搭建MySQL,創(chuàng)建第一個數(shù)據(jù)庫,甚至自動化備份——同時確保數(shù)據(jù)安全有序。 什么是 MySQL? MySQL 是
    的頭像 發(fā)表于 01-14 14:25 ?179次閱讀

    C語言中除數(shù)為0屬于什么錯誤

    0 的錯誤,以及援引數(shù)組元素時下標(biāo)溢出等。 靜態(tài)錯誤又可以分為語法錯誤和靜態(tài)語義錯誤。語法錯誤指有關(guān)語言結(jié)構(gòu)上的
    發(fā)表于 12-08 06:38

    mysql數(shù)據(jù)恢復(fù)—mysql數(shù)據(jù)庫表被truncate的數(shù)據(jù)恢復(fù)案例

    某云ECS網(wǎng)站服務(wù)器,linux操作系統(tǒng),部署了mysql數(shù)據(jù)庫。工作人員在執(zhí)行數(shù)據(jù)庫版本更新測試時,錯誤地將本應(yīng)在測試執(zhí)行的sql腳本在生產(chǎn)
    的頭像 發(fā)表于 09-11 09:28 ?877次閱讀
    mysql<b class='flag-5'>數(shù)據(jù)</b>恢復(fù)—mysql<b class='flag-5'>數(shù)據(jù)庫</b>表被truncate的<b class='flag-5'>數(shù)據(jù)</b>恢復(fù)案例

    數(shù)據(jù)庫性能優(yōu)化指南

    作為名在大廠摸爬滾打多年的運維老兵,我見過太多因為數(shù)據(jù)庫性能問題導(dǎo)致的生產(chǎn)事故。今天分享套完整的數(shù)據(jù)庫優(yōu)化方法論,從SQL層面到硬件配置
    的頭像 發(fā)表于 08-18 11:21 ?749次閱讀

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—服務(wù)器異常斷電導(dǎo)致Oracle數(shù)據(jù)庫故障數(shù)據(jù)恢復(fù)案例

    Oracle數(shù)據(jù)庫故障: 某公司臺服務(wù)器上部署Oracle數(shù)據(jù)庫。服務(wù)器意外斷電導(dǎo)致數(shù)據(jù)庫報錯,報錯內(nèi)容為“system01.dbf需要
    的頭像 發(fā)表于 07-24 11:12 ?648次閱讀
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b>恢復(fù)—服務(wù)器異常斷電導(dǎo)致Oracle<b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>故障</b>的<b class='flag-5'>數(shù)據(jù)</b>恢復(fù)案例

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—MongoDB數(shù)據(jù)庫文件丟失的數(shù)據(jù)恢復(fù)案例

    MongoDB數(shù)據(jù)庫數(shù)據(jù)恢復(fù)環(huán)境: 臺操作系統(tǒng)為Windows Server的虛擬機上部署MongoDB數(shù)據(jù)庫。 MongoDB數(shù)據(jù)庫
    的頭像 發(fā)表于 07-01 11:13 ?643次閱讀
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b>恢復(fù)—MongoDB<b class='flag-5'>數(shù)據(jù)庫</b>文件丟失的<b class='flag-5'>數(shù)據(jù)</b>恢復(fù)案例

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—SQL Server數(shù)據(jù)庫被加密如何恢復(fù)數(shù)據(jù)?

    SQL Server數(shù)據(jù)庫故障: SQL Server數(shù)據(jù)庫被加密,無法使用。 數(shù)據(jù)庫MDF、LDF、log日志文件名字被篡改。
    的頭像 發(fā)表于 06-25 13:54 ?676次閱讀
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b>恢復(fù)—SQL Server<b class='flag-5'>數(shù)據(jù)庫</b>被加密如何恢復(fù)<b class='flag-5'>數(shù)據(jù)</b>?

    oracle數(shù)據(jù)恢復(fù)—oracle數(shù)據(jù)庫誤執(zhí)行錯誤truncate命令如何恢復(fù)數(shù)據(jù)?

    oracle數(shù)據(jù)庫誤執(zhí)行truncate命令導(dǎo)致數(shù)據(jù)丟失是種常見情況。通常情況下,oracle數(shù)據(jù)庫誤操作刪除數(shù)據(jù)只需要通過備份恢復(fù)
    的頭像 發(fā)表于 06-05 16:01 ?1092次閱讀
    oracle<b class='flag-5'>數(shù)據(jù)</b>恢復(fù)—oracle<b class='flag-5'>數(shù)據(jù)庫</b>誤執(zhí)行<b class='flag-5'>錯誤</b>truncate命令如何恢復(fù)<b class='flag-5'>數(shù)據(jù)</b>?

    PLC數(shù)據(jù)中臺對接到MySQL數(shù)據(jù)庫并對接到生產(chǎn)看板

    工廠數(shù)據(jù)庫系統(tǒng)能夠存儲產(chǎn)品訂單信息、生產(chǎn)設(shè)備能力、原材料庫存等數(shù)據(jù)。將這些數(shù)據(jù)接入MES或ERP等系統(tǒng),能夠?qū)崿F(xiàn)生產(chǎn)管理的可視化應(yīng)用?;谶@
    的頭像 發(fā)表于 05-26 11:20 ?545次閱讀
    PLC<b class='flag-5'>數(shù)據(jù)</b>中臺對接到MySQL<b class='flag-5'>數(shù)據(jù)庫</b>并對接到<b class='flag-5'>生產(chǎn)</b>看板

    SQLSERVER數(shù)據(jù)庫是什么

    SQL Server 是由微軟公司開發(fā)的款 關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(RDBMS) ,用于存儲、管理和檢索結(jié)構(gòu)化數(shù)據(jù)。它是企業(yè)級應(yīng)用中廣泛使用的數(shù)據(jù)庫
    的頭像 發(fā)表于 05-26 09:19 ?1173次閱讀

    MySQL數(shù)據(jù)庫是什么

    MySQL數(shù)據(jù)庫種 開源的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(RDBMS) ,由瑞典MySQL AB公司開發(fā),后被Oracle公司收購。它通過結(jié)構(gòu)化查詢語言(SQL)進行數(shù)據(jù)存儲、管理和操作,廣
    的頭像 發(fā)表于 05-23 09:18 ?1218次閱讀

    SEGGER emFile支持大型數(shù)據(jù)庫

    SEGGER宣布emFile對大型數(shù)據(jù)庫的支持,集成了SQLite,方便與SEGGER的BigFAT和微軟的exFAT起使用。
    的頭像 發(fā)表于 04-23 15:51 ?782次閱讀

    分布式存儲數(shù)據(jù)恢復(fù)—虛擬機上hbase和hive數(shù)據(jù)庫數(shù)據(jù)恢復(fù)案例

    分布式存儲數(shù)據(jù)恢復(fù)環(huán)境: 16臺某品牌R730xd服務(wù)器節(jié)點,每臺服務(wù)器節(jié)點上有數(shù)臺虛擬機。 虛擬機上部署Hbase和Hive數(shù)據(jù)庫。 分布式存儲故障數(shù)據(jù)庫底層文件被誤
    的頭像 發(fā)表于 04-17 11:05 ?724次閱讀

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)——MongoDB數(shù)據(jù)庫文件拷貝后服務(wù)無法啟動的數(shù)據(jù)恢復(fù)

    MongoDB數(shù)據(jù)庫數(shù)據(jù)恢復(fù)環(huán)境: 臺Windows Server操作系統(tǒng)虛擬機上部署MongoDB數(shù)據(jù)庫。 MongoDB數(shù)據(jù)庫
    的頭像 發(fā)表于 04-09 11:34 ?868次閱讀
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b>恢復(fù)——MongoDB<b class='flag-5'>數(shù)據(jù)庫</b>文件拷貝后服務(wù)無法啟動的<b class='flag-5'>數(shù)據(jù)</b>恢復(fù)