Centos7 下的KVM基础教程

KVM虚拟化服务器平台主要有几大部分:
kvm:linux内核模块,需要CPU支持,intel-vt, AMD-V
qemu:虚拟化的仿真工具
libvirtd:虚拟化管理的接口和工具,提供与用户交互的程序virsh,virt-install,virt-manager,virt-view等

先用 lsmod 确认服务器支持虚拟化:
在这里插入图片描述
安装
需要安装的软件包:qemu-kvm(底层仿真支持)、libvirt-daemon(守护进程)、libvirt-client(客户端软件)、libvirt-daemon-driver-qemu(libvirtd连接qemu的驱动)
安装必要的软件包
yum install -y epel-release net-tools vim unzip zip wget ftp
yum install -y qemu-kvm libvirt-daemon libvirt-client libvirt-daemon-driver-qemu

systemctl start libvirtd #起服务
systemctl enable libvirtd

管理虚拟机
需要一个XML文件,默认在 /etc/libvirt/qemu/ 下
需要一个磁盘镜像文件,默认在 /var/lib/libvirt/images/ 下
虚机管理工具:virsh
在这里插入图片描述
virsh 常用命令
list [–all] # 列出虚拟机
nodeinfo #查看KVM节点信息
net-list [–all] #列出虚拟网络
dominfo 虚拟机名称 #查看虚拟机信息
start | reboot | shutdown 虚拟机名称 #运行|重启|关机
destroy 虚拟机名称 #强制关闭虚拟机
autostart [–disable] 虚拟机名称 #奖指定的虚拟机设置为开机自动运行
console 虚拟机名称 #进入虚拟机的控制台
help #帮助信息

#virsh -c qemu+ssh://root@192.168.1.11/system 远程连接其他KVM主机
virt-manager客户端可以在图形界面下管理虚拟机

qemu-img 常用命令
create 创建一个磁盘
convert 转换磁盘格式
info 查看磁盘信息
snapshot 管理磁盘快照

创建新的镜像盘文件:
qemu-img create -f qcow2 test.img 50G
查询惊喜盘文件信息:
qemu-img info disk.img
使用后端模版文件:
qemu-img create -b moban.img -f qcow2 test.img 50G

创建虚拟机交换机:
创建配置文件 /etc/libvirt/qemu/networks/vbr.xml
#vim /etc/libvirt/qemu/networks/vbr.xml
在这里插入图片描述
启动vbr虚拟网络
#virsh net-define vbr
#virsh net-start vbr
设置vbr虚拟网络开机自启动
#virsh net-autostart vbr

虚拟机模版(后端文件)制作
在CentOS官方网站上下载已经安装好的镜像文件
wget http://cloud.centos.org/centos/7/images/CentOS-7-x86_64-GenericCloud.qcow2.xz
下载下来的文件是.xz格式的,需要解压缩
#xz -d CentOS-7-x86_64-GenericCloud.qcow2.xz
#mv CentOS-7-x86_64-GenericCloud.qcow2 centos7.qcow2 改个名字便于操作
然后对这个系统镜像做相关修改以便作为后端盘文件
1、安装需要用到的工具 virt-edit和guestfish 命令,可以通过 yum install libguestfs* 进行安装
2、默认这个系统镜像无法用root登录,需要清空root密码:
virt-edit -a ./centos7.qcow2 /etc/shadow -e ‘s/root:[:]*:/root:?’
3、禁用cloud-init服务,这个服务启动太慢,所以禁用掉
guestfish -a ./centos7.qcow2 -i rm ‘/etc/systemd/system/multi-user.target.wants/cloud-config.service’
guestfish -a ./centos7.qcow2 -i rm ‘/etc/systemd/system/multi-user.target.wants/cloud-final.service’
guestfish -a ./centos7.qcow2 -i rm ‘/etc/systemd/system/multi-user.target.wants/cloud-init-local.service’
guestfish -a ./centos7.qcow2 -i rm ‘/etc/systemd/system/multi-user.target.wants/cloud-init.service’

创建虚拟机:
先创建一个XML文件
vim centos7.xml

<domain type='kvm'>
  <name>node1</name>
  <memory unit='KiB'>1048576</memory>
  <vcpu placement='static'>2</vcpu>
  <os>
    <type arch='x86_64' machine='pc-i440fx-rhel7.0.0'>hvm</type>
    <boot dev='hd'/>
  </os>
  <features>
    <acpi/>
    <apic/>
  </features>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <devices>
    <emulator>/usr/libexec/qemu-kvm</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2'/>
      <source file='/var/lib/libvirt/images/centos7.qcow2'/>
      <target dev='vda' bus='virtio'/>
    </disk>
    <interface type='bridge'>
      <source bridge='vbr'/>
      <model type='virtio'/>
    </interface>
    <console type='pty'>
      <target type='serial' port='0'/>
    </console>
  </devices>
</domain>

启动虚拟机:
#virsh define centos7.xml
#virsh start centos7
#virsh console centos7
login: root

安装扩展分区软件:
yum install -y cloud-utils-growpart
第一次开机自动扩容:
#/usr/bin/growpart /dev/vda 1
#/usr/sbin/xfs_growfs /
关闭虚拟机后执行信息清理工作
#virsh shutdown centos7
#virt-sysprep -d centos7

后端盘文件到这里就制作好了,建议在virsh中去掉该虚拟机,防止文件被修改
利用后端盘文件创建新的虚拟机
vim node1.xml :可以复制后端盘的xml文件进行修改

<domain type='kvm'>
  <name>local</name>        //修改名字
  <memory unit='KiB'>2048000</memory>        //修改内存
  <currentMemory unit='KiB'>2048000</currentMemory>
......
<source file='/var/lib/libvirt/images/node1.img'/>     //img文件位置

注意:除这些外还要把mac地址删掉,带address字样的全部删除
#cd /var/lib/libvirt/images/
#qemu-img create –b centos7.qcow2 –f qcow2 node1.img 50G

#virsh define /etc/libvirt/qemu/node1.xml
#virsh start node1
#virsh console node1

guestmount实现离线访问
基本用法:guestmount -a 虚拟机磁盘路径 -i /挂载点
-a:指定虚拟磁盘
-i:挂载点

#mkdir /mnt/kdisk
#guestmount -a node1.qcow2 -i /mnt/kdisk
#cd /mnt/kdisk
kdisk]# ls
bin home media opt sbin tmp
boot lib misc proc selinux usr

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值