MeFeng
一 . 基于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链接 安装系统配置网络
 
以上是桥接方式,如果是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??
 
否则会失败。
 

分类:

技术点:

相关文章:

  • 2021-11-20
  • 2021-06-03
  • 2021-11-20
  • 2021-12-08
  • 2021-11-30
  • 2021-07-03
  • 2021-09-08
猜你喜欢
  • 2021-11-30
  • 2021-05-13
  • 2021-11-11
  • 2021-12-02
  • 2021-07-18
  • 2021-11-20
相关资源
相似解决方案