基于Linux命令行KVM虚拟机的安装配置与基本使用

背景

由于生产环境的服务器并不会安装桌面环境,简单操作的图形化安装也不适合批量部署安装。因此,我还是更倾向于在命令下安装配置KVM虚拟机。结合了一些资料和个人使用的状况,我大致列出了一些基本和常用的使用方法。

安装配置

一、环境介绍

操作系统:centos6.6

内核版本:2.6

IP地址:172.16.57.24

二、检查CPU

和 Xen 不同,KVM 需要有 CPU 的支持(Intel VT 或 AMD SVM),在安装 KVM 之前检查一下 CPU 是否提供了虚拟技术的支持

egrep ‘vmx|svm‘ /proc/cpuinfo

三、安装KVM

1、这里安装一些虚拟化的组件

yum -y install kvm python-virtinst libvirt  bridge-utils virt-manager qemu-kvm-tools  virt-viewer  virt-v2v libguestfs-tools-c

2、对kvm进行如下如下配置:

vim /etc/libvirt/libvirtd.conf 这里主要是tcp连接的设置
末尾添加如下:
listen_tls = 0
listen_tcp = 1
tcp_port = "16509"
listen_addr = "172.16.57.24"
unix_sock_ro_perms = "0777"
unix_sock_rw_perms = "0770"
auth_tcp = "none"
max_clients = 1024
min_workers = 100
max_workers = 200
max_requests = 20
max_client_requests = 50
vim qemu.conf 这里主要是对vnc的设置,一会儿通过vnc-viewer连接来进行安装
末尾添加
vnc_listen = 0.0.0.0
vnc_password = "bigdata"  #vnc连接密码
remote_display_port_min = 5900 #vnc最小端口
remote_display_port_max = 65535 #vnc最大端口

3、确认一下是否 kvm 安装成功:

/etc/init.d/libvirtd restart

4、查看是否启动:

ps -ef | grep libvirtd

5、查看kvm模块是否正常加载:

lsmod |grep kvm

四、配置网桥连接

1、配置网桥br0

vim /etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0
TYPE=Bridge
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=172.16.57.24
NETMASK=255.255.255.0
GATEWAY=172.16.57.1
DNS1=202.96.209.133
vim /etc/sysconfig/network-scripts/ifcfg-em1
DEVICE=em1
TYPE=Ethernet
ONBOOT=yes
BRIDGE=br0
NM_CONTROLLED=yes

2、重启网络

/etc/init.d/network restart

3、查看网络连接

brctl show
如果配置成功,会有以下输出:
bridge name	bridge id		STP enabled	interfaces
br0		8000.14187745822e	no		em1
							vnet0
							vnet1
							vnet2
							vnet3
							vnet4
							vnet5
							vnet6
virbr0		8000.5254005fcc0b	yes		virbr0-nic

4、检查ip转发是否开启

cat /etc/sysctl.conf |grep ip_forward
net.ipv4.ip_forward = 1
如果没有开启:
vim /etc/sysctl.conf
修改net.ipv4.ip_forward = 1
/sbin/sysctl -p

五、安装虚拟机

virt-install  --name=tomcat_01 --ram 8192 --vcpus=2 /
--disk path=/var/lib/libvirt/images/tomcat_01.img,size=20,format=raw,bus=virtio /
--cdrom /var/iso/CentOS-6.7-x86_64-minimal.iso --network bridge=br0,model=virtio /
--vnc --accelerate --force  --autostart

这里解释一下主要的几个参数含义:

--name    给虚拟机起个名字
--ram     分配给虚拟机的内存,单位MB
--vcpus   分配给虚拟机的cpu个数
--cdrom   指定安装文件的全路径
--disk    指定虚拟机img文件路径,如果虚拟机使用lvm分区,这里就指向到lvm的分区就行
  size    虚拟机文件大小,单位GB
  bus     虚拟机磁盘使用的总线类型,为了使虚拟机达到好的性能,这里使用virtio
  cache   虚拟机磁盘的cache类型
