ubuntu server中kvm虚拟机的安装及使用
ubuntu server中kvm虚拟机的安装
服务器环境:
ubuntu 11.04 amd64, 已在bios中把cpu的vt打开。
- 安装软件
sudo apt-get install kvm libvirt-bin python-vm-builder
- 配置虚拟机网络
我这里采用bridge的方式来配置虚拟机网络,这样,虚拟机与实机在网络环境上可以认为是一样的,对于在上面跑服务器非常方便。
修改/etc/network/interfaces文件
加入以下行
#加入/etc/network/interfaces文件auto br0 iface br0 inet static address 192.168.0.10 network 192.168.0.0 netmask 255.255.255.0 broadcast 192.168.0.255 gateway 192.168.0.1 bridge_ports eth0 bridge_stp off bridge_fd 0 bridge_maxwait 0 #网络ip什么的针对具体情况修改 post-up ip link set br0 address f4:6d:04:08:f1:5f #eth0的硬件地址 #重起网络服务 sudo service networking restart
- 安装虚拟机
这里使用ubuntu-vm-builder来安装虚拟机。
首先是设置软件源缓存,ubuntu官方推荐用apt-proxy做代理,但是我在ubuntu11.04的源里死活找不到apt-proxy,后来发现apt-cacher也有类似的功能(具体的可以安装apt-cacher后, man apt-cacher看文档)。安装完成后,需要改一下apt-cacher的配置,修改/etc/apt-cacher/apt-cacher.cfg,把daemon_addr属性配置成你想绑定的ip即可。手动启动apt-cacher(sudo apt-cacher -d),然后通过 http://apt-cacher.server:3142[/apt-cacher]/ [mirror] / [distribution] 这样的url形式即可访问到apt-cacher提供的代理了。
配置vmbuilder 虚拟机安装参数:
sudo vmbuilder kvm ubuntu \ --suite natty \ --flavour virtual \ -o \ -v \ --arch amd64 -m 1024 --cpus 2 \ --libvirt qemu:///system \ --mirror http://apt-cacher代理ip:3142/ubuntu.cn99.com/ubuntu \ --bridge br0 \ --ip 客户机ip \ --hostname myvm \ --part vmbuilder.partition \ #这个文件里是硬盘分区的信息,需要自己创建 --user user \ --name user \ --pass xxxx \ --addpkg apache2 apache2-mpm-prefork \ apache2-utils apache2.2-common \ dbconfig-common libapache2-mod-php5 \ mysql-client php5-cli \ php5-gd php5-ldap \ php5-mysql wwwconfig-common \ mysql-server unattended-upgrades \ acpid openssh-server lsof iptables\ --ppa nijaba
参数比较多,可以把这个写到一个sh文件里方便编辑。也可以使用default.cfg的默认配置来简化,具体的可以参考下面的参考文档。(ubuntu官方文档里安装的软件并没有加入openssh-server,这会导致虚拟机装好后不能通过ssh访问)
然后执行以上的命令即可开始虚拟机的安装了。
- 管理虚拟机
虚拟机的管理主要通过 virsh,也就是用libvirt来管理。kvm的官方提到了很多的管理工具,当然也可以直接使用。具体的管理命令直接看virsh的man文档吧,很详细,很清晰。当然更详细的得看libvirt的文档啦,因为virsh就是通过libvirt来实现对虚拟机的管理的。
启动
virsh #到virsh命令界面 list --all #显示所有的虚拟机 define /etc/libvirt/qemu/myvm.xml #定义虚拟机,让virsh可以知道虚拟机状态 start myvm #启动域为myvm的虚拟机
- 进入虚拟机
由于我并没有安装openssh-server所以,启动之后并不能通过ssh去直接访问虚拟机。但查看虚拟机启动日志(sudo less /var/log/libvirt/qemu/myvm.log),可以发现,虚拟机开放了一个vnc的端口绑定到127.0.0.1,可以访问到虚拟机。我使用的是远程服务器来配置虚拟机,远程服务器里没有安装图形界面,所以不能用vncviewr进入虚拟机。使用vnc远程访问吧,在本地计算机上,先建立ssh tunnel,再用vncviewer连接。
ssh -L 5900:127.0.0.1:5900 username@serverip #这样会直接进入到客户机了,不要退出,否则就连接就失效了。 vncviewer #在弹出的框中输入127.0.0.1即可连接到客户机了
- 参考
http://libvirt.org/formatdomain.html libvirt定义的虚拟机的xml配置
https://help.ubuntu.com/community/KVM ubuntu社区提供的帮助文档
https://help.ubuntu.com/11.04/serverguide/C/virtualization.html ubuntu关于虚拟机的官方文档
相关推荐
成长路上 2020-07-29
zhangsyi 2020-07-28
82911234 2020-07-20
liym 2020-07-20
星愿心愿 2020-11-24
ruancw 2020-11-10
VFCSDN 2020-10-14
somyjun 2020-09-29
longjing 2020-09-18
KINGJENSEN 2020-09-14
85251846 2020-09-14
周公周金桥 2020-09-06
lxttiger 2020-08-18
ARMOTO机器人 2020-08-18
atb 2020-08-17
SeetyST 2020-08-13
85206633 2020-08-15
yunna0 2020-08-15
young依然 2020-08-06