博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Openstack 云计算 (一): kvm 虚拟机配置
阅读量:5965 次
发布时间:2019-06-19

本文共 6712 字,大约阅读时间需要 22 分钟。

Openstack 云计算 (一): kvm 虚拟机配置

标签(空格分隔):openstack系列


  • 一:关于虚拟化
  • 二:kvm 虚拟机

一、 关于虚拟化

1.1、虚拟化的概念

1. 系统虚拟化是将底层物理设备与上层操作系统,软件分离的一种去藕合技术,在一台物理集群上路径的划分出多台机器2. 虚拟化的目录表是实现IT 资源利用效率和灵活的最大化3. 产品vmware vsphere  esxi 就是最典型的产品

image_1c5mutt94jv1ue714v1eo96sh9.png-447.3kB

image_1c5muupi83k1168p1q9813tsqndm.png-101kB


1.2 虚拟化Hypervisor

在一台物理机上虚拟出多个虚拟计算机(虚拟机,Virtaul Machine , VM),其上能同时运行多个独立的操作系统,这些客户机操作系统(Guest os)通过 虚拟机管理器(Virtual Machine Monitor, VMM , 也称作 Hypervisor) 访问实际的物理资源

image_1c5mvbnfkc4ciov58r1224sbj13.png-107.8kB

1.3 服务器的虚拟化

image_1c5mvdfq91i091i3l17drpfe2t91g.png-1177.5kB

二、 kvm 虚拟化

2.1 kvm 介绍

1. kvm 全称 是基于内核的虚拟机(kernel-based  Virtual machine), 它是一个Linux的一个内核模块,该内核模块使得LINUX 变成一个Hypervisor2.它是由Quramnet 开发,该公司于2008 年被Redhat 收购。3. 支持X86(32 and 64 位),s390,powerpc 等CPU 4。 从Linux2.6.30 起就是作为一个模块被包含在Linux内核中5. 需要支持虚拟化扩展的CPU,完全开源

2.2 cpu 指针测试

1.开启硬件的虚拟化 VT技术2. egrep -c "(vmx |svm)" /proc/cpuinfo3. 命令结果大于0 表示 cpu 支持虚拟化

image_1c5n2a6q41s8nc1q1lpv2m4srg1t.png-63.4kB

2.3 KVM 虚拟化安装

2.3.1 创建一个本地源

更改本地的源,改为阿里云的源mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backupwget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repoyum clean all && yum makecache yum install  httpd createrepo reposync -yyum repolistcd /var/www/htmlmkdir base cd /var/www/html/reposync --repoid = base

image_1c5netmvt197n19up1q8d9hh3pc8c.png-517.8kB

cd /var/www/html/base/Packages/ls createrepo --update /var/www/html/base  ## 生成repodata包

image_1c5nevbvl8gnkmnqu21dkj29t8p.png-232.6kB

2.3.2 安装kvm

1.安装kvm yum install qemu-kvm2.安装配置管理工具yum install virt-manager libvirt libvirt-python python-virtinst bridge-utils

image_1c5n2drel1ss81mqa1vpov6il3j2a.png-269.1kB

image_1c5n2hg5k1ptn72ftiii63oo2n.png-495.8kB

3. libvirt:操作和管理KVM虚机的虚拟化 API,使用 C 语言编写,可以由 Python,Ruby, Perl, PHP, Java 等语言调用。可以操作包括 KVM,vmware,XEN,Hyper-v, LXC 等 Hypervisor。4. Virsh:基于 libvirt 的 命令行工具 (CLI)5. Virt-Manager:基于 libvirt 的 GUI 工具
lsmod | grep kvm

image_1c5n2j9as127v1l341omif31krs3k.png-102kB

6.如果上面的命令看不到KVM 的模块就使用下面的命令加载modprobe kvmmodprobe kvm-intel
7.启动libvirt:service libvirtd start chkconfig libvirtd on

image_1c5n2ohg41dmctm3130k1ia4ee04e.png-83.3kB
image_1c5n2p45e1ap6nat1eob1g6m1men5b.png-97.1kB

7. 创建安装盘:mkdir -p /kvmtestqemu-img create -f qcow2 /kvmtest/centos-6.9.qcow2 30G上传centos 6.9x64 的iso 到 Linux kvm 下面默认网络配置文件:/etc/libvirt/qemu/networks

image_1c5n380bl1p6q1u4s3b1d301gat5o.png-128.8kB

8. 创建虚拟机virt-install --virt-type kvm --name centos-6.9 --ram 1024 \--vcpus 1 \--cdrom=/kvmtest/CentOS-6.9-x86_64-minimal.iso \--disk /kvmtest/centos-6.9.qcow2,format=qcow2 \--network network=default \--graphics vnc,listen=0.0.0.0 --noautoconsole \--os-type=linux --os-variant=rhel6

