2017年10月30日 星期一

Network Load Balancing叢集節點主機操作(控制主機)


NLB叢集可以手動新增或刪除節點, 刪除節點時可以選擇執行 停止(Stop) 或 清空停止(Drainstop), 「停止」將終止與叢集節點的所有連線, 並停止NLB服務, 「清空停止」會阻止所有新連線而不會終止現有連線, 在所有當前連線結束後, NLB服務才停止

Network Load Balancing 叢集參數操作模式設定


1. 單點傳播(Unicast): 適用於有多個網路卡的叢集, 設定單點傳播模式時, 所有主機都自動使用相同的MAC位址, 叢集主機的優先順序取決於已修改的MAC位址, Switch可以避免處理向外流量時所有叢集主機出現使用相同MAC位址的問題. 另如果於VM上使用則須在設定中網路卡設定裡勾選啟用MAC位址變更(Spoofing). (使用於同網段)

2.多點傳送(Multicast): 適用於只有單一網路卡的叢集主機, 且網路設備須支援多點傳送MAC位址, 這是常用的設定模式. (可使用於跨網段)

3. IGMP多點傳送: Internet Group Management Protocol(IGMP)網路群組管理協定多點傳送是一種特殊形式的多點傳送模式, 可防止Switch被流量淹沒, 部署IGMP多點傳送時僅透過參與NLB叢集的Switch連接埠轉發流量, Switch須有支援IGMP多點傳送. (至少要2張網卡)

設定 Network Load Balancing 連接埠規則


使用連接埠規則可以設定NLB叢集如何將請求導向到特定IP位址, 連接埠和通訊協定

篩選模式:
1. 多重主機(Multiple hosts): 所有NLB節點都會根據分配給每個節點的權重進行回應, 節點權重根據主機的性能特徵自動計算, 如果節點發生故障, 叢集中的其他節點將繼續回應連線的請求, 多重主機篩選可提高可用性和可擴展性, 因為可以透過增加節點來增加容量, 並且在節點發生故障時叢集將繼續運行
[親和性(Affinity)]:
。無: 此模式下, 即使用戶端在中斷後重新連接, 任何叢集節點都會回應任何用戶端請求, 例如可以從第三節點檢索Web應用程式上的第一網頁, 從第一節點檢索第二網頁, 從第二節點檢索第三網頁, 即多台節點主機皆回應, 此模式適用於無狀態應用程式
。單一:  使用此模式時, 同一個用戶端統一由同一個節點來回應, 例如如果叢集中的第三個節點管理用戶端的第一個請求, 則所有後續請求也由該節點管理, 此模式對於有狀態應用程序很有用
。網路: 使用此模式時, 單一節點將回應來自Class C網路(使用255.255.255.0子網遮罩的網路)的所有請求, 表示同一個網段的用戶端統一由同一個節點來回應

2. 單一主機(Single host): NLB叢集會將流量導向到分配最優先順序的節點, 如果分配最優先順序的節點不可用, 則連線到次一個優先順序的主機導入流量, 單一主機規則可提高可用性, 但不會提高擴展性

3. 停用連接埠範圍: 將自動刪除此連接埠範圍的所有封包, 而不會轉發到任何叢集節點, 如果未停用連接埠範圍, 並且沒有現有連接埠規則, 則流量將轉發到優先級最低的主機

2017年10月29日 星期日

Windows Server 2016上安裝Network Load Balancing (NLB)網路負載平衡及簡單測試

準備1台 ADDS/DNS 及3台 Server 備用

1. 首先於3台 Server 上安裝網頁伺服器IIS及網路負載平衡功能



2017年10月26日 星期四

Network Load Balancing (NLB)網路負載平衡

Network Load Balancing (NLB)網路負載平衡

Network Load Balancing (NLB)網路負載平衡是一種可擴展的高可用性功能, 可以在所有版本的Windows Server 2016上安裝, NLB在一組伺服器之間分配網路流量, 平衡每個伺服器必須處理的工作負載, 它是可擴展的, 因為它允許添加其他伺服器(也稱為節點或主機)

