CentOS yum kvm
首先,需要我们的cpu支持虚拟化,有的机器支持但是并未在bios开启,这个需要事先开启。
1. Dell R710安装centos6.7 64位 ,Dell R710在开机后按F2进入BIOS,Processor Setting->Virtualization Technology->空格键切换模式为Enabled
然后回车,ESC保存退出
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. 通过yum安装虚拟化的软件包
yum install -y kvm virt-* libvirt bridge-utils qemu-img
说明:
kvm:软件包中含有KVM内核模块,它在默认linux内核中提供kvm管理程序
libvirts:安装虚拟机管理工具,使用virsh等命令来管理和控制虚拟机。
bridge-utils:设置网络网卡桥接。
virt-*:创建、克隆虚拟机命令,以及图形化管理工具virt-manager
qemu-img:安装qemu组件,使用qemu命令来创建磁盘等。
c. 检查kvm模块是否加载
lsmod |grep kvm
正常应该是:
kvm_intel 55496 3
kvm 337772 1 kvm_intel
如果没有,需要执行
modprobe kvm-intel
还没有就重启一下试试
d. 配置网卡
cd /etc/sysconfig/network-scripts/
cp ifcfg-em1 ifcfg-br1
分别编辑em1和br1
ifcfg-em1改成如下:
DEVICE=em1
HWADDR=A4:BA:DB:20:93:23
TYPE=Ethernet
UUID=488fe6b3-45e8-413b-881d-539c9b453e31
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
BRIDGE=br1
ifcfg-br1改成如下:
DEVICE=br1
#HWADDR=A4:BA:DB:20:93:23
TYPE=Bridge
#UUID=488fe6b3-45e8-413b-881d-539c9b453e31
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=112.65.140.133
NETMASK=255.255.255.248
GATEWAY=112.65.140.129
DNS1=210.22.84.3
DNS2=8.8.8.8
说明: 我的虚拟机是桥接模式,所以设置br0的ip和我的真机同样的网段,包括网关也是我路由器的ip,大家可以根据自己的环境去配置,目的是为了让虚拟机可以上网。
/etc/init.d/network restart
查看网卡如下:
[root@daixuan network-scripts]# ifconfig
br1 Link encap:Ethernet HWaddr A4:BA:DB:20:93:23
inet addr:112.65.140.133 Bcast:112.65.140.135 Mask:255.255.255.248
inet6 addr: fe80::a6ba:dbff:fe20:9323/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:32 errors:0 dropped:0 overruns:0 frame:0
TX packets:24 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2114 (2.0 KiB) TX bytes:3136 (3.0 KiB)
em1 Link encap:Ethernet HWaddr A4:BA:DB:20:93:23
inet6 addr: fe80::a6ba:dbff:fe20:9323/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:22 errors:0 dropped:0 overruns:0 frame:0
TX packets:15 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1700 (1.6 KiB) TX bytes:2472 (2.4 KiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
virbr0 Link encap:Ethernet HWaddr 52:54:00:5C:6D:1B
inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
e. 启动或重启libvirtd服务和messagebus 服务
[root@daixuan network-scripts]# /etc/init.d/libvirtd start
[root@daixuan network-scripts]# /etc/init.d/messagebus restart
此时可以查看网络接口列表
brctl show 结果如下:
[root@daixuan network-scripts]# brctl show
bridge name bridge id STP enabled interfaces
br1 8000.a4badb209323 no em1
virbr0 8000.5254005c6d1b yes virbr0-nic
4. 创建虚拟机
mkdir /data/ //创建一个存储虚拟机虚拟磁盘的目录,该目录所在分区必须足够大
[root@daixuan ~]# virt-install \
--name daixuan1 \
--ram 512 \
--disk path=/data/daixuan1.img,size=30 \
--vcpus 1 \
--os-type linux \
--os-variant rhel6 \
--network bridge=br1 \
--graphics none \
--console pty,target_type=serial \
--location 'http://mirrors.163.com/centos/6.7/os/x86_64/' \
--extra-args 'console=ttyS0,115200n8 serial'
之后手动配置IP地址,该虚拟机能够上网,就可以进入安装界面了,Re-initilialize all,时区选择亚洲上海,省略linux安装过程。
说明:
--name 指定虚拟机的名字
--ram 指定内存分配多少
--vcpus 指定分配cpu几个
--os-type 指定系统类型为linux
--os-variant 指定系统版本
--network 指定网络类型
--graphics 指定安装通过哪种类型,可以是vnc,也可以没有图形,在这里我们没有使用图形直接使用文本方式
--console 指定控制台类型
--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/daixuan2.img 10G
[root@daixuan ~]# virt-install \
--name daixuan2 \
--ram 512 \
--disk path=/data/daixuan2.img,format=qcow2,size=10,bus=virtio \
--vcpus 1 \
--os-type linux \
--os-variant rhel6 \
--network bridge=br1 \
--graphics none \
--console pty,target_type=serial \
--location 'http://mirrors.163.com/centos/6.7/os/x86_64/' \
--extra-args 'console=ttyS0,115200n8 serial'
--location
指定安装介质地址,可以是网络地址,也可以是本地的一个绝对路径,(--location '/mnt/',
其中/mnt/下就是我们挂载的光盘镜像mount /dev/cdrom
/mnt)如果是绝对路径,那么后面还需要指定一个安装介质,比如NFS,假如虚拟机设置ip后,不能连外网,那么就会提示让我们选择安装途径:
┌───┤ Installation Method ├───┐
│ │
│ What type of media contains │
│ the installation image? │
│ │
│ Local CD/DVD │
│ Hard drive │
│ NFS directory │
│ URL │
│ │
│ ┌────┐ ┌──────┐ │
│ │ OK │ │ Back │ │
│ └────┘ └──────┘ │
│ │
│ │
└─────────────────────┘
我在这里选择NFS,设置参数如下(前提是光盘中的linux的iso镜像挂载到本地/mnt下,母机配置了nfs共享了/mnt):
┌───────────────────────────┤ NFS Setup ├─────────
│ │
│ Please enter the server and NFSv3 path to your CentOS installation │
│ image and optionally additional NFS mount options. │
│ │
│ NFS server name: 112.65.140.133______________ │
│ CentOS directory: /mnt/images/install.img_ │
│ NFS mount options (optional): ro______________________ │
--extra-args 设定内核参数
当按下回车后,稍等几秒钟就可以看到安装提示了。
开始安装......
搜索文件 .treeinfo...... | 720 B 00:00 ...
搜索文件 vmlinuz...... | 7.7 MB 00:02 ...
搜索文件 initrd.img...... | 63 MB 00:23 ...
创建存储文件 centos6.6_1.img | 30 GB 00:00
创建域...... | 0 B 00:00
连接到域 centos6.6_1
Escape character is ^]
然后就是我们非常熟悉的OK or Next 了 ,只不过这个过程是文本模式,如果想使用图形,只能开启vnc啦。
CentOS yum kvm的更多相关文章
- centos yum 安装 mongodb 以及php扩展
centos yum 安装 mongodb 以及php扩展 投稿:hebedich 字体:[增加 减小] 类型:转载 MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用 ...
- yum-config-manager YUM安装遭遇: [Errno 256] No more mirrors to try CentOS yum之$releasever和$basearch
YUM安装遭遇: [Errno 256] No more mirrors to try createrepo 有问题. CentOS yum之$releasever和$basearch分类: 操作系统 ...
- redhat centos yum源的安装
redhat centos yum源的安装 1.除旧 #cd /etc/yum.repos.d #mv rhel-debuginfo.repo rhel-debuginfo.repo.bak 此处将其 ...
- 【转】CentOS yum安装和卸载软件的使用方法
在CentOS yum安装和卸载软件的使用方法安装方法安装一个软件时. CentOS yum -y install httpd安装多个相类似的软件时 CentOS yum -y install ...
- Redhat 6 配置CentOS yum source
由于最近曝出linux的bash漏洞,想更新下bash,于是 想到了配置CentOS yum source. 测试bash漏洞的命令: env x='() { :;}; echo "Your ...
- Centos yum install
http://wiki.centos.org/TipsAndTricks/BrokenVserver centos mirror: http://mirror.centos.org/centos/6 ...
- centos yum 完全卸载依赖
centos yum 完全卸载依赖 you install a package with yum install, say pdftk, it will pull in a lot of dep ...
- red hat Linux 使用CentOS yum源更新
red hat linux是商业版软件,没有经过注册是无法使用红帽 yum源更新软件的,使用CentOS源更新操作如下: 1.删除red hat linux 原有的yum 源 rpm -aq | gr ...
- centos yum源配置 与yum配置文件
参考博客 http://www.cnblogs.com/mchina/archive/2013/01/04/2842275.html 1.centos . yum配置文件在目录 /etc/yum.re ...
随机推荐
- (C/C++ interview) Static 详解
C Static http://stackoverflow.com/questions/572547/what-does-static-mean-in-a-c-program Static could ...
- FB Flash Builder 安装错误 ERROR: DW050: - Microsoft Visual C++ 2010 Redistributable Package (x86): Install failed
这个问题很可能是你的 Microsoft Visual C++ 2010 Redistributable Package (x86) 太新的缘故,所以无法安装成功,导致最终的失败. 在控制面板-程序和 ...
- hdu 3068 最长回文 manacher算法(视频)
感悟: 首先我要Orz一下qsc,我在网上很难找到关于acm的教学视频,但偶然发现了这个,感觉做的很好,链接:戳戳戳 感觉这种花费自己时间去教别人的人真的很伟大. manacher算法把所有的回文都变 ...
- MVC ViewData和ViewBag[转]
转自:http://blog.csdn.net/a497785609/article/details/7854402#t0 视图数据可以通过ViewBag属性访问,它主要是为了从Contr ...
- URL编码CFURLCreateStringByAddingPercentEscapes使用(ARC)
URL 编码:CFURLCreateStringByAddingPercentEscapes If you have tried to send any information using a GET ...
- Python标准库04 文件管理 (部分os包,shutil包)
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 在操作系统下,用户可以通过操作系统的命令来管理文件,参考linux文件管理相关命令 ...
- python爬取并计算成绩
模拟登录后抓取成绩,计算绩点. # -*- coding: utf-8 -*- import urllib import urllib2 import cookielib import re impo ...
- Awk 实例
AWK 是一种用于处理文本的编程语言工具.AWK 在很多方面类似于 shell 编程语言,尽管 AWK 具有完全属于其本身的语法.它的设计思想来源于 SNOBOL4 .sed .Marc Rochki ...
- 在每次request请求时变化session
session.invalidate();//使得当前的session失效 request.getSession(true).getId();//生成一个新的session 原理: request.g ...
- Delphi 在线程中如何使用TClientSocket组件并自动检测该组件
在线程中如何使用TClientSocket组件并自动检测该组件的事件?我想在一个线程中动态创建一个TClientSocket组件,并要求该组件能够自动检测Socket事件(例如OnRead.OnErr ...