精彩评论
- al2359(2年前 (2023-02-06))
求科学离线插件,谢谢!34401355@qq.com
评:改版梅林固件安装SS【shadowsocks】科学上网插件教程 - al2359(2年前 (2023-02-06))
求科学离线插件,谢谢!!!
评:改版梅林固件安装SS【shadowsocks】科学上网插件教程
如何定制化OpenStack云主机?从去年10月份刚开始接触OpenStack,到现在也有一年了。虽说目前只是停留在用它,对它的一些组件简单的了解,但谈到制作出一个OpenStack云主机的镜像还真不会。今年年初因为一个比赛需要给云主机安装tomcat、ssh等服务,一头雾水,网上查资料。也有正确的资料,但对于我来说似乎也不管用。记得当时是用libvirt的virsh来实现的。而且云主机用的是网上下载的ubuntu14.04的server版本,而且又看到网上说,OpenStack只能支持server版本的,我把只支持server当理论来记在脑海里,现在想想真是傻的不行。
前面唠嗑了下,下面我会一步步来讲解如何利用KVM来创建虚拟机(即本文提到的云主机)。本文使用的环境是ubuntu14.04。一些KVM的概念这里就不阐述了,网上资料很多很全。
一、ubuntu14.04中安装tun模块。参考上篇博客,这里不再展开。博客地址
1
|
http: //www.cnblogs.com/grglym/p/7891253.html |
为什么用安装tun模块呢?既然需要对虚拟机进行定制化,即需要安装一些个性化服务,文章开头中有提及的,如tomcat、ssh等等。安装这些就需要网络进行安装,这样更加方便。所以呢,虚拟机需要能够上网呀!在KVM的网络实现中是通过qemu来实现。qemu网络相关的教程很多,可以参考如下链接:
1
2
3
|
http: //www.jianshu.com/p/110b60c14a8b http: //blog.csdn.net/ztsinghua/article/details/49741795 |
这两个链接把qemu的网络细节说的很清楚。本文选择就是qemu的桥接网络方式来实现KVM虚拟机连接Internet。
二、开启CPU虚拟化服务。(vmware和virtualbox各自的虚拟化服务如何开启可网上查看)
1
|
modprobe kvm |
1
|
cat /proc/cpuinfo |grep vmx |
在宿主机中输入如上指令,在flags一栏中查看是否有“vmx”或者“svm”字眼,如图1所示:
图 1
说明CPU是Inter的,如果是AMD的CPU,应该是“svm”。
我所遇到的错误:
1
|
modprobe: ERROR: could not insert 'kvm_intel' : Operation not supported |
通过在宿主机输入如下指令
1
|
dmesg | grep kvm |
输出为:
1
|
kvm: no hardware support |
解决办法:看下是否开启CPU虚拟化,如果你是用VMware或者virtualbox,它们有各自的CPU虚拟化选项,勾上即可。如果是在物理机上,则需要进入bios了。
三、安装kvm-qemu工具
kvm-qemu这是个什么鬼呢?我们应该知道KVM是在linux内核内,KVM自身功能也非常。。。。不夸它了,反正就是很有用的虚拟化工具。但它也有痛点,即实现不了网卡虚拟化等一些必要功能,所以需要借助qemu来实现。kvm-qemu是kvm在用户态下的一个管理工具吧!接下来源码安装kvm-qemu。
1、源码下载
1
|
http: //sourceforge.net/projects/kvm/files/ |
下载个最新版本qemu-kvm-1.2.0.tar.gz
1
2
|
tar -zxvf qemu-kvm-1.2.0.tar.gz cd qemu-kvm-1.2.0 |
2、对qemu-kvm打补丁。
因为本文用的环境时ubuntu14.04,所以需要对qemu-kvm-1.2.0中的configure进行简单修改,不然会报错。如图2所示,添加黑框中的代码,分别为:
1
2
3
|
timer_create(CLOCK_REALTIME, NULL, NULL); $pthread_lib libs_qga= "-lrt $libs_qga" |
图 2
需要修改的代码在2681行左右,可通过vim的命令模式下输入/<time.h>,来快速定位需要修改的代码位置。
3、qemu-kvm编译及安装
1
2
3
|
./configure --prefix=/usr/local/kvm (注,如果报错,需要查看第2步中代码是否修改正确) make make install |
四、加载KVM内核模块
1
2
|
modprobe kvm-intel lsmod | grep kvm |
图 3
如果modprobe出错,可查看二的开启CPU虚拟化服务。
五、创建br0网桥
1、安装libvirt
1
|
apt-get install libvirt-bin |
2、创建br0网桥
1
|
virsh iface-bridge eth0 br0 |
1
|
brctl show |
图 4
图 5
六、KVM创建虚拟机
经过以上五大步骤,终于把准备工作做好了,接下来的才是重头菜。
1、KVM创建虚拟磁盘,磁盘格式为qcow2。kvm的一些指令可以从网上查到,这里不再解释。
1
|
/usr/local/kvm/bin/qemu-img create -f qcow2 openstack.img 10G |
2、KVM虚拟机开启和关闭的网络脚本配置。
开启脚本 qemu-ifup.sh:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
#!/bin/bash switch =br0 if [ -n "$1" ]; then #create a tap interface #tunctl -u $(whoami) -t $1 #start up the tap interface ip link set $1 up sleep 1 #add tap interface to the bridge brctl addif ${ switch } $1 exit 0 else echo "error: no interface specified" exit 1 fi |
关闭脚本 qemu-ifdown.sh :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
#!/bin/bash switch =br0 if [ -n "$1" ]; then #delete the specified interface tunctl -d $1 #rlease tap interface from bridge brctl delif $( switch ) $1 #shutdown the tap interface ip link set $1 down exit 0 else echo "error: no interface specified" exit 1 fi |
脚本授权:
1
2
|
chmod +x qemu-ifup.sh chmod +x qemu-ifdown.sh |
3、KVM启动虚拟机安装:
1
|
/usr/local/kvm/bin/qemu- system -x86_64 -hda openstack.img -cdrom ubuntu-14.04.5-desktop-amd64.iso -boot d -m 1024 -net nic -net tap,ifname=tap1,script=qemu-ifup.sh,downscript=no |
4、安装完成后,下次如需重新进入系统,可用如下命令:
1
|
/usr/local/kvm/bin/qemu- system -x86_64 -hda openstack.img -boot d -m 1024 -net nic -net tap,ifname=tap1,script=qemu-ifup.sh,downscript=no |
5、KVM虚拟机运行结果展示如图6所示:
图 6
6、KVM虚拟机访问Internet效果展示如图7所示:
图 7
七、总结
利用KVM的整个过程还是有些麻烦,以后会尝试用KVM的管理工具libvirt来实现更加便捷的定制化云主机。网上资料会有很多,可能不同的环境需要参考不同的资料,这个过程需要踩过很多个坑,这里记录下在本文环境中可行的处理步骤。
「梦想一旦被付诸行动,就会变得神圣,如果觉得我的文章对您有用,请帮助本站成长」
上一篇:ToToTel(ToTo电讯)提供高端企业VPS服务,AffMan提成30%循环,香港500MBPS共享带宽促销
下一篇:V2RAY 和BBR安装
求科学离线插件,谢谢!34401355@qq.com
评:改版梅林固件安装SS【shadowsocks】科学上网插件教程求科学离线插件,谢谢!!!
评:改版梅林固件安装SS【shadowsocks】科学上网插件教程
共 0 条评论关于"KVM定制OpenStack云主机"
您必须登录才可以发表评论!
最新评论