Windows Server 2016 NLB叢集可以包含2到32個節點, 建立NLB叢集時它會建立虛擬網路位址和虛擬網路卡, 虛擬網路卡具有IP位址和網路卡(MAC)位址, 到此位址的網路流量均勻分佈在叢集中的節點上, NLB叢集中的每個節點依照節點使用率平衡流量, 當NLB叢集收到請求時, 它會將該請求轉發給當前使用最少的節點, 還可以設定NLB直接導向到特定主機, 稱為預設主機

NLB適用於無狀態應用程式(Stateless Applications), 例如多階層應用程式的Web層, 因為連接到多階層應用程式時客戶端連接到哪個Web伺服器並不重要, NLB不適用於傳統檔案伺服器和資料庫伺服器等有狀態應用程式(Stateful Applications), 這是因為這些應用程式需要與特定伺服器持續連接

NLB具有故障感知(failure-aware), 這表示如果NLB叢集中的一個節點離線, 則請求將不再轉發到該節點, 而叢集中的其他節點將繼續接受請求, 當故障節點恢復服務時將重新傳入請求, 直到在叢集中的所有節點之間流量達到平衡

NLB只能檢測伺服器(節點主機)故障, 無法檢測應用程式故障, 這表示如果Web應用程式出現故障, 但節點主機仍在運行, 則NLB叢集還會繼續將流量轉發到發生應用程式故障的節點上, 解決此問題的一種方法是實施監控解決方案, 使用Microsoft System Center Operations Manager可以監控應用程式的功能, 還可以將Operations Manager設定在叢集節點上的應用程式出現故障時發出警報, 然後再重新啟動服務、伺服器或從NLB叢集中撤回節點, 讓節點不會再接收傳入流量

2017年10月11日 星期三

執行 PowerShell 出現:因為這個系統上已停用指令碼執行,所以無法載入

執行 PowerShell 時出現:「因為這個系統上已停用指令碼執行,所以無法載入」


因為安全性問題,預設PowerShell的執行原則是關閉的,對於不明指令是不會執行。

2017年10月10日 星期二

從 Web Log 學習系統漏洞

從網站的Log檔其實可以學到不少漏洞的入侵方式

125.130.189.3 - - [10/Oct/2017:15:14:30 +0800] "POST /hedwig.cgi HTTP/1.1" 404 208
125.130.189.3 - - [10/Oct/2017:15:14:35 +0800] "GET /system.ini?loginuse&loginpas HTTP/1.1" 404 208
125.130.189.3 - - [10/Oct/2017:15:14:41 +0800] "GET /upgrade_handle.php?cmd=writeuploaddir&uploaddir=%27;cat%20/etc/passwd;%27 HTTP/1.1" 404 216
125.130.189.3 - - [10/Oct/2017:15:14:46 +0800] "GET /upgrade_handle.php?cmd=writeuploaddir&uploaddir=%27;cat%20/etc/passwd;%27 HTTP/1.1" 404 216
125.130.189.3 - - [10/Oct/2017:15:14:51 +0800] "GET /upgrade_handle.php?cmd=writeuploaddir&uploaddir=%27;cat%20/etc/passwd;%27 HTTP/1.1" 404 216
125.130.189.3 - - [10/Oct/2017:15:14:57 +0800] "GET /board.cgi?cmd=cat%20/etc/passwd HTTP/1.1" 404 207
125.130.189.3 - - [10/Oct/2017:15:15:02 +0800] "GET /board.cgi?cmd=cat%20/etc/passwd HTTP/1.1" 404 207
125.130.189.3 - - [10/Oct/2017:15:15:07 +0800] "GET /board.cgi?cmd=cat%20/etc/passwd HTTP/1.1" 404 207
125.130.189.3 - - [10/Oct/2017:15:15:12 +0800] "GET /shell?cat%20/etc/passwd HTTP/1.1" 404 203
125.130.189.3 - - [10/Oct/2017:15:15:18 +0800] "GET /shell?cat%20/etc/passwd HTTP/1.1" 404 203
125.130.189.3 - - [10/Oct/2017:15:15:23 +0800] "GET /shell?cat%20/etc/passwd HTTP/1.1" 404 203

