2022年3月10日
2022年3月28日
忘れそうなのでメモ
Contents
- 1 ネットワークとストレージの障害を恒久的なものであると判断する時間の設定コマンド。
- 2 自動ドレイン(failover)しない設定。するには1をセットする。
- 3 ストレージQOSポリシー設定
- 4 QOSポリシー割当
- 5 仮想マシンの開始順序設定
- 6 S2Dを有効にする
- 7 記憶域プールにボリュームを作る
- 8 双方向性ミラー
- 9 3方向性ミラー
- 10 ECボリューム
- 11 キャッシュと普通の混在ボリューム
- 12 ボリュームをクラスタで見えるようにする
- 13 クラスタからノードを削除する
- 14 プール内のデータを均等に分散
- 15 とあるクラスタに対するアクセス権限を付ける computernameはクラスタ内のノードであればどれでもよい
- 16 クラスタAのデータをクラスタBにバックアップする(Azure StorageのGRSライクな冗長)
- 17 クラスタBでクラスタAのデータを扱えるようにする(Azureでいうセカンダリリージョンが有効になった状態にする)
- 18 スイッチ埋め込み型nicチーミング作成(仮想マシン以外からも使えるチーミングNIC)
ネットワークとストレージの障害を恒久的なものであると判断する時間の設定コマンド。
既定は4分。この時間をすぎるとfailoverが発動する
(Get-Cluster).ResiliencyPeriod=<待機時間(sec)>
自動ドレイン(failover)しない設定。するには1をセットする。
(Get-Cluster).DrainOnShutdown = 0
ストレージQOSポリシー設定
New-StorageQosPolicy -Name <Qosポリシー> -MinimumIops <iops> -MaximumIops <最大IOPS> -MaximumBandwidth <帯域幅> -PolicyType <タイプ>
タイプはdedicatedとaggregatedがある
dedicatedはポリシーをあるVMだけで専有
aggregatedはそのポリシーを持つVMで最大最小のIOPSを共有する
QOSポリシー割当
Get-VM -Name <vm name> | Get-VMHardDiskDrive | Set-VMHardDiskDrive - QosPolicyID (Get-StorageQosPolicy -Name <Qos policy name>).PolicyId
仮想マシンの開始順序設定
New-ClusterGroupSet -Name webtier
Add-ClusterGroupToSet -Nmae webtier -Group Myweb01
New-ClusterGroupSet -Name apptier
Add-ClusterGroupToSet -Nmae apptier -Group Myapp01
Add-ClusterGroupSetDependency -Name webtier -provider apptier
S2Dを有効にする
Enable-ClusterStorageDirect -PoolFriendlyName <クラスタ名>
記憶域プールに複数の種類のデバイスを追加すると自動的に階層構造が取られ、キャッシュなどが組まれる。もちろん変更できる。
すべて同じ種類のデバイスで構成した場合も、
-CacheDeviceModelオプションで一部のディスクをキャッシュとして構成可能
クラスタ内で上のコマンドを実行すればよい
実行結果がHTMLベースのレポートとして確認可能
どのディスクがキャッシュに使われているとか分かる
このコマンドが実行されていると、サーバにディスクを追加すると、自動的にS2Dのクラスタに追加される。
Storage Spaces Direct Calculator
S2Dで構成したときに実効容量などを計算可能なツール
http://www.cosmosdarwin.com/spacesdirect/
記憶域プールにボリュームを作る
New-Volume -StoragePoolFriendlyName <pool name> -FriendlyName <volume name> -Size size -FileSystem <file system> -ResiliencySettingName <layout>
双方向性ミラー
New-Volume -StoragePoolFriendlyName MyPool -FriendlyName myvolume -Size 1TB -FileSystem ReFS -ResiliencySettingName Mirror -physicalDiskRedundancy 1
3方向性ミラー
New-Volume -StoragePoolFriendlyName MyPool -FriendlyName myvolume -Size 1TB -FileSystem ReFS -ResiliencySettingName Mirror -physicalDiskRedundancy 2
ECボリューム
New-Volume -StoragePoolFriendlyName MyPool -FriendlyName myvolume -Size 1TB -FileSystem ReFS -ResiliencySettingName Parity -physicalDiskRedundancy 2
キャッシュと普通の混在ボリューム
New-Volume -StoragePoolFriendlyName MyPool -FriendlyName myvolume -FileSystem ReFS -StorageTierFriendlyNames Performance, Capacity -StorageTierSizes 300GB,700GB
ボリュームをクラスタで見えるようにする
Add-ClusterSharedVolume -Name <クラスター仮想ディスク(volume name)という風に指定する。あとで修正されるでしょう>
%SystemDrive%\ClusterStorage\Volume<番号>
で、すべてのクラスタ内のノードから参照可能
-FileSystem CSVFS_ReFSという風に指定することで、ボリュームを作ると同時にクラスタにボリュームを追加してくれる
クラスタからノードを削除する
Remove-ClusterNode -Name <node name> -CleanUpDisks
記憶域プールからそのノードのディスクも削除する。
記憶域プールの冗長性の確保のため、ディスクが外せない場合は、上のコマンドは失敗する。
プール内のデータを均等に分散
長期間使っていると使用量が実際使っているものより大きく出るときがある。そういったときに有効なコマンド
Optimize-StoragePool -FriendlyName <pool name>
とあるクラスタに対するアクセス権限を付ける computernameはクラスタ内のノードであればどれでもよい
Grant-SRAccess -ComputerName server01 -Cluster clusterB
Grant-SRAccess -ComputerName server03 -Cluster clusterA
クラスタAのデータをクラスタBにバックアップする(Azure StorageのGRSライクな冗長)
New-SRPartnership -SourceComputerName clusterA -SourceRGName RG01 -SourceVolumeName vlumepath -SourceLogVolumeName D: -DestinationComputerName clusterB -DestinationRGName RG02 -DestinationVolumeName volumepath -DestinationLogVolumeName D:
クラスタBでクラスタAのデータを扱えるようにする(Azureでいうセカンダリリージョンが有効になった状態にする)
Set-SRPartnership -NewSourceComputerName clusterB -SourceRGName RG02 -DestinationComputerName clusterA -DestinationRGName RG01
スイッチ埋め込み型nicチーミング作成(仮想マシン以外からも使えるチーミングNIC)
New-VMSwitch -Name <switch name> -NetAdapterName <ネットワークアダプタ名>,<ネットワークアダプタ2名> -EnableEmbeddedTeaming $true