URAMIRAIKAN

1020のなれの果て (since 2005.6.19)

KVMの仮想マシンにディスクを追加

 ここのところ、検証環境の仮想マシンにディスクを追加してくれという依頼が度々あったのでメモです。
 別に私が検証環境の管理/運用担当なわけではないので、これくらいはエンジニア各自でやってほしいところです。

 検証環境のハイパーバイザはKVM(CentOS 7)です。

 わざわざゲストOSのシャットダウンを依頼するのも面倒なので、基本的にはオンラインで追加してゲストOSのユーザーに確認を依頼。うまく認識できていなければ念のため再起動をしてもらうという流れでやってました。

 最初は一回限りのつもりで手作業でしたが、何度も続けてやることになったので簡単なスクリプトにしています。

#!/bin/bash VM_NAME="vm01" ADD_SIZE="100G" VD_DEV="sdc" # 空の仮想ディスク作成 VD_FILE=${VM_NAME}-${VD_DEV}.qcow2 cd /var/lib/libvirt/images if [ -f ${VD_FILE} ]; then echo "${VD_FILE} : already exists" exit 1 fi qemu-img create -f qcow2 ${VD_FILE} ${ADD_SIZE} # オンラインで仮想マシンに接続 virsh attach-device ${VM_NAME} <(cat <<EOF <disk type='file' device='disk'> <driver name='qemu' type='qcow2' cache='none'/> <source file='/var/lib/libvirt/images/${VD_FILE}'/> <target dev='${VD_DEV}' bus='virtio'/> </disk> EOF ) # 設定の永続化 virsh attach-device ${VM_NAME} --config <(cat <<EOF <disk type='file' device='disk'> <driver name='qemu' type='qcow2' cache='none'/> <source file='/var/lib/libvirt/images/${VD_FILE}'/> <target dev='${VD_DEV}' bus='virtio'/> </disk> EOF ) exit 0

 対象の検証環境では仮想ディスクを作るときのファイル名を"<ホスト名>-<デバイスID>"というルールにしているので、ディスク追加時のデバイスの重複は"/var/lib/libvirt/images"以下のファイル名をチェックすればいいかなと。
 "virsh"のオプションで与えるXMLとかいちいち覚えきれないので、何かやったら整理して再利用可能なように残しておかないと毎回同じ事を調べる羽目になるんですよね…。


    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    

プロフィール

1020@管理人

都内を彷徨っているインフラエンジニアとかいう雑用係。いつだって眠い…。

最近のつぶやき

@umkn1020 (07/03-18:57)
RT @kamo_hiroyasu: 「人口の1割は複文が処理できないのだから、そのつもりで行動しろ」と助言することが時々あるのですが、「何もしなければ、42万人死亡する」を「42万人死亡する」と誤読して「外した」と煽る人がわらわらと湧いてきたことで、説得力が増しました。
@umkn1020 (07/03-18:49)
RT @taijijiji: 外資企業が日本市場でhiring難しいとは聞いていましたがこれほどとは。。日本人の転職の心理的ハードルの高さ、英語ポジションへの苦手意識が伺える。。英語は実質的な語学スキルよりも「やっていける自信がない」「怖い」「どうせ落とされる」というメンタリテ…
@umkn1020 (07/03-13:03)
RT @yuutosi_hiyuu: 声だして笑った https://t.co/EjqAUuT3z0
@umkn1020 (07/02-16:02)
Smart LifeでIFTTT使えなくなっていたのか…
@umkn1020 (07/01-17:23)
RT @rioriost: だーかーらー、HAクラスタをすぐ組もうとしない!w オンプレの発想をそのまま持ってくるんじゃなく、クラウドに合ったやり方を学びましょうよ。 できるよ、IaaSでHAクラスタも組めるよ。 でも、スタンバイノードのコストを払い続けるの、なんかおかし…

エントリーリスト

カテゴリーリスト

タグ