2017年10月7日 星期六

安裝 Windows 10 S版

上微軟網站看看有沒有新版本的系統試用版抓來玩玩, 發現 Windows 10 多了一個新版本, Windows 10 S !!? 難道是 Special 版 ? 結果是微軟的 Surface 版, 專門為了微軟的平板電腦用的系統, 安裝在一般電腦上還是可以安裝, 只不過無法使用以前的安裝方式來安裝其他軟體, 如同其他平板電腦的方式, 需使用微軟市集去下載安裝

1. 安裝選項多出一個 Windows 10 S

2. 安裝過程也都一樣, 安裝完成之後的桌面
w-studio.idv.tw

3. 系統資訊

4. 如果要照以前安裝軟體的方式來執行安裝會出現錯誤而且無法繼續安裝, 需從微軟市集下載再安裝
w-studio

2017年10月3日 星期二

簡單測試使用Scale-Out File Server(SOFS)建立VM虛擬機

大概玩一下使用Scale-Out File Server(SOFS)建立VM虛擬機, 準備ADDS/DNS Server一台, 2台Server作為SOFS, 2台NVhost 作為 Hyper-V Server

1. 以 ADDC Server 充當 iSCSI Target Server

2. 建立3個虛擬硬碟


叢集主機清空角色(Drain Roles)與容錯回復角色(Fail Roles Back)

1. 先查看角色擁有者節點

2. 到「節點」項目中點滑鼠右鍵, 有個「暫停」選項中有清空角色及不要清空角色的選項, 意思是節點主機如果手動暫停後, 所屬「角色」將移轉到另外的節點主機上或是不移轉

3. 選擇「清空角色」(Drain Roles)後原本角色擁有者將清空並移轉到另一個節點主機上

4. 角色擁有者移轉到另外一台節點主機上

5. 在暫停的節點主機上執行「容錯回復角色」(Fail Roles Back)的話, 原本移轉到另外一台節點主機的角色將回到這台節點主機上, 反之則繼續停留在另外一台節點主機上

叢集主機在自動關閉時VM的反應設定

1. 開啟容錯移轉叢集管理員中「角色」中, 下方「資源」標籤中, 滑鼠右鍵叫出虛擬機器內容, 再於「設定」標籤中去設定

2. 叢集主機如果自動停止(離線)時, 可以對VM做儲存狀態或是關機

。保存虛擬機狀態: 此選項是默認選項, 在Windows Server 2012 R2及更高版本中, 此選項會建立一個.bin檔案將VM狀態保存, 如果主機開始關閉, Hyper-V虛擬機管理服務(VMMS)將開始將VM的儲存保存到硬碟並將VM置於已保存狀態

。關閉虛擬機: 將允許VMMS為Hyper-V關閉VM並進入關閉狀態, 但是VM的作業系統認為這與關閉機器上的電源沒有什麼不同

。關閉客體機作業系統: 與其他兩個選項不同, 第三個選項要求集成服務在VM上正常運行, 具體而言, 在客體VM上選擇關閉作業系統, 但是與「關閉虛擬機」選項不同, 此選項允許從主機角度(包括客體VM)正常關閉VM, 透過利用集成服務, VMMS將觸發客體機關閉, 執行後, VM將關閉客體機作業系統並進入關閉狀態......(微軟教材上說這麼多我還是看不懂這與關閉虛擬機的選項有什麼不同)

2017年10月2日 星期一

Scale-Out File Server 向外延展檔案伺服器

