作者:手机用户2502912857 | 来源:互联网 | 2014-05-27 21:08
1.确认硬件支持硬件虚拟化运行egrep(vmx|svm)/proc/cpuinfo如果有显示,则表示支持硬件虚拟化,如果没有显示就是不支持。如果不支持硬件虚拟化,就不能使用KVM了,这时推荐使用Xen。2.确认在BIOS设置中打开了硬件虚拟化支持。3.在物理机上安
1.确认硬件支持硬件虚拟化
运行
egrep '(vmx|svm)' /proc/cpuinfo
如果有显示,则表示支持硬件虚拟化,如果没有显示就是不支持。如果不支持硬件虚拟化,就
不能使用 KVM 了,这时推荐使用 Xen。
2.确认在 BIOS 设置中打开了硬件虚拟化支持。
3.在物理机上安装 Ubuntu。
修改主机名
sudo vi /etc/hostname
里面就一行,就是主机名。
分配 IP 地址:
sudo vi
/etc/network/interfaces
如果是使用的 DHCP 自动分配地址,写入这些内容:
auto lo
iface lo inet loopback
auto eth0 #看好你机器的网卡是不是叫
eth0,ifconfig -a 可以查看
#网卡可能叫 eth1,eth2,或
wlan0,wlan1(无线网卡)等等
iface eth0 inet dhcp
如果是需要手动设置 IP:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.1.200 #分配的 IP
地址,自己看着办吧
netmask 255.255.255.0
#网络掩码
gateway 192.168.1.1
#网关,使用家用路由上网的就是 路由器
设置 DNS 服务器地址:
vi /etc/resolv.conf
写入:
nameserver xxx.xxx.xxx.xxx
#(DNS 服务器 IP 地址,不知道?
#10000/100010
会告诉你,或者
#直接填 8.8.8.8
#千万别把域名写进去了,要知为什么这样
#请去研究先有鸡还是先有蛋这个哲学问题)
配置好后运行
sudo /etc/init.d/networking
restart
重启网络服务,这个时候注意看看有没有错误提示。
ping www.gov.cn
试试,如果显示类似这种:
64 bytes from 218.8.55.118:
icmp_seq=1 ttl=50 time=269 ms
就代表网络通了(按 CTRL-C 退出)。
4.使用
sudo apt-get install kvm libvirt-bin virtinst
bridge-utils
安装需要的软件。
安装 libvirt-bin 时将自动建立一个组 libvirtd,同时会自动把 admin 组中的成员加
入进来。
5.配置桥接网络
运行
sudo vi
/etc/network/interfaces
将文件修改为
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet manual
auto br0
iface br0 inet static #static
可以改成 dhcp,这时
#就不需要 address,netmask,gateway 这三行了
bridge_ports eth0 #此处的 eth0
就是上面提到 eth0
address 192.168.1.200 #分配的 IP
地址,自己看着办吧
netmask 255.255.255.0
#网络掩码
gateway
192.168.1.1 #网关,使用家用路由上网的就是 路由器
bridge_stp off
bridge_fd 0
bridge_maxwait 0
同样运行
sudo /etc/init.d/networking
restart
ifconfig
看看是否多出了一项 br0。
4.将用户 hadoop 加入 libvirtd 组。
sudo adduser hadoop libvirtd
要生效需要退出重新登录。
5.看看现在运行了几台虚拟机吧。
virsh -c qemu:///system list
好像还没有虚拟机。马上建一个?先别急。
6.因为我安装的是服务器版的 Ubuntu,所以需要远程登录的。还需要 vnc 远程访问虚拟机。
现在要做的就是安装 ssh 服务了。很简单:
sudo apt-get install openssh-server
生成密钥
ssh-keygen #然后一路回车。会生成一对没有密码保护的 ssh
密钥。
cd ~/.ssh
cat id_rsa.pub
>>authorized_keys
将远程登录要用到的私钥复制走:
插上一个 U 盘
sudo mkdir /media/sdb1
sudo mount -t vfat /dev/sdb1 /media/sdb1
#将 U 盘挂载到机器上
sudo cp ~/.ssh/id_rsa /media/sdb1
再将此 U 盘插到工作机上,比如,你的笔记本,将 id_rsa 复制到某一个地方(我直接就放在了~)
这时就可以在工作机上登录服务器了:
ssh -i ~/id_rsa -l hadoop 192.168.1.200
#两台机器要在同一网段上
# -i 指定证书文件,如果没有这个选项就会使用 ~/.ssh/id_rsa
# -l 指定登录的用户名
其实现在也可以
ssh 192.168.1.200
这样会要求输入要登录的用户名,和这个用户的登录口令,但是这样相对就要不安全一些了。
现在关闭运行使用口令登录的功能,在服务器上运行:
sudo vi /etc/ssh/sshd_config
找到
#PasswordAuthentication yes
将它修改为
PasswordAuthentication no
然后运行
sudo /etc/init.d/ssh restart
重启 ssh 服务。
现在不能用密码登录了吧? :)
7.从这一步开始,就可以完全在工作机上操作了(我是这么做的)。
在工作机上安装 virt-view
sudo apt-get install virt-viewer
8.查看远程服务器器上运行了几台虚拟机
virsh -c qemu+ssh://192.168.1.200/system
list
9.在远程服务器上安装虚拟机
virt-install -c qemu+ssh://192.168.1.200/system
-n hadoop1
-r1000 -f hadoop1.img -s10 -c
~/ubuntu-10.04-server-AMD64.iso \
--vnc --noautoconsole
--network bridge=br0
-n hadoop1 虚拟机的名字
-r1000 虚拟机使用内存的上限
-f hadoop1.img 虚拟机使用的虚拟硬盘文件
-s10 虚拟机虚拟硬盘文件大小的上限
-c ~/ubuntu-10.04-server-AMD64.iso 用来安装的 iso 文件
--vnc 开启 vnc 支持,因为需要远程查看
--noautoconsole 不要自动连接到虚拟机终端
--network bridge=br0 设置网络为桥接
virt-viewer -c
qemu+ssh://192.168.1.200/system hadoop
查看 192.168.1.200 上的 hadoop
就可以盯着安装了。
10.关于 virt-clone
sudo virt-viewer -c
qemu+ssh://192.168.1.200/system \
-o hadoop -n hadoop1 -f
hadoop1.img
-o hadoop 复制的来源
-n 新虚拟机的名字
-f 新虚拟机的硬盘文件
注意:clone 的虚拟机的网卡的名字不叫原来那一个了
比如原来叫
eth0,clone 之后,很可能叫 eth1,具体请使用 ifconfig -a
更多功能请
man virt-clone
11.关于 virsh
这里说几个常用的 virsh 功能
virsh -c qemu+ssh://192.168.1.200/system destroy
hadoop
强行关机
virsh -c qemu+ssh://192.168.1.200/system
undefine hadoop
在命名空间中取消定义这个虚拟机,基本上就是删除。但是不会删除虚拟硬盘文件
virsh -c qemu+ssh://192.168.1.200/system start
hadoop
启动 hadoop
virsh -c qemu+ssh://192.168.1.200/system
autostart hadoop
让 hadoop
在物理机启动时自动启动
virsh -c qemu+ssh://192.168.1.200/system
shutdown hadoop
正常关机
更多功能请
man virsh