虚拟机生命周期管理
1)查看kvm虚拟机状态#virsh list --all2)KVM虚拟机开机# virsh start oeltest013)KVM虚拟机关机或断电关机默认情况下virsh工具不能对linux虚拟机进行关机操作,linux操作系统需要开启与启动acpid服务。在安装KVM linux虚拟机必须配置此服务。# chkconfig acpid on# service acpid restartvirsh关机# virsh shutdown oeltest01 强制关闭电源# virsh destroy wintest014)通过配置文件启动虚拟机# virsh create /etc/libvirt/qemu/wintest01.xml 5)配置开机自启动虚拟机# virsh autostart oeltest01autostart目录是kvm虚拟机开机自启动目录,可以看到该目录中有KVM配置文件链接。 6)导出KVM虚拟机配置文件# virsh dumpxml wintest01 > /etc/libvirt/qemu/wintest02.xmlKVM虚拟机配置文件可以通过这种方式进行备份。
7)添加与删除KVM虚拟机删除kvm虚拟机# virsh undefine wintest01说明:该命令只是删除wintest01的配置文件,并不删除虚拟磁盘文件。8)其它virsh命令挂起服务器# virsh suspend oeltest01 9)恢复服务器# virsh resume oeltest0111)创建虚拟机[root@localhost ~]# virt-install --name=centos1 \ #生成一个虚拟机--ram 1024 --vcpus=1 \--disk path=/root/centos1.img,size=10 \--accelerate --cdrom /root/CentOS-6.5-x86_64-bin-DVD1.iso \--graphics vnc,port=5921 --network bridge=br012)virt-clone,如果我们要建几个一样的虚拟机,这个命令,非常有用!# virt-clone --connect=qemu:#/system -o centos1 -n centos3 -f /root/centos3.img #克隆centos1正在克隆 centos1.img | 10.0 GB 00:07
相关参数
autostart #自动加载指定的一个虚拟机connect #重新连接到hypervisorconsole #连接到客户会话create #从一个SML文件创建一个虚拟机start #开始一个非活跃的虚拟机destroy #删除一个虚拟机define #从一个XML文件定义一个虚拟机domid #把一个虚拟机名或UUID转换为IDdomuuid #把一个郁闷或ID转换为UUIDdominfo #查看虚拟机信息domstate #查看虚拟机状态domblkstat #获取虚拟机设备快状态domifstat #获取虚拟机网络接口状态dumpxml #XML中的虚拟机信息edit #编辑某个虚拟机的XML文件list #列出虚拟机migrate #将虚拟机迁移到另一台主机quit #退出非交互式终端reboot #重新启动一个虚拟机resume #重新恢复一个虚拟机save #把一个虚拟机的状态保存到一个文件dump #把一个虚拟机的内核dump到一个文件中以方便分析shutdown #关闭一个虚拟机setmem #改变内存的分配setmaxmem #改变最大内存限制值suspend #挂起一个虚拟机vcpuinfo #虚拟机的cpu信息version #显示virsh版本
获取vnc
[root@localhost ~]# virsh vncdisplay 2127.0.0.1:0[root@localhost ~]#
编辑虚拟机配置文件
1)重新定义虚拟机配置文件通过导出备份的配置文件恢复原KVM虚拟机的定义,并重新定义虚拟机。# mv /etc/libvirt/qemu/wintest02.xml /etc/libvirt/qemu/wintest01.xml# virsh define /etc/libvirt/qemu/wintest01.xml2)编辑KVM虚拟机配置文件# virsh edit wintest01virsh edit将调用vi命令编辑/etc/libvirt/qemu/wintest01.xml配置文件。也可以直接通过vi命令进行编辑,修改,保存。可以但不建议直接通过vi编辑。# vim /etc/libvirt/qemu/wintest01.xml
通过virsh console进入虚拟机控制台
libguestfs-tools的使用
一、libguestfs-tools安装
yum -y install libguestfs-tools
二、linux下的使用
1、查看硬盘使用情况
virt-df centos.img
2、列出目录文件
virt-ls centos.img /
3、将名为domain的虚拟机里的源复制到目的
virt-copy-out -d domain /etc/passwd(源) /tmp(目的)
4.查看分区相关信息
virt-filesystems -d domainvirt-list-filesystems /file/xx.imgvirt-list-partitions /file/xx.img
5.分区挂载
guestmount -a /file/xx.qcow2(raw/qcow2都支持) -m /dev/VolGroup/lv_root --rw /mnt
6.shell的使用
guestfish -d domain(在开机情况下不能使用)
修改kvm虚拟机的root密码和其他用户密码
virsh xxxx shutdown 关掉虚拟机
virt-edit xxx /etc/shadow 文件,
先生成一个密钥
# openssl passwd -1 -salt 'hello' '123456'$1$hello$ZwmhCpcG.I1XIfVjdarKc1
virt-edit -d rhel7.0 /etc/shadow,替换掉root的shadow文件
root:$1$bTPRDWwf$LpjUZmGTHw.hYFccl0/lK.:16804:0:99999:7:::更换为root:$1$hello$ZwmhCpcG.I1XIfVjdarKc1:16541:0:99999:7:::
virsh xxxx start 启动虚拟机 ,使用新的root密码登录,搞定
修改qcow2的密码
需要安装
libguestfs-tools
修改/etc/libvirt/qemu.conf
user = "root"# The group for QEMU processes run by the system instance. It can be# specified in a similar way to user.group = "root"
修改密码
[root@localhost home]# sudo virt-customize -a /root/ubuntu.qcow2 --root-password password:root[ 0.0] Examining the guest ...[ 100.3] Setting a random seed[ 101.4] Setting the machine ID in /etc/machine-id[ 101.6] Setting passwords[ 126.6] Finishing off[root@localhost home]#