Windows Server 2012 引入的向外延展檔案伺服器為基於檔案的伺服器應用程式提供持續可用的儲存, 可以透過在容錯移轉叢集上建立檔案伺服器角色並選擇「應用程式資料的向外延展檔案伺服器」選項而不是「檔案伺服器」來設置向外延展檔案伺服器以供使用, 這需要使用CSV來儲存資料

向外延展檔案伺服器不同於檔案伺服器叢集, 後者是以前Windows Server中唯一的選項, 普通檔案伺服器叢集僅透過一次使用一個節點為客戶端提供服務, 但是向外延展檔案伺服器可以同時啟用所有節點

可以使用新的Windows Server容錯移轉叢集功能以及新版Windows檔案伺服器協定SMB 3.0中的新功能實現此目的, 因此透過使用向外延展檔案伺服器功能向執行檔案伺服器角色的容錯移轉叢集增加節點, 提高整個叢集的性能, 可以將資料庫或VM硬碟等資源儲存在向外延展檔案伺服器上託管的共用文件夾上

Scale-Out File Server

設定共用虛擬硬碟 Shared Virtual Hard Disk

在以前版本的Windows Server中實行客體叢集, 必須將共用儲存(Storage)公開給VM, 使用虛擬光纖通道介面或使用iSCSI連接到共用儲存(Storage), 如果Storage沒有虛擬光纖通道驅動程式或iSCSI支援, 則執行這項工作會非常麻煩

並且在某些情況下, 如託管提供商託管VM時, 管理者不希望將儲存層公開給VM用戶, 為解決這些問題, Windows Server 2016為VM叢集儲存提供了額外的抽象層, 可以在兩個或多個VM之間共用虛擬硬碟(僅限.vhdx或.vhds格式), 然後在建立客體叢集時將該虛擬硬碟作為共用儲存, 可以將共用虛擬硬碟當成見證磁碟或叢集中的資料磁碟

可以在VM設定中將共用虛擬硬碟(.vhdx或.vhds)新增到SCSI磁碟上, 也可以將共用虛擬硬碟加到任何支援Windows Server 2016 Hyper-V平台上執行的VM, 因為有多個選項可為客體叢集提供共用儲存, 所以客體叢集設定變得簡單, 這些選項包括共用虛擬硬碟, 光纖通道, SMB, 儲存空間和iSCSI儲存, 可以使用共用虛擬硬碟為SQL Server資料庫和檔案伺服器叢集等提供儲存

Failover Cluster Hyper-V with CSV


CSVs (Cluster Shared Volumes) 叢集共用磁碟的優點

Windows Server 2016容錯移轉叢集中, 對於設置為NTFS磁碟(Volume)的CSV, 允許叢集中的多個節點對於同一磁碟具有同時讀寫存取權限, Windows Server 2016容錯移轉叢集將它們視為Storage添加到叢集中

使用CSV時, 叢集角色可以更快地從一個節點容錯移轉到另一個節點, 而無需更改磁碟所有權或卸載和重新安裝磁碟(Volume), CSV還有助於簡化容錯移轉叢集中潛在大量LUN的管理


CSVs 的優點:
。減少磁碟的LUN: 可以使用CSV來減少VM所需的LUN數量, 設置CSV時可以在單個LUN上儲存多個VM, 並且多個主機可以同時存取同一LUN
。改進磁碟空間使用: 不是將每個.vhd檔案放在具有空白空間的單獨磁碟上, 以便.vhd檔案可以擴展, 可以透過在同一LUN上儲存多個.vhd檔案來改進磁碟空間
。VM檔案置於單一位置: 可以追踪.vhd檔案的路徑以及VM使用的其他檔案, 可以指定路徑名, 而不是使用磁碟代號或GUID來標識磁碟. 實行CSV時, 所有添加的儲存都顯示在 \ClusterStorage 目錄中, \ClusterStorage目錄是在叢集節點的系統目錄上建立的, 無法移動它, 作為叢集成員的所有Hyper-V主機必須使用與其系統磁碟相同的磁碟代號, 否則VM容錯移轉將失敗
。無須特殊硬體: 實行CSV沒有特定的硬體要求, 可以在任何支援的磁碟設定以及光纖通道或iSCSI SAN上實行CSV
。增強彈性: CSV可提高彈性, 因為即使一個節點與SAN之間的連接中斷, 或者網路的一部分出現故障, 叢集也可以正確回應, 叢集透過SAN或網路的完整部分重新路由CSV流量

