Centos7下kvm部署
2018-02-27 09:07
260 查看
1. 查看本机服务器网络配置
ip addr
2. 更新服务器安装包
yum update
3. 检查服务器CPU对KVM的支持
egrep '(vmx | svm)' --color=always /proc/cpuinfo
4. 检查模块加载
lsmod | grep kvm
5. 安装软件包
yum -y install kvm python-virtinst libvirt tunctl bridge-utils virt-manager qemu-kvm-tools virt-viewer virt-v2v libgesttfs-tools
6. 启动服务
service libvirtd start
7. 查看服务状态
service libvirtd status
8. 查看网卡配置
参考:http://blog.csdn.net/wh211212/article/details/54135565
[root@localhost network-scripts]# cat ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
IPADDR=192.168.168.130
NETMASK=255.255.255.0
GATEWAY=192.168.168.1
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=b5836e9b-5c29-423d-ba6a-08f4042234b9
DEVICE=ens33
ONBOOT=yes
BRIDGE=br0
9. 配置网桥
[root@localhost network-scripts]# cat ifcfg-br0
DEVICE=br0
TYPE=Bridge
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.168.130
NETMASK=255.255.255.0
GATEWAY=192.168.168.1
10. 查看网络配置
[root@localhost network-scripts]# ifconfig
br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.168.130 netmask 255.255.255.0 broadcast 192.168.168.255
inet6 fe80::20c:29ff:feb6:7b3a prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:b6:7b:3a txqueuelen 1000 (Ethernet)
RX packets 27 bytes 1288 (1.2 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 9 bytes 690 (690.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
ether 00:0c:29:b6:7b:3a txqueuelen 1000 (Ethernet)
RX packets 213565 bytes 312345544 (297.8 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 95748 bytes 6695422 (6.3 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 19 base 0x2000
ens37: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.168.131 netmask 255.255.255.0 broadcast 192.168.168.255
inet6 fe80::4e81:db21:552f:b51c prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:b6:7b:44 txqueuelen 1000 (Ethernet)
RX packets 170 bytes 11946 (11.6 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 46 bytes 4844 (4.7 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 19 base 0x2400
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1 (Local Loopback)
RX packets 16 bytes 1408 (1.3 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 16 bytes 1408 (1.3 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
ether 52:54:00:34:a1:c5 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
11. 创建磁盘
[root@localhost network-scripts]# qemu-img create -f raw /opt/kvm.raw 10G
Formatting '/opt/kvm.raw', fmt=raw size=10737418240
12. 安装virt-instal
[root@localhost janl]# virt-install
-bash: virt-install: 未找到命令
[root@localhost janl]# yum -y install python-virtinst
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.btte.net
* extras: mirrors.btte.net
* updates: mirrors.pubyun.com
没有可用软件包 python-virtinst。
[root@localhost janl]# yum install git
[root@localhost download]# git clone https://github.com/palli/python-virtinst.git 正克隆到 'python-virtinst'...
remote: Counting objects: 10215, done.
remote: Compressing objects: 100% (2588/2588), done.
remote: Total 10215 (delta 7455), reused 10215 (delta 7455), pack-reused 0
接收对象中: 100% (10215/10215), 20.96 MiB | 164.00 KiB/s, done.
处理 delta 中: 100% (7455/7455), done.
[root@localhost python-virtinst]# python setup.py install
[root@localhost python-virtinst]# virt-install
ERROR
--name is required
--ram amount in MB is required
--disk storage must be specified (override with --nodisks)
An install method must be specified
(--location URL, --cdrom CD/ISO, --pxe, --import, --boot hd|cdrom|...)
(可选)用DD拷文件 dd if=/dev/cdrom of=/opt/centos64.iso
13. 创建虚拟机
virt-install --virt-type kvm --name kvm1-demo --ram 512 --cdrom=/opt/centos64.iso --network bridge=br0 --graphics vnc,listen=0.0.0.0 --noautoconsole --os-type=linux --os-variant=rhel6 --disk path=/opt/kvm1.raw
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Virsh语法参考:
Autostart 自动开始一个域
Create 从一个 XML 文件创建一个域
Define 从一个 XML 文件定义(但不开始)一个域
edit 编辑某个域的 XML 配置
shutdown 关闭一个域
start 开始一个(以前定义的)非活跃的域
reboot 重新启动一个域
suspend 挂起一个域
resume 重新恢复一个域
vncdisplay vnc 显示
undefine 删除虚拟机,只是删除VM的配置文件,并不删除虚拟磁盘文件
查看虚拟机列表。
virsh -c qemu:///system list
重启虚拟机
virsh reboot VM1
虚拟机宿主机开机自启动
virsh autostart VM1
取消
virsh autostart --disable VM1
删除虚拟机
virsh undefine VM1
rm -rf /home/img/VM1.img
rm -rf /etc/libvirt/qemu/VM1.xml
rm -rf /etc/libvirt/qemu/autostart/VM1.xml
虚拟机的配置文件在这里
/etc/libvirt/qemu/*.xml
一个一个安装虚拟机太麻烦,我们来克隆吧!
首先关闭虚拟机
virsh shutdown VM1
virsh -c qemu:///system list
virt-clone -o VM1 -n VM2 -f /home/img/VM2.img --connect=qemu:///system
chown qemu.qemu VM05.img
修改一些配置,把 vnc 的端口号修改一下,避免两个产生冲突,并记录一下这里面的 MAC 地址备用。
virsh edit VM2
先启动 VM2,目前两个虚拟机还不能同时启动。
virsh start VM2
virsh -c qemu:///system list
连接VNC
rm -rf /etc/udev/rules.d/70-persistent-net.rules
rm -rf /etc/udev/rules.d/70-persistent-cd.rules
vi /etc/network/interfaces
hwaddress ether 52:54:00:4b:04:bb 添加mac地址
/etc/init.d/networking restart
virsh reboot VM2
virsh start VM1
也使用virt-edit命令直接在宿主机修改虚拟机文件
virt-edit VM2 /etc/network/interfaces
virt-edit VM2 /etc/hostname
virt-edit VM2 /etc/hosts
ip addr
2. 更新服务器安装包
yum update
3. 检查服务器CPU对KVM的支持
egrep '(vmx | svm)' --color=always /proc/cpuinfo
4. 检查模块加载
lsmod | grep kvm
5. 安装软件包
yum -y install kvm python-virtinst libvirt tunctl bridge-utils virt-manager qemu-kvm-tools virt-viewer virt-v2v libgesttfs-tools
6. 启动服务
service libvirtd start
7. 查看服务状态
service libvirtd status
8. 查看网卡配置
参考:http://blog.csdn.net/wh211212/article/details/54135565
[root@localhost network-scripts]# cat ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
IPADDR=192.168.168.130
NETMASK=255.255.255.0
GATEWAY=192.168.168.1
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=b5836e9b-5c29-423d-ba6a-08f4042234b9
DEVICE=ens33
ONBOOT=yes
BRIDGE=br0
9. 配置网桥
[root@localhost network-scripts]# cat ifcfg-br0
DEVICE=br0
TYPE=Bridge
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.168.130
NETMASK=255.255.255.0
GATEWAY=192.168.168.1
10. 查看网络配置
[root@localhost network-scripts]# ifconfig
br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.168.130 netmask 255.255.255.0 broadcast 192.168.168.255
inet6 fe80::20c:29ff:feb6:7b3a prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:b6:7b:3a txqueuelen 1000 (Ethernet)
RX packets 27 bytes 1288 (1.2 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 9 bytes 690 (690.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
ether 00:0c:29:b6:7b:3a txqueuelen 1000 (Ethernet)
RX packets 213565 bytes 312345544 (297.8 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 95748 bytes 6695422 (6.3 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 19 base 0x2000
ens37: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.168.131 netmask 255.255.255.0 broadcast 192.168.168.255
inet6 fe80::4e81:db21:552f:b51c prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:b6:7b:44 txqueuelen 1000 (Ethernet)
RX packets 170 bytes 11946 (11.6 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 46 bytes 4844 (4.7 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 19 base 0x2400
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1 (Local Loopback)
RX packets 16 bytes 1408 (1.3 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 16 bytes 1408 (1.3 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
ether 52:54:00:34:a1:c5 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
11. 创建磁盘
[root@localhost network-scripts]# qemu-img create -f raw /opt/kvm.raw 10G
Formatting '/opt/kvm.raw', fmt=raw size=10737418240
12. 安装virt-instal
[root@localhost janl]# virt-install
-bash: virt-install: 未找到命令
[root@localhost janl]# yum -y install python-virtinst
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.btte.net
* extras: mirrors.btte.net
* updates: mirrors.pubyun.com
没有可用软件包 python-virtinst。
[root@localhost janl]# yum install git
[root@localhost download]# git clone https://github.com/palli/python-virtinst.git 正克隆到 'python-virtinst'...
remote: Counting objects: 10215, done.
remote: Compressing objects: 100% (2588/2588), done.
remote: Total 10215 (delta 7455), reused 10215 (delta 7455), pack-reused 0
接收对象中: 100% (10215/10215), 20.96 MiB | 164.00 KiB/s, done.
处理 delta 中: 100% (7455/7455), done.
[root@localhost python-virtinst]# python setup.py install
[root@localhost python-virtinst]# virt-install
ERROR
--name is required
--ram amount in MB is required
--disk storage must be specified (override with --nodisks)
An install method must be specified
(--location URL, --cdrom CD/ISO, --pxe, --import, --boot hd|cdrom|...)
(可选)用DD拷文件 dd if=/dev/cdrom of=/opt/centos64.iso
13. 创建虚拟机
virt-install --virt-type kvm --name kvm1-demo --ram 512 --cdrom=/opt/centos64.iso --network bridge=br0 --graphics vnc,listen=0.0.0.0 --noautoconsole --os-type=linux --os-variant=rhel6 --disk path=/opt/kvm1.raw
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Virsh语法参考:
Autostart 自动开始一个域
Create 从一个 XML 文件创建一个域
Define 从一个 XML 文件定义(但不开始)一个域
edit 编辑某个域的 XML 配置
shutdown 关闭一个域
start 开始一个(以前定义的)非活跃的域
reboot 重新启动一个域
suspend 挂起一个域
resume 重新恢复一个域
vncdisplay vnc 显示
undefine 删除虚拟机,只是删除VM的配置文件,并不删除虚拟磁盘文件
查看虚拟机列表。
virsh -c qemu:///system list
重启虚拟机
virsh reboot VM1
虚拟机宿主机开机自启动
virsh autostart VM1
取消
virsh autostart --disable VM1
删除虚拟机
virsh undefine VM1
rm -rf /home/img/VM1.img
rm -rf /etc/libvirt/qemu/VM1.xml
rm -rf /etc/libvirt/qemu/autostart/VM1.xml
虚拟机的配置文件在这里
/etc/libvirt/qemu/*.xml
一个一个安装虚拟机太麻烦,我们来克隆吧!
首先关闭虚拟机
virsh shutdown VM1
virsh -c qemu:///system list
virt-clone -o VM1 -n VM2 -f /home/img/VM2.img --connect=qemu:///system
chown qemu.qemu VM05.img
修改一些配置,把 vnc 的端口号修改一下,避免两个产生冲突,并记录一下这里面的 MAC 地址备用。
virsh edit VM2
先启动 VM2,目前两个虚拟机还不能同时启动。
virsh start VM2
virsh -c qemu:///system list
连接VNC
rm -rf /etc/udev/rules.d/70-persistent-net.rules
rm -rf /etc/udev/rules.d/70-persistent-cd.rules
vi /etc/network/interfaces
hwaddress ether 52:54:00:4b:04:bb 添加mac地址
/etc/init.d/networking restart
virsh reboot VM2
virsh start VM1
也使用virt-edit命令直接在宿主机修改虚拟机文件
virt-edit VM2 /etc/network/interfaces
virt-edit VM2 /etc/hostname
virt-edit VM2 /etc/hosts
相关文章推荐
- CentOs7下redis的部署和安装
- 完整部署CentOS7.2+OpenStack+kvm 云平台环境(4)--用OZ工具制作openstack镜像
- Centos7下git服务器及gogs部署
- [置顶] centos7.2 kvm虚拟化管理平台WebVirtMgr部署
- CentOS7下apache2部署django应用
- CentOS7下hadoop2.6.0分布式部署
- Centos7下安装部署Zabbix3.4
- CentOS7下利用cobbler部署CentOS 推荐
- centos7下部署mariadb+galera数据库高可用集群
- centos7下zabbix安装与部署
- centos7下nginx+uwsgi部署django项目问题记录
- Centos7下zabbix部署(五)定义报警媒介-微信
- centos7.3部署kvm虚拟化
- 完整部署CentOS7.2+OpenStack+kvm 云平台环境(3)--为虚拟机指定固定ip
- 自动化运维——CentOS7下利用Cobbler批量部署CentOS
- Centos7 部署KVM虚拟化平台
- CentOS 6.9 mini 安装KVM 部署记录
- 完整部署CentOS7.2+OpenStack+kvm 云平台环境
- centos7 KVM的安装与部署
- CentOS7下 Java、Tomcat、MySQL、Maven热部署