[FAQ:WSE]OS再インストール時/HDD移動時の記憶域スペースの取扱い

以前、イベントの際に記憶域スペースの概要についてセッションする機会があったのですが、その際に記憶域スペースを利用していてOS再インストールした場合にはどうなるのかという質問を頂いていました。

TechNetフォーラムでも同様の質問がありましたので、改めて記事として掲載しておきます。

記憶域スペース、記憶域プールの構成に関する情報は、全て物理HDDに保存されています。従って、ある環境で利用していた記憶域プールの物理HDDを他の(記憶域プール対応OSが動作している)環境に差し替えた場合、記憶域プールや記憶域スペースの情報はそのまま引き継がれます。

参考:Storage Spaces Frequently Asked Questions (FAQ)

What happens to Storage Spaces when moving physical disks between servers?

Storage Spaces records information about pools and storage spaces on the physical disks that compose the storage pool. Therefore, your pool and storage spaces are preserved when you move an entire storage pool and its physical disks from one computer to another.

Windows Server 2012 starts storage that could potentially be shared with a cluster in a safe state. For Storage Spaces, that means the first time Windows connects to a storage pool, the pool starts as read-only and the storage spaces will start in a detached state. To access your data, you must set the storage pool to read-write and then attach the storage spaces.

These steps do not apply to Windows 8 – storage pools start as read-write and storage spaces start as attached.

その際、移行先のOSによって挙動が異なります。これは物理HDDを差し替えた場合、OSを再インストールした場合の両方に共通の事項となります。

(1)Windows 8 の場合

Windows 8 の場合は、自動で記憶域スペースがアタッチされますので、OSから記憶域スペース内のフォルダーが見える状態になります。NTFSアクセス権を適切に設定しなおすことで、移行先のOS環境からもファイルへのアクセスが可能になります。

(2)Windows Server 2012 の場合

以下の2点について対処が必要になる場合があります。 (ここで場合がありますと書いているのは、Essentialsの場合の挙動が恐らくWindows 8 と同じで、自動アタッチが行われると思われるためです。EssentialsはWindows Server 2012 の他のSKUと異なり、Windows 8 同様記憶域スペースの管理をコントロールパネルから行うことが出来ます。必ずしも検証しきれていませんが、手元の環境での評価を踏まえると、EssentialsはWindows 8 と同様の挙動をすると思います。)

1.記憶域プールが読取専用となっている場合

Windows Server 2012に記憶域プールで利用していた物理HDDを接続すると、記憶域プールを認識しますが、プールが読み取り専用になっている場合があります。

記憶域プールが読み取り専用になっているかどうかを確認するには、PowerShellで以下のcmdletを実行してください。

Get-StoragePool {記憶域プールのフレンドリーネーム}

例えば、記憶域プールに「記憶域プール」という名前を付けている場合、以下のようになります。 (フレンドリーネームを省略すると、全ての記憶域プールの一覧が表示されます)WSE2011_StoragePool_RWstatus 「IsReadOnly」がTrueになっている場合、PowerShellを管理者権限で実行し以下のcmdletを実行して読み書き可能にしてください。以下のcmdletは全ての記憶域プールを読み書き可能にするcmdletです。

Get-StoragePool | Where-Object {$_.IsReadonly –eq $True } | Set-StoragePool –IsReadonly $False

2.記憶域スペースが手動アタッチになっている

PowerShellのから以下のcmdletを実行して、仮想ディスクの IsManualattach の値を確認してください。

Get-VirtualDisk {記憶域のフレンドリーネーム}

(記憶域のフレンドリーネームは省略可能です。省略すると、全ての記憶域の一覧が表示されます。)

WSE2011_StoragePool_Manualattach

IsManualAttachの値がTrueの場合、自動アタッチするように設定を変更する必要があります。PowerShellを管理者権限で実行し、以下のcmdletを実行してください。

Get-VirtualDisk | Where-Object {$_.IsManualAttach –eq $True} | Set-VirtualDisk –IsManualAttach $False

このコマンドを実行しないと、手動アタッチが有効のままとなり、OSを起動する都度記憶域スペースがデタッチされた状態で起動することになります。なお、このコマンドは手動アタッチになっている記憶域全てを自動アタッチに変更します。特定の記憶域のみを自動アタッチにしたい場合は、

Set-VirtualDisk {記憶域のフレンドリーネーム} -IsManualAttach $False

を実行します。
※ サーバーマネージャーを通じて手動で「仮想ディスクのアタッチ」や「仮想ディスクのデタッチ」を実行すると、 IsManualAttachのパラメーターが True となってしまいます。この場合もPowerShell(管理者権限)から上記のcmdletを実行することで、自動アタッチに変更することが可能になります。

 

以上が完了したら、フォルダー/ファイルへのアクセス権を再度設定しなおすことで、ファイルへのアクセスが可能になります。WSEの場合は必ずダッシュボードから共有フォルダーへのアクセス権を設定しなおしてください。

Microsoft Public Affiliate Program (JP)

シェアする

  • このエントリーをはてなブックマークに追加

フォローする