libvirt/仮想マシン作成 をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
&color(white,blue){留意};
/dev/kvmの所有者に注意
[[libvirt]]にて、ユーザ qemu をlibvirtdの担当にさせたのな...
#code(nonumber){{
[root@c ~]# ls -l /dev/kvm
crw-rw---- 1 root qemu 10, 232 1月 31 23:48 /dev/kvm
[root@c ~]#
}}
[[libvirt/仮想マシン作成/windowsPC]]
***qemu-imgでディスクイメージを作成 [#u0e74b8b]
ストレージを直接指定するなら、まず&color(magenta){qemu-im...
ここでは、場所を /opt/kvm として、作成するイメージは qcow...
#code(nonumber){{
[root@c ~]# mkdir /opt/kvm
[root@c ~]# qemu-img create -f qcow2 /opt/kvm/HDD.qcow2....
Formatting '/opt/kvm/HDD.qcow2.img', fmt=qcow2 size=34359...
[root@c ~]#
[root@c ~]# ls -lh /opt/kvm/HDD.qcow2.img
-rw-r--r-- 1 root root 193K 2月 1 22:21 /opt/kvm/HDD.qc...
[root@c ~]#
}}
一応確認してみます
#code(nonumber){{
[root@c ~]# qemu-img info /opt/kvm/HDD.qcow2.img
image: /opt/kvm/HDD.qcow2.img
file format: qcow2
virtual size: 32G (34359738368 bytes)
disk size: 196K
cluster_size: 65536
Format specific information:
compat: 1.1
lazy refcounts: false
refcount bits: 16
corrupt: false
[root@c ~]#
}}
それで、CentOS7の仮想マシンを作ってみます。
***virt-installで仮想マシンを作成 [#s36e4e9f]
CentOS7の例
#code(nonumber){{
[root@c ~]# export PATH=/opt/local/bin:$PATH
[root@c ~]# export PYTHONPATH=/opt/local/lib64/python2.7/...
[root@c ~]# export LD_LIBRARY_PATH=/opt/libvirt/lib
[root@c ~]# virt-install --connect qemu:///system --virt...
--name c20 --ram 1024 --cpu host --vcpus=1 --descript...
--os-variant rhel7 --boot cdrom,hd,menu=on \
--disk path=/opt/kvm/HDD.qcow2.img,format=qcow2,bus=virti...
--cdrom /export/CentOS-7-x86_64-DVD-1611.iso --network b...
--graphics vnc,port=5900,listen=0.0.0.0,keymap=ja
}}
と実行すると、続く画面で下記が表記された
#code(nonumber){{
WARNING グラフィカルコンソールに接続できません: virt-vie...
WARNING ゲストのコンソールがないため、デフォルト値 --wai...
インストールの開始中...
割り当て中 'HDD1.qcow2.img' | 8.0 GB...
ドメインを作成中... | 0 B...
仮想マシンのインストールが進行中です。インストールが完了...
}}
この段階で vnc で 仮想化サーバの 5900 番に繋げると、下図...
&ref(2017y02m01d_223035988.png,nolink);&ref(2017y02m01d_2...
このvnc画面を経由して、仮想マシンにOSをインストールしま...
***仮想マシンの制御 [#e6358de5]
作成した仮想マシンを停止、起動させるには、仮想マシンに&co...
#code(nonumber){{
[root@c103 ~]# yum install acpid
[root@c103 ~]# systemctl enable acpid.service
[root@c103 ~]# systemctl start acpid.service
}}
こうすることで、仮想化サーバから virsh コマンドで制御可能に
#code(nonumber){{
[root@c ~]# virsh
virsh # list --all
Id 名前 状態
----------------------------------------------------
5 c20 実行中
virsh # shutdown c20
ドメイン c20 はシャットダウン中です
virsh # start c20
ドメイン c20 が起動されました
virsh #
}}
こんな感じで。
***コマンドラインで仮想マシンを作る [#ifa16d91]
参照先
&size(10){[[https://qiita.com/jimaoka/items/d528a7f55e832...
コマンドラインしか利用できない環境で仮想マシンを作る
#code(nonumber){{
[root@e ~]# virsh net-destroy default
[root@e ~]# virsh net-autostart default --disable
[root@e ~]# mkdir /kvm && cd $_
[root@e kvm]# qemu-img create -f qcow2 /kvm/ad.qcow2.img...
[root@e kvm]# virt-install --connect qemu:///system \
--name ad \
--vcpus 1 \
--memory 1024 \
--cpu host \
--metadata description="ad" \
--location "/kvm/CentOS-7-x86_64-Minimal-1708.iso" \
--os-variant rhel7 \
--boot cdrom,hd,menu=on \
--disk path=/kvm/ad.qcow2.img,format=qcow2,bus=virtio,cac...
--network bridge=br0,model=virtio \
--nographics \
--extra-args='console=tty0 console=ttyS0,115200n8' \
--hvm
}}
実行した画面で起動シーケンスが始まり、下記のような画面に...
&ref(2018y03m20d_221029322.png,nolink);
&color(red){*};&size(10){ただこれだと指値でhddを区分けで...
インストール完了後、再びコマンドラインで接続するには virs...
#code(nonumber){{
[root@e ~]# virsh
virsh # list
Id 名前 状態
----------------------------------------------------
2 ad 実行中
virsh # console ad
ドメイン ad に接続しました
エスケープ文字は ^] です
CentOS Linux 7 (Core)
Kernel 3.10.0-693.el7.x86_64 on an x86_64
ad login:
}}
***qemuからkvm [#kadcf86f]
#code(nonumber){{
<domain type='qemu'>
↓
<domain type='kvm'>
<emulator>/usr/libexec/qemu-kvm</emulator>
}}
***kickstartファイルを使って [#p805d2bf]
[[kickstart]]にて自動インストールなisoを別途作って仮想マ...
isoを別途作成せずとも、標準提供なMinimalなisoとkickstart...
まずは、ディスクイメージを作る
#code(nonumber){{
[root@c ~]# cd /kvm/
[root@c kvm]# qemu-img create -f qcow2 i03.qcow2.img 32G
}}
そしてkickstartファイルを作る。
ここでは簡単に、「Minimal」なOSを作る。ipはdhcp由来で、HD...
#code(nonumber){{
[root@c kvm]# vi i03.ks
cdrom
ignoredisk --only-use=vda
lang ja_JP.UTF-8
keyboard --vckeymap=jp --xlayouts='jp'
network --bootproto=dhcp --device=eth0 --noipv6 --activate
auth --enableshadow --passalgo=sha512
rootpw --plaintext xxxxxxx
firstboot --disabled
firewall --disabled
selinux --disabled
eula --agreed
services --enabled="chronyd"
timezone Asia/Tokyo --isUtc --ntpservers=c.sybyl.local
bootloader --location=mbr --boot-drive=vda --append="net....
clearpart --drives=vda --all --initlabel
part /boot --fstype="xfs" --ondisk=vda --size=512
part swap --fstype="swap" --ondisk=vda --size=1024
part / --fstype="xfs" --ondisk=vda --size=4096 --grow
part /boot/efi --fstype="efi" --ondisk=vda --size=512 --f...
reboot
%packages
@^minimal
@core
chrony
-biosdevname
%end
[root@c kvm]#
}}
作ったkickstartファイルを使って
仮想マシンを作る。
ほぼ自動でOSが構築されます
#code(nonumber){{
[root@c kvm]# virt-install --connect qemu:///system --vi...
--name i03 --ram 1024 --cpu host --vcpus=1 --descript...
--os-variant rhel7 --boot cdrom,hd,menu=on \
--disk path=/kvm/i03.qcow2.img,format=qcow2,bus=virtio,ca...
--location /export/CentOS-7-x86_64-Minimal-1708.iso --net...
--initrd-inject i03.ks \
--nographics \
--extra-args='ks=file:/i03.ks console=tty0 console=ttyS0,...
[root@c kvm]#
}}
OSインストール完了後に acpid らをインストールすれば完了かな
***virshからconsoleで仮想マシンに接続するには [#uf5f2eb3]
CentOS6では仮想マシンの/etc/grub.confを下記のように修正し...
#code(nonumber,diff){{
--- /etc/grub.conf.190130 2019-01-30 16:44:59.66054...
+++ /etc/grub.conf 2019-01-30 16:46:02.923322087 +0900
@@ -11,9 +11,11 @@
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
+serial --speed=115200 --unit=0 --word=8 --parity=no --st...
+terminal --timeout=5 serial console
title CentOS (2.6.32-696.23.1.el6.x86_64)
root (hd0,0)
- kernel /vmlinuz-2.6.32-696.23.1.el6.x86_64 ro roo...
+ kernel /vmlinuz-2.6.32-696.23.1.el6.x86_64 ro roo...
initrd /initramfs-2.6.32-696.23.1.el6.x86_64.img
title CentOS 6 (2.6.32-696.el6.x86_64)
root (hd0,0)
}}
一応仮想マシンにserialがあれば、「virsh console <仮想マシ...
CentOS7では、同じくgrubを修正しますが、まずはテンプレート...
#code(nonumber,diff){{
--- /etc/default/grub.orig 2017-08-29 21:46:57.23248...
+++ /etc/default/grub 2019-01-30 17:02:24.150360582 +0900
@@ -3,5 +3,5 @@
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
-GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet"
+GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet console=...
GRUB_DISABLE_RECOVERY="true"
}}
その後、grubを作ります
#code(nonumber){{
(UEFIなら)
grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
(BIOSなら)
grub2-mkconfig -o /boot/grub2/grub.cfg
}}
とする。
UEFIかBIOSなのかは、「/boot/efi/EFI/BOOT/」があればUEFIと...
終了行:
&color(white,blue){留意};
/dev/kvmの所有者に注意
[[libvirt]]にて、ユーザ qemu をlibvirtdの担当にさせたのな...
#code(nonumber){{
[root@c ~]# ls -l /dev/kvm
crw-rw---- 1 root qemu 10, 232 1月 31 23:48 /dev/kvm
[root@c ~]#
}}
[[libvirt/仮想マシン作成/windowsPC]]
***qemu-imgでディスクイメージを作成 [#u0e74b8b]
ストレージを直接指定するなら、まず&color(magenta){qemu-im...
ここでは、場所を /opt/kvm として、作成するイメージは qcow...
#code(nonumber){{
[root@c ~]# mkdir /opt/kvm
[root@c ~]# qemu-img create -f qcow2 /opt/kvm/HDD.qcow2....
Formatting '/opt/kvm/HDD.qcow2.img', fmt=qcow2 size=34359...
[root@c ~]#
[root@c ~]# ls -lh /opt/kvm/HDD.qcow2.img
-rw-r--r-- 1 root root 193K 2月 1 22:21 /opt/kvm/HDD.qc...
[root@c ~]#
}}
一応確認してみます
#code(nonumber){{
[root@c ~]# qemu-img info /opt/kvm/HDD.qcow2.img
image: /opt/kvm/HDD.qcow2.img
file format: qcow2
virtual size: 32G (34359738368 bytes)
disk size: 196K
cluster_size: 65536
Format specific information:
compat: 1.1
lazy refcounts: false
refcount bits: 16
corrupt: false
[root@c ~]#
}}
それで、CentOS7の仮想マシンを作ってみます。
***virt-installで仮想マシンを作成 [#s36e4e9f]
CentOS7の例
#code(nonumber){{
[root@c ~]# export PATH=/opt/local/bin:$PATH
[root@c ~]# export PYTHONPATH=/opt/local/lib64/python2.7/...
[root@c ~]# export LD_LIBRARY_PATH=/opt/libvirt/lib
[root@c ~]# virt-install --connect qemu:///system --virt...
--name c20 --ram 1024 --cpu host --vcpus=1 --descript...
--os-variant rhel7 --boot cdrom,hd,menu=on \
--disk path=/opt/kvm/HDD.qcow2.img,format=qcow2,bus=virti...
--cdrom /export/CentOS-7-x86_64-DVD-1611.iso --network b...
--graphics vnc,port=5900,listen=0.0.0.0,keymap=ja
}}
と実行すると、続く画面で下記が表記された
#code(nonumber){{
WARNING グラフィカルコンソールに接続できません: virt-vie...
WARNING ゲストのコンソールがないため、デフォルト値 --wai...
インストールの開始中...
割り当て中 'HDD1.qcow2.img' | 8.0 GB...
ドメインを作成中... | 0 B...
仮想マシンのインストールが進行中です。インストールが完了...
}}
この段階で vnc で 仮想化サーバの 5900 番に繋げると、下図...
&ref(2017y02m01d_223035988.png,nolink);&ref(2017y02m01d_2...
このvnc画面を経由して、仮想マシンにOSをインストールしま...
***仮想マシンの制御 [#e6358de5]
作成した仮想マシンを停止、起動させるには、仮想マシンに&co...
#code(nonumber){{
[root@c103 ~]# yum install acpid
[root@c103 ~]# systemctl enable acpid.service
[root@c103 ~]# systemctl start acpid.service
}}
こうすることで、仮想化サーバから virsh コマンドで制御可能に
#code(nonumber){{
[root@c ~]# virsh
virsh # list --all
Id 名前 状態
----------------------------------------------------
5 c20 実行中
virsh # shutdown c20
ドメイン c20 はシャットダウン中です
virsh # start c20
ドメイン c20 が起動されました
virsh #
}}
こんな感じで。
***コマンドラインで仮想マシンを作る [#ifa16d91]
参照先
&size(10){[[https://qiita.com/jimaoka/items/d528a7f55e832...
コマンドラインしか利用できない環境で仮想マシンを作る
#code(nonumber){{
[root@e ~]# virsh net-destroy default
[root@e ~]# virsh net-autostart default --disable
[root@e ~]# mkdir /kvm && cd $_
[root@e kvm]# qemu-img create -f qcow2 /kvm/ad.qcow2.img...
[root@e kvm]# virt-install --connect qemu:///system \
--name ad \
--vcpus 1 \
--memory 1024 \
--cpu host \
--metadata description="ad" \
--location "/kvm/CentOS-7-x86_64-Minimal-1708.iso" \
--os-variant rhel7 \
--boot cdrom,hd,menu=on \
--disk path=/kvm/ad.qcow2.img,format=qcow2,bus=virtio,cac...
--network bridge=br0,model=virtio \
--nographics \
--extra-args='console=tty0 console=ttyS0,115200n8' \
--hvm
}}
実行した画面で起動シーケンスが始まり、下記のような画面に...
&ref(2018y03m20d_221029322.png,nolink);
&color(red){*};&size(10){ただこれだと指値でhddを区分けで...
インストール完了後、再びコマンドラインで接続するには virs...
#code(nonumber){{
[root@e ~]# virsh
virsh # list
Id 名前 状態
----------------------------------------------------
2 ad 実行中
virsh # console ad
ドメイン ad に接続しました
エスケープ文字は ^] です
CentOS Linux 7 (Core)
Kernel 3.10.0-693.el7.x86_64 on an x86_64
ad login:
}}
***qemuからkvm [#kadcf86f]
#code(nonumber){{
<domain type='qemu'>
↓
<domain type='kvm'>
<emulator>/usr/libexec/qemu-kvm</emulator>
}}
***kickstartファイルを使って [#p805d2bf]
[[kickstart]]にて自動インストールなisoを別途作って仮想マ...
isoを別途作成せずとも、標準提供なMinimalなisoとkickstart...
まずは、ディスクイメージを作る
#code(nonumber){{
[root@c ~]# cd /kvm/
[root@c kvm]# qemu-img create -f qcow2 i03.qcow2.img 32G
}}
そしてkickstartファイルを作る。
ここでは簡単に、「Minimal」なOSを作る。ipはdhcp由来で、HD...
#code(nonumber){{
[root@c kvm]# vi i03.ks
cdrom
ignoredisk --only-use=vda
lang ja_JP.UTF-8
keyboard --vckeymap=jp --xlayouts='jp'
network --bootproto=dhcp --device=eth0 --noipv6 --activate
auth --enableshadow --passalgo=sha512
rootpw --plaintext xxxxxxx
firstboot --disabled
firewall --disabled
selinux --disabled
eula --agreed
services --enabled="chronyd"
timezone Asia/Tokyo --isUtc --ntpservers=c.sybyl.local
bootloader --location=mbr --boot-drive=vda --append="net....
clearpart --drives=vda --all --initlabel
part /boot --fstype="xfs" --ondisk=vda --size=512
part swap --fstype="swap" --ondisk=vda --size=1024
part / --fstype="xfs" --ondisk=vda --size=4096 --grow
part /boot/efi --fstype="efi" --ondisk=vda --size=512 --f...
reboot
%packages
@^minimal
@core
chrony
-biosdevname
%end
[root@c kvm]#
}}
作ったkickstartファイルを使って
仮想マシンを作る。
ほぼ自動でOSが構築されます
#code(nonumber){{
[root@c kvm]# virt-install --connect qemu:///system --vi...
--name i03 --ram 1024 --cpu host --vcpus=1 --descript...
--os-variant rhel7 --boot cdrom,hd,menu=on \
--disk path=/kvm/i03.qcow2.img,format=qcow2,bus=virtio,ca...
--location /export/CentOS-7-x86_64-Minimal-1708.iso --net...
--initrd-inject i03.ks \
--nographics \
--extra-args='ks=file:/i03.ks console=tty0 console=ttyS0,...
[root@c kvm]#
}}
OSインストール完了後に acpid らをインストールすれば完了かな
***virshからconsoleで仮想マシンに接続するには [#uf5f2eb3]
CentOS6では仮想マシンの/etc/grub.confを下記のように修正し...
#code(nonumber,diff){{
--- /etc/grub.conf.190130 2019-01-30 16:44:59.66054...
+++ /etc/grub.conf 2019-01-30 16:46:02.923322087 +0900
@@ -11,9 +11,11 @@
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
+serial --speed=115200 --unit=0 --word=8 --parity=no --st...
+terminal --timeout=5 serial console
title CentOS (2.6.32-696.23.1.el6.x86_64)
root (hd0,0)
- kernel /vmlinuz-2.6.32-696.23.1.el6.x86_64 ro roo...
+ kernel /vmlinuz-2.6.32-696.23.1.el6.x86_64 ro roo...
initrd /initramfs-2.6.32-696.23.1.el6.x86_64.img
title CentOS 6 (2.6.32-696.el6.x86_64)
root (hd0,0)
}}
一応仮想マシンにserialがあれば、「virsh console <仮想マシ...
CentOS7では、同じくgrubを修正しますが、まずはテンプレート...
#code(nonumber,diff){{
--- /etc/default/grub.orig 2017-08-29 21:46:57.23248...
+++ /etc/default/grub 2019-01-30 17:02:24.150360582 +0900
@@ -3,5 +3,5 @@
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
-GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet"
+GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet console=...
GRUB_DISABLE_RECOVERY="true"
}}
その後、grubを作ります
#code(nonumber){{
(UEFIなら)
grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
(BIOSなら)
grub2-mkconfig -o /boot/grub2/grub.cfg
}}
とする。
UEFIかBIOSなのかは、「/boot/efi/EFI/BOOT/」があればUEFIと...
ページ名:
1