中文、簡體中文(中國)html
setenforce 0 linux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux網絡
systemctl disable firewalldsession
systemctl stop firewallddom
yum -y groupinstall "X Window System"ssh
yum install gnome-classic-session gnome-terminal nautilus-open-terminal control-center liberation-mono-fonts –ysocket
2.2.1設置默認以桌面啓動工具
將/etc/inittab中的oop
#graphical.target: analogous to runlevel 5測試
修改成
graphical.target: analogous to runlevel 5
systemctl set-default graphical.target
yum -y install vnc *vnc-server*
[root@KVM2 ~]# vncserver
You will require a password to access your desktops.
Password:***** ###輸入密碼
Verify:***** ###確認密碼
vncserver :1
vncserver –kill :1
cat /proc/cpuinfo |grep vmx #intel cpu
cat /proc/cpuinfo |grep svm # amd cpu
#若是flags: 裏有vmx 或者svm就說明支持VT;若是沒有任何的輸出,說明你的cpu不支持,將沒法使用KVM虛擬機
[root@KVM2 ~]# lsmod | grep kvm
kvm_intel 170181 0
kvm 554609 1 kvm_intel
irqbypass 13503 1 kvm
安裝bridge-utils ,用來管理網橋的工具brctl
yum -y install bridge-utils
yum -y install qemu-kvm libvirt virt-install virt-manager openssh-askpass
/etc/libvirt/qemu.conf
將
dynamic_ownership=1
#user = "root"
#group = "root"
修改成
dynamic_ownership=0
user = "root"
group = "root"
systemctl restart libvirtd
systemctl enable libvirtd
nmcli c add type bridge autoconnect yes con-name br0 ifname br0
cd /etc/sysconfig/network-scripts/
[root@KVM2 network-scripts]# cat ifcfg-br0
DEVICE=br0
STP=yes
BRIDGING_OPTS=priority=32768
TYPE=Bridge
BOOTPROTO=none
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
NAME=br0
ONBOOT=yes
IPADDR=192.161.14.247
NETMASK=255.255.255.0
GATEWAY=192.161.14.1
[root@KVM2 network-scripts]# cat ifcfg-ens192
TYPE=Ethernet
BOOTPROTO=none
BRIDGE=br0
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
NAME=ens192
UUID=89e79501-94d5-4e32-a215-dad967527107
DEVICE=ens192
ONBOOT=yes
重啓網絡systemctl restart network
查看網絡
[root@KVM2 network-scripts]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br0 state UP qlen 1000
link/ether 00:50:56:83:03:6a brd ff:ff:ff:ff:ff:ff
3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN qlen 1000
link/ether 52:54:00:26:16:70 brd ff:ff:ff:ff:ff:ff
inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
valid_lft forever preferred_lft forever
4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN qlen 1000
link/ether 52:54:00:26:16:70 brd ff:ff:ff:ff:ff:ff
7: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP qlen 1000
link/ether 00:50:56:83:03:6a brd ff:ff:ff:ff:ff:ff
inet 192.161.14.247/24 brd 192.161.14.255 scope global br0
valid_lft forever preferred_lft forever
inet6 fd3c:dfbd:20c3:d000:250:56ff:fe83:36a/64 scope global mngtmpaddr dynamic
valid_lft 7094sec preferred_lft 3494sec
inet6 fe80::250:56ff:fe83:36a/64 scope link
valid_lft forever preferred_lft forever
a)
ssh-keygen -t rsa
#生產公鑰、私鑰
b)同步各宿主機/root/.ssh/authorized_keys配置文件
echo ‘/usr/sbin/modprobe 8021q’ >> /etc/rc.local
chmod +x /etc/rc.local
rpm -ivh vonfig-1.9-8.1.el6.x86_64.rpm
a)
[root@KVM1 network-scripts]# vconfig add eno1 140
Added VLAN with VID == 140 to IF -:eno1:
命令格式以下:
vconfig add 物理網卡名 vlanid
b)
[root@KVM1 network-scripts]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master br0 state UP qlen 1000
link/ether 30:e1:71:55:a8:f4 brd ff:ff:ff:ff:ff:ff
inet6 fe80::32e1:71ff:fe55:a8f4/64 scope link
valid_lft forever preferred_lft forever
3: eno2: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN qlen 1000
link/ether 30:e1:71:55:a8:f5 brd ff:ff:ff:ff:ff:ff
4: eno3: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN qlen 1000
link/ether 30:e1:71:55:a8:f6 brd ff:ff:ff:ff:ff:ff
5: eno4: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN qlen 1000
link/ether 30:e1:71:55:a8:f7 brd ff:ff:ff:ff:ff:ff
45: eno1.140@eno1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN
link/ether 30:e1:71:55:a8:f4 brd ff:ff:ff:ff:ff:ff
#多了一個eno1.140的虛擬網卡
c)建立相應虛擬網卡配置文件和橋接配置文件
d)重啓網卡
[root@KVM1 network-scripts]# service network restart
Restarting network (via systemctl): [ OK ]
e)查看網橋綁定狀況
[root@KVM1 network-scripts]# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.30e17155a8f4 yes eno1
br140 8000.30e17155a8f4 yes eno1.140
br20 8000.30e17155a8f4 yes eno1.20
vnet1
virbr0 8000.5254009c7586 yes virbr0-nic
#網橋綁定成功
f)查看網橋是否運行正常
[root@KVM1 network-scripts]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master br0 state UP qlen 1000
link/ether 30:e1:71:55:a8:f4 brd ff:ff:ff:ff:ff:ff
inet6 fe80::32e1:71ff:fe55:a8f4/64 scope link
valid_lft forever preferred_lft forever
3: eno2: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN qlen 1000
link/ether 30:e1:71:55:a8:f5 brd ff:ff:ff:ff:ff:ff
4: eno3: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN qlen 1000
link/ether 30:e1:71:55:a8:f6 brd ff:ff:ff:ff:ff:ff
5: eno4: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN qlen 1000
link/ether 30:e1:71:55:a8:f7 brd ff:ff:ff:ff:ff:ff
8: br20: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP
link/ether 30:e1:71:55:a8:f4 brd ff:ff:ff:ff:ff:ff
inet 172.16.4.100/24 brd 172.16.4.255 scope global br20
valid_lft forever preferred_lft forever
inet6 fe80::32e1:71ff:fe55:a8f4/64 scope link
valid_lft forever preferred_lft forever
9: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN
link/ether 52:54:00:9c:75:86 brd ff:ff:ff:ff:ff:ff
inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
valid_lft forever preferred_lft forever
10: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN qlen 500
link/ether 52:54:00:9c:75:86 brd ff:ff:ff:ff:ff:ff
40: vnet1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br20 state UNKNOWN qlen 500
link/ether fe:54:00:f3:1a:6a brd ff:ff:ff:ff:ff:ff
inet6 fe80::fc54:ff:fef3:1a6a/64 scope link
valid_lft forever preferred_lft forever
45: eno1.140@eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br140 state UP
link/ether 30:e1:71:55:a8:f4 brd ff:ff:ff:ff:ff:ff
inet6 fe80::32e1:71ff:fe55:a8f4/64 scope link
valid_lft forever preferred_lft forever
46: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP
link/ether 30:e1:71:55:a8:f4 brd ff:ff:ff:ff:ff:ff
inet 192.161.14.247/24 brd 192.161.14.255 scope global br0
valid_lft forever preferred_lft forever
inet6 fd3c:dfbd:20c3:d000:32e1:71ff:fe55:a8f4/64 scope global mngtmpaddr dynamic
valid_lft 7004sec preferred_lft 3404sec
inet6 fd51:8056:6705:0:32e1:71ff:fe55:a8f4/64 scope global mngtmpaddr dynamic
valid_lft 7200sec preferred_lft 1800sec
inet6 fd51:8056:6705:4:32e1:71ff:fe55:a8f4/64 scope global mngtmpaddr dynamic
valid_lft 7200sec preferred_lft 1800sec
inet6 fe80::32e1:71ff:fe55:a8f4/64 scope link
valid_lft forever preferred_lft forever
47: br140: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP
link/ether 30:e1:71:55:a8:f4 brd ff:ff:ff:ff:ff:ff
inet 172.16.4.40/24 brd 172.16.4.255 scope global br140
valid_lft forever preferred_lft forever
inet6 fe80::32e1:71ff:fe55:a8f4/64 scope link
valid_lft forever preferred_lft forever
48: eno1.20@eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br20 state UP
link/ether 30:e1:71:55:a8:f4 brd ff:ff:ff:ff:ff:ff
inet6 fe80::32e1:71ff:fe55:a8f4/64 scope link
valid_lft forever preferred_lft forever
#運行正常
virsh migrate --live rhel7.3 qemu+ssh://192.161.14.250/system
[root@KVM1 images]# qemu-img info redhat7.3
image: redhat7.3
file format: qcow2
virtual size: 60G (64424509440 bytes)
disk size: 1.3G
cluster_size: 65536
Format specific information:
compat: 1.1
lazy refcounts: true
[root@KVM1 images]# qemu-img create -f qcow2 -b redhat7.3 KVM2-VM1
###克隆格式爲qcow2
Formatting 'KVM2-VM1', fmt=qcow2 size=64424509440 backing_file='redhat7.3' encryption=off cluster_size=65536 lazy_refcounts=off
virsh dumpxml rhel7.3 > /etc/libvirt/qemu/KVM2-VM1.xml
###其中rhel7.3爲模板文件的名字,KVM2-VM1爲要生成模板文件名字,注意跟前面的磁盤文件名保持一致
<mac address='52:54:00:f3:1a:6a'/>
<uuid>18f4b3eb-4d0f-4cac-bc3f-e3798fa4746c</uuid>
<source file='/var/lib/libvirt/images/redhat7.3'/>
<name>rhel7.3</name>
[root@KVM1 qemu]# virsh define /etc/libvirt/qemu/KVM2-VM1.xml
Domain KVM2-VM1 defined from /etc/libvirt/qemu/KVM2-VM1.xml
Error starting domain: internal error: process exited while connecting to monitor: 2017-08-29T05:09:58.146446Z qemu-kvm: -chardev socket,id=charchannel0,path=/var/lib/libvirt/qemu/channel/target/domain-rhel7.3/org.qemu.guest_agent.0,server,nowait: Failed to bind socket: No such file or directory
2017-08-29T05:09:58.146488Z qemu-kvm: -chardev socket,id=charchannel0,path=/var/lib/libvirt/qemu/channel/target/domain-rhel7.3/org.qemu.guest_agent.0,server,nowait: chardev: opening backend "socket" failed
建立該目錄/var/lib/libvirt/qemu/channel/target/下相應目錄問題就可解決
a)
#選擇要克隆的主機(該主機必須是關閉或Pause狀態)
b)
#設置要克隆的虛機名稱,Storage,選擇Details(這裏不要選擇默認的,不然會致使主機名跟磁盤名不一致,不便於管理)
c)
#設置虛機機磁盤位置、名稱,這裏要求跟虛擬機名字一致
d)
#選擇克隆便可
e)
#克隆完畢以後,便可看到虛擬機列表
a)克隆命令格式
virt-clone -o 源虛機名 -n 目標虛機名 -f /var/lib/libvirt/images/目標虛擬機名
b)列出宿主機全部虛擬機
[root@KVM1 qemu]# virsh list --all
Id Name State
----------------------------------------------------
16 rhel7.3 paused
- KVM2-VM1 shut off
- KVM2-VM2 shut off
- KVM2-VM3 shut off
- KVM2-VM5 shut off
- KVM2-VM6 shut off
- KVM2-VM7 shut off
c)克隆虛機KVM2-VM8
[root@KVM1 qemu]# virt-clone -o rhel7.3 -n KVM2-VM8 -f /var/lib/libvirt/images/KVM2-Vm8
WARNING Setting the graphics device port to autoport, in order to avoid conflicting.
Allocating 'KVM2-Vm8' | 60 GB 00:00:02
Clone 'KVM2-VM8' created successfully.
d)檢查是否建立成功
[root@KVM1 target]# virsh list --all
Id Name State
----------------------------------------------------
16 rhel7.3 paused
- KVM2-VM1 shut off
- KVM2-VM2 shut off
- KVM2-VM3 shut off
- KVM2-VM5 shut off
- KVM2-VM6 shut off
- KVM2-VM7 shut off
- KVM2-VM8 shut off
a)將虛擬機KVM2-VM8遷移到宿主機KVM2上
b)遷移配置文件
[root@KVM1 target]# scp /etc/libvirt/qemu/KVM2-VM8.xml root@KVM2:/etc/libvirt/qemu/
KVM2-VM8.xml
c)遷移鏡像文件
[root@KVM1 target]# scp /var/lib/libvirt/images/KVM2-VM root@KVM2:/var/lib/libvirt/images/
d)激活配置文件
[root@KVM2 target]# virsh define /etc/libvirt/qemu/KVM2-VM8.xml
e)查看宿主機虛機狀況
[root@KVM2 target]# virsh list --all
Id Name State
----------------------------------------------------
- KVM2-VM1 shut off
- KVM2-VM2 shut off
- KVM2-VM3 shut off
- KVM2-VM5 shut off
- KVM2-VM6 shut off
- KVM2-VM8 shut off
#遷移成功
http://www.linuxidc.com/Linux/2015-12/126690.htm ###安裝桌面
http://www.linuxidc.com/Linux/2016-07/132835.htm ###vnc安裝
http://blog.csdn.net/skykingf/article/details/51944455 ###安裝kvm1
http://www.cnblogs.com/lvxiaobo616/p/5704646.html ###安裝kvm2
http://blog.csdn.net/qq_19646075/article/details/51780530 ###虛機遷移1
http://www.cnblogs.com/sammyliu/p/4572287.html ###虛機遷移2
如在虛擬機中測試,網卡必定選擇成混雜模式,不然,在虛機獲取橋接網絡時,會獲取不到