当前位置:首页 >> 计算机硬件及网络 >>

kvm


Centos 6.4 KVM 安装配置与组建内网

版本状态: V1.0 文档状态: 初稿版 修订日期: 2014 年 2 月 8 日

文档信息: 项 文 文 项 项 项 目 档 件 目 目 目 名 名 编 等 经 阶 称 称 号 级 理 段 Centos 6.4 KVM 安装配置与组建内网

文档维护信息: 修订人 修订日期 2014/2/8 初稿 修订说明 版本号 V1.0

测试机使用环境: 组装机 CPU 型号 物理 CPU 颗数 内存大小 磁盘型号 主板型号 系统 i5-3450 1 4GB*2 WDC WD10EZEX-00ZF5A0 P8H61-M LX3 PLUS R2.0 CentOS release 6.4_x64(最小化安装)

原型图

安装、克隆总计 8 台虚拟机

虚拟机 lvs1

主机名 lvs1

IP 192.168.2.210

lvs2 web1 web2 db1 db2 nfs

lvs2 web1 web2 db1 db2 nfs

192.168.2.211 192.168.2.212 192.168.2.213 192.168.2.214 192.168.2.215 192.168.2.216

检查 CPU 是否支持虚拟化
在主板 BIOS 中开启 CPU 的 VirtualizationTechnology Linux 2.6.20 以上内核已经集成 KVM [root@test ~]# uname -a Linux test 2.6.32-358.el6.x86_64 #1 SMP Fri Feb 22 00:31:26 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux 查看 CPU 是否支持虚拟化 [root@test ~]# grep -E -o 'vmx|svm' /proc/cpuinfo vmx vmx vmx vmx

系统优化
执行一下脚本,执行完成后重启系统

#!/bin/bash #profile echo "alias vi='vim'" >> /etc/profile

echo "export HISTTIMEFORMAT='%F %T '" >> /etc/profile source /etc/profile #add the epel repo rpm -i http://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm #add the rpmforge repo rpm -i \ http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm

#yum install sysstat yum -y install gcc gcc-c++ vim-enhanced unzip unrar sysstat ntp rar #set the ntp echo "*/30 * * * * ntpdate ntp.api.bz >>/dev/null 2>&1" >> /var/spool/cron/root ntpdate ntp.api.bz service crond restart #ssh sed -i 's/GSSAPIAuthentication yes/GSSAPIAuthentication no/' /etc/ssh/sshd_config sed -i 's/GSSAPICleanupCredentials yes/GSSAPICleanupCredentials no/'

/etc/ssh/sshd_config sed -i '$a \\UseDNS no' /etc/ssh/sshd_config sed -i 's/#PubkeyAuthentication yes/PubkeyAuthentication yes/' /etc/ssh/sshd_config sed -i 's/#AuthorizedKeysFile/AuthorizedKeysFile/' /etc/ssh/sshd_config sed -i 's/#PermitEmptyPasswords no/PermitEmptyPasswords no/' /etc/ssh/sshd_config service sshd restart #language echo 'LANG="en_US.UTF-8"' > /etc/sysconfig/i18n source /etc/sysconfig/i18n #disabled ipv6 cat <<EOF>>/etc/modprobe.d/dist.conf options ipv6 disable=1 EOF echo 'NETWORKING_IPV6=off' >> /etc/sysconfig/network #set sysctl cat >> /etc/sysctl.conf << EOF net.ipv4.ip_forward = 0 net.ipv4.conf.default.rp_filter = 1 net.ipv4.conf.default.accept_source_route = 0 kernel.sysrq = 0 kernel.core_uses_pid = 1

net.ipv4.tcp_syncookies = 1 kernel.msgmnb = 65536 kernel.msgmax = 65536 kernel.shmmax = 68719476736 kernel.shmall = 4294967296 net.ipv4.tcp_max_tw_buckets = 6000 net.ipv4.tcp_sack = 1 net.ipv4.tcp_window_scaling = 1 net.ipv4.tcp_rmem = 4096 87380 4194304 net.ipv4.tcp_wmem = 4096 16384 4194304 net.core.wmem_default = 8388608 net.core.rmem_default = 8388608 net.core.rmem_max = 16777216 net.core.wmem_max = 16777216 net.core.netdev_max_backlog = 262144 net.core.somaxconn = 262144 net.ipv4.tcp_max_orphans = 3276800 net.ipv4.tcp_max_syn_backlog = 262144 net.ipv4.tcp_timestamps = 0 net.ipv4.tcp_synack_retries = 1 net.ipv4.tcp_syn_retries = 1 net.ipv4.tcp_tw_recycle = 1 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_mem = 94500000 915000000 927000000 net.ipv4.tcp_fin_timeout = 1 net.ipv4.tcp_keepalive_time = 1200 net.ipv4.ip_local_port_range = 1024 65535 EOF /sbin/sysctl -p # file descriptors

