虚拟机管理命令
virt-manager ##开启虚拟机管理 virsh list ##列出正在运行的虚拟机
virsh list --all 显示所有的虚拟机
virsh start desktop ##打开虚拟机
virsh shutdown desktop ##正常关闭虚拟机
virsh destroy desktop ##强行关闭
virt-viewer desktop ##显示虚拟机
注:
xml ####可扩展性编辑语言
html ####超文本标记语言
uc.xml ####设备管理文件
恢复虚拟机的过程
克隆步骤:
1.假设10主机中存在已经安装好的虚拟机“uc”2.复制虚拟机所需文件
scp root@172.25.254.10:/var/lib/libvirt/images/uc.qcow2 /var/lib/libvirt/images
[root@foundation6 images]# scp root@172.25.254.10:/var/lib/libvirt/images/uc.qcow2 /var/lib/libvirt/images/
The authenticity of host '172.25.254.10 (172.25.254.10)' can't be established.
ECDSA key fingerprint is e9:c3:b4:5d:c5:d0:53:42:50:0c:62:0b:b5:ae:8a:74.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '172.25.254.10' (ECDSA) to the list of known hosts.
root@172.25.254.10's password:
uc.qcow2 100% 10GB 53.9MB/s 03:10
[root@foundation6 images]# ls
rh124-desktop-vda.ovl rh124-desktop.xml rh124-server-vdb.qcow2
rh124-desktop-vda.qcow2 rh124-server-vda.ovl rh124-server.xml
rh124-desktop-vdb.ovl rh124-server-vda.qcow2 trump.qcow2
rh124-desktop-vdb.qcow2 rh124-server-vdb.ovl uc.qcow2scp root@172.25.254.10:/etc/libvirt/qemu/uc.xml /mnt/uc.xml
3.对虚拟机进行恢复
virsh creat /mnt/uc.xml ##用虚拟机硬件文件一次性打开虚拟机,关闭从virt-manager上面消失 virsh define /mnt/uc/xml ##永久恢复
更改虚拟机名字:
cd /etc/libvirt/qemu/ ####虚拟机的配置文件夹
如上图将name中间的参数修改为test
systemctl restart libvirtd ####重启虚拟机服务
重启之后打开virt-manager查看虚拟机,这时候虚拟机的名字已经更改过来了
虚拟机的快照
虚拟机快照很有必要的,用快照生成的虚拟机在出现错误的时候,用户可以直接删掉快照,然后用虚拟机的磁盘重新产生快照,以达到重置虚拟机的效果
1.产生虚拟机快照
qemu-img create -f qcow2 -b 母盘地址 快照盘地址
qemu-img create -f qcow2 -b /var/lib/libvirt/images/uc.qcow2 /var/lib/libvirt/images/node3.qcow2
查看生成的快照文件
上图所示:node.qcow2 文件大小为196k
2.把生成的快照倒入到虚拟机图形控制器中
选择输入是disk image
选择node.qcow镜像文件
查看虚拟机管理器
3.虚拟可以使用
4.快照虚拟机损坏,那么删除快照从新制作快照即可
5.当使用快照后不要对母盘进行任何操作(进行操作之后,快照会崩溃)
命令删除虚拟机
virsh undefine nodde3 ####删除虚拟机nodde3,只是在virt-manager图形界面的删除
rm -rf /var/lab/labvirt/images/nodde3.qcow2 ###删除虚拟机的磁盘内容
用脚本创建虚拟机
#!/bin/bash virt-install \ --cdrom /home/kiosk/Desktop/rhel-server-7.3-x86_64-dvd.iso \ --memory 1000 \ --vcpus 1 \ --disk /var/lib/libvirt/images/test1.qcow2,size=8,bus=virtio \ --network bridge=br0,model=virtio \ --name test1
注:上面的bus表示总线类型,可以用$1替代test1,可以建立指定名字的虚拟机
用脚本建立快照基础上的虚拟机
#!/bin/bash qemu-img create -f qcow2 -b \ /var/lib/libvirt/images/$1.qcow2 \ /var/lib/libvirt/images/$2.qcow2 virt-install \ --name $2 \ --memory 1000 \ --vcpus 1 \ --disk /var/lib/libvirt/images/$2.qcow2,bus=virtio \ --network bridge=br0,model=virtio \ --import &
安装过程:
查看虚拟机管理器实验成功。
自动批量安装配置虚拟机
前提要有系统镜像文件
1.在一台机器上面下载kickstar这个软件(这个软件可以提供虚拟机的安装过程的脚本)
yum install system-config-kickstar
2.安装之后运行软件
system-config-kickstar
3.运行软件之后的界面如下:
如上图所示,将时区修改为Asia/Shanghai,设定root密码
Installation Method选择Perform new installation
Installation source选择HTTP,也可以自己设计yum源(这里我用了之前设置过的yum源)
第三项:
第四项:
点击Add添加目录
上面是目录只设置这三项必须的就行了
注:这里给网卡的设置是dhcp(是为了批量自动安装虚拟机),如果没有dhcp服务器的话可以选择静态ip,但是设置静态ip这个实验安装虚拟机的优势就显现不出来了。文章后面会附上搭建dhcp服务器的教程
注:这个软件在Package Selecation这一选项是有bug的,关于package的选择在生成文件之后要手写到脚本文件内
如下:
%packsges
@base
lftp
%end
加在文件的最后就行
至此设置完成,将文件生成保存。
将此文件复制到/var/www/html/目录下(不是移动,移动可能会出问题)
2.在要安装虚拟机的主机上编辑一个脚本文件(负责安装虚拟机)
脚本内容如下
#!/bin/bash ####在shell下运行
virt-install \ ####安装虚拟机
--name $1 \ ####参数,指定name是占位符
--memory 1000 \ ####指定内存1000MB
--vcpus 1 \ ####分配的cpu数是1
--disk /var/lib/libvirt/images/$1.qcow2,size=8,bus=virtio \ ####指定磁盘放在/var/lib/libvirt/images, 文件名字叫做xx.qcow,指定磁盘空间是8Gb,总线是虚拟io
--network bridge=br0,model=virtio \ ####指定网络类型
--location http://172.25.80.250/westos \ ####指定yum源的路径
--extra-args "ks=http://172.25.254.106/ks.cfg" & ####指定虚拟机内安装设置开始安装:
安装成功之后:
dhcp服务搭建教程:
1.在主机上下载dhcp安装包
2.安装成功之后编辑dhcp的配置文件
在第一次编辑的时候会有下面的提醒:
将文件/usr/share/doc/dhcp*/dhcpd.conf.example 复制到/etc/dhcp/dhcpd.conf
对dhcpd.conf进行修改
7 option domain-name "westos.org";
8 option domain-name-servers 114.114.114.114; ###设置dns
9
10 default-lease-time 600;
11 max-lease-time 7200;22 log-facility local7; ###这三项不需要修改
30 subnet 172.25.80.0 netmask 255.255.255.0 { ###网络区域
31 range 172.25.80.10 172.25.80.30; ###dhcp可以分配ip的范围
32 option routers 172.25.80.250; ###dhcp分配的网关
33 }设置完成,启动dhcp服务
验证:在另外一台网络类型设置成dhcp的主机上查看ip,查看网关,查看dns
complete!