前言: 話說前陣子爸爸家陽台不斷出現米奇老鼠,立刻清理陽台所有東西,然後又跟市政部門反映問題,可是情況還沒有好轉,米老鼠來完一隻又一隻,我爸陽台在老鼠界應該是網紅打卡聖地(誤),要不然就是米奇老鼠版米奇林三星餐廳(?) 雖然我們抓到了三隻,到上兩個禮拜為止還有至少一隻一直抓不到,每天淩晨還會來吃事後煙留下老鼠屎,真_北。 這隻老鼠對傳統攻擊有抗性,有IT9朋友前陣子用Raspberry pi自製了一台electric mouse trap ,用pi的超聲波雷達放在鞋盒裡,鞋盒裡有一堆食物,底部佈了鐵網,偵測到有老鼠進去以後立即關門通9V電,通個1分鐘再放牠離開,大推我自己也造一台 (Youtube片搜尋一大堆,人類真變態啊,朋友好變態啊)。可是我覺得這樣又好像有點太殘忍,不如先偵測牠們什麼時候來,嚇嚇牠們看看有沒有效果再說吧。 目的: 用Raspberry pi及手上有的感測器弄一隻放陽台用來偵測和嚇嚇老鼠的東西,並把紀錄圖像化到雲端給老爸使用。 邏輯及設計: 當老鼠進入偵測範圍,Motion Sensor偵測到生物活動Raspberry pi 處理來自Motion Sensor的訊號,如果夠強的話開始準備作出回應 Raspberry pi在Angry cats sounds中隨機選出叫聲,再經由Speaker輸出貓叫聲 Raspberry pi指示強光元件發出強光束照射目標 把偵測計數上傳到雲端圖表 材料: Sensor 在網路上看了一些Raspberry pi wild animal camera ,很多也是用Motion Sensor先偵測動物再來,我用的是PIR Motion Sensor被動式紅外線感測器,有低耗電成本便宜的好處。[1],而且可手動調整靈敏度及反應時間。 PIR Motion Sensor就是下面這個 圖片來源: learn.adafruit.com 可手動調整敏感度還有反應時間,這個有點不好調,要試好多遍才找到最佳位置。 可以在Raspbian中輸入pinout查詢GPIO避免插錯 圖片來源: learn.adafruit.com . 一台Raspberry pi 這次使用較舊的Raspberry pi model B+ 萬一老鼠生氣被咬爛錢包也不太痛 . 一張
新年快樂,先祝大家伺服器健康(無誤)!剛剛的週末在公司為一台SQL Server安裝Availability Group遇到一些問題,筆記了起來希望對大家有用。
Case:
已安裝Availability group 的SQL Server 無法利用PC Client上的SQL Server Management Studio使用Virtual Host name進行登入(AD帳號),並出現「Cannot generate SSPI context」(無法產生 SSPI 內容) 。
原因:
根據Microsoft的說明:
「Security Support Provider Interface (SSPI) is a set of Windows APIs that allows for delegation and mutual authentication over any generic data transport layer, such as TCP/IP sockets. Therefore, SSPI allows for a computer that is running a Windows operating system to securely delegate a user security token from one computer to another over any transport layer that can transmit raw bytes of data.
The "Cannot generate SSPI context" error is generated when SSPI uses Kerberos authentication to delegate over TCP/IP and Kerberos authentication cannot complete the necessary operations to successfully delegate the user security token to the destination computer that is running SQL Server.」
總括來說,就是無法把Client端的AD認證送到SQL Server去。
問題研究:
這次出現的問題,是由於Service Principal Names (SPN)出了點狀況。
A service principal name (SPN) is the name by which a client uniquely identifies an instance of a service. If you install multiple instances of a service on computers throughout a forest, each instance must have its own SPN. 根據史帝芬大的解釋:「Windows 伺服器所執行的服務如果要以 Kerberos 提供認證功能,該服務必須設定過 SPN(Service principal names),否則用戶端將無法在網路裡找到服務,而且如果沒有正確的設定服務的 SPN,Kerberos 也無法運作。」簡單來說,SPN有問題的話就不能進行Kerberos驗證,因此會出現上面的錯誤。
小弟公司有兩台SQL Server,serverA那一台可以連 serverB那一台不行,所以最好是比較一下這兩台SQL Server的SPN:
既然原因是因為只是修改Computer Object不行,最直接的方法是把Computer Object刪掉再重新弄個新的就好。不過刪掉之前記得,記得,記得,記得先把Availability group Listener刪掉,不然會發生Primary找不到Secondary,Secondary找不到Primary最後一齊雙雙進入Resolving掛掉的狀態就慘了。
Case:
已安裝Availability group 的SQL Server 無法利用PC Client上的SQL Server Management Studio使用Virtual Host name進行登入(AD帳號),並出現「Cannot generate SSPI context」(無法產生 SSPI 內容) 。
原因:
根據Microsoft的說明:
「Security Support Provider Interface (SSPI) is a set of Windows APIs that allows for delegation and mutual authentication over any generic data transport layer, such as TCP/IP sockets. Therefore, SSPI allows for a computer that is running a Windows operating system to securely delegate a user security token from one computer to another over any transport layer that can transmit raw bytes of data.
The "Cannot generate SSPI context" error is generated when SSPI uses Kerberos authentication to delegate over TCP/IP and Kerberos authentication cannot complete the necessary operations to successfully delegate the user security token to the destination computer that is running SQL Server.」
總括來說,就是無法把Client端的AD認證送到SQL Server去。
問題研究:
這次出現的問題,是由於Service Principal Names (SPN)出了點狀況。
A service principal name (SPN) is the name by which a client uniquely identifies an instance of a service. If you install multiple instances of a service on computers throughout a forest, each instance must have its own SPN. 根據史帝芬大的解釋:「Windows 伺服器所執行的服務如果要以 Kerberos 提供認證功能,該服務必須設定過 SPN(Service principal names),否則用戶端將無法在網路裡找到服務,而且如果沒有正確的設定服務的 SPN,Kerberos 也無法運作。」簡單來說,SPN有問題的話就不能進行Kerberos驗證,因此會出現上面的錯誤。
小弟公司有兩台SQL Server,serverA那一台可以連 serverB那一台不行,所以最好是比較一下這兩台SQL Server的SPN:
先不要管內容,明明就是兩台一模一樣的SQL Server,為什麼有問題的記錄多這麼多? 後來跟infra team的同事討論以後就理解了。因為這兩台SQL Server HA的功能是後來加上去的,為了不影響其他應用系統我們設HA時把原本的SQL Server換了hostname,原本的hostname變成HA的Virtual Host,之前屬於這個hostname的Computer Object我們沒有把它刪掉再弄一個新的,所以它的SPN舊記錄還存在,也因此當SQL Server換了個hostname變成HA架構底下其中一個node時,會找不到相對應的服務。
解決方法:
既然原因是因為只是修改Computer Object不行,最直接的方法是把Computer Object刪掉再重新弄個新的就好。不過刪掉之前記得,記得,記得,記得先把Availability group Listener刪掉,不然會發生Primary找不到Secondary,Secondary找不到Primary最後一齊雙雙進入Resolving掛掉的狀態就慘了。
Comments
Post a Comment