--network bridge    指定桥接网卡
   model  网卡模式,这里也是使用性能更好的virtio
--graphics图形参数

这里我安装的虚拟机名字为tomcat_01,接下来查看其vnc端口:

ps aux | grep qemu | grep tomcat_01

当时我们设置vnc端口最小为5900,那么这里指的就是5902这个端口。

接下来通过在windows下使用vnc-viewer来连接172.16.57.24:5902,并输入设置的密码,即可进行安装。

常用操作

1、宿主机管理虚拟机

对虚拟机进行开关等管理,需要在虚拟机上安装acpid的服务,并启动它。

2、克隆虚拟机

一般制作一个常用的虚拟机模板,下次安装可以直接来克隆这个模板。

virt-clone --connect qemu:///system --original=tomcat_01 --name=tomcat_02 --file=//var/lib/libvirt/images/tomcat_02.img
--original克隆的虚拟机对象
--name    克隆的新虚拟机名称

3、添加磁盘

一般虚拟机的磁盘结构为系统盘加数据盘,当系统发生故障时,可以重新建一个系统盘,而数据盘不会丢失。

添加磁盘操作:

cd /var/lib/libvirt/images/ 进入磁盘存放目录
qemu-img create -f raw test_add.img 100G 创建一块100G的磁盘
virsh attach-disk tomcat_01 /var/lib/libvirt/images/test_add.img vdb --cache none 动态添加磁盘

这种方法是动态添加磁盘,而xml配置文件并没有发生变化,为了防止下次启动添加的磁盘失效,进行如下操作:

virsh dumpxml tomcat_01 > tomcat_01.xml 将最新的虚拟机配置重定向到其配置文件中
virsh define tomcat_01.xml

这样,新增的磁盘就不会丢了。

4、virsh命令的一些操作

Autostart 自动开始一个域
Create 从一个 XML 文件创建一个域
Define 从一个 XML 文件定义(但不开始)一个域
edit 编辑某个域的 XML 配置
shutdown 关闭一个域
start 开始一个(以前定义的)非活跃的域
reboot 重新启动一个域
suspend 挂起一个域
resume 重新恢复一个域
vncdisplay vnc 显示

免费提供最新Linux技术教程书籍,为开源技术爱好者努力做得更多更好:http://www.linuxprobe.com/

时间: 2024-10-18 16:24:46

基于Linux命令行KVM虚拟机的安装配置与基本使用的相关文章

[Android] 基于 Linux 命令行构建 Android 应用(七):自动化构建

本章将演示如何基于 Linux 命令行构建 Android 应用,在开始本章之前,希望你已经阅读之前几章内容. 本文环境为 RHEL Sandiego 32-bits,要基于 Linux CLI 构建 Android 应用,先决环境为: 1. JDK[1] 2. Android SDK 3. Apache Ant 安装过程需要使用 sudo 权限. 1. 搭建环境 1.1. 安装 JDK JDK 是构建 Android 应用先决条件之一,由于版权原因,一般安装 Open JDK. RHEL 中使

7个基于Linux命令行的文件下载和网站浏览工具

7个基于Linux命令行的文件下载和网站浏览工具 时间:2015-06-01 09:36来源:linux.cn 编辑:linux.cn 点击: 2282 次 Linux命令行是GNU/Linux中最神奇迷人的部分,它是非常强大的工具.命令行本身功能多样,多种内建或者第三方的命令行应用使得Linux变得更加健壮和强大.Linux Shell支持多种不同类型的网 Linux命令行是GNU/Linux中最神奇迷人的部分,它是非常强大的工具.命令行本身功能多样,多种内建或者第三方的命令行应用使得Linu

linux系统下kvm虚拟机的安装