ulimit -HSn 65535 echo -ne " * soft nofile 65536 * hard nofile 65536 " >>/etc/security/limits.conf #close ctrl+alt+del sed -i 's/exec/#exec/' /etc/init/control-alt-delete.conf sed -i 's/\[1-6\]/\[1-2\]/' /etc/sysconfig/init #disabled selinux sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/sysconfig/selinux #service stop a=$(chkconfig --list | awk '{print $1}') for i in $a do chkconfig $i off done chkconfig crond on chkconfig lvm2-monitor on chkconfig network on chkconfig rsyslog on chkconfig sshd on

安装 kvm
安装 kvm,完成后重启系统 [root@test ~]#yum -y install qemu-kvm libvirt python-virtinst bridge-utils 查看模块是否启用 [root@test ~]# lsmod |grep kvm kvm_intel 53484 0 kvm 316506 1 kvm_intel 查看路由

[root@test ~]# ip route list 192.168.2.0/24 dev eth0 proto kernel scope link src 192.168.2.243 192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1 169.254.0.0/16 dev eth0 scope link metric 1002 default via 192.168.2.1 dev eth0 查看虚拟网卡 [root@test ~]# brctl show bridge name bridge id STP enabled interfaces virbr0 8000.52540050ca18 yes virbr0-nic

配置桥接网卡 [root@test ~]# cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-br0 [root@test ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 TYPE=Ethernet UUID=54f183fc-ba3f-4a65-a0c1-2e42133e43f3 ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=none HWADDR=08:60:6E:56:8A:EF BRIDGE=br0 PREFIX=24 DEFROUTE=yes IPV4_FAILURE_FATAL=yes IPV6INIT=no NAME="System eth0" [root@test ~]# cat /etc/sysconfig/network-scripts/ifcfg-br0 DEVICE=br0 TYPE=Bridge ONBOOT=yes BOOTPROTO=none \

IPADDR=192.168.2.243 PREFIX=24 GATEWAY=192.168.2.1 DNS1=123.125.225.29 DOMAIN=114.114.114.114 确认文件无误后重启网络

创建虚拟机
使用安装工具 virt-install 创建安装 iso 目录 [root@test ~]# mkdir -p /data/kvm/iso 创建存储镜像目录 [root@test ~]# mkdir -p /data/kvm/vm 创建存储镜像 [root@test iso]# qemu-img create -f qcow2 /data/kvm/vm/lvs1.qcow2 80G Formatting '/data/kvm/vm/lvs1.qcow2', cluster_size=65536 fmt=qcow2 size=85899345920 encryption=off

[root@test iso]# qemu-img info -f qcow2 /data/kvm/vm/lvs1.qcow2 image: /data/kvm/vm/lvs1.qcow2 file format: qcow2 virtual size: 80G (85899345920 bytes) disk size: 136K cluster_size: 65536 安装操作系统,命令执行完成后,虚拟机自动开始安装进程,使用 vnc 连接进行安装 [root@test ~]#virt-install \ --name=lvs1 \ --ram=1024 \ --vcpus=1 \ --disk path=/data/kvm/vm/lvs1.qcow2,device=disk,format=qcow2,bus=virtio,cache=none,size=80 \ --os-type=linux \ --os-variant=rhel6 \ --hvm \ --cdrom=/data/kvm/iso/CentOS-6.4.iso \

--boot cdrom,hd,menu=on --network bridge=br0 \ --vnc \ --vncport=5991 \ --vnclisten=0.0.0.0

\

