CentOS命令行安装配置KVM详细教程

简介:

系统为centos 6.4 64位 最小化安装  服务器为dell R720,所以网卡为em0,在vmware作为练习安装学习,同样可以,命令行不是为了显的牛B,而是不用考虑桌面兼容性和其他原因的影响

一、查看是否支持虚拟化

vmware开启方式虚拟化方式如下图,虚拟机下面可以用VNC连接安装系统,如果服务器在idc机房,因为和公司网络不在一个网段,所以vnc是连不上去的,另外kvm和桌面系统兼容性不清楚,有发生过卡死的情况,所以还是命令行,下面是一步一步的 操作过程,按着步骤肯定可以!

确定服务器是否支持虚拟化,如果没有查到,在bios里面开启

wKioL1O84vjzHjKuAAGmZxvywyg464.jpg


关闭selinux  SELINUX=disabled

vmx属于inter处理器,svm属于amd处理器

1
egrep  'vmx|svm'  /proc/cpuinfo

flags       :fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflushdts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lmconstant_tsc arch_perfmon pebs bts rep_good xtopology nonstop_tsc aperfmperfpni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pciddca sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx lahf_lm ida aratxsaveopt pln pts dts tpr_shadow vnmi flexpriority ept vpid


二、安装kvm包

1
2
yum  groupinstall  "Development Tools"
yum  groupinstall  "Virtualization"  "Virtualization Client"  "Virtualization Platform"

virtualization //提供虚拟机的环境,主要包含qumu-kvm

virtualization-client//管理和安装虚拟机实例的客户端,主要有python-virtinst,virt-manager,virt-viewer

virtualization-platform//提供访问和控制虚拟客户端的接口,主要有libvirt,libvirt-client

安装完成后重启系统


三、检查安装后是否加载模块

1
lsmod| grep  kvm

kvm_intel              53484  12

kvm                   316506  1 kvm_intel

查看kvm正常运行

1
2
3
4
5
/etc/init .d /libvirtd  start
chkconfig libvirtd on
   
virsh -c qemu: ///system  list  
  Id    Name                           State
1
2
3
4
5
service libvirtd status 
libvirtd (pid  2944) is running...
  
chkconfig --list libvirtd
libvirtd        0:off   1:off   2:off   3:on    4:on    5:on    6:off


四、配置网卡为桥接

这里只是配置一个网卡,配置多个网卡方法一样,现在em1可以理解为交换机,其他guest都链接上面

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
yum  install  bridge-utils.x86_64 acpid -y
 
brctl show
bridge name    bridge  id       STP enabled    interfaces
virbr0      8000.525400fe8dd9    yes      virbr0-nic
 
cp  /etc/sysconfig/network-scripts/ifcfg-em1  /etc/sysconfig/network-scripts/ifcfg-br0
 
cat  /etc/sysconfig/network-scripts/ifcfg-em1
  
DEVICE=em1
TYPE=Ethernet
UUID=****
ONBOOT= yes
NM_CONTROLLED=no
BOOTPROTO=static
BRIDGE=br0
DEFROUTE= yes
IPV4_FAILURE_FATAL= yes
IPV6INIT=no
NAME= "System em1"
HWADDR=****
1
2
3
4
5
6
7
8
9
10
11
12
13
14
cat  /etc/sysconfig/network-scripts/ifcfg-br0 
  
DEVICE=br0
TYPE=Bridge
ONBOOT= yes
NM_CONTROLLED=no
BOOTPROTO=none
IPADDR=****
PREFIX=**
GATEWAY=****
DNS1=114.114.114.114
DOMAIN=114.114.114.114
DEFROUTE= yes
NAME= "System br0"
1
2
service network restart
service acpid start   #电源管理

#查看网络连接

1
2
3
4
brctl show 
bridge name bridge  id         STP enabled    interfaces
br0         8000.74867af0c7a0   no          em1
virbr0      8000.525400cbfade    yes          virbr0-nic


检查ip转发是否开启

1
2
cat  /etc/sysctl .conf | grep  ip_forward
net.ipv4.ip_forward = 1
1
2
3
4
5
如果没有开启,则
vim  /etc/sysctl .conf
net.ipv4.ip_forward = 1
  
/sbin/sysctl  -p


两块网卡配置道理一样,

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# service network restart           #重启时候要等半分钟
Shutting down interface em1:  bridge br0 does not exist!
                                                            [  OK  ]
Shutting down interface em2:                               [  OK  ]
Shutting down loopback interface:                          [  OK  ]
Bringing up loopback interface:                            [  OK  ]
Bringing up interface em1:                                 [  OK  ]
Bringing up interface em2:                                 [  OK  ]
Bringing up interface br0:                                 [  OK  ]
Bringing up interface br1:                                 [  OK  ]
# brctl show
bridge name    bridge  id       STP enabled    interfaces
br0         8000.74867af0db38   no      em1
                             vnet0
