国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

k8s--記一次“怪異”的時間修改導致的系列問題

IT那活兒 / 2237人閱讀
k8s--記一次“怪異”的時間修改導致的系列問題

點擊上方“IT那活兒”,關注后了解更多精彩內容!!!



 故障背景 


某日,k8s上運行的一些業務反應服務出現異常,幾個業務均出現不同程度的業務慢或者業務無法使用的情況,而且訪問ceph集群也出現緩慢或者mount的fs無法讀取等問題。
經過簡單的分析,最后匯總了各自業務問題后,我們發現了業務客戶端時間與當前時間都存在相差8小時的問題,導致了業務的失敗。
以下將整個事件的前因后果及分析過程與大家分享一下。


 分析過程 


1. 因為本人負責k8s的后端ceph存儲,所以在接到問題的第一時間后,檢查了ceph的存儲情況,確實發現了有少許客戶端響應超時的問題,具體如下:
2. 為了查看具體的客戶端信息,登錄mds服務器,運行ceph daemon mds.`hostname` dump_blocked_ops 查看具體被阻塞的客戶端如下:
3. 通過以上可以看到具體的客戶端為client.151504,然后通過ls命令查看具體客戶端使用的目錄,判斷使用目錄為/we***,進而鎖定業務W以及客戶端IP為IP-9。
ceph tell mds.`hostname` client ls |grep -E "inst|num_caps|root”
4. 因為業務使用的是容器運行,對于ceph集群來說,只能查到客戶端的宿主機具體地址IP-9,具體對應的容器已經無法查到了。
于是通知管理k8s集群的同事,檢查對應的IP-9主機上的W業務所使用的容器是否正常。      
5. 經過檢查容器確實對ceph的目錄訪問出現卡頓而且ls等命令無法正常顯示出。
同時進一步檢查日志等情況,會發現時間偏差的告警。
6. 再進一步檢查服務器時間,date顯示時間與當前時間相差8小時。
于是對服務器的messages日志進行分析,發現時間被更改,而且NTP同步暫未完成。



 業務恢復 


原因確認是時間異常后,對此IP-9服務器的時間進行同步并恢復,但業務自愈性較差,于是對容器內的業務進程進行了重啟恢復,重啟后業務恢復正常,ceph側的異常客戶端告警warn也消失了,狀態恢復為OK。



 鎖定“真兇” 


雖然業務恢復,但是更改時間的根因卻一直未找到,直到鎖定了近期剛遷移進來的業務A

因為A主機所在的IP-8主機才出現過同樣時間異常的問題,而服務異常后,我們將此服務A由IP-8主機遷移到了IP-9主機。
巧的是遷移后的第二天就再次出現了文中的上述問題,于是在詢問了業務A的相關人員后,最終鎖定了“真兇”就是業務A
業務A因為容器內使用的是UTC時區,所以應用date顯示的時間數字與我們一般使用的CST時區在數字上相差了8小時。
但是其實兩者時間是一致的,只是顯示的差異問題。所以,我們的業務A相關人員就對容器里的時間進行了手動修改,然后影響到了整臺宿主機。



 問題復盤 


雖然“真兇”最終抓獲,但是容器更改的時間影響了宿主機,這顯然是一個并不合理的解釋。
因為理論上容器所擁有的權限更改時間這種類似的操作是不允許延伸到影響容器所在的宿主機的。
于是,為了進一步了解這個bug一樣的設定,我們深入分析了一下容器所使用的鏡像。
最終定位是因為此業務A鏡像的加入集群,并未進行鏡像安全相關的掃描和審核,導致使用的自有容器鏡像默認具有很高的權限,進而導致了容器中更改時間影響到了宿主機。
此結論我們在經過審核的鏡像中得到驗證,使用date修改審核過的容器的時間,并不會影響宿主機時間。
至此,“怪異”的事件總算最終塵埃落定。而且還需提醒一下小伙伴們使用date命令時,一定要留意命令結果中顯示的是CST還是UTC或者其他時區,要修正時間的話,切記要先修正了時區后,再修正時間。



本文作者:何青

本文來源:IT那活兒(上海新炬王翦團隊)

分享

收藏

點贊

在看

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/129665.html

相關文章

  • 一次線上頻繁FGC事件和解決方式

    摘要:直接顯示了一個疑似內存泄漏的問題。然后分析文件給出的信息,發現一個叫的類。文件里面說的內存泄漏的大概的意思就是說,這個類里面的存放的東西太多了,爆掉了。修改了代碼將調用的地方改成了單例。修改完線上跑了一段日子,后來也沒有出現過這樣的問題。 問題描述: ????早上去公司上班,突然就郵件一直報警,接口報異常,然后去查服務器的運行情況,發現java的cpu爆了.接著就開始排查問題 問題解決...

    Alliot 評論0 收藏0
  • k8s安裝總結

    摘要:主要在文件附加下面的源我使用的是阿里的鏡像,如果你使用的其他國內鏡像,請找對應的鏡像源然后執行下列命令,安裝軟件。參考資料只要用小朋友都能部署基本安裝基于阿里云鏡像站安裝用在上快速構建測試集群 本次安裝環境是Ubuntu16.04,其他環境下,shell命令會有一些不同,但步驟應該大致相同,默認docker已經安裝完成 下載 下載安裝下列軟件 kubelet Node上運行的節點代理...

    Nosee 評論0 收藏0

發表評論

0條評論

IT那活兒

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<