VMのスペックを上げる

ie-virshで作成したVMのスペックを上げる方法を説明します。

VMの作成方法については学科サーバー上でVMを作成を御覧ください。

スペックを上げる作業を行う際は、まずVMの電源を落としておきましょう。

VMの電源を落とす

以下のコマンドで電源を落とせます。

$ie-virsh shutdown <vmname>

以下は、hogevmという名前のVMの電源を落とす例です。

$ie-virsh shutdown hogevm
uid: 20665 gid: 1001 name: e185742
Domain e185742-hogevm is being shutdown

VMの電源が落ちているか確認します。

$ie-virsh list
uid: 20665 gid: 1001 name: e185742
 Id    Name                            State
-------------------------------------------------
 83    e185742-fedora-debug-matac42    running
 117   e185742-test                    running
 118   e185742-hoge                    running
 129   e185742-node02                  running
 130   e185742-node01                  running
 131   e185742-node03                  running
 -     e185742(matac42vm.st)           shut off
 -     e185742(oppj.st)                shut off
 -     e185742-fedora-debug-matac      shut off
 -     e185742-hogevm                  shut off <-- shut offになっていればOK

CPU、メモリの拡張

$ie-virsh edit <vmname>

で、VMの定義ファイルを開き、編集します。(エディタはVimで開かれます)

CPU

<vcpu placement='static'>1</vcpu>

という部分の数値を変更します。2コアにしたければ1の部分を2に書き換えます。

メモリ

<memory unit='KiB'>1048576</memory>
<currentMemory unit='KiB'>1048576</currentMemory>

という部分の数値を両方とも変更します。単位はキビバイトです。

GB KiB
1 1x1024x1024=1048576
8 8x1024x1024=8388608

ディスク容量の拡張

はじめに以下のコマンドでVMの電源を落とします。

$ie-virsh shutdown <vmname>

やること

  • VMのディスクイメージ(qcow2)の拡張 (シス管にお願いする)
  • VM内でパーティションの拡張 (自身で行う)

シス管にお願いすること

VMのディスクイメージ(qcow2)の拡張を行います。 この作業はシス管側で行いますので、以下の情報と合わせてMattermostの~ie-syskanチャンネルまで連絡をお願いします。

  • VM名
  • 追加したい容量

自身で行うこと

シス管でのVMのディスクイメージ(qcow2)の拡張が完了したらVMを起動し、VM内でパーティションの拡張を行います。 (ただし、以下の方法はテンプレートのUbuntu-22での実行例であり、他のOSやイメージではコマンドが異なる可能性があります。 「<os name> VM ディスク拡張」などで調べると、他のOSに対応した方法が見つかると思います。)

以下のコマンドでVMを起動します。

$ie-virsh start <vmname>

ここからはVM内での作業になります。

partedを使う方法

#rootに入る
$ sudo -s
# partedコマンドを使う
root@ubuntu:/# parted /dev/sda
# 一番最後にFree Spaceがあることを確認
(parted) p free
# 拡張パーティションの拡張
(parted) resizepart 2
# 100%で拡張
End?  [10.7GB]? 100%
# 論理パーティションの拡張
(parted) resizepart 5
# 100%で拡張
End?  [10.7GB]? 100%
# sda5が拡張されていることを確認
(parted) p free
# partedを終了
(parted) q
# pv /dev/sda5のresize
root@ubuntu:/# pvresize /dev/sda5
# vgのresize
root@ubuntu:/# lvextend -r -l +100%FREE /dev/mapper/ubuntu--vg-root

fdiskを使う方法

#rootに入る
$ sudo -s
#fdiskコマンドでパーティションテーブルを設定します。
root@ubuntu:/home/ie-user# fdisk /dev/sda   
#pを入力します。  
Command (m for help): p
#nを入力します。 パーティションを新規作成します。
Command (m for help): n
#pを入力します。
Select (default p): p
#3を選択します。 sda3を新規で作成します。
Partition number (3,4, default 3): 3
#開始セクターを入力します。enterを押してください。
First sector (20969472-125829119, default 20969472): 
#終了セクターを入力します。enterを押してください。 
Last sector, +/-sectors or +/-size{K,M,G,T,P} (20969472-125829119, default 125829119):
#pを入力します。 sda3が増えていることが確認できると思います。
Command (m for help): p 
#tを入力します。 パーティションタイプをLVMに設定します。
Command (m for help): t
#3を入力します。
Partition number (1-3,5, default 5): 3
#8eを入力します。      
Hex code (type L to list all codes): 8e
#pを入力します。 sda3がLinux LVMに変更されていることを確認します。
Command (m for help): p
#wを入力して変更を反映します。
Command (m for help): w
# 先程追加した/dev/sda3を物理ボリュームに追加します。
root@ubuntu:/home/ie-user# pvcreate /dev/sda3
# 物理ボリュームに/dev/sda3が追加されているか確認します。
root@ubuntu:/home/ie-user# pvdisplay
# VG Name(ボリュームグループ名)を確認します。次で使うのでメモしてください。
root@ubuntu:/home/ie-user# vgdisplay
# VG(ボリュームグループ)を拡張します。
#以下のコマンドのVG Nameには先ほどメモしたVG Nameを入力してください。
root@ubuntu:/home/ie-user# vgextend VG Name /dev/sda3
# LV Path(論理ボリュームパス)を確認します。次で使うのでメモしてください。
# LV PathはLV Nameがrootの方を確認してください。
root@ubuntu:/home/ie-user# lvdisplay
# 論理ボリュームの拡張します。
#以下のコマンドのLV Pathには先ほどメモしたLV Pathを入力してください。
root@ubuntu:/home/ie-user# lvextend -l +100%FREE LV Path
# ファイルシステムの拡張を行います。
#以下のコマンドのLV Pathには先ほどメモしたLV Pathを入力してください。
#ただし、CentOSの場合はresize2fsをxfs_growfsに置き換えてください。
root@ubuntu:/home/ie-user# resize2fs LV Path

最後に以下のコマンドを実行し、容量が増えていることを確認します。

root@ubuntu:/home/ie-user# df -h

容量が増えていれば拡張は成功です。めでたし、めでたし。

不明点はMattermostの~ie-syskanチャンネルまでご相談ください。