设为首页 收藏本站
查看: 995|回复: 0

[经验分享] Centos6.5安装配置KVM

[复制链接]

尚未签到

发表于 2018-4-25 12:23:37 | 显示全部楼层 |阅读模式
  

  1. vmware安装centos6.5 64位 (略)
其中有几个注意的地方:
a. 内存给4g,CPU2颗
b. 磁盘给50g, 或者再单独分一个磁盘,用来存储虚拟机文件
c. 最关键的一步,在创建虚拟机时,启用CPU虚拟化

  

  2.  安装kvm前的准备工作
  a. 清除iptables规则
  service iptables stop; service iptables save
  b. 关闭selinux
  sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
  setenforce 0
  

  3. 开始安装kvm
  a. 检查你的系统是否支持虚拟化
  grep -Ei 'vmx|svm' /proc/cpuinfo
  如果有输出内容,则支持,其中intel cpu支持会有vmx,amd cpu支持会有svm
  

  
  b.安装扩展源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
wget -P /etc/yum.repos.d/ http://mirrors.aliyun.com/repo/epel-6.repo   
yum clean all
yum makecache  

  #安装阿里yum源及扩展源
  

  c. 通过yum安装虚拟化的软件包
  yum install -y kvm virt-*  libvirt  bridge-utils qemu-img acpid
  说明:
  kvm:软件包中含有KVM内核模块,它在默认linux内核中提供kvm管理程序
  libvirts:安装虚拟机管理工具,使用virsh等命令来管理和控制虚拟机。
  bridge-utils:设置网络网卡桥接。
  virt-*:创建、克隆虚拟机命令,以及图形化管理工具virt-manager
  qemu-img:安装qemu组件,使用qemu命令来创建磁盘等。
  

  d. 检查kvm模块是否加载
  lsmod |grep kvm
  正常应该是:
  kvm_intel              55496  3
  kvm                   337772  1 kvm_intel
  如果没有,需要执行
  modprobe kvm-intel
  还没有就重启一下试试
  

  e. 配置网卡
cd /etc/sysconfig/network-scripts/
cp ifcfg-eth0 ifcfg-br0
分别编辑eth0和br0
ifcfg-eth0改成如下:
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
BRIDGE=br0
ifcfg-br0改成如下:
DEVICE=br0
TYPE=Bridge
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.1.220
NETMASK=255.255.255.0
GATEWAY=192.168.1.1  


  #说明: 我的虚拟机是桥接模式,所以设置br0的ip和我的真机同样的网段,包括网关也是我路由器的ip,大家可以根据自己的环境去配置,目的是为了让虚拟机可以上网。
  

  service network restart
  

  f. 启动或重启libvirtd服务和messagebus 服务
/etc/init.d/libvirtd start
/etc/init.d/messagebus restart
#此时可以查看网络接口列表
brctl show 结果如下:
bridge name     bridge id               STP enabled     interfaces
br0             8000.000c2955a70a       no              eth0
virbr0          8000.52540014efd5       yes             virbr0-nicfdisk -l
fdisk /dev/sdb
mkfs.ext4 /dev/sdb1
mkdir /data/
mount /dev/sdb1 /data/
df -h  

  #格式化新磁盘,并挂载
  

  

  4. 创建虚拟机 mkdir /data/kvm   //创建一个存储虚拟机虚拟磁盘的目录,该目录所在分区必须足够大
virt-install \
--name  szk1 \
--ram 512 \
--disk path=/data/kvm/szk1.img,size=30 \
--vcpus 1 \
--os-type linux \
--os-variant rhel6 \
--network bridge=br0 \
--graphics none \
--console pty,target_type=serial \
--location 'http://mirrors.163.com/centos/6.7/os/i386/' \
--extra-args 'console=ttyS0,115200n8 serial'  说明:
  --name  指定虚拟机的名字
  --ram 指定内存分配多少
  --disk path 指定虚拟磁盘放到哪里,size=30 指定磁盘大小为30G,这样磁盘文件格式为raw,raw格式不能做快照,后面有说明,需要转换为qcow2格式,如果要使用qcow2格式的虚拟磁盘,需要事先创建qcow2格式的虚拟磁盘。 参考  http://www.361way.com/kvm-qcow2-preallocation-metadata/3354.html   示例:qemu-img create -f qcow2 -o preallocation=metadata  /data/test02.img 7G;  --disk path=/data/test02.img,format=qcow2,size=7,bus=virtio
  --vcpus 指定分配cpu几个
  --os-type 指定系统类型为linux
  --os-variant 指定系统版本
  --network  指定网络类型
  --graphics 指定安装通过哪种类型,可以是vnc,也可以没有图形,在这里我们没有使用图形直接使用文本方式
  --console 指定控制台类型
  --location 指定安装介质地址,可以是网络地址,也可以是本地的一个绝对路径,(--location '/mnt/', 其中/mnt/下就是我们挂载的光盘镜像mount /dev/cdrom /mnt)如果是绝对路径
                          ┌───┤ Installation Method ├───┐
                        │                             │
                        │ What type of media contains     │
                        │ the installation image?             │
                        │                                             │
                        │        Local CD/DVD                  │
                        │        Hard drive                      │
                        │        NFS directory                  │
                        │        URL                               │
                        │                                             │
                        │   ┌────┐       ┌──────┐     │
                        │   │ OK    │       │ Back     │     │
                        │   └────┘       └──────┘     │
                        │                                             │
                        │                                             │
                        └─────────────────────┘


  最后安装完,reboot就进入刚刚创建的虚拟机了。要想退回到宿主机,ctrl  ] 即可。
  virsh list 可以列出当前的子机列表。
  virsh list --all  查看所有虚机
  virsh console szk1  可以进入指定的子机
  virsh destroy szk2    #直接关闭虚机电源
  virsh shutdown szk2    关闭虚拟机2,子机需要yum install -y acpid;/etc/init.d/acpid start
  virsh start szk2 --console     开启虚拟机2,同时进入管理界面
  virsh suspend szk2              挂起虚机
  virsh resume  szk2              恢复虚机
  virsh autostart szk2             母机开机,子机则自动开机
  virsh autostart szk2 --disable szk2            取消自动开机
  virsh undefine szk1        取消标记,但未彻底删除,需删除数据文件
  

  

  

  #使用本地光盘安装虚拟机
  qemu-img create -f qcow2 -o preallocation=metadata  /data/kvm/szk2.qcow2 10G

  ls /data/kvm/szk*                  
  #查看文件
  

virt-install \--name  szk2 \--ram 512 \ --disk path=/data/kvm/szk2.qcow2,format=qcow2,size=7,bus=virtio \--vcpus 1 \--os-type linux \--os-variant rhel6 \--network bridge=br0 \--graphics none \--console pty,target_type=serial \--location '/mnt/cdrom/' \--extra-args 'console=ttyS0,115200n8 serial'  


  #安装时选择NFS
  母机上配置NFS
yum install -y nfs-utils rpcbind
vim /etc/exports
/mnt/cdrom 192.168.1.0/24
/etc/init.d/rpcbind start;/etc/init.d/nfs start  

  

  #子机NFS安装参数
  

       ┌───────────────────────────┤ NFS Setup ├─────────
  

       │                                                                                                 │
  

       │ Please enter the server and NFSv3 path to your CentOS installation   │
  

       │ image and optionally additional NFS mount options.                        │
  

       │                                                                                                │
  

       │       NFS server name:              192.168.1.220_____________              │
  

       │       CentOS directory:             /mnt/images/install.img_                 │
  

       │       NFS mount options (optional): ro______________________       │
  

  

  5. 克隆虚拟机
  virt-clone --original szk2 --name szk3 --file /data/kvm/szk3.qcow2
  如果子机szk2还未关机,则需要先关机,否则会报错:
  ERROR    必须暂停或者关闭有要克隆设备的域。
  virsh start szk3 可以开启该子机。
  #克隆的虚机也会出现无法启动网卡情况,rm -f /etc/udev/rules.d/70-persistent-net.rules 重启系统即可
  

  6.创建快照
  virsh snapshot-create szk3
  #为szk3创建快照
  virsh snapshot-list szk3
  #查看快照
  virsh edit szk3
  #查看虚机配置文件,详细路径/etc/libvirt/qemu/szk3.xml
  qemu-img info /data/kvm/szk3.qcow2

  #查看虚机详细信息
  

  7.恢复和删除快照
  virsh snapshot-revert szk3 1455601201   #恢复快照,后面跟虚机名和快照ID
  virsh snapshot-delete szk3  1455601201    #删除快照,后面跟虚机名和快照ID
  /var/lib/libvirt/qemu/snapshot/szk3/1455602605.xml         #快照路径
  

  

  8.扩容虚拟磁盘
  qemu-img info /data/kvm/szk2.qcow2    #查看当前磁盘大小,10G
  qemu-img resize /data/kvm/szk2.qcow2  +5G    #添加5G,扩容需关机
  qemu-img info /data/kvm/szk2.qcow2     #查看当前磁盘大小
  image: /data/kvm/szk2.qcow2
  file format: qcow2
  virtual size: 15G (16106127360 bytes)
  

  另外,如果是增加磁盘,思路是:
  创建磁盘: qemu-img create -f raw  /data/kvm/szk3_2.img 5G
  关闭虚拟机: virsh destroy szk3
  编辑配置文件: virsh edit szk3  增加如下:
  <disk type='file' device='disk'>   
    <driver name='qemu' type='raw' cache='none'/>      
    <source file='/data/kvm/szk3_2.img'/>      
    <target dev='vdb' bus='virtio'/>      
  </disk>
  

  开启虚拟机:virsh start szk3
  进入虚拟机:virsh console szk3
  分区: fdisk /dev/vdb   #不分区也行
  格式化 (略)
  挂载 (略)
  

  qcow2格式
  步骤基本上和raw一样。如果提示 This image format does not support resize, 检查一下你qemu-img create的时候,是否有加  preallocation=metadata 选项,如果有,就不能resize了。
  

  9.磁盘格式转换
  qemu-img convert -f raw -O qcow2 /data/kvm/szk1.img /data/kvm/szk5.qcow2    #磁盘格式转换
  现在我们还需要编辑子机配置文件,让它使用新格式的虚拟磁盘镜像文件
  virsh edit centos6.6_1  //这样就进入了该子机的配置文件(/etc/libvirt/qemu/centos6.6_1.xml),跟用vim编辑这个文件一样的用法
  需要修改的地方是:
        <driver name='qemu' type='raw' cache='none'/>
        <source file='/data/centos6.6_1.img'/>
  改为:
        <driver name='qemu' type='qcow2' cache='none'/>
        <source file='/data/centos6.6_1.qcow2'/>
  

  10.调整cpu和内存:
  virsh dominfo szk2
  virsh edit  szk2
  修改:
    <memory unit='KiB'>524288</memory>
    <currentMemory unit='KiB'>524288</currentMemory>
    <vcpu placement='static'>1</vcpu>
  为:
    <memory unit='KiB'>624288</memory>
    <currentMemory unit='KiB'>624288</currentMemory>
    <vcpu placement='static'>2</vcpu>
  重启虚拟机:
  virsh destroy szk2
  virsh start szk2
    
  

  11. 不重启虚拟机在线增加网卡
  virsh domiflist szk2  查看szk2子机的网卡列表
  virsh attach-interface szk2 --type bridge --source br0   //命令行增加一块网卡
  virsh dumpxml szk2 >/etc/libvirt/qemu/szk2.xml   //命令行增加的网卡只保存在内存中,重启就失效,所以需要保存到配置文件中,其中/etc/libvirt/qemu/szk2.xml 为szk2子机的配置文件
  virsh console szk2 //进入虚拟机后,执行
  ifconfig -a
  发现多了一个网卡  eth1

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-451889-1-1.html 上篇帖子: CentOS 7安装配置Redis数据库 下篇帖子: CentOS和Liunx是什么关系?CentOS和RHLR是什么关系?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表