a.参数解析 ##下面对 virt-install 命令做简单介绍,详细可以查看 virt-install --help --connect=URI ##连接到虚拟机管理程序与 libvirt 的 URI,如 qemu:///system -r MEMORY, --ram=MEMORY ##分配虚拟机实例(Guest)内存,单位为 M -n NAME, --name=NAME ##虚拟机实例(Guest)的名称 --vcpus=VCPUS ##配置实例(Guest)CPU 数目 --disk path=DISKFILE ##指定实例(Guest)存储路径及其镜像 -c CDROM, --cdrom=CDROM ##指定安装镜像所在位置和名称, 它可以是一个 ISO 映像的路径, 它也可以是一 ##个 URL,从中提取/访问的最小引导 ISO 映像。 --vnc ##启用 VNC 远程管理,该选项不被赞同,可以用"--graphics vnc,..."代替 --vnclisten=VNCLISTEN ##可以用"--graphics vnc,listen=LISTEN,..." 代替 --vncport=VNCPORT ##可以用"--graphics vnc,port=PORT,..."代替 --os-type=OS_TYPE ##优化实例(Guest)配置操作系统类型如 linux 或 windows --hvm ##要求使用完全虚拟化 -w NETWORK, --network=NETWORK,opt1=val1,opt2=val2 ## 实例(Guest)连接到主机的网络, 网桥--network bridge=br0,用 nat 路由出站 ##--network network=default b.使用管理工具 virsh ##列表(Guest) test1 virsh -c qemu:///system list --all ##启动 Guest) test1 virsh -c qemu:///system start test1 ##关闭(Guest) test1 virsh -c qemu:///system destroy test1

##编辑(Guest) test1 配置文件 xml virsh -c qemu:///system edit test1 ##删除(Guest) test1 virsh -c qemu:///system undefine test1 ##man virsh 可以了解命令

克隆虚拟机 [root@test vm]# virt-clone --connect qemu:///system --original=lvs1 --name=lvs2 --file=/data/kvm/vm/lvs2.qcow2 [root@test vm]# virt-clone --connect qemu:///system --original=lvs1 --name=web1 --file=/data/kvm/vm/web1.qcow2 [root@test vm]# virt-clone --connect qemu:///system --original=lvs1 --name=web2 --file=/data/kvm/vm/web2.qcow2 [root@test vm]# virt-clone --connect qemu:///system --original=lvs1 --name=db1 --file=/data/kvm/vm/db1.qcow2 [root@test vm]# virt-clone --connect qemu:///system --original=lvs1 --name=db2 --file=/data/kvm/vm/db2.qcow2 [root@test vm]# virt-clone --connect qemu:///system --original=lvs1 --name=nfs --file=/data/kvm/vm/nfs.qcow2
克隆完成后修改虚拟机的配置文件中 vnc 端口 [root@test vm]# virsh -c qemu:///system edit lvs2 <graphics type='vnc' port='5992' autoport='no' listen='0.0.0.0'> <listen type='address' address='0.0.0.0'/> </graphics> 启动虚拟机修改 ip 和主机名,更新系统时间
kvm 虚拟机克隆后网卡无法启动解决办法: 1 修 改 /etc/udev/rules.d/70-persistent-net.rules 文 件 , 删 除 第 一 个 网 卡 记 录 , 并 将 第 二 个 的 NAME="eth1"改为 NAME="eth0" 2 修改/etc/sysconfig/network-scripts/ifcfg-eth0 文件,主要是修改 IP 子网掩码 网关 MAC 地址

开始搭建高可用负载均衡 WEB 集群

参考资料 1. RHEL6.2 平台利用 KVM 虚拟机搭建高可用负载均衡 WEB 集群(keepalived+lvs+iscsi+gfs) 2. Centos 6.4 KVM 安装和配置

3. CentOS6.2 KVM 虚拟机命令行安装配置 4.在 CentOS 6.2 上安装和配置 KVM 5. kvm 虚拟化采用 virtio 驱动的方法 6. KVM 下 virtio 驱动虚拟机 XML 配置文件分析 7.


