仮想ホストのディスクサイズ変更方法

仮想ホストのディスクサイズ変更方法

■XenServer上の仮想ホストのディスクサイズ変更方法

まず、仮想ホストのディスクサイズを変更できる条件は、 CDブートができる事。

  • 準仮想化(新規VMを作成する時に、CentOS5.3などを選んでインストールする場合)はCDブートできません。
  • 完全仮想(新規VMを作成する時にOther install mediaを選んでインストールした場合)はCDブートできます。
  1. XenCenterから 仮想ホストの「ストレージ」→「プロパティ」からディスクサイズを変更。
    ※増やす事しかできません。
  2. まず、CDブートする。(linux resucueで起動)
    boot: linux rescue
  1. ディスクサイズの確認 ・fdiskで確認すると仮想ディスクのサイズは増えていることを確認。
    # fdisk -l
    Disk /dev/hda: 16.1GB, 16106127360 bytes
    ・
    ・
    ・
    ・
    
    ・dfで確認すると、マウントされている/dev/VolGroup00/LogVol00は、ディスクサイズが以前のまま。
    # df -h
    
    
  2. パーディションの拡張
    # fdisk /dev/hda
    
    ・現在のパーティション確認
    Command (m for help): p
    
    ・hda2を削除
    Command (m for help): d
    Partition number (1-4): 2
    
    ・削除さえていることを確認
    Command (m for help) p
    
    ・パーティションを作成
    Command (m for help): n
    Command actio
    e extended
    p primary partition (1-4)
    p
    Partition number (1-4): 2
    First cylinder (14-1958, default 14): エンター
    Last cylinder or +size or +sizeM or +sizeK (14-1958, default 1958): エンター
    
    ・保存
    Command (m for help): w
    
    
  3. 一度再起動
    # reboot
  1. もう一回、レスキューモードで起動
  2. PVの拡張 ・設定ファイルバックアップ
    # vgcfgbackup -f vgbackup
    
    ・ココでDevSizeをメモしておく。(重要)
    #  pvs -o +dev_size --units s
    PV VG Fmt Attr PSize Pree DevSize
    /dev/hda2 VolGroup00 lvm2 a - 31195136S 14090240S 31246425S
    
    
    ・設定ファイルを編集
    # vi vgbackup
    ----- 編集箇所 -----
    pe_count = 15
    dev_size = 31246425
    segment2{
    extent_count = 105
    
    ◎この方程式を使う
    pe_start + pe_count * extent_size ≦ dev_size
    pe_count ≦ (dev_size - pe_start) / extent_size
    
    自分の場合
    pe_count ≦ (31246425 - 384) / 65536
    
    pe_count = 476.7767486
    
    pe_count = 476
    
    extent_countは
    extent_count = pe_count - (segment1のextent_count) - (LogVol01のsegment1のextent_count) -1
    
    ・設定ファイルを戻す
    # vgcfgrestore -f vgbackup VolGroup00
    
    
  3. LVの拡張 ・空き容量の確認
    # lvextend -l 1 VolGroup00/LogVol00
    New size given (1 extents) not larger than existing size (461 extents)
    Run 'lvextend --help' for more information.
    
    表示された数字 + 1で入力 ・拡張追加
    # lvextend -l 462 VolGroup00/LogVol00
    
    
  4. ファイルシステムの拡張
    # e2fsck -f /dev/VolGroup00/LogVol00
    # resize2fs /dev/VolGroup00/LogVol00
    
    CDを抜いて、これで再起動して確認