源码安装qemu-kvm_源码安装nginx

hacker|
140

文章目录:

linux虚拟化 编译安装qemu-kvm的时候出现gcc内部错误

基于64位的操作系统在虚拟机下是不行的,即使成功的安装完成也不能做到真正的虚拟化,因为虚拟机的环境下不允许做。

centos7虚拟机怎么安装kvm

PRE-INSTALL

=============================================================

kvm相关安装包及其作用

qemu-kvm 主要的KVM程序包

python-virtinst 创建虚拟机所需要的命令行工具和程序库

virt-manager GUI虚拟机管理工具

virt-top 虚拟机统计命令

virt-viewer GUI连接程序,连接到已配置好的虚拟机

libvirt C语言工具包,提供libvirt服务

libvirt-client 为虚拟客户机提供的C语言工具包

virt-install 基于libvirt服务的虚拟机创建命令

bridge-utils 创建和管理桥接设备的工具

==========================================

1.确定机器有VT 

终端输入命令:

cat /proc/cpuinfo |grep vmx  #intel cpu

cat /proc/cpuinfo |grpe svm  # amd cpu

如果flags: 里有vmx 或者svm就说明支持VT;如果没有任何的输出,说明你的cpu不支持,将无法使用KVM虚拟机。

2.确保BIOS里开启VT:  Intel(R) Virtualization Tech [Enabled]  使用如下命令

lsmod | grep kvm

modprobe kvm-intel

3.桥接网络

a、安装bridge-utils ,用来管理网桥的工具brctl

yum -y install bridge-utils

安装完之后systemctl restart network重启下网络

b、创建ifcfg-br0文件,输入下面的内容,修改红色部分为真实相关环境。

TYPE="Bridge"

BOOTPROTO="static"

DEFROUTE="yes"

PEERDNS="yes"

PEERROUTES="yes"

IPV4_FAILURE_FATAL="no"

IPV6INIT="yes"

IPV6_AUTOCONF="yes"

IPV6_DEFROUTE="yes"

IPV6_PEERDNS="yes"

IPV6_PEERROUTES="yes"

IPV6_PRIVACY="no"

IPV6_FAILURE_FATAL="no"

STP="yes"

DELAY="0"

NAME="br0"

DEVICE="br0"

ONBOOT="yes"

IPADDR="172.16.10.215"  #要桥接的网卡上的IP

PREFIX="16"

GATEWAY="172.16.11.1"

DNS1="8.8.4.4"

DOMAIN="ANS.kvm"

c、修改要桥接的网卡配置文件,记得备份下

#TYPE="Ethernet"

#BOOTPROTO="static"

#DEFROUTE="yes"

#PEERDNS="yes"

#PEERROUTES="yes"

#IPV4_FAILURE_FATAL="no"

#IPV6INIT="yes"

#IPV6_AUTOCONF="yes"

#IPV6_DEFROUTE="yes"

#IPV6_PEERDNS="yes"

#IPV6_PEERROUTES="yes"

#IPV6_PRIVACY="no"

#IPV6_FAILURE_FATAL="no"

NAME="eno16777736"

UUID="dad441c6-d806-4b24-98f2-46e606a83288"

DEVICE="eno16777736"

ONBOOT="yes"

#IPADDR="172.16.10.215"

#PREFIX="16"

#GATEWAY="172.16.11.1"

#DNS1="8.8.4.4"

#DOMAIN="anskvm"

BRIDGE="br0"

d、重启网络,并查看网桥状态

systemctl restart  network

brctl show

4、安装kvm

yum -y install libcanberra-gtk2 qemu-kvm.x86_64 qemu-kvm-tools.x86_64  libvirt.x86_64 libvirt-cim.x86_64 libvirt-client.x86_64 libvirt-java.noarch  libvirt-python.x86_64 libiscsi-1.7.0-5.el6.x86_64  dbus-devel  virt-clone tunctl virt-manager libvirt libvirt-python python-virtinst

5、安装x-windows,使用图形界面管理虚拟机

yum groupinstall "X Window System"

6、安装中文字符,解决界面乱码问题

yum install dejavu-lgc-sans-fonts

yum groupinstall "Fonts" -y

7、启用libvirt

systemctl start libvirtd

systemctl enable libvirtd

8、使用virt-manager管理kvm

本地需要安装xmanager和xshell工具 ,并使用xshell建立连接时勾选x11转移。

9. 上传ISO或者qcow2文件到/var/lib/libvirt/images   #(该目录为KVM的镜像仓库)

使用xshell(使用步骤8进行连接)连接到主机之后,使用virt-manager进行创建虚拟机,需要在安装前进行配置,否则安装过程中键盘和鼠标没法使用。

qemu-kvm源码分析一个虚拟机进程里面有几个线程

线程大家都熟悉,new Thread().start()即会创建一个线程,这里我首先指出一点new Thread()其实并不会创建一个真正的线程,只有在调用了start方法之后才会创建一个线程,这个大家分析下Java代码就知道了

Thread的构造函数是纯Java代码,start方法会调到一个native方法start0里,而start0其实就是JVM_StartThread这个方法!

2条大神的评论

  • avatar
    访客 2022-08-18 下午 03:02:57

    art0其实就是JVM_StartThread这个方法!

  • avatar
    访客 2022-08-18 上午 09:39:29

    python.x86_64 libiscsi-1.7.0-5.el6.x86_64  dbus-devel  virt-clone tunctl virt-manager libvirt libvirt-python python-v

发表评论