💻

RDMの移行

2022/09/03に公開

はじめに

Raw Device Mapping(RDM)ディスクを使っている仮想マシンがあり、vSphere環境を更新する際にRDMディスクをやめたかったので、そのときにやった移行方法について書きます。細かい部分は結構端折ってるので、かなり概要的な感じになってます。

RDMとは

そもそもRDMとは何か。VMware公式サイト[1]にわかりやすい説明が書いてありますので、そちらを見ていただくのが一番かと思いますが、少しここでも書きます。

LUN#2はNTFSフォーマットされているにも関わらず、RDMを利用することで、VMがアクセスできます。このVMはWindowsなので、Cドライブの実体が左のvmdkファイルで、Dドライブの実体が右のNTFSフォーマットされたLUN#2であるというような感じです。なお、これはWindowsの例ですが、RHELであればLUN#2がXFSとかext4とかでフォーマットされてるイメージです。
ちなみにRDMはSAN(FCとかiSCSIとか)ストレージで構成できますが、DAS(SASでストレージ装置に接続しているとか)では基本的には構成できないと考えておいた方が無難です。[2]

なんでRDM使うのか

ストレージ装置の機能(レプリケーションとかスナップショットとか)を使うときとか、VM同士でクラスタリングソフト使ってクラスタを構成する[3]ときとかにRDMを使ってました。なお、以前はRDMの方が性能的に優れてるみたいな話も聞きましたが、VMwareが公開している資料にあんまり差はないと記載されてた記憶があります。

なんでRDMをやめたかったのか

VM作るのにいちいちRDMディスクを構成するのが結構手間だったので、シンプルにしたかったためです。また、VM削除するときにLUN削除を伴うことになってしまうので、これも結構辛いところでした。その他には、ESXiのLUN構成上限に引っかかってしまい、これ以上RDMディスクを作れない!ということがしばしばあったので、それも理由の一つでした。

移行方法

やっと本題の移行です。

  1. システム構成
    こんな感じで新旧環境があるとします。旧環境では物理互換モードのRDMで構成されてます。[4]
  2. LUNのコピー
    LUN単位でストレージ装置間コピーをします。だいたいストレージ装置側で、何らかのストレージ装置間コピーの方法を用意しているかと思いますので、それを利用します。ストレージ装置間でレプリケーションできるのがベストですかね。初期同期(フル転送)は旧環境でVM稼働させつつ実施、最終同期(差分転送)はVM止めて実施というようにすれば、VM停止時間を少なくすることができます。レプリケーション機能がなければ、VM停止してからフルコピー実施となります。
  3. 新環境でのVM登録
    LUNのコピーが完了したら、まずLUN#Aを新ESXiサーバにマウントします。[5]その後、LUN#Aの中にあるvmxファイルを用いて新ESXiサーバにVMのインベントリ登録をします。なお、RDMディスクのマッピング先はLUN#2のままになっているので、RDMディスクを構成の設定から削除した後、LUN#Bをマッピング先とする仮想互換モードのRDMディスクを構成します。
  4. RDMディスクをvmdkディスクへ変換する
    このままだとまだRDM構成のため、このVMをStorage vMotionします。Storage vMotionすることにより、RDMディスクをvmdkディスクに変換させることができます。なお、Storage vMotionなので、VMは起動状態のまま変換が実施されます。
  5. 後片付け
    移行と変換が完了したので、LUN#AやLUN#Bを削除します。なお、無邪気にLUNを消すとゴミが残って後々大変になるので、以下KBの手順を実施します。アンマウントして、分離して、LUN削除して、デコミッションする感じです。デコミッションをやらないと、再度LUN作成したときにそのLUNが見えてこないということがありましたので、KBの一連の手順は実施した方がよいです。
    https://kb.vmware.com/s/article/2004605?lang=en_us

おわりに

今まで説明してきた移行方法の一番のメリットは「万一の際、旧環境でVMを起動するだけで復旧できる」ことだと考えてます。旧環境を残したまま移行を実施しているので、非破壊な移行方法だと思います。
逆にデメリットとしては、手順がたくさんあること、ストレージ装置の機能に頼っていることですかね。そもそもRDM使ってる時点でストレージ装置に依存している可能性は高いですが、この移行方法だと新旧ストレージは同一ベンダーのものでないと厳しいと思います。
なお、Storage vMotionではなく、コールド移行すなわちVMを停止してストレージ移行をすれば、物理互換モードのRDMディスクであっても、一気にvmdkディスクに変換できます。VMを長い時間止めてよければ、これが一番簡単ではありますね。

参考にしたサイト

https://kb.vmware.com/s/article/1005241?lang=en_us

脚注
  1. https://docs.vmware.com/jp/VMware-vSphere/7.0/com.vmware.vsphere.storage.doc/GUID-9E206B41-4B2D-48F0-85A3-B8715D78E846.html ↩︎

  2. https://kb.vmware.com/s/article/1017704?lang=en_us とか https://kb.vmware.com/s/article/1017530?lang=en_us とか ↩︎

  3. クラスタリングソフトの運用がちゃんとできない場合は、VM同士でのクラスタはやめて、vSphereHAに任せる方がシンプルで良いと個人的には思ってます。 ↩︎

  4. このストレージ装置では、物理互換モードのRDMを構成することで、ストレージ装置の機能を利用することができました。 ↩︎

  5. コピーされたVMFSデータストアのマウントとなりますので、再署名が必要です。https://docs.vmware.com/jp/VMware-vSphere/7.0/com.vmware.vsphere.storage.doc/GUID-EEFEB765-A41F-4B6D-917C-BB9ABB80FC80.html ↩︎

Discussion