当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 5 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : Ubuntu/kvm虚拟环境摸索实践
帖子发表于 : 2013-04-17 9:28 
头像

注册: 2011-04-30 17:17
帖子: 76
送出感谢: 2
接收感谢: 3
手头有一台HP DL160 G6,考虑选用Ubuntu 12.04 Server 作为宿主机OS是因为其对HP服务器的硬件支持比较全面,并且自己已经安装使用Ubuntu 12.04 Desktop一段时间了,懒得去学新的OS了,也省去了到处找驱动的麻烦;稳定性上没有比较过其他操作系统( 一个月内机器死过一次,原因不明)。具体支持机型和对应版本可以查询 http://www.ubuntu.com/certification/server/

环境中机器的命名和IP:

Server: Host name: IBSHUB01 IP:192.168.1.7
Guest name: IBSHVM01..02..03...... IP:192.168.1.11..12..13......
Ubuntu desktop name: HP8440p IP:192.168.2.54

1. Ubuntu 12.04 Sevrer的安装
服务器没有光驱,用Ubuntu 12.04 Desktop里的《启动盘创建器》把ubuntu-12.04.2-server-amd64.iso制作成USB启动安装盘。直接用USB盘启动HP服务器进行安装。在安装时选择了Openssh和虚拟机的选项;磁盘中创建了和机器同名的vg(IBSHUB01),然后根据Ubuntu的服务器安装指引,按照网络和虚拟机部分的要求安装了:
代码:
sudo apt-get install bridge-utils

没注意,KVM和libvirt-bin是不是在服务器安装时已经安装了,就再装了一次;
代码:
sudo apt-get install kvm libvirt-bin
sudo apt-get install virtinst

把自己加到libvirtd的组里
代码:
sudo adduser $USER libvirtd

为传送文件,又安装了sshfs
代码:
sudo apt-get install sshfs


2. 在笔记本上装了virt-viewer用于远程图形界面安装,virt-manager没怎么用过,不过也安装了。
代码:
sudo apt-get install virt-viewer virt-manager

Remmina应该是Ubuntu安装包里现成就有的可以RDP访问Windows的Guset

3. Guest的安装介质都转换成iso放笔记本在home的iso目录中; 建立IBSHUB01和HP8440p的SSH连接。用sshfs映射笔记本的iso目录,并复制安装文件去IBSHUB01的home目录。
代码:
rogerz@IBSHUB01:~$ sshfs rogerz@192.168.2.54:/home/rogerz/iso/ ~/iso/
rogerz@IBSHUB01:~$ cp ~/iso/ubuntu-12.04.2-server-amd64.iso ~/


4. 在IBSHUB01上为Guest创建一个Logical Volume。LVs可以在/dev/VGname下列出,我的VG和机器同名:
代码:
rogerz@IBSHUB01:~$ ls /dev/IBSHUB01
lvol0  lvol1  lvol2  lvol3  lvol4  lvol5  root  swap_1  vm01bkp

创建时不指定LV的名字,系统根据lvol0,lvol1,lvol3...的顺序进行自动创建。如在IBSHUB01创建一个50G的LV:
代码:
sudo lvm
lvm> lvcreate -L 50G IBSHUB01
  Logical volume "lvol6" created


5. 修改/etc/network/interfaces, 创建bridge,我的例子如下:
代码:
rogerz@IBSHUB01:~$ cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
    address 192.168.1.7
    netmask 255.255.255.0
    gateway 192.168.1.254
    dns-search XXXXXX.com
    dns-nameservers 192.168.1.2 192.168.1.4

auto br0
iface br0 inet static
    address 192.168.1.48
    network 192.168.1.0
    netmask 255.255.255.0
    broadcast 192.168.1.255
    gateway 192.168.1.254
    bridge_ports eth0
    bridge_fd 9
    bridge_hello 2
    bridge_maxage 12
    bridge_stp off


6. 安装一个Guest的Ubuntu server
在IBSHUB01上执行
代码:
rogerz@IBSHUB01:~$ sudo virt-install -n IBSHVM06 -r 2048 --disk path=/dev/IBSHUB01/lvol6 -c ubuntu-12.04.2-server-amd64.iso --accelerate --network bridge=br0,model=virtio --connect=qemu:///system --vnc --noautoconsole -v

其中IBSHVM06为新建Guset的名字,指定2G内存,安装去之前创建的逻辑卷,从home目录中的ubuntu-12.04.2-server-amd64.iso启动安装,指定br0为bridge
检查下IBSHVM06的状态。
代码:
rogerz@IBSHUB01:~$ virsh list --all
 Id Name                 State
----------------------------------
  1 IBSHVM01             running
  2 IBSHVM02             running
  3 IBSHVM04             running
  4 IBSHVM05             running
  7 IBSHVM06             running
  - IBSHVM03             shut off


去笔记本,用图形界面继续安装步骤:
代码:
rogerz@HP8440p:~$ virt-viewer -c qemu+ssh://rogerz@192.168.1.7/system IBSHVM06


7. 安装一个Guset的Windows2008R2 Server 64bit,需要下载一个virtio的Windows驱动 (http://alt.fedoraproject.org/pub/alt/virtio-win/latest/images/bin/),否则会发现,Windows安装过程中找不到硬盘

安装命令一样,更改下安装介质
代码:
rogerz@IBSHUB01:~$ sudo virt-install -n IBSHVM06 -r 2048 --disk path=/dev/IBSHUB01/lvol6 -c win2008r2.iso --accelerate --network bridge=br0,model=virtio --connect=qemu:///system --vnc --noautoconsole -v


但这样肯定完成不了windows安装。用下面的命令终止安装。
代码:
rogerz@IBSHUB01:~$ virsh destroy IBSHVM06

然后编辑IBSHVM06的XML脚本
代码:
rogerz@IBSHUB01:~$ sudo virsh edit IBSHVM06

代码:
<domain type='kvm'>
  <name>IBSHVM06</name>
  <uuid>e9cf7e96-3df3-05e5-328a-c0aa69c4deff</uuid>
  <memory>2097152</memory>
  <currentMemory>2097152</currentMemory>
  <vcpu>1</vcpu>
  <os>
    <type arch='x86_64' machine='pc-1.0'>hvm</type>
    <boot dev='cdrom'/>                                                                    <----插入行
    <boot dev='hd'/>
  </os>
  <features>
    <acpi/>
    <apic/>
    <pae/>
  </features>
  <clock offset='utc'/>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <devices>
    <emulator>/usr/bin/kvm</emulator>
    <disk type='block' device='disk'>
      <driver name='qemu' type='raw'/>
      <source dev='/dev/IBSHUB01/lvol6'/>
      <target dev='hda' bus='ide'/>
      <address type='drive' controller='0' bus='0' unit='0'/>
    </disk>                                                                                             
    <disk type='file' device='cdrom'>                                                     <----插入段开始
      <driver name='qemu' type='raw'/>
      <source file='/home/rogerz/win2008r2.iso'/>
      <target dev='hdc' bus='ide'/>
      <readonly/>
      <address type='drive' controller='0' bus='1' unit='0'/>
    </disk>
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <source file='/home/rogerz/virtio-win-0.1-52.iso'/>
      <target dev='hdd' bus='ide'/>
      <readonly/>
      <address type='drive' controller='0' bus='1' unit='1'/>
    </disk>                                                                                             <--- 插入段结束   
    <controller type='ide' index='0'>
.......


编辑后退出,用命令
代码:
rogerz@IBSHUB01:~$ virsh start IBSHVM06
重新开始安装

在笔记本图形界面继续安装
代码:
rogerz@HP8440p:~$  virt-viewer -c qemu+ssh://rogerz@192.168.1.7/system IBSHVM06
在Win安装过程中,当安装到选择安装目的盘时,选择手动从第二个光驱安装virtio的windows驱动就可以了。安装完成后记得重新编辑IBSHVM06的XML脚本,把插入的内容删掉,否则下次启动又进安装了。

8. 如果想起第二个Win2008r2 server或Ubuntu server, 就创建一个新的LV,然后
代码:
sudo virt-clone -o IBSHVM06 -n IBSHVM07 --file=/dev/IBSHUB01/lvol7




从论坛中学到了很多相关的知识,希望自己的经验会帮到后来的人;也希望得到各位的指正和建议。


_________________
怅怅莫怪少时年 百丈游丝易惹牵
何岁逢春不惆怅 何处逢情不可怜
杜曲梨花杯上雪 灞陵芳草梦中烟
前程两袖黄金泪 公案三生白骨禅
老后思量应不悔 衲衣持钵院门前


最后由 drunkfish 编辑于 2013-04-17 15:35,总共编辑了 8 次

页首
 用户资料  
 
2 楼 
 文章标题 : Re: Ubuntu/kvm虚拟环境摸索实践
帖子发表于 : 2013-04-17 9:42 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 274
kvm的确适合跑服务。

btw: kvm和virtualbox,不打架了,和谐了。


_________________
● 鸣学


页首
 用户资料  
 
3 楼 
 文章标题 : Re: Ubuntu/kvm虚拟环境摸索实践
帖子发表于 : 2013-10-16 9:12 
头像

注册: 2008-10-31 15:28
帖子: 910
地址: 中国上海
送出感谢: 0 次
接收感谢: 4
用“qemu-img create -f qcow2 WinServer2008RC.img 20G”创建的硬盘,为什么检测不到


_________________
家乡:湖南张家界


页首
 用户资料  
 
4 楼 
 文章标题 : Re: Ubuntu/kvm虚拟环境摸索实践
帖子发表于 : 2013-10-16 11:15 
头像

注册: 2011-04-30 17:17
帖子: 76
送出感谢: 2
接收感谢: 3
问题的背景不是很清晰,大致猜测你是用qemu-img代替logical volume作为安装目的盘。

更改VM的definition:
代码:
$ virsh edit VMNAME


找到device部分,这里是LV的:
代码:
 21   <devices>
 22     <emulator>/usr/bin/kvm</emulator>
 23     <disk type='block' device='disk'>
 24       <driver name='qemu' type='raw'/>
 25       <source dev='/dev/IBSHUB01/lvol0'/>
 26       <target dev='hda' bus='ide'/>
 27       <address type='drive' controller='0' bus='0' unit='0'/>
 28     </disk>


qcow2大致如下:
代码:
<disk type='file' device='disk'>
  <driver name='qemu' type='qcow2' cache='none'/>
  <source file='‘/>
  <target dev='hda' bus='virtio'/>
</disk>


问问题如果能用’请‘,应该显得有礼貌点。


_________________
怅怅莫怪少时年 百丈游丝易惹牵
何岁逢春不惆怅 何处逢情不可怜
杜曲梨花杯上雪 灞陵芳草梦中烟
前程两袖黄金泪 公案三生白骨禅
老后思量应不悔 衲衣持钵院门前


页首
 用户资料  
 
5 楼 
 文章标题 : Re: Ubuntu/kvm虚拟环境摸索实践
帖子发表于 : 2013-10-16 11:45 
头像

注册: 2011-04-30 17:17
帖子: 76
送出感谢: 2
接收感谢: 3
另外,个人感觉用logical volume管理磁盘空间对将来的管理调整更加方便。


_________________
怅怅莫怪少时年 百丈游丝易惹牵
何岁逢春不惆怅 何处逢情不可怜
杜曲梨花杯上雪 灞陵芳草梦中烟
前程两袖黄金泪 公案三生白骨禅
老后思量应不悔 衲衣持钵院门前


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 5 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:Google [Bot] 和 3 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译