(亲测成功)在centos7.5上安装kvm,经过VNC远程链接并建立多台ubuntu虚拟机(ubuntu server版本)

在centos7.5上安装kvm,经过VNC远程链接并建立多台ubuntu虚拟机
前提:服务器端安装桌面版的centos系统
CentOS Linux release 7.5.1804 (Core)
 

 
(1)
检测是否支持KVM
KVM 是基于 x86 虚拟化扩展(Intel VT 或者 AMD-V) 技术的虚拟机软件,因此查看 CPU 是否支持 VT 技术,就能够判断是否支持KVM。有返回结果,若是结果中有vmx(Intel)或svm(AMD)字样,就说明CPU的支持的。
cat /proc/cpuinfo | egrep 'vmx|svm
 

 
(2)关闭SELinux,将 /etc/sysconfig/selinux 中的 SELinux=enforcing 修改成 SELinux=disabled
[root@healthserver ~]# nano /etc/sysconfig/selinux

 
(3)最小安装的CentOS安装一些最基本的包(可选项,由于我是刚安装好的CentOS,因此为了下面方便点,先把一些必要的工具安装下)
yum install epel-release net-tools vim unzip zip wget ftp -y
# 安装 kvm 基础包# ------------------------
yum -y install kvm
# 安装 kvm 管理工具# ------------------------
yum -y install qemu-kvm python-virtinst libvirt libvirt-python virt-manager libguestfs-tools bridge-utils virt-install
# qemu-kvm: KVM模块
# pyhon-virtinst: 包含python模块和工具(virt-install,virt-clone和virt-image),
# 用于安装和克隆虚拟机使用libvirt。 它彻底支持paravirtulized客人和客人虚拟客人。
# 支持的虚拟机管理程序是Xen,qemu(QEMU)和kvm# libvirt: 虚拟管理模块# virt-manager: 图形界面管理虚拟机
# libguestfs* : virt-cat等命令的支持软件包
# 重启宿主机,以便加载 kvm 模块# ------------------------
reboot(也可不重启)
# 查看KVM模块是否被正确加载
[root@healthserver ~]# lsmod | grep kvm
kvm_intel 174841 0
kvm 578518 1 kvm_intel
irqbypass 13503 1 kvm
 
=========================================================
若是没有加载,运行如下命令:
[root@kevin ~]# modprobe kvm
[root@kevin ~]# modprobe kvm-intel
[root@kevin ~]# lsmod | grep kvm
kvm_intel 170086 0
kvm 566340 1 kvm_intel
irqbypass 13503 1 kvm
=========================================================
内核模块导出了一个名为/dev/kvm的设备,这个设备将虚拟机的的地址空间独立于内核或者任何应用程序的地址空间。
[root@kevin ~]# ll /dev/kvm
crw-rw-rw-. 1 root kvm 10, 232 1月 29 11:56 /dev/kvm
 

 
(4)开启kvm服务,而且设置其开机自动启动
 
systemctl start libvirtd.service
systemctl enable libvirtd.service
 
查看状态操做结果,以下图所示,说明运行状况良好
systemctl status libvirtd
查看状态操做结果,如Active: active (running),说明运行状况良好
systemctl is-enabled libvirtd
 

(5)
安装虚拟机
安装前要设置环境语言为英文LANG="en_US.UTF-8",若是是中文的话某些版本可能会报错。CentOS 7 在这里修改 /etc/locale.conf。这一步可不作,若是有影响在作。
 
若是没有brctl命令(用来管理网桥的工具),则须要安装bridge-utils ,
[root@healthserver ~]# yum -y install bridge-utils
 
而后为centos7配置网卡,因为咱们安装的是centos桌面版系统,所以这一步可在服务器端图形界面进行设置,命令行也能够进行设置,此处咱们不谈。
 
安装 epel 源
[root@healthserver ~]# yum install epel-release
 
libvirt是管理虚拟机的API库,不只支持KVM虚拟机,也能够管理Xen等方案下的虚拟机。
 