在將Storage添加到CSV之前, LUN必須當作叢集的共用Storage, 建立容錯移轉叢集時, 在伺服器管理員中設置的所有共用磁碟都將加到叢集中, 可以將它們添加到CSV, 且可以選擇在建立叢集後向叢集添加Storage, 如果向共用Storage增加更多LUN, 則必須先在LUN上建立磁碟(Volume), 在叢集中加入Storage, 然後將Storage添加到CSV

架構大概是這樣吧, 微軟教材寫得讓人看得頭暈, 有些名詞翻成中文反而怪怪的
w-studio.idv.tw

Windows Server 2016 中 Hyper-V 使用 Failover Cluster

應用程式與服務高可用性選項:
高可用性選項說明
主機叢集: 實現虛擬機作為一個叢集的作用。虛擬機高可用
。不需要虛擬機作業系統或應用程式具有叢集感知能力
客體叢集: 在VM中實現叢集。虛擬機是叢集節點
。虛擬機應用程式要有叢集感知能力
。共用儲存連結需要iSCSI或虛擬光纖通道介面
負載平衡: 在VM中使用網路負載平衡。虛擬機是負載平衡叢集節點
。使用於基於網路的應用程式

。主機叢集(Host clustering):
透過主機叢集, 可以在使用Hyper-V主機伺服器時設置容錯移轉叢集, 可將VM設置為高可用性資源. 在VM中運行的客體機操作系統和應用程式不必具有叢集感知功能, 但是VM仍然具有高可用性. 在VM中運行的應用程式或服務不必與容錯移轉叢集兼容, 並且不必感知VM是叢集, 由於容錯移轉位於VM級別, 因此不會對VM中安裝的軟體產生依賴性

。客體叢集(Guest clustering):
如同設置實體主機容錯移轉叢集般的方式可以去設置客體容錯移轉叢集, 但是叢集節點是VM, 讓應用程式或服務可以利用VM之間的高可用性. 每個VM節點的客體機作業系統都執行容錯移轉叢集以便可以在單一主機上找到VM, 這是在測試或正式環境中的快速且低成本的設置. 透過在主機和VM級別實施容錯移轉叢集, 無論發生故障的節點是VM還是主機都可以重新啟動資源, 對於VM在執行重要應用程式時, 這個設置是被認為最佳的高可用性設置

。負載平衡(NLB):
NLB與VM一起使用的方式與使用實體主機的方式相同, 它將IP流量分散到多個TCP/IP服務, 例如 Web Server. 設置NLB叢集時, 必須將參與NLB叢集的所有VM上安裝和設定應用程式, 設定應用程式後, 在每個VM的客體機作業系統(不是Hyper-V主機)中安裝NLB功能, 然後為該應用程式設定NLB叢集


2017年10月1日 星期日

試作Windows Server 2016 Hyper-V Failover Cluster

於 Windows Server 2016 上的 Hyper-V 試作容錯移轉叢集, 首先準備好4台虛擬機器: 1台ADDC/DNS Server, 1台 iSCSI Target Server, 2台設定好巢狀虛擬化且安裝Hyper-V的Server (如果將 ADDC/DNS Server 當作 iSCSI Target Server的話則準備3台機器就好), 一個預先安裝好 Nano-Server 的 vhdx 檔

1. 先於 ADDC Server 上的群組管理設定一個網域內防火牆規則, 允許所有連線進入以方便後面操作 (實際作業上不建議把防火牆全開放)

2. 到 NVhost1 VM上安裝 iSCSI 目標伺服器