一 KVM虚拟机简介 KVM是kernel-based Virtual Machine的简称,目前已成为学术界的主流VMM之一.KVM的虚拟化需要硬件支持(如Intel VT技术或者AMD V技术) 是基于硬件的完全虚拟化.KVM的安装和使用相对于XEN来说十分的简单和方便,并且功能强大,比较适用于高性能计算服务的云计算环境中作为IAAS层的虚拟化部署工作 不得不提的是甲骨文公司的VirtualBox也很强大,各方面与KVM可以相媲美,但是现在不开源比较昂贵一般的云计算平台很少使用.至于完全虚拟

5个基于Linux命令行的文件下载和网站浏览工具

导读 命令行是GNU/Linux中最神奇迷人的部分,它是非常强大的工具;命令行本身功能多样,多种内建或者第三方的命令行应用使得Linux变得更加健壮和强大.Linux Shell支持多种不同类型的网络应用,无论是BT下载软件,专用下载器或者互联网冲浪. 5个命令行互联网工具 这里我们介绍了5个很好的命令行互联网工具,它们非常有用,也很容易上手. 1. rTorrent rTorrent是基于文本,用C++编写,追求高性能的Torrent客户端.支持大部分标准的Linux发行版,包括FreeBSD

开发利器_ImageMagick.基于Linux命令行的图片缩放/编辑/格式转换?

简单介绍: ImageMagick是一系列的用于修改,加工图像的命令行工具,能够快速地使用命令行对图片进行操作,对大量的图片进行批处理,它能执行相当多操作,本文涉及的只是开发中常用的技能. 快速安装: yum -y install epel-release yum install -y ImageMagick ImageMagick-devel 格式转换: convert 1.png 1.jpg 缩放图像: convert 1.jpg -resize 499x 1.jpg 说明: ImageMa

[Android] 基于 Linux 命令行构建 Android 应用(二):命令行管理项目

创建 Android 项目 在命令行创建 Android 项目需要用到 android 工具(该工具由 Android SDK 提供,位于 <sdk>/tools/ 目录下.).它能自动生成一个项目目录,其中包含若干默认应用程序文件,存案文件,配置文件和一个构建文件. 命令用法[1]: $ android create project \ --target <target_ID> \ --name <your_project_name> \ --path path/to

[Android] 基于 Linux 命令行构建 Android 应用(四):命令行构建

谷歌提供的 Android SDK 支持 Ant 自动构建[1],你可以使用调试和发行两种模式进行构建,两种模式不同之处在于调试模式 Ant 会调用内置的调试密钥,而发行模式调用你提供的私钥. 首先安装 Ant,并且将它添加到你的执行路径 PATH 里[2]. 调试模式构建 在调试模式下,Ant 会自动使用一个调试密钥对你的安卓应用进行签名,并且使用 zipalign 进行优化. 要进行调试模式下的构建,首先在命令行进入安卓项目根目录,然后使用 Ant 启动调试模式构建: $ ant debug

linux命令行下使用vboxmanage安装linux系统

环境:Ubuntu 15.04 64bit,virtualbox 5.0.16 准备:下载安装好virtualbox,virtualbox-extensions,准备好iso系统文件,如archlinux.iso. 1.建立好vbox的目录. $ cd$ cd VirtualBox\ VMs/ $ mkdir arch $ cd arch 2.新建一个vbox磁盘,--size参数设置大小,单位:M. $ vboxmanage createmedium disk --filename arch.

[Android] 基于 Linux 命令行构建 Android 应用(五):Ant 构建命令

Android SDK 提供的 android 工具可以在项目根目录自动生成 Ant 构建文件 build.xml[1].进入项目根目录后,你可以使用以下 Ant 命令[2]. ant clean 清理项目.该命令负责清理本文列出的其他 Ant 命令产生的输出结果. ant debug 构建调试包. ant emma debug 以开启 instrumentation 的方式构建测试项目,可用于代码覆盖的测试. ant release 构建发行包. ant instrument 构建支持 ins