all

KVMのゲストOS(Linux)にコンソールログインするための設定

KVM 説明 [#r7563045] KVMホストマシンからゲストマシンへコンソールで接続する手順です。 手順1:再起動が必要 [#pbc12ca3] (1) /etc/grub.conf にカーネルオプションを追加設定 kernel /vmlinuz-2.6.18-238.el6 ro root=/dev/*** console=tty0 console=ttyS0,115200n8 (kernel で始まる行の最後にcosole以降の部分を追加、kernel で始まる行が複数ある場合は全てに設定) (2) /etc/inittab にコンソールモードの設定を追加 S0:12345:respawn:/sbin/agetty ttyS0 115200 これで再起動後に、改めてホストOSから virsh console XXXX でコンソールログインが可能になります。 なお、コンソールから抜けるには CTRL+] です。 参考URL:http://dotnsf.blog.jp/archives/980512.html 手順2:再起動不要(CentOS6系) [#qe645931] # cd /etc/ # cp -p grub.conf grub.conf.date +%Y%m%d 〜 kernel /vmlinuz-2.6.18-238.el6 ro root=/dev/*** console=tty0 console=ttyS0,115200n8 # cp -p securetty securetty.date +%Y%m%d # vi /etc/securetty ttyS0 <–追加 # initctl list serial stop/waiting <– 停止している # initctl start serial DEV=ttyS0 SPEED=115200 serial (ttyS0) start/running, process 1644 virsh # console 仮想マシンId 手順3:再起動不要(CentOS5系) [#e8761032] # vi /etc/securetty ttyS0 <–追加 # vi /etc/inittab S0:12345:respawn:/sbin/agetty ttyS0 115200 # telinit q <–即時反映 virsh # console 仮想マシンId 参考URL:http://lab.
One minute to read

KVMのゲストOSのNICの追加手順

KVM コマンド [#k732a057] # virsh attach-interface –type bridge –source virbr0 –model e1000 –persistent HOGEVMNAME オンラインで実行可能です。(検証済み) また、–persistentをオプションで指定しないと、xmlに書き込まれないため再起動後にNICが削除されるため、必須オプションです。
One minute to read

KVM仮想マシンにNICを追加する手順

kvm 概要 [#y3e55038] KVMでNICを追加する場合の手順です。 作業内容 [#h3de0b34] 1.ゲストOSをシャットダウン 2.# virsh edit 該当ゲストOS名 下記をinterfaceの欄に追記。 <interface type='bridge'> <source bridge='br1'/> <model type='virtio'/> </interface> <mac>と<address>は削除する。 削除しないと、 エラー: XML error: Attempted double use of PCI Address '0:0:3.0' と表示されて保存できない。 ドメイン hogehoge-SVR01 XML の設定は編集されました と表示されたらOK。
One minute to read

KVM仮想マシンのCDブートを回避する手順

kvm 概要 [#h7dc8e1a] CDブートを回避する手順です 内容 [#s189bfb9] # virsh edit 仮想マシン名 <boot dev='cdrom'/> <–コメントアウト <!—— <boot dev='cdrom'/> ——> <boot dev='hd'/> <source file='/zp1/CentOS-6.2-x86_64-minimal.iso'/> <–コメントアウト <!——– <source file='/zp1/CentOS-6.2-x86_64-minimal.iso'/> ——->
One minute to read

KVM仮想マシンのvirshで表示される名前変更

KVM の箇所を編集した場合、uuidが既に存在しているというエラーが表示されてしまう。 [#y3d4689b] # virsh edit 仮想マシン名 エラー: operation failed: domain '仮想マシン名' is already defined with uuid febc046e-669c-afcb-3a59-f5f80c6bdcbc 再定義の手順 [#la430325] # uuidgen <–新しいuuidを作成して、表示されたuuidをメモをする。 # virsh edit 仮想マシン名 <name>表示させたい名前</name> <–表示させたい名前に変更する。 <uuid>上でメモしたuuid</uuid> <–上でメモしたuuidへ書き換える。 :wq # virsh define /etc/libvirt/qemu/仮想マシン名.xml <–再定義する。 # virsh list –all <–新しい名称と古い名称の仮想マシンが表示される。 # virsh start 新しい仮想マシン名 <–新しい仮想マシン名で起動して、正常に動作することを確認する。 # virsh undefine 古い仮想マシン名 <–古い仮想マシン名を定義を解除する。
One minute to read

KVM仮想マシンのキャッシュモードをwritebackにする手順

kvm 概要 [#w17c9757] デフォルトではcacheは「none」になっております。 「writeback」だとKVMのライブマイグレーションが実行できないためだと考えられますが、ライブマイグレーションを実施しないか、サーバー停止してのマイグレーションは実施可能なため、複数台での構成時の影響が少ない仮想マシンに関しては「writeback」にすることも一つの手法です。 変更手順 [#n6d55312] # virsh virsh # shutdown 仮想マシンId <–仮想マシンでacpidが稼働している場合のみ有効 virsh # list –all <–対象仮想マシンがシャットオフであることを確認 virsh # edit 仮想マシン名 <–xmlファイルの編集 <disk type='file' device='disk'> <driver name='qemu' type='raw' cache='none'/> ↓cacheの箇所を「none」から「writeback」へ変更 <disk type='file' device='disk'> <driver name='qemu' type='raw' cache='writeback'/> virsh # define /etc/define/qemu/仮想マシン名.xml <–xmlファイルを再定義 virsh # start 仮想マシン名 <–仮想マシンを起動
One minute to read

KVM既存のゲストOSのコピー

KVM 概要 [#ob10cda5] 既存のKVMゲストOSをコピーする場合は、下記コマンドを実行することで可能です。 手順 [#gc49fc0c] virsh vol-clone –pool プール名 /mnt/test00/test01.img /mnt/test00/test02.img ※この手順は同じpoolの場合です。 その後で、下記の様にvirt-installを実行します。 /usr/sbin/virt-install –name test02 –ram 512 –disk /test00/test02.img –boot hd –vnc –keymap=ja –accelerate –os-type=linux –os-variant=rhel6 –vcpus=1 –network=bridge:br0 インストーラが走ると、サーバーが起動するためネットワーク設定をします。 具体的には、下記を実施します。 +コマンド「/sbin/ifconfig -a」を実行してeth0が存在しない事を確認する +「/etc/udev/rules.d/70-persistent-net.rules」ファイルを編集し、NAME=“eth0"と記述されてる行を削除し、NAME=“eth1"と記述されている箇所をNAME=“eth0"に書き換えサーバーを再起動する +「/sbin/ifconfig -a」を実行してeth0のMACアドレスを取得する +3で取得したMACアドレスを「/etc/sysconfig/network-scripts/ifcfg-eth0」ファイルのHWADDRの箇所にエディタで設定する +コマンド「ifup eth0」 を実行してeth0を起動(またはLinux自体を再起動) +ネットワークに接続できることを確認する 以上で、完了です。
One minute to read

KVM既存のゲストOSのコピーおよびバックアップイメージからの復元

KVM 説明 [#u4645f3b] バックアップで取得したイメージファイルから、コピーサーバーを作成する方法です。 手順 [#hd0d8fa0] 1.KVMホストのストレージへ、VMのイメージファイルをリストア(コピー)する。

cp -p 元のxmlファイル 新しい名前.xml # uuidgen 新しいuuid # vi 新しい名前.xml — <name>名称変更</name> <uuid>新しいuuid</uuid> <source file='/パス/イメージファイル'/> グローバルのNICの部分を削除 — # define 新しい名前.xml # virsh list –all - 新しい名前 シャットオフ virsh> start 新しい名前 virsh> vncdisplay 新しい名前 VNC上 [#w6c2cb7d] # vncで新しい名前のサーバーに接続して、接続できることを確認 # ip a グローバルIPアドレスが付与されていないことを確認 KVM上 [#u6f9cd7f] # virsh attach-interface –type bridge –source br1 –model virtio –persistent 新しい名前 ※オプションの値は適宜変更する インターフェースが正常に接続できました # virsh edit 新しい名前 — <interface type='bridge'> <mac address='52:54:00:09:cc:b9'/> <source bridge='br1'/> <model type='virtio'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/> </interface> — ↑ 追加されていることが確認できる。 VNC上 [#leebc35b] # reboot 再起動後 # ip a eth1が追加されていることを確認 # vi /etc/sysconfig/network-scripts/ifcfg-eth1 — IPADDR=IPアドレス NETMASK=ネットマスク — # ifdown eth1 # ifup eth1 # ip a IPアドレスがセットされてインターフェースがあがっていることを確認 確認 [#v9f6e0b3] ping IPアドレス

One minute to read

KVM既存のゲストOSのメモリ変更

kvm ゲストOSのメモリを変更するにはシャットダウンが必要です。

init 0 次にvirshのeditコマンドにて、XMLファイルのメモリに関する記述を変更します。

virsh edit test-svr01 <memory>262144</memory> <currentMemory>262144</currentMemory> ※最低メモリ数と変動後の最大メモリ数。 ※KiB計算なので注意 ※1024x6GB(6144)=6291456 起動後にメモリが増設されているか確認して、終了。

One minute to read