br1         8000.74867af0db39   no      em2
                             vnet1
virbr0      8000.525400fe8dd9    yes      virbr0-nic


五、配置自己的安装镜像(此步骤可略过)

为什么要自己配置源呢,因为至少现在centos6.5以下版本的源在sohu,163都被删了,问题是能找到自己系统版本的源

自己搭系统的iso服务器(http)

下载CentOS-6.5-x86_64-minimal.iso

1
2
3
4
mkdir  /data
cd  /data
wget http: //mirrors .sohu.com /centos/6 .5 /isos/x86_64/CentOS-6 .5-x86_64-minimal.iso 
mkdir  /mnt/cdrom


1
2
mount  -o loop -t iso9660  /data/CentOS-6 .5-x86_64-minimal.iso  /mnt/cdrom
cp  -r  /mnt/cdrom  /root/centos

修改这个文件,需要强制保存 wq!

1
2
3
4
5
6
7
vim  /root/centos/ .treeinfo   
[images-x86_64]
initrd = images /pxeboot/initrd .img
kernel = isolinux /vmlinuz
[images-x86_64]
kernel = isolinux /vmlinuz
initrd = isolinux /initrd .img


安装配置httpd

yum install httpd 

#只需要修改httpd.conf的292、318两行,welcome.conf 第8行

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
vim  /etc/httpd/conf/httpd .conf
  
#DocumentRoot "/var/www/html"
DocumentRoot  "/mnt/cdrom"  
<Directory />
    Options indexes FollowSymLinks
    AllowOverride none
< /Directory >
<Directory  "/mnt/cdrom " >        
 
  
vim  /etc/httpd/conf .d /welcome .conf
  
  <LocationMatch  "^/+$" >
    Options +Indexes
    ErrorDocument 403  /error/noindex .html
< /LocationMatch >

service httpd start

开启iptables80端口,在浏览器输入ip即可查看,下面用URL安装,需要打开iptables的80端口,并且ip_forward要开启,

wKiom1O85MXx3HT7AAJddYmptHo023.jpg

 

六、安装kvm guest0

mkdir /var/kvm/

按照第五步安装方式:

virt-install -v -n bbotte -r 4096 --vcpus=4 --location=/root/centos --nographics --virt-type=kvm --disk path=/var/kvm/bbotte.img,size=80,sparse -w bridge:br0 --extra-args='console=tty0  console=ttyS0,115200n8' --connect qemu:///system

kvm名称:bbotte

内存:4G(如果宿主机内存小的话,guest就小点,要不会出错误提醒)

cpu:4颗

虚拟磁盘路径:/var/kvm/bbotte.img

磁盘大小:80G


没有做第五步操作,用搜狐源安装方式:

virt-install -v -n bbotte -r 4096 --vcpus=4 -l http://mirrors.sohu.com/centos/6.5/os/x86_64/  --nographics --virt-type=kvm --disk path=/var/kvm/bbotte.img,size=80,sparse -w bridge:br0 --extra-args='console=tty0 console=ttyS0,115200n8' --connect qemu:///system

下面即开始命令行下安装

1,选择语言

wKioL1O85QCD-X3DAAFR5VPsodQ922.jpg

2,选择安装方式,这里是自己配置的http,所以选URL

wKioL1O85Qqhy1yQAADe92vgG9E540.jpg

3,为主机配置ip地址

wKiom1O85ULyeQ35AAEq1xnHuQ0237.jpg

wKiom1O85UuR0vbBAAGxeLl605M906.jpg

4,输入安装的url,这里是http://ip,Tab到ok即可

wKioL1O85SOwA7CBAAEqsKvLwFQ512.jpg

5,在这里如果启用VNC的话安装会很方便,虚拟机做实验建议启用,连接IDC的服务器还要选命令行,因为ssh连接机房的服务器,网卡还没启动,启动vnc后会连不上现在的guest0

  windows 64位 vnc下载链接为 http://pan.baidu.com/s/1GSxHW 

wKioL1O85YmRnJtRAAFFwV43J-A564.jpg

6,检测磁盘,现在为80G

wKioL1O85bHQyQrRAAJRfMP-vS4092.jpg

7,设置时区,把utc取消,这里选 Asia/Chongqing

wKiom1O85fizClOdAAEXLbwct8c485.jpg

8,格式化硬盘Use entire dirve, 格式化后4分钟就安装成功

wKiom1O85gTQbbfLAAH5ftlEcsY358.jpg

wKioL1PHcyrjRaHhAABbNO3JNYo743.jpg

9,安装后重启

wKioL1O85eCR5WSuAAF2ExHsmK8839.jpg

10,登录系统

