kvm 安装及安装虚拟机

kvm 安装及安装虚拟机

大家好,又见面了,我是全栈君。

一 . 基于centos6版本安装
1 # yum -y install qemu-kvm libvirt python-virtinst bridge-utils policycoreutils-python lrzsz expect;

2  mkdir /home/vhosts; #此目录为qcow2存放目录可自行设定
3 semanage fcontext -a -t virt_image_t /home/vhosts;#这个主要是打开SELinux设定,不然虚拟机无法访问存储文件
4 sed -i s/192.168.122/10.1.0/g /etc/libvirt/qemu/networks/default.xml; #因为物理机IP地址我们设置的是192.168私网 所以为了和虚机分离设定10私网
5 service libvirtd start; chkconfig libvirtd on; #启动加自启

6 virsh pool-define-as vmpool –type dir –target /home/vhosts;定义池
7 virsh pool-start vmpool;开始池
8 virsh pool-autostart vmpool;自启动
9 iptables -A INPUT -m state –state NEW -m tcp -p tcp –dport 5900:5920 -j ACCEPT; 这里开放下虚机使用端口后面有介绍
二 基本命令
virt-install 创建新虚拟机
virsh start spider 启动虚拟机
virsh destroy spider 强制关机
virt-clone 复制虚拟机
virsh attach-interface 添加网卡
virsh change-media 更换光驱iso文件
virsh edit spider 编辑配置文件
virsh -c qemu+ssh://10.88.0.1:10809/system list 远程查看虚拟机列表
三 安装虚机
安装前做桥接网卡
virsh iface-bridge  em0 br0
新建虚拟机
 
raw格式:速度最快,但是不能实现内部快照,而且实际占用磁盘空间需要用qemu-img info spider.img查看
#virt-install –name spider –ram 4096 –vcpus=2 –disk path=/home/vhosts/spider.img,size=100 –accelerate –arch=x86_64 –os-type=linux –os-variant=’rhel6′ –cdrom=/home/software/CentOS-6.5-x86_64-minimal.iso –graphics vnc –network bridge=br0
size:为GB
 
qcow2格式:速度接近raw,但支持内部快照
1 #qemu-img create -f qcow2 /home/vhosts/openstack.qcow2 100G 必须通过qemu-img创建qcow2格式文件 设定openstack虚机最大使用磁盘空间100G
2 chown qemu:qemu /home/vhosts/openstack.qcow2
3 #virt-install –name openstack –ram 16384 –vcpus=2 –arch=x86_64 –disk path=/home/vhosts/openstack.qcow2,size=200,format=qcow2 –os-type=linux –os-variant=’rhel6′ –accelerate –cdrom=/home/software/CentOS-6.9-x86_64-minimal.iso –graphic type=vnc,port=5904,listen=0.0.0.0,password=’cqmygysdss’ –network bridge=br0,bridge=br1 #有内外网络时桥接内外网 5904就是上文指定虚机的使用端口 可以选择-1 随机生成
4 Windows虚机新建命令如下
virt-install –name CRM –ram 8192 –vcpus=2 –arch=x86_64 –disk path=/home/vhosts/CRM.qcow2,size=300,format=qcow2 –os-type=windows –os-variant=’win2k3′ –accelerate –cdrom=/home/software/WindowsServer2003.iso –graphic type=vnc,port=-1,listen=0.0.0.0,password=’cqmygysdss’ –network bridge=br0
5 打开转发 #vi /etc/sysctl.conf
      net.ipv4.ip_forward = 1
      #sysctl -p 使生效
 6在物理机上查看vnc链接端口

virsh vncdisplay ubuntu132–79 查看使用的vnc端口 用vnc链接 安装系统配置网络

 
kvm 安装及安装虚拟机

以上是桥接方式,如果是NAT方式,则网络参数为:
–network network=default,model=virtio
 
NAT模式的xml中相关部分为如下:
<interface type=’network’>
<mac address=’52:54:00:e5:ad:5a’/>
<source network=’default’/>
#源网络
<model type=’virtio’/> #model模型
<address type=’pci’ domain=’0x0000′ bus=’0x00′ slot=’0x03′ function=’0x0’/>
# 地址 域名 公共 槽 功能
</interface>
 
如果是桥接,则XML为:
<interface type=’bridge’>
<mac address=’52:54:00:f9:00:1e’/>
<source bridge=’br0’/>
<model type=’e1000’/>
<address type=’pci’ domain=’0x0000′ bus=’0x00′ slot=’0x03′ function=’0x0’/>
</interface>
 
 
 
7. raw格式转为qcow2
#qemu-img convert -O qcow2 test.img test.qcow2
 
转换完毕后,要修改xml
#virsh edit scrapy
 
<disk type=’file’ device=’disk’>
<driver name=’qemu’ type=’qcow2′ cache=’none’/>
<source file=’/home/vhosts/scrapy.qcow2’/>
<target dev=’hda’ bus=’virtio’/>
<address type=’pci’ domain=’0x0000′ bus=’0x00′ slot=’0x07′ function=’0x0’/>
</disk>
注意 slot要选一个没用的
 
 
8. 修改VNC绑定地址
 
注意要使用UtraVNC(客户端),不要使用RealVNC,并且注意别选auto,而要full color,否则容易灰屏
 
 
修改的时候要先
virsh destroy centos6.5
然后在修改
vi /etc/libvirt/qemu/centos6.5.xml
 
