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

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从部署到使用_图文
关闭 iptables [root@kvm ~]# iptables -F [root@kvm ~]# iptables -X [root@kvm ~]# /etc/init.d/iptables save [root@kvm ~]# /etc/init.d/...
机房KVM系统
将不同策略映射到不同的用户组; 系统支持 SNMP 协议 可以利用现有的通用网管平台如:HP OpenView, IBM Tivoli 等,对 KVM 系统的状态进行监控,实 现网络层面的...
KVM基本工作原理
KVM 源代码分析 1:基本工作原理 下了很大决心挖这个坑,虽然之前对 kvm 有些了解,但纸上得来终觉浅,只有深入到代码 层面,才能摈弃皮毛,看到血肉,看到真相。...
KVM下PXE网络安装CentOS系统
KVM下PXE网络安装CentOS系统_计算机软件及应用_IT/计算机_专业资料。本文专注Linux的两个知识点:KVM虚拟机和PXE网络启动安装。利用PXE为KVM虚拟机的安装提供了简单...
迁移VMware 虚拟机到 KVM
迁移VMware 虚拟机到 KVM_计算机软件及应用_IT/计算机_专业资料。从VMware迁移虚机到KVM平台,带图简介: 目前 x86 平台上最流行的虚拟化软件是 VMware 公司的系列产...
KVM设计方案
KVM 设计方案 1、需求说明网络中心机房内有服务器、交换机、路由器、UPS 等串口设备,为了减少工作人员进 入机房的次数,方便集中控管,需要在控制室内设置管理通道,...
linux kvm虚拟机使用
4、开始通过 VNC 进行连接,进行安装过程 (1)查看 kvm 监听的端口 [root@kvm ~]# netstat -tnlp |grep kvm tcp 0 0 0.0.0.0:5991 0.0.0.0:* (2...
KVM使用教程
KVM使用教程_计算机硬件及网络_IT/计算机_专业资料。KVM:KVM 交换机通过直接连接键盘、视频和鼠标 (KVM) 端口,让您能够访问和控制计算机。KVM 技术无需目标服务器...
KVM技术规范书
KVM 建设规范书一、 KVM 系统设计原则和建设目标 卖方所提出的建设方案应遵循以下基本原则: 安全性原则: 充分保证系统的安全性, 使用的产品和技术方案在设计和实现...
KVM是什么
KVM是什么_电脑基础知识_IT/计算机_专业资料。KVM 是什么: KVM 交换机通过直接连接键盘、视频和鼠标 (KVM) 端口,能够访问和控制计 算机。(视频也就是显示器,有...
更多相关标签: