asfsd 发表于 2016-1-8 13:31:59

Ubuntu12.10 命令行下KVM虚拟机的安装和配置

       最近公司退休了一批服务器,申请到了两台自己玩儿,之前一段时间简单了解了一下KVM虚拟机,就想自己搭建一个方便学习。

       先说下环境吧,机器是N年前的HP Proliant DL140 G3,操作系统 ubuntu server 12.10 。


  

      第一步为了保险起见,还是首先看一下CPU是否支持虚拟化,命令:
grep -cE '(vmx|svm)'/proc/cpuinfo



不太明白是什么意思,只是照着做了。

      第五步,在创建虚拟机前需要先创建一个磁盘镜像,作为虚拟机的硬盘,通过如下命令创建:
$sudo qemu-img create -f qcow2 /opt/ubuntu.img 100G
 生成100G 的centos.img,格式:qcow2。

      第六步,现在可以开始创建虚拟机了,但创建虚拟机前,需要先看一下/etc/libvirt/qemu.conf文件 vnc_listen="0.0.0.0"是否启用,如果没有启用就需要去掉注释启用,否则可能会出现无法使用VNC连接虚拟机的情况。

       下面正式开始创建虚拟机了,使用virt-install命令,如下所示:
$sudo virt-install --name ubuntu-server1 --ram 2048 --arch=i686 --vcpus=2 --check-cpu --os-type=linux --os-variant='ubuntuPrecise' -c /home/hpserver/os-img/ubuntu-12.04-server.iso --disk path=/opt/kvmspace/ubuntu/ubuntu-server-12.04-i386.img,device=disk,bus=ide,format=qcow2 --bridge=br0 --vnc --vncport=5901 --vnclisten=0.0.0.0


需要注意几个参数:

--os-variant指的是操作系统的类型,ubuntu的要填"ubuntu+版本的代号",redhat的值填“rhel+版本号”,centos的跟对应版本的rhel填一样的就可以了

-c /后面跟的是要安装的系统镜像的位置

--disk path=后面跟的是刚才所创建的磁盘镜像的位置

       除了创建另外也可以通过定义一个虚拟机的xml配置文件,然后通过virsh define *.xml来创建虚拟机。其实在执行完上面的创建命令后,会在系统的/etc/libvirtd/qemu/下面生成一个与你创建的虚拟机的名字同名的xml格式的配置文件。

       创建虚拟机这一步,我遇到了一个错误,内容如下:
Could not access KVM kernel module: Permission denied
failed to initialize KVM: Permission denied
No accelerator found!
可以看出是权限问题,但是不论是sudo还是切换到root,都会出现这个错误,后来网上查了下,做如下处理:

执行 sudo chown root:kvm /dev/kvm

修改/etc/libvirt/qemu.conf,添加 user="root", group="root"

然后重启一下libvirt-bin: sudo service libvirt-bin restart,问题解决了



 

       第七步,连接虚拟机

       执行完上一步后,虚拟机实际上已经启动了,并且进入系统安装界面,但是由于我是在命令行下,只出现了一个could not open display的提示,并且告知系统已经在安装中,这个时候使用vnc客户端连接虚拟机,本来应该出现安装界面的,但是出现了一个恶心的问题,每次用VNC连接虚拟机,realvnc客户端就直接退出,我可是从官网下的最新版的客户端啊,这个问题困扰了我好久,期间重新安装了几次虚拟机,问题依然出现,后来试着从晚上下了一个老版本的客户端,居然一次性连接成功,顿时无语了。。。

 

成功运行一个虚拟机后,又开了3个,运行状况良好,只是在给虚拟机安装系统的过程中CPU占用率直奔100%,安装过后立马恢复正常。

 
页: [1]
查看完整版本: Ubuntu12.10 命令行下KVM虚拟机的安装和配置