相关文章:
kvm搭建部署完全手册.doc
kvm 1.安装 kvm 所需要的软件包 yum install kvmkmod-kvmqemukvm-qemu-imgvirt-viewer virt-manager 检查 lsmod | grepkvm 或者 virsh -c qemu:///system ...
KVM基本工作原理.doc
KVM基本工作原理 - KVM 源代码分析 1:基本工作原理 下了很大决心挖这个坑,虽然之前对 kvm 有些了解,但纸上得来终觉浅,只有深入到代码 层面,才能摈弃皮毛,...
KVM实战(一)_图文.ppt
KVM实战(一) - KVM实战课程 目标 了解KVM 操作KVM 掌握KVM 学以至用,提高生产力。 目录 一、介绍KVM 二、操作KVM 三、优化KVM 四、KVM管理 介绍K...
KVM使用教程.doc
KVM使用教程 - KVM:KVM 交换机通过直接连接键盘、视频和鼠标 (KVM) 端口,让您能够访问和控制计算机。KVM 技术无需目标服务器修改或软件。这就意味着可以在 ...
KVM架构及其优点.doc
KVM架构及其优点 - Linux 既有良好的灵活性,在虚拟化方面同样出色。但是最近,随着内核虚拟机 (KVM) 的出现, Linux 虚拟化的前景发生了变化。 KVM 是构成主流 ...
KVM系列阀培训_图文.pdf
KVM系列阀培训 - KVM系列阀培训 KYB株式会社 双凯液压贸易(上海)有限公司 KVM系列阀培训 规格及主要功能 KYB 型号 额定流量 (L/min) 最大使用压力 (MPa) ...
DELLKVM_图文.ppt
DELLKVM - 2161DS-1 and 4161DS CCC Train
KVM管理员简要维护手册.doc
KVM管理员简要维护手册 - DKX2 系列 KVM 简要维护说明 1.DKX2 功能简介 Dominion KX2:数字式 KVM 交换机 DCIM(D2CIM) :服务器转接模块,主要包括...
KVM虚拟化简介_图文.ppt
KVM虚拟化简介 - 包含了虚拟机的创建,和一些简单的虚拟化知识... KVM虚拟化简介_计算机软件及应用_IT/计算机_专业资料。包含了虚拟机的创建,和一些简单的虚拟化知识...
kvm与qemu的关系.doc
kvm与qemu的关系 - 一、 KVM 是修改过的 QEMU,而且使用了硬件支
ATEN KVM 使用说明书.doc
ATEN KVM 使用说明书 - 云南龙达网络信息科技有限公司 CS- CS-9
KVM--基于内核的虚拟化技术.pdf
KVM--基于内核的虚拟化技术 - KVM--基于内核的虚拟化技术 介绍KVM,它的本质以及如何配置和安装。虚拟化最近几年取得了长足的进步,首 先由于有大量的开源虚拟机...
KVM虚拟化(Vlan部分).doc
KVM虚拟化(Vlan部分) - KVM 安装部署 实验环境: 一台 IBM 服务器作为 KVM 服务器 系统:Red Hat Enterprise Linux Server release 6...
机房KVM系统工程.doc
机房KVM系统工程 - 机房 KVM 系统工程 设计方案目录 第一节 1.1 1
kvm从部署到使用_图文.doc
关闭 iptables [root@kvm ~]# iptables -F [root@kvm ~]# iptables -X [root@kvm ~]# /etc/init.d/iptables save [root@kvm ~]# /etc/init.d/...
kvm网络设备设置.doc
kvm网络设备设置_计算机硬件及网络_IT/计算机_专业资料。kvm详细的网络设置 ,附有截图 kvm 网络设备设置一、kvm 相关命令及文件: virsh list 查看开启的虚拟机 ...
云手ip-kvm快速使用手册_图文.pdf
云手ip-kvm快速使用手册 - 云手IP-KVM快速使用手册,简单快捷的指导手册~... 云手ip-kvm快速使用手册_电脑基础知识_IT/计算机_专业资料。云手IP-KVM快速使用手册,...
CentOS7安装KVM虚拟机.doc
CentOS7安装KVM虚拟机 - CentOS7 安装 KVM 虚拟机 注意:
lcdkvm切换器16口操作方法_kvm一体机使用方法_图文.doc
lcdkvm切换器16口操作方法_kvm一体机使用方法 - KVM主机切换系统,即用单台或数台KVM将多台主机连接在一起,实现单用户使用单控制平台(一套键盘、鼠标、显示器)...
KVM切换器使用方法.doc
KVM切换器使用方法 - kvm切换器简单说就是用一套键盘鼠标显示器控制多台主机的设备,kvm切换器发展至今相信很多人也对kvm切换器使用方式方法有所了解,下面以迈拓维...
更多相关标签: