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

[经验分享] Day8-KVM

[复制链接]

尚未签到

发表于 2017-6-25 11:31:33 | 显示全部楼层 |阅读模式
  虚拟化
  硬件虚拟化
  一台物理计算机虚拟出多台逻辑计算机
  CPU 内存可分配给多个虚拟机    
  软件虚拟化
  一个LAMP平台支持多个网站
  桌面虚拟化
  通过软件平台模拟出的计算机
  对用户来说,感受不到与物理计算机的差异
  根据虚拟化程度不同,所需的修改也不同
  虚拟化实现程序
  完全虚拟化    Full Virtualization
  由平台软件来模拟实现
  客户机的操作系统代码几乎不做修改
  半虚拟化    Para Virtualization
  平台软件只提供最好核心的虚拟机功能
  需要修改客户机的系统内核 兼容性较差
  硬件辅助虚拟化    Hardware-Assisted Virtualization
  将实现虚拟化技术的部分功能硬件化
  主要指Intel/AMD等CPU支持
  硬件虚拟化------CPU要开启Virtualization
  虚拟化是实现云计算的关键技术之一
  Virtualization
  针对物理设施的抽象化 逻辑化
  从服务定义 底层对用户是透明的
  Cloud Computer
  会对资源的整合 模糊化
  从用户感受 资源细节几乎可忽略
  IaaS 基础架构即服务Infrastructure as aService
  服务器    虚拟机    网络等设备资源
  PaaS 平台即服务 Platform as aService
  Web中间件    数据库等集成的系统平台
  SaaS软件即服务 Software as aService
  电子邮件 杀毒 网盘等软件服务
  公有云
  公开的,服务广大企业/组织/个人
  私有云
  韧性平台,服务于企业/组织/个人
  开源OpenStack
  KVM    Kernel-based Virtualization Machine
  基于内核完全虚拟化解决方案
  从红帽5.4版本开始,替代XEN产品
  需要CPU支持虚拟化        Inter VT或AMD V生理器技术支持
  支持LINUX UNIX WINDOWS客户机
  Host OS    物理机/宿主机
  运行KVM虚拟王先生平台的物理机操作系统
  Guest OS    虚拟机/客户机
  虚拟机里面运行的操作系统
  安装包
  [iyunv@localhost ~]# yum -y groupinstall "Virtualization" "Virtualization Client" "Virtualization Tools" "Virtualization Platform"
  虚拟化
  虚拟化客户端
  虚拟化管理工具
  虚拟化平台
  查看CPU是否支持虚拟化
  cat /proc/cpuinfo |grep --color vmx
  启动服务
  [iyunv@localhost ~]# /etc/init.d/libvirtd start
  打开虚拟机客户端工具
  [iyunv@localhost ~]# virt-manager
DSC0000.png

  我们可以先新一个虚拟机
  选择名称和用什么介质安装
DSC0001.png

  安装操作系统,可忽略
DSC0002.png

  分配内存大小和CPU
DSC0003.png

  为虚拟机创建存储,可以自定义存储位置,如何默认磁盘文件会在/var/lib/libvirt/images/下
  生成8G磁盘文件[iyunv@localhost ~]# dd if=/dev/zero of=/kvm/disk.img bs=1G count=8
  注:实验测试无所谓,服务器不要使用动态的,会影响性能
DSC0004.png

  配置网络
DSC0005.png

  已经打开虚拟机了
DSC0006.png

DSC0007.png

  网络类型分类
  桥接    虚拟网卡和真实网卡绑定
  NAT    
  HOSTONLY
  设置桥接
  [iyunv@localhost ~]# tail /etc/sysconfig/network-scripts/ifcfg-eth0
  DEVICE='eth0'
  TYPE=Ethernet
  ONBOOT=yes
  BOOTPROTO=none
  BRIDGE=br0
  [iyunv@localhost ~]# tail /etc/sysconfig/network-scripts/ifcfg-br0
  DEVICE='br0'
  TYPE=Bridge
  ONBOOT=yes
  BOOTPROTO=none
  IPADDR=192.168.100.100
  NETMASK=255.255.255.0
  [iyunv@localhost ~]# /etc/init.d/NetworkManager stop
  [iyunv@localhost ~]# chkconfig NetworkManager off
  [iyunv@localhost ~]# /etc/init.d/network restart
  启动PXE服务,安装系统
  编辑文件更改布局,然后启动
DSC0008.png

  创新隔离网络-----类似于VLAN
  网卡名称
DSC0009.png

  定义网段
DSC00010.png

  是否开启DHCP功能,根据需要
DSC00011.png

DSC00012.png

DSC00013.png

DSC00014.png