[root@healthserver ~]# yum install virt-manager libvirt libvirt-Python python-virtinst libvirt-client virt-viewer qemu-kvm
 
由于个人主机是服务器,没有图形化界面,想要用virt-manager图形化安装虚拟机,还须要安装X-window。
 
[root@healthserver ~]# yum install libXdmcp libXmu libxkbfile xkeyboard-config xorg-x11-xauth xorg-x11-xkb-utils
 
开启libvirt服务
[root@healthserver ~]# cd /etc/yum.repos.d/
[root@healthserver yum.repos.d]# service libvirtd start
 
至此,前期准备已经完成,下面开始安装虚拟机
 
 
 
检查模块是否有加载
[root@healthserver ~]# virsh -c qemu:///system
安装桥接管理的工具
yum install bridge-utils
安装 GUI 的管理软件
yum install virt-manager
 
 
 
[root@healthserver ~]# /usr/libexec/qemu-kvm -version
QEMU emulator version 1.5.3 (qemu-kvm-1.5.3-156.el7_5.5), Copyright (c) 2003-2008 Fabrice Bellard
 
 
系统配置虚拟机管理工具VNC
 
使用virt-manager gui工具vncserver(服务器端)+vncviewerwindows客户端)管理KVM
 
 
服务器端linux安装vncserver;
[root@healthserver ~]# yum install tigervnc-server -y
 
安装完毕后输入“vncserver”启动VNC。
[root@healthserver tmp]# vncserver
xauth: (stdin):1: bad display name "healthserver:1" in "add" command
New 'healthserver:1 (root)' desktop is healthserver:1
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/healthserver:1.log
注意:启动后将自动在root/.vnc目录下建立xstartup文件。
输入“vncpasswd”并按回车键肯定,开始输入VNC访问密码并按回车键肯定。
密码为Elecspn
输入“netstat -tlup | grep vnc”查看VNC使用端口。
注意:VNC访问默认监听以下3个TCP端口:
RFB(Remote FrameBuffer)协议 默认端口 : 5900+显示器号
HTTP协议默认端口 : 5800+显示器号
X协议 默认端口 : 6000+显示器号
[root@healthserver tmp]# netstat -tlup | grep vnc
tcp 0 0 0.0.0.0:5901 0.0.0.0:* LISTEN 41343/Xvnc
tcp 0 0 0.0.0.0:cpdlc 0.0.0.0:* LISTEN 39708/Xvnc
tcp 0 0 0.0.0.0:fis 0.0.0.0:* LISTEN 40578/Xvnc
tcp6 0 0 [::]:5901 [::]:* LISTEN 41343/Xvnc
tcp6 0 0 [::]:cpdlc [::]:* LISTEN 39708/Xvnc
tcp6 0 0 [::]:fis [::]:* LISTEN 40578/Xvnc
输入“iptables -I INPUT -p tcp --dport 5901 -j ACCEPT”添加5901端口到iptables,同理可添加5908 5909等端口(若是有)。
 
输入“systemctl restart iptables.service”重启iptables服务(不建议中止)。
确认iptables重启无误后输入“service iptables save”保存。
 
客户端windows安装vncviewer;
安装省略
 
在执行:
[root@healthserver ~]# virt-manager
 
自动跳出vnc viewer操做界面,
Windows里面的VNC Viewer软件
“VNC Server”框里面输入服务器地址+端口:192.168.1.213:5901
“name”填写centos登陆用户名root
注意:数字由第五步server.ytyzx.org:1肯定,本例中为1。 1对应5901端口,以此类推9对应5909端口,如超过100则需使用完整端口号。
 
接续输入密码就可完成远程登陆。
 
 
当咱们推出vnc并从新登陆时,执行步骤:
 
 
[root@healthserver ~]# vncserver
 
New 'healthserver:4 (root)' desktop is healthserver:4
 
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/healthserver:4.log
 
