阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

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

38次阅读
没有评论

共计 3070 个字符,预计需要花费 8 分钟才能阅读完成。

背景

由于生产环境的服务器并不会安装桌面环境,简单操作的图形化安装也不适合批量部署安装。因此,我还是更倾向于在命令下安装配置 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

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

当时我们设置 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 显示 

阿里云 2 核 2G 服务器 3M 带宽 61 元 1 年,有高配

腾讯云新客低至 82 元 / 年,老客户 99 元 / 年

代金券:在阿里云专用满减优惠券

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2024-07-24发表,共计3070字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中