DSC00015.png

  重启网卡服务
  [iyunv@localhost ~]# ifconfig virbr1|head -2
  virbr1 Link encap:Ethernet HWaddr 52:54:00:01:D3:FA
  inet addr:192.168.101.1 Bcast:192.168.101.255 Mask:255.255.255.0
  virsh命令
  查看/创建/停止/关闭
  支持交互
  格式:virsh控制指令    虚拟机名称    参数
  查看已开启的虚拟机
  [iyunv@localhost kvm]# virsh list
  Id Name State
  ----------------------------------------------------
  8 kvm-centos running
  查看所有的虚拟机    virsh list –all
  控制虚拟机    virsh start|reboot|shutdown 名称
  强制关机 virsh destroy 名称
  查看虚拟机节点
  [iyunv@localhost kvm]# virsh nodeinfo
  CPU model: x86_64
  CPU(s): 2
  CPU frequency: 2394 MHz
  CPU socket(s): 1
  Core(s) per socket: 2
  Thread(s) per core: 1
  NUMA cell(s): 1
  Memory size: 1020328 KiB
  查看虚拟机信息
  [iyunv@localhost kvm]# virsh dominfo kvm-centos
  Id: 8
  Name: kvm-centos
  UUID: 03c64ebc-c2ef-1ff1-c79b-d9ec1550154f
  OS Type: hvm
  State: running
  CPU(s): 2
  CPU time: 1709.3s
  Max memory: 512000 KiB
  Used memory: 512000 KiB
  Persistent: yes
  Autostart: disable
  Managed save: no
  Security model: selinux
  Security DOI: 0
  Security label: system_u:system_r:svirt_t:s0:c100,c459 (enforcing)
  将虚拟机设为自启
  [iyunv@localhost ~]# virsh autostart kvm-centos
  Domain kvm-centos marked as autostarted
  虚拟机定义文件XML
  默认/etc/libvirt/qemu下
  可以使用XML创新一个虚拟机
  cd /etc/libvirt/qemu
  [iyunv@localhost qemu]# cp kvm-centos.xml test.xml
  Name改为test
  UUID可以使用uuidgen
  [iyunv@localhost qemu]# uuidgen
  d936b38d-056a-402c-9447-2c59792e5a5b
  更改虚拟磁盘位置
  可以用dd命令生成磁盘文件
  <source file='/kvm/disk.img'/>
  网卡MAC地址
  更改完成后导入虚拟机
  [iyunv@localhost qemu]# virsh define test.xml
  Domain test defined from test.xml
  [iyunv@localhost qemu]# virsh dumpxml test > /etc/libvirt/qemu/test1.xml
  virsh define test1
  [iyunv@localhost qemu]# virsh undefine test1    只删除XML文件,磁盘文件没有删除
  Domain test1 has been undefined
  直接访问虚拟机
  [iyunv@localhost ~]# virt-viewer kvm-centos
  虚拟机的配置文件
  默认位于/etc/libvirt/qemu/虚拟机名.xml
  虚拟机的磁盘文件
  默认位于/etc/libvirt/qemu/images/虚拟机名.img
  或自定义磁盘文件位置
  删除指定的虚拟机
  #virsh undeine 虚拟机名称
  #virsh destroy test1    先强制关机
  #virsh undefined test1    删除虚拟机
  #virsh list  - -all    查看所有虚拟机,确认结果
  虚拟机克隆
  克隆虚拟机
  #virt-clone
  -o模板虚拟机名称
  -n新虚拟机名称
  -f指定新虚拟磁盘路径
  #virsh destroy test1    将虚拟机关机
  #virt-clone –o test1 –n test2 –f /image/test2.img    克隆操作
  #virsh start test2    启动克隆虚拟机
  virt-clone -r 已存在的虚拟机名 -n 新虚拟机名 -f /kvm/disk.img 指定新虚拟机磁盘文件位置
  该工具做了3个步骤
  将虚拟机名更改
  磁盘镜像复制
  更新了UUID,磁盘位置,网卡MAC地址
  设置模板系统
  标记为unconfigured,方便快照虚拟机初始化
  在根目录下 touch /.unconfigured
  下次开机会重新设置信息
  导出模板XML描述文件
  要修改虚拟机名称、UUID、磁盘路径、网卡MAC
  #virsh dumpxml test1 > test2.xml
  导入虚拟机
  #virsh define test.xml
  对比文件    diff 文件1     文件2
  或者    vimdiff 文件1    文件2
  LVM快照    COW,copy on write
  实验
  创建PV,VG,LV
  parted /dev/sdb mkpart p ext4 0 1G
  partprobe /dev/sdb
  mkfs.ext4 /dev/sdb1
  parted /dev/sda p
  pvcreate /dev/sdb1
  vgcreate kz_vg /dev/sdb1
  lvcreate -L 20M -n kz_lv kz_vg
  mount /dev/kz_vg/kz_lv /kz/
  touch a
  dd if=/dev/zero of=file bs=1M count=4
  [iyunv@localhost kz]# pwd
  /kz
  [iyunv@localhost kz]# ll -h
  total 4.1M
  -rw-r--r--. 1 root root 0 Aug 21 21:45 a
  -rw-r--r--. 1 root root 4.0M Aug 21 21:46 file
  drwx------. 2 root root 12K Aug 21 21:44 lost+found
  lvcreate -n kz1_lv -L 20M -s /dev/kz_vg/kz_lv
  mkdir /kz1
  mount /dev/kz_vg/kz1_lv /kz1
  [iyunv@localhost kz1]# ll -h
  total 4.1M
  -rw-r--r--. 1 root root 0 Aug 21 21:45 a
  -rw-r--r--. 1 root root 4.0M Aug 21 21:46 file
  drwx------. 2 root root 12K Aug 21 21:44 lost+found
  [iyunv@localhost kz1]# ll
  total 12304
  -rw-r--r--. 1 root root 0 Aug 21 21:45 a
  -rw-r--r--. 1 root root 0 Aug 21 21:54 b
  -rw-r--r--. 1 root root 4194304 Aug 21 21:46 file
  -rw-r--r--. 1 root root 8388608 Aug 21 21:55 file1
  drwx------. 2 root root 12288 Aug 21 21:44 lost+found
  [iyunv@localhost kz1]# lvdisplay /dev/kz_vg/kz_lv
  --- Logical volume ---
  LV Path /dev/kz_vg/kz_lv
  LV Name kz_lv
  VG Name kz_vg
  LV UUID yrEx7d-1vTA-7MKS-t8em-rNBN-dm15-QlLjHg
  LV Write Access read/write
  LV Creation host, time localhost.localdomain, 2016-08-21 21:43:35 +0800
  LV snapshot status source of
  kz1_lv [active]
  LV Status available
  # open 1
  LV Size 20.00 MiB
  Current LE 5
  Segments 1
  Allocation inherit
  Read ahead sectors auto
  - currently set to 256
  Block device 253:0
  [iyunv@localhost kz1]# lvdisplay /dev/kz_vg/kz1_lv
  --- Logical volume ---
  LV Path /dev/kz_vg/kz1_lv
  LV Name kz1_lv
  VG Name kz_vg
  LV UUID svWIaz-pJBh-tyoB-4n3x-AOpl-fTPX-6a1Erp
  LV Write Access read/write
  LV Creation host, time localhost.localdomain, 2016-08-21 21:49:37 +0800
  LV snapshot status active destination for kz_lv
  LV Status available
  # open 1
  LV Size 20.00 MiB
  Current LE 5
  COW-table size 20.00 MiB
  COW-table LE 5
  Allocated to snapshot 40.49%            如果超过大小,快照就损坏
  Snapshot chunk size 4.00 KiB
  Segments 1
  Allocation inherit
  Read ahead sectors auto
  - currently set to 256
  Block device 253:1
  [iyunv@localhost kz1]# df -h|tail -1
  20M 14M 5.2M 72% /kz1
  [iyunv@localhost /]# dd if=/dev/zero of=/kz1/file2 bs=1M count=10
  dd: writing `/kz1/file2': No space left on device
  7+0 records in
  6+0 records out
  6488064 bytes (6.5 MB) copied, 1.77108 s, 3.7 MB/s
  [iyunv@localhost /]# df -h|tail -1
  20M 20M 0 100% /kz1
  [iyunv@localhost /]# lvdisplay /dev/kz_vg/kz1_lv
  --- Logical volume ---
  LV Path /dev/kz_vg/kz1_lv
  LV Name kz1_lv
  VG Name kz_vg
  LV UUID svWIaz-pJBh-tyoB-4n3x-AOpl-fTPX-6a1Erp
  LV Write Access read/write
  LV Creation host, time localhost.localdomain, 2016-08-21 21:49:37 +0800
  LV snapshot status active destination for kz_lv
  LV Status available
  # open 1
  LV Size 20.00 MiB
  Current LE 5
  COW-table size 20.00 MiB
  COW-table LE 5
  Allocated to snapshot 71.91%
  Snapshot chunk size 4.00 KiB
  Segments 1
  Allocation inherit
  Read ahead sectors auto
  - currently set to 256
  Block device 253:1
  [iyunv@localhost kz1]# ll -h
  total 19M
  -rw-r--r--. 1 root root 0 Aug 21 21:45 a
  -rw-r--r--. 1 root root 0 Aug 21 21:54 b
  -rw-r--r--. 1 root root 4.0M Aug 21 21:46 file
  -rw-r--r--. 1 root root 8.0M Aug 21 21:55 file1
  -rw-r--r--. 1 root root 6.2M Aug 21 21:59 file2
  drwx------. 2 root root 12K Aug 21 21:44 lost+found
  pvcreate /dev/sdb2
  vgcreate kvm-vg
  vgcreate kvm-vg /dev/sdb2
  lvcreate -n kvm-lv -L 5G
  lvcreate -n kvm-lv -L 5G kvm-vg
  mount /dev/kvm-vg/kvm-lv /kvm
  mkfs.ext4 /dev/kvm-vg/kvm-lv
  mount /dev/kvm-vg/kvm-lv /kvm
  mount
  mv /a.img /kvm/
  lvcreate -L 5G -n kvm-new -s /dev/kvm-vg/kvm-lv
  mount /dev/kvm-vg/kvm-new /kvm2
  使用命令安装虚拟机
  # virt-install --name name1 --vcpus=2 --ram=500 --disk path=/kvm/disk.img --network =network1 –pxe
   

运维网声明 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-387928-1-1.html 上篇帖子: kvm虚拟化管理平台WebVirtMgr部署-完整记录(1) 下篇帖子: 基于本地存储的kvm虚拟机在线迁移
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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