kvm命令整理记录

By | 2017年2月27日
yum安装(centos6)
yum install kvm virt-* libvirts bridge-utils qemu-img tigervnc tigervnc-server
挂载iso镜像 挂载到/dev/cdrom目录下。
attach-disk nginx_2 /home/rhel-server-6.6-x86_64-dvdkvm.iso hdc –type cdrom –mode readonly
 创建虚拟机
virt-install –name=nginx_1 –ram 4096 –vcpus=2 –disk path=/home/kvm/nginx_1.img,size=50 –accelerate –cdrom /home/kvmiso/rhel-server-6.6-x86_64-dvd.iso –graphics vnc,password=123456,port=5920 –network bridge=br0 –force –autostart
 克隆虚拟机
 vir-clone -o nginx_2 -n nginx_3 -f /home/kvm/nginx_3.img
 不能启动的话(error: Unable to read from monitor: Connection reset by peer)重启宿主机libvirtd服务。
 不能使用virsh shutdown关机的话,在虚拟机上安装acpid服务。
 virsh shutdown(关机) start(开机)  suspend (暂停)  resume(恢复)reboot(重启)
 使用kvm克隆的虚机把源机的mac地址也一并复制了,在启动克隆机时,网卡无法激活,提示如下:
device eth0 does not seem to be present,delaying initialization
原因:因mac地址重复,克隆机把eth0重命名成eth1了
解决:
1、列出识别的当前网卡列表
# ls /sys/class/net
eth1 lo
2、删除第一条SUBSYSTEM,把原第二条SUBSYSTEM的NAME=”eth1″修改为NAME=”eth0″
#vim /etc/udev/rules.d/70-persistent-net.rules
# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.
# PCI device 0x15ad:0x07b0 (vmxnet3) (custom name provided by external tool)
SUBSYSTEM==”net”, ACTION==”add”, DRIVERS==”?*”, ATTR{address}==”00:50:56:bc:00:45″, ATTR{type}==”1″, KERNEL==”eth*”, NAME=”eth0″
# PCI device 0x15ad:0x07b0 (vmxnet3)
SUBSYSTEM==”net”, ACTION==”add”, DRIVERS==”?*”, ATTR{address}==”00:50:56:bc:00:46″, ATTR{type}==”1″, KERNEL==”eth*”, NAME=”eth1″
3、修改网卡eth0的配置文件的mac地址HWADDR为修改后70-persistent-net.rules中的mac地址
#vim /etc/sysconfig/network-scripts/ifcfg-eth0
4、reboot.
安装KDE
yum groupinstall “X Window System” “KDE*”
克隆安装虚拟机
[root@kvmserver ~]# virt-clone \
–original centos62_1 \
–name centos62_2 \
–file /home/kvmhome/centos62_2.qcow2
克隆主机(Centos)后,修改网卡的mac地址和IP, windows不用改
1.进入/etc/udev/rules.d/目录中,找到文件70-persistent-net.rules并删除,然后reboot重启系统
2.重启进入系统再次进入/etc/udev/rules.d/目录中,找到70-persistent-net.rules并用vi工具编辑
3.把文件中的eth1改成eth0,并记录下该文件中的mac地址,如图
4.用vi工具编辑/etc/sysconfig/network-scripts/ifcfg-eth0文件,把其中的Mac地址更改为和
 /etc/udev/rules.d/70-persistent-net.rules文件中的MAC地址一致,wp保存退出
5. reboot重启后网卡ok了
复制磁盘文件安装虚拟机
1、    复制磁盘文件.qcow2到/home/kvmhome目录下;复制磁盘文件对应的.xml文件到/etc/libvirt/qemu目录下
2、    编辑.xml文件
删除行<source file=”/home/iso/virtio-win-0.1-30.iso” />
修改- <graphics type=”vnc” port=”-1″ autoport=”yes” listen=”192.168.0.235″>
  <listen type=”address” address=”192.168.0.235″ /> 填入实际宿主机IP
3、    执行virsh define xxxx.xml   (移除虚拟机用virsh undefine 命令)
4、    察看虚拟机状态 virsh list –all,可看到增加一台虚拟机并开启
5、    通过VNC查看器登陆虚拟机进行配置,地址为宿主机IP+5900端口,如果是第二台就是宿主机IP+5901端口,以此类推。
6、    修改网卡的mac地址和IP (从虚拟机管理界面删除原网卡后重新添加)
7、    修改虚拟机机器名以防止在同一局域网内重复
——————————————————————–
安装完成后在Ubuntu软件中心安装虚拟机管理器Virtual Machine Manager
———————————————————————————————————————-
三、    管理虚拟机常用命令
查看正在运行的虚拟机
virsh -c qemu:///system list
启动虚拟机
virst start虚拟机名字
停止虚拟机
[root@kvmserver ~]# virsh shutdown 虚拟机名字
停止虚拟机(有时无效)
[root@kvmserver ~]# virsh destroy 虚拟机名字   关电源.
 删除虚拟机:
 [root@kvmserver ~]# virsh undefine 虚拟机名字  或
 [root@kvmserver ~]# virsh undefine 虚拟机名字 –managed-save
 [root@kvmserver ~]# rm -f 虚拟机存储路径
 查看硬件是否支持虚拟化 如果含有vmx(inter)或者svm(AMD)字样 则支持