<graphics?type=’vnc’?port=’5901′?autoport=’no’?listen=’0.0.0.0′?keymap=’en-us’/>
 
在其中加入passwd的属性,更改为如下:
<graphics?type=’vnc’?port=’5901′?autoport=’no’?listen=’0.0.0.0′?passwd=’12345678′ keymap=’en-us’/>
其中passwd的位置可以随意.
 
 
9. 更换光驱ISO
 
#virsh change-media centos6.5 hdc –source#源 /home/software/CentOS-6.5-x86_64-minimal.iso
#virsh reset#复位 centos6.5
 
10. 修改bios启动顺序
 
#virsh destroy centos6.5
#vi /etc/libvirt/qemu/centos6.5.xml
 
<os>
<type arch=’x86_64′ machine=’rhel6.5.0′>hvm</type>
<boot dev=’cdrom’/> #光盘
<boot dev=’hd’/>
</os>
添加cdrom为第一启动
 
#virsh define /etc/libvirt/qemu/centos6.5.xml
#virsh start centos6.5
 
11. 查看虚拟机所用VNC端口
 
#virsh vncdisplay scrapy0002
:6
则使用5900+6=5906端口
 
修改VNC端口
 
#virsh edit scrapy0002
 
<graphics type=’vnc’ port=’5915′ autoport=’no’ listen=’0.0.0.0′ passwd=’cqmygysdss’>
<listen type=’address’ address=’0.0.0.0’/>
</graphics>
 
 
 
12. 虚拟机改名
 
#virsh destroy centos6.5 define
#cd /etc/libvirt/qemu
#mv centos6.5.xml spider.xml
#vi spider.xml 修改name字段为spider
#virsh undefine centos6.5 #取消定义
#virsh define /etc/libvirt/qemu/spider.xml
#virsh start spider
 
13. 查看虚拟机文件信息
 
# qemu-img info monitor_cacti.img
 
14. 删除虚拟机
 
#virsh destroy $1
#virsh undefine $1
 
#RemoveFolder “/var/lib/libvirt/images/$1/” #删除文件夹
#RemoveFile “/etc/libvirt/qemu/$1” #删除文件
 
注意,如果vm用save命令备份过。
undefine需要加参数,比如:
virsh?undefine?–managed-save?vm2??
 
否则会失败。
 

转载于:https://www.cnblogs.com/MeFeng/p/7872569.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/107921.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pycharm快速调整格式_pycharm自带python吗

    pycharm快速调整格式_pycharm自带python吗代码自动填充了空格问题在使用pycharm的代码编辑器时,常常懒得写空格,如下图,但这是不符合代码规范的,而且也会影响可读性。解决方法pycharm有自动调整代码格式的快捷键,默认为alt+ctrl+l,按下快捷键后,代码自动填充了空格。自动对齐代码问题在使用pycharm的代码编辑器时,有点时候copy的代码的没有按照代码格式对齐,如下图,但这是不符合代码规范的,而且也会影响可读性。解决方法py…

    2022年8月25日
    2
  • 185 MySQL中TIMESTAMPDIFF和TIMESTAMPADD函数的用法

    185 MySQL中TIMESTAMPDIFF和TIMESTAMPADD函数的用法https://blog.csdn.net/zmxiangde_88/article/details/8011661SQL里面怎么用呢TIMESTAMPDIFF(DAY,'”.date(‘Y-m-d’,$nowtime).”‘,from_unixtime(birthday_time,’%Y-%m-%d’))=1生日的前一天发短信,送祝福…

    2022年5月16日
    38
  • 怎么将python代码编译_python怎么编译运行

    怎么将python代码编译_python怎么编译运行有时为了一些机密,不方便公开python源码,所以需要以编译方式进行部署。这里主要介绍以.pyc的方式。1、生成单个文件:(1)python-mxx.py(2)在python编译器中进行:importpy_compilepy_compile.compile(‘路径’)2、批量生成文件:importcompileallcompileall.compile_dir(r’/pat………

    2022年10月26日
    0
  • java定义byte类型,详解java中的byte类型[通俗易懂]

    java定义byte类型,详解java中的byte类型[通俗易懂]介绍byte,即字节,由8位的二进制组成。在Java中,byte类型的数据是8位带符号的二进制数。在计算机中,8位带符号二进制数的取值范围是[-128,127],所以在Java中,byte类型的取值范围也是[-128,127]。取值范围分析一直在想为什么不是-128到128呢?今天分析了一下这个问题。首先我们得明白一件事情,那就是运算规则:########################…

    2022年6月18日
    24
  • jenkinsfile docker_dockerfile制作镜像

    jenkinsfile docker_dockerfile制作镜像前言之前我们用docker手动安装了jenkins环境,在jenkins中又安装了python3环境和各种安装包,如果我们想要在其他3台机器上安装,又是重复操作,重复劳动,那会显得很low,这里可以

    2022年7月31日
    30
  • vue的watch用法_vuewatch参数

    vue的watch用法_vuewatch参数watch:{“xx”:functtion(newValue,oldValue){console.log(newValue,oldValue)},immediate:true,//首次绑定值是否触发deep:true//深度监听}watch:{xx(newValue,oldValue){…

    2022年10月29日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号