云计算大数据:KVM虚拟化技术实战(三)

8、KVM常用管理命令

8.1创建虚拟机

[root@localhost ~]# virt-install --name=centos1 \ #生成一个虚拟机

--ram 1024 \ #分配内存大小(默认大小MB)

--vcpus=1 \ #分配CPU核心数

--disk path=/root/centos1.img \ #指定虚拟机镜像(size单位为GB)

--accelerate \ #加速

--cdrom /root/CentOS-6.5-x86_64-bin-DVD1.iso \ # 指定安装镜像iso

--graphics vnc,password=123456,port=5921 \ # 指定vnc的连接密码和监听端口

--network bridge=br0 \ #指定网络

--autostart \ ##自动开启

8.2 virsh的其他操作

[root@localhost /]# virsh start centos1 #启动虚拟机

[root@localhost /]# virt-viewer centos1 #如果有图形界面的话,可以进入虚拟机的界面

[root@localhost ~]# virsh shutdown centos1 #关闭虚拟机

注意:shutdown使用发送acpid指令来控制虚拟机的电源,而KVM虚拟机安装Linux系统时默认没有安装acpid服务,反以导致不能关闭虚拟机,需要安装acpid。

查看acpid服务是否开启:/etc/init.d/acpid status

启动acpid服务:/etc/init.d/acpid start

[root@localhost /]# virsh reboot centos1 #重启虚拟机

[root@localhost /]# virsh suspend centos1 #暂停虚拟机

[root@localhost /]# virsh resume centos1 #恢复虚拟机

[root@localhost /]# virsh autostart centos1 #自动加载虚拟机

[root@localhost /]# virsh undefine centos1 #删除一个虚拟机

virsh参数说明如下:

autostart自动加载指定的一个虚拟机

connect重新连接到hypervisor

console连接到客户会话

create从一个SML文件创建一个虚拟机

start开始一个非活跃的虚拟机

destroy删除一个虚拟机

define从一个XML文件定义一个虚拟机

domid 把一个虚拟机名或UUID转换为ID

domuuid把一个郁闷或ID转换为UUID

dominfo查看虚拟机信息

domstate查看虚拟机状态

domblkstat获取虚拟机设备快状态

domifstat获取虚拟机网络接口状态

dumpxmlXML中的虚拟机信息

edit编辑某个虚拟机的XML文件

list列出虚拟机

migrate将虚拟机迁移到另一台主机

quit退出非交互式终端

reboot重新启动一个虚拟机

resume重新恢复一个虚拟机

save把一个虚拟机的状态保存到一个文件

dump把一个虚拟机的内核dump到一个文件中以方便分析

shutdown关闭一个虚拟机

setmem改变内存的分配

setmaxmem改变最大内存限制值

suspend挂起一个虚拟机

vcpuinfo虚拟机的cpu信息

version显示virsh版本

8.3 virt-clone克隆

当安装完一台后,如何快速的虚拟出第二台呢?

这里就可以采用克隆这种方式

(1)通过命令:

virt-clone -o devEnv-01.vm.itcast -n devEnv-02.vm.itcast -f /home/kvm/centos02.img

参数说明:

-o :指定源虚拟机

-n :命名新克隆的虚拟机

-f :指定新克隆虚拟机的位置

(2)克隆完成后,在生成硬盘映像文件的同时,也会克隆虚拟机的配置文件


云计算大数据:KVM虚拟化技术实战(三)_第1张图片

云计算大数据:KVM虚拟化技术实战(三)_第2张图片

(3) 修改克隆出来的心虚拟机的配置文件

通过命令:virsh edit devEnv-02.vm.itcast


云计算大数据:KVM虚拟化技术实战(三)_第3张图片

修改此处的vnc监控的端口号,避免与克隆前的虚拟机端口一样,而出现端口地址被占用。


云计算大数据:KVM虚拟化技术实战(三)_第4张图片

(4)启动克隆出来的新的虚拟机devEnv-02.vm.itcast

通过命令: virsh start devEnv-02.vm.itcast

(5) 通过用VNC Viewer来连接该虚拟机

由于是克隆出来的,跟之前我们使用VMware克隆效果是一样的,需要进行相应的修改。

a:修改对应的主机名

进入/etc/sysconfig/network进行相应的修改

b:因为克隆改变新虚拟机的MAC地址,故eth0无法启动,新的虚拟机后网卡变成了 eth1

进入/etc/udev/rules.d/70-persistent-net.rules文件删除之前的eth0这个网卡记录,保留eth1。

进入到/etc/sysconfig/network-scripts/,执行命令mv ifcfg-eth0 ifcfg-eth1 重命名

vi ifcfg-eth1 修改配置


云计算大数据:KVM虚拟化技术实战(三)_第5张图片

c: 重启网卡,通过命令service network restart

8.4 libguestfs-tools安装和使用

libguestfs-tools是虚拟机一个管理包,很有用的工具。

(1)安装

yum -y install libguestfs-tools

(2)使用

查看虚拟机的分区情况

[root@node-1 home]# virt-filesystems -d devEnv-01.vm.itcast


云计算大数据:KVM虚拟化技术实战(三)_第6张图片

[root@node-1 home]# virt-list-partitions /home/kvm/devEnv-01.vm.itcast.img


[root@node-1 home]# virt-df /home/kvm/devEnv-01.vm.itcast.img


云计算大数据:KVM虚拟化技术实战(三)_第7张图片

8.5 kvm虚拟机参数修改

(1) 修改kvm虚拟机的内存大小

[root@node-1 home]# virsh edit devEnv-01.vm.itcast

注意不可直接修改devEnv-01.vm.itcast.xml 文件


云计算大数据:KVM虚拟化技术实战(三)_第8张图片

查看内存:free

(2)修改kvm虚拟机的cpu核数大小

[root@node-1 home]# virsh edit devEnv-01.vm.itcast


云计算大数据:KVM虚拟化技术实战(三)_第9张图片

查看cpu核数: cat /proc/cpuinfo |grep "processor"|sort -u|wc -l

注意:修改完成之后,都要重启虚拟机

先关闭:virsh shutdown devEnv-01.vm.itcast

再启动:virsh start devEnv-01.vm.itcast

其他参数修改相同。

你可能感兴趣的:(技术交流,传智播客西安中心)