kvm2
10687 ワード
kvm仮想マシンのブリッジネットワーク
デフォルトの仮想マシンネットワークはNATモード、セグメント192.168.122.0/24
1:ブリッジNICの作成
ブリッジNICコマンドvirsh iface-bridge eth 0 br 0ブリッジNICコマンドvirsh iface-unbridge br 0をキャンセル
新しい仮想マシンでブリッジモード2を使用するデフォルトNATモード
ブリッジモード
仮想マシンがipアドレスを取得できない場合
3既存のVMネットワークをブリッジモードに変更する
a:シャットダウン状態で仮想マシンプロファイルを変更するには:
b:仮想マシンを起動し、仮想マシンネットワークをテストする
熱添加技術
ホットディスク、NIC、メモリ、cpu
ホストkvm
まずディスクを追加
ホットディスク
--subdriverパラメータを追加しない場合、作成したディスクはサイズがなく一時的にハードディスクを剥離し(取り外し)、再追加します.
仮想マシンへのディスクの初期化
マウントディスク
データを書き込み可能
かくさんようりょう
仮想マシンへのアクセス
コールドマイグレーション
完全なクローンベースのコールドマイグレーション
リンク・クローン・ベースのコールド・マイグレーション
#熱移動
#ホット移行kvm仮想マシン:プロファイル、nfs共有
#nfsを利用して共有インターネットを実現し、kvm 1とkvm 2をクライアントと見なし、nfsをサービス側とする
#表示
#/vm/を/opt/に直接マウントすることはできません.そうしないと、/opt/が空になります./opt/の下の内容を移動してマウントする必要があります.
デフォルトの仮想マシンネットワークはNATモード、セグメント192.168.122.0/24
1:ブリッジNICの作成
ブリッジNICコマンドvirsh iface-bridge eth 0 br 0ブリッジNICコマンドvirsh iface-unbridge br 0をキャンセル
新しい仮想マシンでブリッジモード2を使用するデフォルトNATモード
virt-install --virt-type kvm --os-type=linux --os-
variant rhel7 --name web04 --memory 1024 --vcpus 1 --
disk /opt/web04.qcow2 --boot hd --network
network=default --graphics vnc,listen=0.0.0.0 --
noautoconsole
ブリッジモード
virt-install --virt-type kvm --os-type=linux --os-
variant rhel7 --name web04 --memory 1024 --vcpus 1 --
disk /data/web04.qcow2 --boot hd --network bridge=br0 --
graphics vnc,listen=0.0.0.0 --noautoconsole
仮想マシンがipアドレスを取得できない場合
3既存のVMネットワークをブリッジモードに変更する
a:シャットダウン状態で仮想マシンプロファイルを変更するには:
:virsh edit centos7
b:仮想マシンを起動し、仮想マシンネットワークをテストする
dhcp, ip
,IPADDR,NATMASK.GATEWAY,DNS1
echo 'TYPE="Ethernet"
BOOTPROTO="none"
NAME="eth0"
DEVICE="eth0"
ONBOOT="yes"
IPADDR="10.0.0.102"
NETMASK="255.255.255.0"
GATEWAY="10.0.0.254"
DNS1="223.5.5.5"' >/etc/sysconfig/network-scripts/ifcfg-eth0
熱添加技術
ホットディスク、NIC、メモリ、cpu
ホストkvm
まずディスクを追加
[root@kvm1 opt]# qemu-img create -f qcow2 /opt/web04_add01.qcow2 10G
[root@kvm1 opt]# qemu-img info web04_add01.qcow2 #
ホットディスク
[root@kvm1 opt]# virsh attach-disk web04 /opt/web04_add01.qcow2 vdb --subdriver qcow2
--subdriverパラメータを追加しない場合、作成したディスクはサイズがなく一時的にハードディスクを剥離し(取り外し)、再追加します.
virsh detach-disk web01 vdb
仮想マシンへのディスクの初期化
[root@kvm1 opt]# virsh console web04
[root@localhost ~]# hostnamectl set-hostname web04
[root@localhost ~]# bash
[root@web04 ~]# fdisk -l
[root@web04 ~]# mkfs.xfs /dev/vdb # , inode block
meta-data=/dev/vdb isize=256 agcount=4, agsize=655360 blks
= sectsz=512 attr=2, projid32bit=1
= crc=0 finobt=0
data = bsize=4096 blocks=2621440, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=0
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
マウントディスク
[root@web04 ~]# mount /dev/vdb /mnt
[root@web04 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 10G 1.1G 9.0G 11% /
devtmpfs 488M 0 488M 0% /dev
tmpfs 497M 0 497M 0% /dev/shm
tmpfs 497M 6.6M 490M 2% /run
tmpfs 497M 0 497M 0% /sys/fs/cgroup
tmpfs 100M 0 100M 0% /run/user/0
/dev/vdb 10G 33M 10G 1% /mnt
データを書き込み可能
[root@web04 ~]# cp /etc/services /mnt/
[root@web04 ~]# ll /mnt/
かくさんようりょう
[root@kvm1 opt]# virsh detach-disk web04 vdb #
[root@kvm1 opt]# qemu-img resize /opt/web04_add01.qcow2 30G #
[root@kvm1 opt]# qemu-img info /opt/web04_add01.qcow2 #
[root@kvm1 opt]# virsh attach-disk web04 /opt/web04_add01.qcow2 vdb --subdriver qcow2 #
仮想マシンへのアクセス
[root@web04 ~]# umount /mnt/
[root@web04 ~]# mount /dev/vdb /mnt # , , ,
[root@web04 ~]# ll /mnt/
total 656
-rw-r--r--. 1 root root 670293 Nov 28 13:20 services
[root@web04 ~]# df -h
[root@web04 ~]# xfs_growfs /dev/vdb #
コールドマイグレーション
kvm2 ,
10.0.0.99 2G ----> ( IntelVT-x)
[root@kvm2 opt]# cd /etc/yum.repos.d/
[root@kvm2 opt]# rm -f local.repo
[root@kvm2 opt]# echo "192.168.37.200 mirrors.aliyun.com" >>/etc/hosts
[root@kvm2 opt]# curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
[root@kvm2 opt]# yum install libvirt virt-install qemu-kvm -y
[root@kvm2 opt]# systemctl start libvirtd
[root@kvm2 opt]# systemctl status libvirtd
完全なクローンベースのコールドマイグレーション
[root@kvm1 opt]# virsh dumpxml web03|grep qcow2
[root@kvm1 opt]# virsh list --all #
[root@kvm1 opt]# scp -rp /opt/web03.qcow2 10.0.0.99:/opt/
[root@kvm1 opt]# virsh dumpxml web03 >web03.xml
[root@kvm1 opt]# scp -rp /opt/web03.xml 10.0.0.99:/opt/
[root@kvm2 opt]# virsh define web03.xml
[root@kvm2 opt]# virsh start web03
[root@kvm2 opt]# virsh list
[root@kvm2 opt]# virsh console web03
リンク・クローン・ベースのコールド・マイグレーション
[root@kvm1 opt]# virsh list --all #
[root@kvm1 opt]# virsh shutdown web04
[root@kvm1 opt]# qemu-img info web04.qcow2
[root@kvm1 opt]# scp -rp web03.qcow2 web04.qcow2 10.0.0.99:/opt/
[root@kvm1 opt]# virsh dumpxml web04 > web04.xml
[root@kvm1 opt]# scp -rp web04.xml 10.0.0.99:/opt/
[root@kvm2 opt]# virsh define web04.xml
[root@kvm2 opt]# virsh start web04
[root@kvm2 opt]# virsh list --alls
[root@kvm2 opt]# virsh edit web03
#熱移動
#ホット移行kvm仮想マシン:プロファイル、nfs共有
[root@kvm1 ~]# rpm -qa|grep nfs
nfs-utils-1.3.0-0.65.el7.x86_64
libnfsidmap-0.25-19.el7.x86_64
[root@kvm1 ~]# yum history
Loaded plugins: fastestmirror
ID | Login user | Date and time | Action(s) | Altered
5 | root | 2019-11-27 15:06 | Install | 1
4 | root | 2019-11-27 11:07 | I, U | 124
3 | root | 2019-04-19 12:38 | Install | 12
2 | root | 2019-04-19 12:38 | Install | 1
1 | System | 2019-04-19 12:16 | Install | 473
history list
#nfsを利用して共有インターネットを実現し、kvm 1とkvm 2をクライアントと見なし、nfsをサービス側とする
(nfs)10.0.0.31
[root@nfs ~]# systemctl restart nfs
[root@nfs ~]# systemctl status nfs
[root@nfs ~]# cat /etc/exports
/vm 10.0.0.0/24(rw,async,no_all_squash,no_root_squash)
[root@nfs ~]# systemctl restart nfs
#表示
[root@kvm1 ~]# showmount -e 10.0.0.31
Export list for 10.0.0.31:
/vm 10.0.0.0/24
[root@kvm2 opt]# showmount -e 10.0.0.31
Export list for 10.0.0.31:
/vm 10.0.0.0/24
[root@nfs ~]# mkdir /vm
#/vm/を/opt/に直接マウントすることはできません.そうしないと、/opt/が空になります./opt/の下の内容を移動してマウントする必要があります.
[root@kvm2 opt]# ls /srv/
[root@kvm2 opt]# ls
web03.qcow2 web03.xml web04.qcow2 web04.xml
[root@kvm2 opt]# mv /opt/* /srv/
[root@kvm2 opt]# mount -t nfs 10.0.0.31:/vm /opt/
[root@kvm2 opt]# mv /srv/web03.qcow2 /opt/
[root@nfs ~]# ls /vm
web03.qcow2
[root@nfs ~]# ll -h /vm/
total 1.1G
-rw------- 1 107 107 1.1G Nov 28 19:44 web03.qcow2
[root@kvm2 opt]# id qemu
uid=107(qemu) gid=107(qemu) groups=107(qemu),36(kvm)
[root@kvm2 opt]# virsh list
Id Name State
1 web03 running
2 web04 running
[root@kvm2 opt]# ps -ef|grep qemu
[root@kvm2 opt]# pkill qemu-kvm
[root@kvm1 ~]# virsh list --all
[root@kvm1 ~]# pkill qemu-kvm
[root@kvm1 ~]# virsh list --all
[root@kvm1 ~]# ll /etc/libvirt/qemu/*.xml
[root@kvm1 ~]# rm -rf、
[root@kvm1 ~]# virsh list --all
[root@kvm1 ~]# systemctl restart libvirtd
[root@kvm1 ~]# virsh list --all
[root@kvm2 srv]# echo 1024|awk '{print $1*1024}'
1048576
[root@kvm2 srv]# mv /opt/web03.qcow2 /opt/web04.qcow2
[root@kvm2 srv]# virsh define web04.xml
[root@kvm2 srv]# virsh start web04
[root@kvm2 srv]# brctl show
[root@kvm1 ~]# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.000c298e67e3 yes eth0
virbr0 8000.525400ee419b yes virbr0-nic
[root@kvm1 ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.37.200 mirrors.aliyun.com
10.0.0.100 kvm1
10.0.0.99 kvm2
[root@kvm1 ~]# scp -rp /etc/hosts 10.0.0.99:/etc/hosts
[root@kvm2 srv]# virsh migrate --live --verbose web04 qemu+ssh://10.0.0.100/system --unsafe --persistent --undefinesource
[root@kvm2 srv]# virsh migrate --live --verbose web03 qemu+ssh://10.0.0.100/system --unsafe --persistent --undefinesource
[email protected]'s password:
Migration: [100 %]
[root@kvm2 srv]# virsh list --all
Id Name State
[root@kvm1 ~]# virsh list --all
Id Name State
2 web04 running
3 web03 running
[root@kvm1 ~]# virsh console web04
[root@localhost ~]# ip add
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# mv ifcfg-eth0 ifcfg-eth1
[root@localhost network-scripts]# echo 'TYPE="Ethernet"
> BOOTPROTO="none"
> NAME="eth0"
> DEVICE="eth0"
> ONBOOT="yes"
> IPADDR="10.0.0.102"
> NETMASK="255.255.255.0"
> GATEWAY="10.0.0.254"
> DNS1="223.5.5.5"' >/etc/sysconfig/network-scripts/ifcfg-eth1
[root@kvm1 opt]# ls
web04.qcow2
[root@kvm1 opt]# virsh migrate --live --verbose web04 qemu+ssh://10.0.0.99/system --unsafe --persistent --undefinesource
[email protected]'s password:
Migration: [100 %]
[root@kvm1 opt]# virsh list --all
Id Name State
3 web03 running
[root@kvm2 opt]# virsh list --all
Id Name State
9 web04 running
[root@kvm1 opt]# virsh list --all #
[root@kvm1 opt]# virsh shutdown web04
[root@kvm1 opt]# qemu-img info web04.qcow2
[root@kvm1 opt]# scp -rp web03.qcow2 web04.qcow2 10.0.0.99:/opt/
[root@kvm1 opt]# virsh dumpxml web04 > web04.xml
[root@kvm1 opt]# scp -rp web04.xml 10.0.0.99:/opt/
[root@kvm2 opt]# virsh define web04.xml
[root@kvm2 opt]# virsh start web04
[root@kvm2 opt]# virsh list --alls
[root@kvm2 opt]# virsh edit web03
[root@kvm1 opt]# virsh dumpxml web04|grep qcow