egrep ‘(vmx|svm)’-color=always /proc/cpuinfo
———————————————————————————————————————-
-o:需要备份的主机的名字
-n:备份的产生的主机名
-f:备份产生的文件存放位置
虚拟机配置文件保存在/etc/libvert/qemu目录 扩展名xml修改相应的文件可以重新配置虚拟机
———————————————————————————————————————-
迁移虚拟机
1.备份:拷贝/etc/libvert/qemu目录下的xml配置文件以及xml中设置的img文件
2.恢复: 复制img文件和xml配置文件到目标主机的对应目录
3.修改: xml中的网桥地址如图
 4. 加载变更后的xml配置文件 virsh define /etc/libvirt/qemu/Centos_Mini_2.xml
5. 设置网卡,如果mac地址冲突参照克隆主机步骤修改mac地址
6. 启动虚拟机
———————————————————————————————————————-
支持操作系统列表
win7                 : Microsoft Windows 7
vista                 : Microsoft Windows Vista
winxp64              : Microsoft Windows XP (x86_64)
winxp                : Microsoft Windows XP
win2k8               : Microsoft Windows Server 2008
win2k3               : Microsoft Windows Server 2003
freebsd8             : FreeBSD 8.x
generic              : Generic
debiansqueeze        : Debian Squeeze
debianlenny          : Debian Lenny
fedora16             : Fedora 16
fedora15             : Fedora 15
fedora14             : Fedora 14
mes5.1               : Mandriva Enterprise Server 5.1 and later
mandriva2010         : Mandriva Linux 2010 and later
rhel6                : Red Hat Enterprise Linux 6
rhel5.4              : Red Hat Enterprise Linux 5.4 or later
rhel4                : Red Hat Enterprise Linux 4
sles11               : Suse Linux Enterprise Server 11
sles10               : Suse Linux Enterprise Server
ubuntuoneiric        : Ubuntu 11.10 (Oneiric Ocelot)
ubuntunatty          : Ubuntu 11.04 (Natty Narwhal)
ubuntumaverick       : Ubuntu 10.10 (Maverick Meerkat)
ubuntulucid          : Ubuntu 10.04 (Lucid Lynx)
ubuntuhardy          : Ubuntu 8.04 LTS (Hardy Heron)
virsh命令行选项的快速参考
help               打印基本帮助信息
list               列出所有客户端
dumpxml            输出客户端 XML 配置文件
create            从 XML 配置文件生成客户端并启动新客户端
start                启动未激活的客户端
destroy            强制客户端停止
define            为客户端输出 XML 配置文件
domid            显示客户端 ID
domuuid            显示客户端 UUID
dominfo            显示客户端信息
domname            显示客户端名称
domstate            显示客户端状态
quit                 退出这个互动终端
reboot            重新启动客户端
restore            恢复以前保存在文件中的客户端
resume            恢复暂停的客户端
save                将客户端当前状态保存到某个文件中
shutdown            关闭某个域
suspend            暂停客户端
undefine            删除与客户端关联的所有文件
migrate            将客户端迁移到另一台主机中
virsh 命令管理客户端及管理程序资源:
setmem            为客户端设定分配的内存
setmaxmem        为管理程序设定内存上限
setvcpus            修改为客户端分配的虚拟 CPU 数目
vcpuinfo            显示客户端的虚拟 CPU 信息
vcpupin            控制客户端的虚拟 CPU 亲和性
domblkstat        显示正在运行的客户端的块设备统计
domifstat            显示正在运行的客户端的网络接口统计
attach-device        使用 XML 文件中的设备定义在客户端中添加设备
attach-disk        在客户端中附加新磁盘设备
attach-interface    在客户端中附加新网络接口
detach-device        从客户端中分离设备,使用同样的 XML 描述作为命令 attach-device
detach-disk        从客户端中分离磁盘设备
detach-interface    从客户端中分离网络接口
net-list
net-dumpxml     查看某一特定虚拟网络
net-list          列出虚拟网络
virsh net-autostart network-name — 自动启动指定为 network-name 的网络
virsh net-create XMLfile — 使用现有 XML 文件创建并启动新网络
virsh net-define XMLfile — 使用现有 XML 文件创建新网络设备但不启动
virsh net-destroy network-name — 销毁指定为 network-name 的网络
virsh net-name networkUUID — 将指定的 networkUUID 转换为网络名称
virsh net-uuid network-name — 将指定的 network-name 转换为网络 UUID
virsh net-start nameOfInactiveNetwork — 启动不活跃的网络
virsh net-undefine nameOfInactiveNetwork — 删除不活跃网络的定义
———————————————————————————————————————-
7.
———————————————————————————————————————-
Window上的数据要转移到Linux服务器上,Linux本身不支持NTFS分区,所以要先加入NTFS支持,安装NTFS-3G
首先确认fuse,CentOS 5.5 带有fuse,可以使用 rpm -qa | grep fuse 查看是否安装。
[root@localhost ntfs-3g-2010.5.22]# rpm -qa | grep fuse
fuse-2.7.4-8.el5
没有的话就执行
#yum install fuse
安装完毕,再查询如上显示
加载usb驱动
modprobe usb-storage
查看要挂载的U盘是哪个文件,我的如下所示是sdb1
[root@localhost ntfs-3g-2010.5.16]# fdisk –l 或df –h
确定在目录 /mnt 下建立了 文件夹 /usb,如果未建立可键入一下命令:mkdir /mnt/usb_disk,成功后进行下一步。
载入u盘,需键入以下命令:mount/dev/sda1   /mnt/usb_disk
成功后,即可使用u盘了, 文件就在目录 /mnt/usb 下。
4,卸载u盘:在使用完u盘后,在拔出前需要先键入卸载U盘命令
     命令如下:umount /mnt/usb
在复制完文件后注意卸载U盘,我的U盘在没卸载的情况下拔出,后来再插上就不能读U盘了,插到Windows系统上提示要重新格式化U盘

发表评论

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