image_1c5nd000p1e3d10vr1k84kjk19e66l.png-283.2kB

image_1c5nd59fgv4hfep2s31lad1vld72.png-517kB


virt-install 常用参数一览表  1.-n NAME指定虚拟机的名称2.-r MEMORY指定虚拟机的内存用量3.-u UUID指定虚拟机的唯一通用标识符(Universally Unique Identifier,UUID)。省略这个参数时,virt-install 将会自动产生4.--vcpus=VCPUS指定虚拟机的虚拟 CPU (Virtual CPU,VCPU) 数量-f DISKFILE指定虚拟磁盘的文件路径名称-s DISKSIZE用来指定虚拟磁盘的大小,这个参数需配合-f 使用。DISKSIZE为虚拟磁盘的大小,单位是GB-m MAC指定虚拟机的网络卡之硬件地址。这个参数可以省略,省略时virt-install 将自动产生-p 以半虚拟化的方式建立虚拟机-l LOCATION 指定安装来源
virt-manager  ##### x-shell回打开一个被动的端口页面 打开即可安装系统

image_1c5nddg9t1m061vmm11eg19bra0o7f.png-144.7kB

# virsh list

image_1c5nffev8kq3me09r8tr11n4596.png-120.7kB

进入 virsh 模式# virsh virsh # list

image_1c5nfhbrm1148ubn9g66vv1j079j.png-201.4kB


Id    名称                         状态---------------------------------------------------- 2     centos-6.9                     running

关于virsh 的命令•   virsh list  # 显示本地活动虚拟机•   virsh start openSuse    # 启动名字为ubuntu的非活动虚拟机•   virsh create ubuntu.xml # 创建虚拟机(创建后,虚拟机立即执行,成为活    动主机)    •   virsh suspend openSuse  # 暂停虚拟机•   virsh resume ubuntu # 启动暂停的虚拟机•   virsh shutdown ubuntu   # 正常关闭虚拟机•   virsh destroy ubuntu    # 强制关闭虚拟机•   virsh dominfo openSuse  # 显示虚拟机的基本信息•   virsh dumpxml openSuse  # 显示虚拟机的当前配置文件•   virsh setmem ubuntu 51200 # 给不活动虚拟机设置内存大小•   virsh setvcpus ubuntu 4 # 给不活动虚拟机设置cpu个数•   virsh edit ubuntu   # 编辑配置文件(一般用在刚定义完VM)

dominfo 3

image_1c5nju2mhfok1k999no1i0qq2iag.png-234.4kB

2.4 kvm 的网络

2.4.1 kvm 的NAT 共享网络

iptables -t nat -S

image_1c5nkeija1lkr4u32ml1qnlf5eat.png-282.4kB

yum install -y tcpdump tcpdump -i vnet0 icmp

image_1c5nktf4pd8kqqs17kf17r9o5tba.png-672.3kB


tcpdump -n -i vnet0 icmp

image_1c5nl21m51bfli3hdjasbpbb4bn.png-458kB

2.4.2 修改kvm的网络变为桥接

宿主机修改前置条件: 在保证桥接网: ens33 网卡口能够获取到IP地址,然后创建桥接网卡(br100)此处网卡地址为:192.168.3.131cd /etc/sysconfig/network-script/cp -p ifcfg-ens33 ifcfg-br100复制之后br100 先使用自动获取IP 地址 ---vim ifcfg-br100  # 在保证ip 能够获取得到的在定IP地址 ---DEVICE=br100TYPE=BridgeBOOTPROTO=static#IPADDR=192.168.3.131#NETMASK=255.255.255.0#GATEWAY=192.168.3.1#DNS1=114.114.114.114#DNS2=8.8.8.8ONBOOT=yes---vim ifcfg-br100----DEVICE=br100TYPE=BridgeBOOTPROTO=staticIPADDR=192.168.3.131NETMASK=255.255.255.0GATEWAY=192.168.3.1DNS1=114.114.114.114DNS2=8.8.8.8ONBOOT=yes----更改ifcfg-ens33 网卡 增加BRIDGE="br100"vim ifcfg-ens33---DEVICE="ens33"BRIDGE="br100"ONBOOT="yes"---之后重启网卡:service network restart测试上网连接:ping www.baidu.com brctl show

image_1c5pgc1r9mcj1mopmeg1ct61t3m9.png-118.2kB


2.4.3 新建kvm 虚拟机