代表此时端口号变为5904 ,不是以前的5901
则VNC Server的地址变为:192.168.1.213:5904 密码Elecspn
 

 
(6)在远程桌面中使用KVM建立虚拟机
 
启动服务
service libvirtd start
输入命令brctl show 显示一下信息表示OK
 
[root@healthserver ~]# brctl show
bridge name bridge id STP enabled interfaces
virbr0 8000.525400dd3c25 yes virbr0-nic
 
输入命令,启动kvm图形化管理界面,进行虚拟机的建立。
[root@healthserver ~]# virt-manager
 
在centos服务器端,则可进入kvm图形化管理界面。
 
 
 
选择好Ubuntu16.04桌面版的iso镜像文件(本身放进去),
 
设置虚拟机属性:
 
 
 
已有的存储卷容量不知足咱们的存储要求,则新建存储池,以下:
 
[root@healthserver mapper]# virsh -c qemu:///system
欢迎使用 virsh,虚拟化的交互式终端。
 
输入:'help' 来得到命令的帮助信息
'quit' 退出
 
virsh # pool-list
名称 状态 自动开始
-------------------------------------------
default 活动 是
xlp 活动 是
 
 
查看某一存储池的具体信息(以XML形式存在)
 
virsh # pool-dumpxml xlp <pool type='dir'>
<name>xlp</name>
<uuid>ed5c8657-35ba-479d-80a3-27c03b7ec445</uuid>
<capacity unit='bytes'>53660876800</capacity>
<allocation unit='bytes'>16004517888</allocation>
<available unit='bytes'>37656358912</available>
<source> </source>
<target>
<path>/run/media/root/26f7078f-03f7-4e54-9142-66dc4e38a137/opt/xlp</path> <permissions>
<mode>0755</mode>
<owner>0</owner>
<group>0</group>
<label>unconfined_u:object_r:usr_t:s0</label>
</permissions>
</target>
</pool>
 
 
查看具体信息,结果相似于解析上面的XML:
 
virsh # pool-info xlp
名称: xlp
UUID: ed5c8657-35ba-479d-80a3-27c03b7ec445
状态: running
持久: 是
自动启动: 是
容量: 49.98 GiB
分配: 14.91 GiB
可用: 35.07 GiB
 
上述存储池大小不够!
建立一个新的存储池
这里仿照上面的XML文件,编写一个命为kvmstorage的XML文档,内容以下[位于/home/poolB]
此处省略,换用kvm图形化界面进行建立。步骤以下:
由于自带的存储池容量不足,因此选择“选择或建立自定义存储”选项。
 
 
名字取为“kvmstorage”。类型以下图所示。
 
目标路径选择硬盘中容量较大的,
 
在该硬盘目录下建立文件夹“kvmstorage”,之后数据都存储在该文件夹下。
 
 
 
 
此时就建立成功,查看:
[root@healthserver mapper]# virsh -c qemu:///system
欢迎使用 virsh,虚拟化的交互式终端。
 
输入:'help' 来得到命令的帮助信息
'quit' 退出
 
virsh # pool-info kvmstorage
名称: kvmstorage
UUID: ee843e5f-cf47-4502-a3f1-55c6d11548d9
状态: running
持久: 是
自动启动: 是
容量: 14.49 TiB
分配: 3.62 GiB
可用: 14.48 TiB
 
virsh #
 
 
如今在kvmstorage存储池下建立分存储卷,点击“+”,建立存储卷kvm1,设置以下
 
 
 
 
 
 
如今正式进入Ubuntu16.04桌面版的安装过程。
按照步骤进行安装便可。
注:若是安装时你选的镜像文件时Ubuntu16.04 的server版本的话,安装时几乎每一步都直接默认便可,安装语言默认英文,不要选中文,不然安装不成功!)
 
 
 

 
(7)从新打开KVM并建立虚拟机
 
在vnc远程界面的命令行中输入:
 
[root@healthserver ~]# virt-manager
弹出kvm界面。
相关文章
相关标签/搜索