• [转] HyperV Cluster Shared Volume(叢集共用磁碟區)原理初探


    原文地址:http://www.dotblogs.com.tw/daniel07793/archive/2012/05/19/72265.aspx

    ============================================================

    這篇是要來解說Hyepr-V在運用Cluster Shared Volume的一些原理

    可以先參考了解容錯移轉叢集的叢集共用磁碟區,裡面有段文字其實就有對這個原理稍微提了一下

    4

    從第一個紅框可以得知,在使用Cluster Shared Volume之後,會將Disk的GUID掛載到%SystemDrive%\ClusterStorage

    第二個紅框,我想大部分人會覺得很奇怪,為什麼SAN都斷線了(iSCSI、Fiber、SAS),照理說Node已經沒有CSV的存取能力

    為何在上面Online的Virtual Machine還能繼續使用,接下來會解釋這個原理

    也會解釋為何一般的Cluster只能單邊I\O、而Hyper-V Cluster Shared Volume在雙邊IO卻不會有問題

    在Hyper-V啟用Cluster Shared Volume之後,在Hyper-V Cluster裡面的VM都會透過CSV Filter對VHD做IO,而不再是直接IO

    在Windows 2008 R2,CSV Filter這個元件是在%Systemroot%\System32\Driver底下的CSVFilter.sys

    7

    在Windows Server 2012 Beta中,這個元件變成了%Systemroot%\System32\Driver底下的CsvFlt.sys

    9

    可以透過Cluster.exe這個工具,去將Cluster啟動時的Log記錄下來,就可以證明這些事情了

    至於怎麼紀錄Log,可以參考這篇文章How to create the cluster.log in Windows Server 2008 Failover Clustering

    這是在Windows 2008 R2記錄下來的Log,在Wnidows Server 2012 Beta我找不到紀錄的方法,Sorry

    10

    接著,我們來舉個實際的範例,來驗證這件事情

    下圖是一個2 Node的Hyper-V Cluster,在啟用Cluster Shared Volume之後的一個運作邏輯圖

    ※紅線為Read/Write IO、紫線為Metadata IO,下圖的Cluster Node 1為Storage的Owner

    1

    在這種情況下啟動時,可以在Performance Monitor中的Cluster Shared Volume CsvVolume跟Csvfs這兩個WMI命名空間中看到

    ※在Windows 2008 R2中是叫Cluster Shared Volume

    ※我的Performance Monitor有啟動VM的是在第二台,跟上圖的啟動是相反的,Sorry

    6

    接著將VM切換到另一部Host上,再看看他的IO會變得如何

    2

    11

    會發現Read\Write IO都跑到新的主機上,如果啟動VM的Host並不是Storage Onwer,Metadata IO會流向Storage Onwer

    接著,示範將SAN的連接線給中斷(直接拔除)

    3

    12

    我們可以從上圖看到,iSCSI確實斷線了,然而對VM的IO會開始走ReDirector IO,透過其他網路的路由將IO重新導向到Owner上

    不過,在Windows Server 2008 R2中,這時Storage的連線狀態會出現Redirected access,在Windows Server 2012 Beta中並不會(如上圖)

    8

    不過,在Windows Server 2008 R2中,如果發生過SAN斷線,則需要手動將Redirected access變更回正常Director

    而在Windows Server 2012 Beta並不需要去手動更改的動作,它將會自動切換回來

  • 相关阅读:
    VS2008无法切换到视图设计器
    Log4net使用笔记
    VS2008无法切换到视图设计器
    openstack(Pike 版)集群部署(五)--- Neutron 部署
    openstack(Pike 版)集群部署(四)--- Nova 部署
    Centos 7 MariaDB Galera cluster 部署
    Centos 7 RabbitMQ + Haproxy 集群高可用部署
    openstack(Pike 版)集群部署(三)--- Glance 部署
    openstack(Pike 版)集群部署(二)--- Keystone 部署
    openstack(pike 版)集群部署(一)----基础环境部署
  • 原文地址:https://www.cnblogs.com/licheng/p/2979448.html
Copyright © 2020-2023  润新知