修改虚拟机: cd /etc/libvirt/qemucp -p centos-6.9.xml centos-6.9-03.xmlvim centos-6.9-03.xml 更改三处: 虚拟机的命名,删掉UUID, 存储的磁盘, 网络连接方式---
centos-6.9-03
---> 更改名字#
d7422aae-d7b4-4d38-8775-2dd0efd6191d
-- uuid 删掉
1048576
1048576
1
hvm
Broadwell
destroy
restart
destroy
/usr/libexec/qemu-kvm
--》更改磁盘
----> 更改网络方式,删掉MAC   
----> 桥接到br100
---cd /kvmtest/cp -p centos-6.9.qcow2 centos-6.9-03.qcow2cd /etc/libvirt/qemu/virsh define centos-6.9-03.xml

image_1c5phaoavl852igpe4l8dv0213.png-98.3kB

打开运行虚拟机: virt-manager ---> 运行虚拟机

image_1c5phf3qvvdflqqhq0dc8h091g.png-196.9kB

image_1c5phrhe2q3ihdjd6b41pf13a.png-169.8kB

cd /etc/udev/rules.d/vi 70-persistent-net.rules注释掉第一行, 将最后的eth1 改为eth0mac 地址可以看生成的centos-6.9-03.xml 文件

image_1c5phkfne1m161jkk1fbs1kka1beq20.png-137kB

删掉虚拟机网卡的MAC 地址cd /etc/sysconfig/network-scirpt/vi ifcfg-eth0删掉mac 地址将虚拟机重启reboot-------------重启之后一般就可以获到ip地址就可以ping 通百度可以上网ifconfig |more

image_1c5phptnclij1tc41t756vhand2d.png-113kB

image_1c5pi6c03d0c1cqrhuppkmb1o47.png-184.8kB

image_1c5pi7gg41oj71kq71dpo12kt1tib54.png-57.4kB

2.4.4 虚拟机的快照

kvm 虚拟机的快照: virsh # snapshot-create centos-6.9   ----> 创建快照Domain snapshot 1420286390 createdvirsh # snapshot-list     ---> 列出快照error: command 'snapshot-list' requires 
optionvirsh # snapshot-list centos-6.9 Name Creation Time State ------------------------------------------------------------14202863902015-01-03 19:59:50 +0800 runningvirsh # snapshot-revert centos-6.9 1420286390  ---> 恢复快照snapshot-create-as centos-6.6 testsnap001  --- 快照名字

image_1c5pirctk8vb1m2n3thnsihrr6b.png-154.6kB

image_1c5piqcc11fajl9d6rcpunrvd5u.png-369.7kB

2.4.5 kvm 扩展磁盘

file格式创建:qemu-img create -f qcow2 /kvmtest/add-centos-6.9.qcow2 20G

image_1c5pj6ob318fd1r0drkg8mgeho6o.png-152.5kB

cd /etc/libvirt/qemuvirsh # list --all# edit 5

image_1c5pjpi8q16vg7aa1v5i13no110l92.png-147.5kB

在disk 下面增加: 

image_1c5pjl770ade19tl169s1d2o1vj58l.png-508.2kB

# destory 5 #start centos-6.9

image_1c5pjur3j19tfq1f1j2j1o6014939f.png-123.4kB

查看虚拟机配置: fdisk -l 下面分区格式化磁盘,挂载即可用了

image_1c5pkf3n5jrv79o1sveclrcbm9s.png-302.2kB

大于2tb磁盘的gpt分区方式:– http://www.cnblogs.com/qlwang/p/4600276.html– http://www.cnblogs.com/JimMoriarty/p/3669256.html

转载于:https://blog.51cto.com/flyfish225/2119678

你可能感兴趣的文章
ubuntu安装VNC、Xfce桌面
查看>>
浅析支付系统的整体架构
查看>>
二位数组
查看>>
unix文件权限
查看>>
Python 模拟鼠键
查看>>
2017-2018-2 20155224『网络对抗技术』Exp7:网络欺诈防范
查看>>
Source Code Review
查看>>
分享一下我安装启动Jmeter出错时的解决办法
查看>>
java 调用process
查看>>
用a标签实现submit提交按钮的效果
查看>>
毕向东_Java基础视频教程第20天_IO流(1~4)
查看>>
几图理解BeautifulSoup
查看>>
HashMap内部是如何实现的(转)
查看>>
交互设计[3]--点石成金
查看>>
java实现双向循环链表
查看>>
如何使用缓存提高程序性能
查看>>
【trie树】HDU4825 Xor Sum
查看>>
SCCM TP4部署Office2013
查看>>
Linux系统启动过程,grub重装。
查看>>
使用Putty密钥认证机制远程登录Linux
查看>>