wKioL1O85gXQQHKvAAGpyJqs5DQ063.jpg

11,查看磁盘分区,系统自动分区的结果

wKioL1O85g6ToGAJAAESAigHPT4397.jpg

七、配置内网和外网

设置两块网卡,一块为外网,一块为内网(如果本来就是两个网口,两根网线,已经设置了两个网卡,下面就不用自己设置了,直接编辑网卡配置文件即可)

cp/etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth1

编辑eth1网卡

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
cat  /etc/sysconfig/network-scripts/ifcfg-eth0
  
DEVICE= "eth0"
BOOTPROTO= "static"
BROADCAST= "****"
GATEWAY= "****"
IPADDR= "****"
IPV6INIT= "yes"
IPV6_AUTOCONF= "yes"
NETMASK= "255.255.255.240"
NM_CONTROLLED= "yes"
ONBOOT= "yes"
TYPE= "Ethernet"
NAME= "System eth0"
HWADDR=****
1
2
3
4
5
6
7
8
9
10
11
12
cat  /etc/sysconfig/network-scripts/ifcfg-eth1
  
DEVICE= "eth1"
BOOTPROTO= "static"
IPADDR= "192.168.*.*"
IPV6INIT= "yes"
IPV6_AUTOCONF= "yes"
NETMASK= "255.255.255.0"
NM_CONTROLLED= "yes"
ONBOOT= "yes"
TYPE= "Ethernet"
NAME= "System eth1"
1
rm  /etc/udev/rules .d /70-persistent-net .rules


配置后关机

shutdown -h now


把宿主机的httpd关闭

service httpd stop


virsh edit bbotte


复制eth0内容,把MAC,slot两个地方做修改,MAC地址只需修改不同即可,一般修改最后一位

1
2
3
4
5
6
<interface  type = 'bridge' >
       <mac address= '****' />
       <sourcebridge= 'br0' />
       <modeltype= 'virtio' />
       <address  type = 'pci' domain= '0x0000'  bus= '0x00'  slot= '0x06'  function = '0x0' />
     < /interface >


启动kvm的guest

1
2
3
4
5
6
virsh start bbotte     #启动guest0
virsh console bbotte   #连接gues0
virsh destroy bbotte   #暂停guest bbotte
virsh undefine bbotte  #删除guest bbotte
virsh list             #查看正在运行的guest
virsh edit bbotte      #编辑guest bbotte的配置文件,可以调整cpu数量,内存大小,网卡

进入guest后,设置一下网络

1
2
vim  /etc/resolv
nameserver 114.114.114.114


此时,可以ping通外网和内网

shutdown -h now


怎样退出guest

exit  #退出登陆

会弹出一个仍然让你登陆的页面,同时按 Ctrl+ ] 即可

八、克隆一个guest虚拟机

原版克隆一个用于备份

virt-clone --connect qemu:///system --original=bbotte --name=bbotte2 --file=/var/kvm/bbotte2.img


virt-clone --connect qemu:///system --original=bbotte --name=bbotte2 --file=/var/kvm/bbotte2.qcow2 (如果在克隆前已经创建了虚拟磁盘,会有一个提示,后面需加参数覆盖)


再启动guest0

1
virsh start bbotte

到此,KVM guest0安装完毕


附:KVM的快照

因为创建的.img文件比较稳定,不容易出错,所以上面是.img的格式。不过需要做快照的话还得qcow2,下面是qcow2的guest创建命令

1
2
qemu-img create -f qcow2  -o size=100G,preallocation=metadata  /var/kvm/bbotte .qcow2
qemu-img info -f qcow2  /var/kvm/bbotte .qcow2

 

virt-install -v -n bbotte -r 2048 --vcpus=4 --location=/root/centos --nographics --virt-type=kvm --disk  path=/var/kvm/bbotte.qcow2,device=disk,format=qcow2,bus=virtio,cache=writeback,size=100 -w bridge:br0 --extra-args='console=tty0 console=ttyS0,115200n8' --connect qemu:///system


两块网卡为下:

virt-install -v -n bbotte -r 4096 --vcpus=4 --location=/root/centos --nographics --virt-type=kvm --disk  path=/var/kvm/bbotte.qcow2,device=disk,format=qcow2,bus=virtio,cache=writeback,size=100 -w bridge:br0 -w bridge:br1 --extra-args='console=tty0 console=ttyS0,115200n8' --connect qemu:///system


kvm名称:bbotte

内存:2G

cpu:4颗

磁盘文件名称:bbotte.qcow2

虚拟磁盘路径:/var/kvm/bbotte.qcow2

磁盘大小:100G


安装完毕,查看安装的guest磁盘文件信息

