本篇文章是笔者2014年第一篇文章,首先祝大家新年快乐,马上有一切!!!
渐渐的长大了,考虑的事也多了起来,但是不能放弃学习,文章也好久没更新了。
废话不多述,直接进入正题!
1.KVM基本配置
由于我安装RHEL6.4的时候选择的是base server,所以却了虚拟化的包!
安装之:
# virsh list --all //查看现有的所有虚拟机
错误:Failed to reconnect to the hypervisor //不能链接到libvirtd服务
错误:无效的连接
错误:内部错误 Unable to locate libvirtd daemon in /usr/sbin (to override, set $LIBVIRTD_PATH to the name of the libvirtd binary)
# yum -y install libvirt virt-viewer libpk-gtk-module.so //安装libvir服务
# /etc/init.d/libvirtd start //启动libvir服务
启动 libvirtd 守护进程: [确定]
# virsh list --all //此处验证 OK
Id 名称 状态
----------------------------------------------------
# chkconfig --list|grep libvirtd
libvirtd 0:关闭 1:关闭 2:关闭 3:启用 4:启用 5:启用 6:关闭
2.KVM网络的桥接
移步至此处
[root@localhost ~]# ifconfig br0
br0 Link encap:Ethernet HWaddr E2:27:EE:C9:53:73
inet addr:192.168.0.100 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::e027:eeff:fec9:5373/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:720 (720.0 b)
3.创建虚拟机
不管是安装linux图形界面还是windows都要起勇x界面,这里先不研究url连接
用ssh的x11转发功能实现图形界面,链接方式移步至此处
创建虚拟机:
# virt-install --name=test4 --ram=1024 --cdrom=/usr/src/CentOS-6.4-x86_64-bin-DVD1.iso --os-type=linux --disk=/opt/kvm/test4.img,size=20 --graphics vnc --network bridge=br0
开始安装......
创建域...... //此处会弹出安装系统的窗口
# virsh list --all
Id 名称 状态
----------------------------------------------------
5 test4 running
参数name虚拟机名字,ram内存大小,cdroom安装介质,os-type系统类型,disk磁盘,graphics显示,network指向网桥br0
更多参数请查看:virt-install --help
4.虚拟机的关闭和启动
[root@localhost ~]# virsh shutdown test4 #关闭test域
域 test4 被关闭
[root@localhost ~]# virsh list #查看开启的域
Id 名称 状态
----------------------------------------------------
7 test4 running
[root@localhost ~]# ps -ef|grep qemu #查看qemu的进程 进行强制关闭虚拟机
qemu 3273 1 11 13:47 ? 00:00:11 /usr/libexec/qemu-kvm -name test4 -S -M rhel6.4.0 -enable-kvm -m 1024 -smp 1,sockets=1,cores=1,threads=1 -uuid 5132f755-fd6d-49f2-e4d0-e82ef327eb37 -nodefconfig -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/test4.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-reboot -no-shutdown -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -drive file=/opt/kvm/test4.img,if=none,id=drive-ide0-0-0,format=raw,cache=none -device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=2 -drive file=/usr/src/CentOS-6.4-x86_64-bin-DVD1.iso,if=none,media=cdrom,id=drive-ide0-1-0,readonly=on,format=raw -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0,bootindex=1 -netdev tap,fd=23,id=hostnet0 -device rtl8139,netdev=hostnet0,id=net0,mac=52:54:00:71:1a:1d,bus=pci.0,addr=0x3 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -vnc 127.0.0.1:0 -vga cirrus -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x4
root 3306 32058 0 13:49 pts/0 00:00:00 grep qemu
[root@localhost ~]# kill -9 3273 #强制关闭虚拟机
[root@localhost ~]# virsh list #查看开启的域
Id 名称 状态
----------------------------------------------------
[root@localhost ~]# virsh list --all #查看所有的域
Id 名称 状态
----------------------------------------------------
- test4 关闭
[root@localhost ~]# virsh start test4
域 test4 已开始
[root@localhost ~]# virsh list --all #查看所有的域
Id 名称 状态
----------------------------------------------------
8 test4 running
5.删除虚拟机
[root@localhost ~]# virsh shutdown test4 #必须将域关掉才能删除
域 test4 被关闭
[root@localhost ~]# virsh undefine --managed-save test4
域 test4 已经被取消定义
[root@localhost ~]# virsh list --all #查看所有的域
Id 名称 状态
----------------------------------------------------
virsh的所有参数
# virsh help
6.克隆
将mysql1克隆到mysql2,-o参数是原先的机器名字,-n是新机器的名字,--force-copy克隆牢老机器的那些磁盘,-f克隆后的磁盘名字。virt-clone -o mysql1 -n mysql2 --force-copy=vda -f mysql2.img
正在克隆 mysql1.img | 40 GB 01:59
Clone 'mysql2' created successfully.
7.打开虚拟机的控制台
[root@CWG 桌面]# ssh -XY 192.168.10.55
root@192.168.10.55's password:
Last login: Mon Feb 24 09:21:10 2014 from 192.168.10.5
[root@localhost ~]# virsh list --all
Id 名称 状态
----------------------------------------------------
1 mysql1 running
2 mysql2 running
3 mysql3 running
4 mysql4 running
10 mysql4-zujia running
- mysql1-zujia 关闭
- mysql2-zujia 关闭
- mysql3-zujia 关闭
- mysql5 关闭
[root@localhost ~]# virt-viewer mysql1
用ssh的X11转发功能所以ssh加上X参数
如果是windows的话可以用xmanager
列出所有虚拟机,然后用工具virt-viewer工具连接到虚拟机的控制台!
后续需要做一下mysql cluster所以温习一下kvm的cmd,小做笔记
virsh的命令有:
# vir
virsh virt-convert virt-image virt-pki-validate virt-what
virt-clone virt-host-validate virt-install virt-viewer virt-xml-valid
可以根据需求自行help
##########################
本文由笔者原创
转载请注明出处
作者:john