LoginSignup
7
10

More than 5 years have passed since last update.

VMWare ESXi のデータストアディスクを大容量のものに交換し、データストアを拡張した時のメモ

Posted at

注意点

拡張の際に、一度拡張対象のデータストア上で稼働している仮想マシンを全て停止する必要がある。

手順

1. 新旧ディスクをサーバ(物理筐体)に接続する

ATAでもUSBでも、空いてるポートに接続できればOK

2. ディスクブートでUbuntu起動

UbuntuでもVineでも、好きなLinuxのLive CD/DVDからディスクブートで起動する

3. ディスク内容をコピーする

・新旧デバイスの確認
 今回は旧デバイスが「/dev/sda」、新デバイスが「/dev/sdb」でした

# ls -l /dev/sd*
brw-rw---- 1 root disk 8, 0  7月 11 16:12 /dev/sda
brw-rw---- 1 root disk 8, 1  7月 11 16:12 /dev/sda1
brw-rw---- 1 root disk 8, 2  7月 11 16:12 /dev/sda2
brw-rw---- 1 root disk 8, 5  7月 11 16:12 /dev/sdb

・ddコマンドでディスク内容をコピー
 ※ifとofは間違えると取り返しがつかないので注意
 ※ブロックサイズは適宜指定(512とかが確実かも)

# dd if=/dev/sda of=/dev/sdb bs=8192 conv=noerror,sync

4. ディスク交換

旧ディスクを外して、新ディスクのみにして起動する。

5. ESXiのSSHをオンにする

  1. F2 #ESXiコンソールから、F2で設定モードに入る
  2. [Troubleshooting Options] Enter
  3. [Enable ESXi Shell] Enter
  4. [Enable SSH] Enter
  5. Esc
  6. Esc

6. データストアを拡張する

・ESXi Shell または SSHでESXiへ接続する
 ESXi Shell > ESXiコンソールのトップ画面で「Alt+F1」
 SSH > TeraTermなどでESXiのIPへSSH接続
    ※認証はチャレンジレスポンスにする必要有

・パーティションの拡張

 データストアに紐付いているディスクを確認する

# vmkfstools -P "/vmfs/volumes/<データストア名:datastore1 など>"
VMFS-<VMFSバージョン> file system spanning 1 partitions.
File system label (if any): <データストア名>
Mode: public
Capacity <パーティション容量> (~ file blocks * ~), <空き容量> (~ blocks) avail
UUID: <新データストアハッシュ>
Partitions spanned (on "lvm"):
<ディスク名>

 ディスクのパーティション内容を確認する
  出力結果の左から順に パーティション番号, 開始セクタ, 終了セクタ です。

# partedUtil get "/vmfs/devices/disks/<ディスク名>"
182401 255 63 2930277168
1 2048 2930277134 0 0

 拡張可能な領域(新しい終了セクタ)の確認 (ESXi5以上のみ)

# partedUtil getUsableSectors "/vmfs/devices/disks/<ディスク名>"
34 2930277134

 パーティションの拡張

# partedUtil resize "/vmfs/devices/disks/<ディスク名>" <パーティション番号> <開始セクタ> <新しい終了セクタ>
# echo $?
0

・ファイルシステムの拡大

  1. vSphere Clientでログインする
  2. [構成]タブを開く
  3. [データストア]を表示する
  4. 拡張したいデータストア識別名を右クリックし、削除する
  5. [すべてを再スキャン]を実行する
  6. 拡張したいデータストア識別名を右クリックし、プロパティを選択する
  7. ボリュームのプロパティで[拡大]ボタンをクリックする
  8. 拡大する

7. データストア紐づけを修正する

・新データストアのハッシュ値を確認する

# ls -l
~~~省略~~~
drwxr-xr-t    1 root     root          4340 Jul 11 02:05 57********
lrwxr-xr-x    1 root     root            35 Jul 12 08:46 <データストア名> -> 57********

・旧データストアのハッシュ値を確認する
 実行結果から /vmfs/volumes/<旧データストアのハッシュ>/ を確認

# find /vmfs/volumes/<新データストアのハッシュ>/ -name "*.vmx" -type f -print | xargs grep derivedName
/vmfs/volumes/57********/testvm/testvm.vmx:sched.swap.derivedName = "/vmfs/volumes/52********/testvm/testvm-8e*****.vswp"

・旧データストアへのパス設定を新データストアへ置換する
 間のgrep -l はなんとなくです

find . -name "*.vmx" -type f -print | xargs grep -l <旧データストアのハッシュ> | xargs
sed -i "s/<旧データストアのハッシュ>/<新データストアのハッシュ>/g"

8. 仮想マシンを起動してみる

無事起動できたら、ESXi の SSHアクセスを無効化する。

なお、仮想マシン起動時に仮想マシンをコピーしたかを聞かれたら、「I move it./移動しました」を選択する。

7
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
10