1
2
3
4
5
6
# qemu-img info /var/kvm/test.qcow2 
image:  /var/kvm/test .qcow2
file  format : qcow2                        #磁盘格式
virtual size: 150G (161061273600 bytes)   #guest系统磁盘看到的是150G
disk size: 16G                            #实际占用磁盘空间为16G
cluster_size: 65536


guest在启动的时候就可以做快照,不过要注意的是快照的时候是暂时的休克,ping不通外网的

1
2
3
4
5
6
# virsh list
  Id    Name                           State
----------------------------------------------------
  30     test                           running
# virsh snapshot-create test
Domain snapshot 1414228727 created


此时快照已经生成,

1
2
3
4
5
6
7
8
9
# qemu-img info /var/kvm/test.qcow2 
image:  /var/kvm/test .qcow2
file  format : qcow2                        #磁盘格式
virtual size: 150G (161061273600 bytes)   #guest系统磁盘看到的是150G
disk size: 16G                            #实际占用磁盘空间为16G
cluster_size: 65536
Snapshot list:
ID        TAG                 VM SIZE                DATE       VM CLOCK
1         1414228727             786M 2014-10-25 17:18:47  677:36:07.930


或者用这个命令查看快照

qemu-img snapshot -l /var/kvm/test.qcow2

快照的配置文件默认在 /var/lib/libvirt/qemu/snapshot/test/1414228727.xml

如果需要恢复快照,那么把guest停止,再恢复

virsh snapshot-revert test 1414228727(快照的TAG)

完事需要把时间同步为准确的时间

ntpdate 0.asia.pool.ntp.org ;hwclock -w










本文转自 bbotte 51CTO博客,原文链接:http://blog.51cto.com/bbotte/1436289,如需转载请自行联系原作者
目录
相关文章
|
3月前
|
Linux 网络安全 Apache
CentOS 7.2配置Apache服务httpd(上)
CentOS 7.2配置Apache服务httpd(上)
324 1
|
29天前
|
缓存 Linux
解决CentOS 7停止更新后yum源失效问题【图文教程】
以上步骤完成后,你的 CentOS 7 系统就会使用阿里云的 yum 源,更换yum以后就可以正常使用啦。
581 2
|
2月前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
184 2
|
3月前
|
Linux Docker 容器
Centos安装docker(linux安装docker)——超详细小白可操作手把手教程,包好用!!!
本篇博客重在讲解Centos安装docker,经博主多次在不同服务器上测试,极其的稳定,尤其是阿里的服务器,一路复制命令畅通无阻。
2481 4
Centos安装docker(linux安装docker)——超详细小白可操作手把手教程,包好用!!!
|
3月前
|
监控 安全 Linux
CentOS7下安装配置ntp服务的方法教程
通过以上步骤,您不仅能在CentOS 7系统中成功部署NTP服务,还能确保其配置合理、运行稳定,为系统时间的精确性提供保障。欲了解更多高级配置或遇到特定问题,提供了丰富的服务器管理和优化资源,可作为进一步学习和求助的平台。
230 1
|
3月前
|
Java jenkins 持续交付
Centos7下docker的jenkins下载并配置jdk与maven
通过上述步骤,您将成功在CentOS 7上的Docker容器中部署了Jenkins,并配置好了JDK与Maven,为持续集成和自动化构建打下了坚实基础。
147 1
|
3月前
|
存储 监控 Linux
在 CentOS 7 中如何对新硬盘进行分区、格式化、挂载及配置最佳实践
本文详细介绍了在 CentOS 7 中如何对新硬盘进行分区、格式化、挂载及配置最佳实践,包括使用 `fdisk` 创建分区、`mkfs` 格式化分区、创建挂载点、编辑 `/etc/fstab` 实现永久挂载等步骤,旨在有效管理服务器磁盘空间,提高系统稳定性和可维护性。
402 1
|
3月前
|
Linux PHP Apache
CentOS 7.2配置Apache服务httpd(下)
CentOS 7.2配置Apache服务httpd(下)
59 1
|
3月前
|
安全 Linux 数据库连接
CentOS 7环境下DM8数据库的安装与配置
【10月更文挑战第16天】本文介绍了在 CentOS 7 环境下安装与配置达梦数据库(DM8)的详细步骤,包括安装前准备、创建安装用户、上传安装文件、解压并运行安装程序、初始化数据库实例、配置环境变量、启动数据库服务、配置数据库连接和参数、备份与恢复、以及安装后的安全设置、性能优化和定期维护等内容。通过这些步骤,可以顺利完成 DM8 的安装与配置。
408 0
|
3月前
|
Linux
CentOS-Stream-9配置chfs
通过上述步骤,您就可以在CentOS Stream 9上配置并运行CHFS,为用户提供基于HTTP的文件分享服务。请注意,实际操作时应根据CHFS的具体版本和文档进行适当调整。
71 0