虚拟机中搭建云服务器
A. finalshell如何搭建云服务器
启动一台虚拟机连接云服务器。
打开本地的VMware,并启动一台虚拟机。同时打开FinalShell,连接云服务器。把那两个安装配置连接上就可以了。
看看是否把下面的两个安装配置配置上,没有的话,Google网络搜索,但一般不会遇到这种情况。
B. vmware和云服务器能一起搭建hadoop集群吗两台虚拟机一台云服务器 该怎么设置呢
理论上可以的,vmware虚拟机和云服务器其实和传统物理服务器用起来没差别。但如果你说的云服务器是公有云,是vmware在你的局域网,不推荐组合起来搭建hadoop,因为互联网的网络延迟比本地高,集群会不稳,非要做的话,vmware虚拟机需要用dnat映射地址到公网
C. 如何搭建私有云平台
众说周知Amazon EC2是一个公共云的计算平台,属于IaaS(基础设施即服务)这类.
现在有一款开源的项目Eucalyptus(Elastic Utility Computing Architecture for Linking Your Programs To Useful Systems),同样实现了Amazon EC2的功能,由于其开源性,注定了搭建一个私有的云计算平台成为可能. 更方便的是Ubuntu9.10服务器版已经集成了Eucalyptus这个开源软件,使的搭建企业私有的云计算平台变得方便而简单.
下面我们将一步步来搭建这个私有的云计算平台.
一 准备工作
1) 至少准备两台机器, 当然我这里是用虚拟机软件(Sun VirtualBox)来虚拟出两台实际的机器 (如果你也采用Sun VirtualBox,有些注意事项,可以参见后面的附录一)
2) 底层操作系统: Ubuntu9.10 服务器版 (http://www.ubuntu.com/cloud)
3) 云服务环境 : Eucalyptus , ( Ubuntu9.10 服务器版 内置) http://eucalyptus.com/
4) Eucalyptus 命令行客户端
5) Eucalyptus客户端: Elastic Fox ,这是一个firefox插
件 : http://developer.amazonwebservices.com/connect/entry.jspa?externalID=609
--------------------------------------------------------------------------
二 云计算服务的搭建(使用Ubuntu自带的向导,十分简单的哦)
1) 一台机器, 作为Cluster(Front End) , 命名为: ubuntu-cluster , 它包含了如下部分
1. Cloud Controller (clc)
2. Cluster Controller (cc)
3. Walrus (the S3-like storage service)
4. Storage Controller (sc)
5.
2) 至少一台机器作为Node, 命名为: ubuntu-node1,它包含了如下部分
Node Controller (nc)
3) 在作为Cluster的机器上 ,安装基本系统: Ubuntu9.10 服务器版
1.安装引导时,要选择 "Install Ubuntu Enterprise Cloud"
2. 安装过程中,如果提示"Cluster" 还是"Node",一定要选择Cluster
3.安装过程中,提示"Configure postfix" 时 选择 internet Site
4. 安装过程中,提示"Name your cluster" 时 ,请取一个合适的名字,比如我取之为: cluster1
5. 安装过程中,提示"a list of available IP addresses on your network", 一定要选择一个可用的公共IP段.
4) 在作为Node的机器上 ,也安装基本系统: Ubuntu9.10 服务器版
1.安装引导时,要选择 "Install Ubuntu Enterprise Cloud"
2. 安装过程中,如果提示"Cluster" 还是"Node",一定要选择Node, (如果Cluster正在运行,这一步可能不会出现,自动会选择Node
3.安装完一个节点后,,后续的节点可以采用克隆方法,参见后面的 附录二
5) 在Cloud Controller(位于ubuntu-cluster)上注册所有的Node机器: 在ubuntu-cluster上执行:
1. sudo euca_conf --no-rsync --discover-nodes
2.
至此,一个私有的云计算平台已经搭建好了,下面就开始说,如何使用了,很简单吧!
三 云计算平台管理之命令行工具(Euca2ools)
1)在 https://YourIP:8443 中注册个人信息然后登录下载 证书 euca2-yourname-x509 .zip
2) 在客户端机器上执行
1. $ mkdir ~/.euca
2. $ cd ~/.euca
3. $ unzip euca2-yourname-x509 .zip
4. $ chmod 0700 ~/.euca
5. $ chmod 0600 ~/.euca/*
6.
3) 在客户端机器上执行, 安装 Euca2ools 和 EC2-API-Tools
1. . ~/.euca/eucarc
2. echo "[ -r ~/.euca/eucarc ] && . ~/.euca/eucarc" >> ~/.bashrc
3. sudo apt-get install euca2ools
4. sudo apt-get install ec2-api-tools
5. sudo reboot
6.
4)在客户端机器,使用 Euca2ools 上传 Kernel / Ramdisk / FS Image (使用者可注册 Image,但只有管理者才可注册 kernel/ramdisks)
1. 目前 Eucalyptus 系统上没有 Kernel、Ramdisk 和 FS Image,所以我们使用官方提供的 Image (上传需要用到三个指令)
1. euca-bundle-image - 打包好将要上传的档案
2. euca-upload-bundle - 上传到 Eucalyptus
3. euca-register - 注册上传的档案
4.
2. 上传Kernel,如:
1. euca-bundle-image -i /boot/vmlinuz-2.6.31-14-generic-pae --kernel true
2. euca-upload-bundle -b kernel -m /tmp/vmlinuz-2.6.31-14-generic-pae.man
ifest.xml
3. euca-register kernel/vmlinuz-2.6.31-14-generic-pae.manifest.xml
4.
3.上传 Ramdisk
1. euca-bundle-image -i /boot/initrd.img-2.6.31-14-generic-pae --ramdisk
true
2. euca-upload-bundle -b ramdisks -m /tmp/initrd.img-2.6.31-14-generic-pa
e.manifest.xml
3. euca-register ramdisks/initrd.img-2.6.31-14-generic-pae.manifest.xml 4.
4. 查看已上传到档案:
方法一: https://YourIP:8443/#images
方法二: euca-describe-images
5. 根据查看的结果,上传FS Images:(分配 Kernel 和 Ramdisks 给 VMs 有三种方法,见附录三)
1. tar zxvf karmic-server-uec-i386.tar.gz
2. euca-bundle-image -i karmic-server-uec-i386.img --kernel eki-977213C6
--ramdisk eri-0CBA157D
3. euca-upload-bundle -b images -m /tmp/karmic-server-uec-i386.img.manife
st.xml
4. euca-register images/karmic-server-uec-i386.img.manifest.xml
5.
5) 申请 key pair,以便 ssh 登入 instance
1. ec2-add-keypair mykey >mykey.private
2. chmod 0600 mykey.private
3.
6) 在客户端机器,开启虚拟机.
1.查看 euca-describe-images ,获得希望启动Image emi
2.启动一个虚拟机:
1. euca-run-instances -k mykey -n 1 emi-8022139D
2.
3.查看这个虚拟机的基本信息,比如IP地址,和 此实例id
1. euca-describe-instances
2.
4.登录这个新启动的虚拟机
1. ssh -i mykey.private [email protected]
2.
5.终止这个虚拟机实例
1. euca-describe-instances(获得instance-id)
2. euca-terminate-instances <instance-id>
3.
附录一: 虚拟测试环境的搭建:
1.虚拟机软件: Sun VirtualBox
2.管理 -> 全局设定 -> 网络 中 选择 "Host-Only" 点编辑,然后选择 "DHCP服务器", 禁用"启用服务器"
3建立两台虚拟机, linux/Ubuntu ,网络选择Host-Only方式
4在宿主机器上,将可以联互联网的 网卡设置为 针对 Host-Only 网卡的共享
说明,这里之所以采用 , Host-Only + 通过宿主机器共享上网 ,而不采用Bridged的联网方式,是前者可以在离开网络支持的情况下, 虚拟机之间的关系保持不变.
D. 镐庝箞鎼寤轰簯镐庝箞鎼寤轰簯链嶅姟鍣
浜戝湀镐庝箞鍒涘缓锛
浜戝湀杩欎釜涓滆タ瑕佺湅浣犵殑绮変笣璇达纴濡傛灉浣犵殑绮変笣鏁拌揪鍒颁竴瀹氱殑鏁伴噺涔嫔悗锛屼綘灏卞彲浠ョ湅鍒颁綘鍙浠ヨ剧疆浜戝湀浜嗐
浼佷笟绉佹湁浜戣蒋浠舵庝箞鎼寤哄憿锛
濡傛灉鏄𨱍冲仛浼佷笟绉佹湁浜戝瓨鍌锛屽畨瑁呰繃绋嫔叾瀹炲緢绠鍗曪纴涓昏佸垎涓轰互涓3姝ワ细
涓銆佹牴鎹浣跨敤闇姹傚拰浜烘暟鍑嗗囨湇锷″櫒阃氩父𨱒ヨ达纴绉佹湁浜戝瓨鍌ㄨ蒋浠跺彲浠ュ畨瑁呭湪铏氭嫙链恒佺墿鐞嗘満鍜屼簯涓绘満涓娿傛湇锷″櫒镄勯厤缃涓崭粎瑕佽兘澶熸敮鎾戣蒋浠剁郴缁熺殑姝e父杩愯岋纴杩橀渶瑕佹敮鎸佸氩苟鍙戠敤鎴风殑娴佺晠浣跨敤锛屽洜姝わ纴寤鸿鍦ㄥ嗳澶囨湇锷″櫒涔嫔墠锛屽捝璇浼佷笟绉佹湁浜戞湇锷″晢鍏充簬链嶅姟鍣ㄧ殑钖堥傞厤缃銆
浜屻佷笅杞戒簯鐩掑瓙浼佷笟绉佹湁浜戞湇锷″櫒瀹夎呭寘鍦ㄤ簯鐩掑瓙瀹樻柟缃戠珯涓嬭浇浜戠洅瀛愪紒涓氱佹湁浜戞湇锷″櫒瀹夎呭寘銆备簯鐩掑瓙瀹樻柟鎻愪緵Windows绯荤粺鍜孡inux绯荤粺镄勫畨瑁呭寘銆傚叾涓锛学indows绯荤粺瀹夎呭寘灞炰簬涓阌閮ㄧ讲锛岃繃绋嬬亩鍗曘侺inux绯荤粺瀹夎呭寘涓鍖呭惈Ubuntu绯荤粺锛岄渶瑕佷竴镣筁inux锘虹銆备竴鑸𨱒ヨ达纴Linux姣擶indows绋冲畾锛屼絾Windows瀵规妧链灏忕槠𨱒ヨ存洿鏄扑簬缁存姢銆
涓夈佽嚜琛岄儴缃叉垨鍗忓姪閮ㄧ讲濡傛灉鐢ㄦ埛链夎兘锷涜嚜琛岄儴缃诧纴鍒椤湪鍑嗗囧ソ镄勬湇锷″櫒涓婇儴缃蹭簯鐩掑瓙链嶅姟鍣ㄥ嵆鍙銆傚傛灉娌℃湁鑳藉姏锛屽彲钖戜簯鐩掑瓙瀹㈡湇瀵绘眰甯锷╋纴浼氩厤璐瑰畨鎺掓妧链鏀鎸佸府蹇欓儴缃层
鍒朵綔浜戠浉鍐屾庝箞锅氾纻
銆侀栧厛闇瑕佸叧娉ㄢ滃井浜戞敹钘忊濈殑寰淇″叕浼楀笎鍙枫
寰淇¢噷钬沧坊锷犳湅鍙嬧濓纴鎼灭储钬滃井浜戞敹钘忊濓纴镓惧埌涔嫔悗鍏虫敞銆
2銆佺涓娆′娇鐢ㄩ渶瑕佸拰QQ甯愬彿缁戝畾銆
缁戝畾鎴愬姛涔嫔悗灏卞彲浠ヤ娇鐢ㄤ简銆
3銆侀渶瑕佷缭瀛桦浘鐗囨椂锛岄暱鎸夐渶瑕佷缭瀛樼殑锲剧墖锛屼细寮瑰嚭涓涓瀵硅瘽妗嗭纴阃夋嫨钬沧洿澶气濓纴濡傛灉闇瑕佷缭瀛桦氩紶锛屽彲浠ラ夋嫨澶氩紶锛岀劧钖庣偣鍑诲彸涓嬭掆滀笁涓镣光濓纴寮瑰嚭涓涓瀵硅瘽妗嗭纴阃夋嫨钬滃井浜戞敹钘忊濄
浜戞岄溃镄勬惌寤哄强涓嫔彂锛
棣栧厛缁欐墍链夎惧囨帴绾块氱数锛岀涓姝ュ熀链涓婂拰鎴戜滑瀹夎呬紶缁烶C镞剁殑姝ラゆ槸涓镙凤纴灏辨槸缁欎簯妗岄溃镄勮繖浜涚‖浠惰惧囬兘鎺ュソ镓链夌殑鐢垫簮绾垮拰缃戠嚎杩欎簺锛岀‘瀹氭墍杩炴帴镄勬湇锷″櫒銆佷簯缁堢鍜屼氦鎹㈡満绛夎繖浜涚‖浠惰惧囩殑鐢甸兘鏄鎺ラ氱殑鍜岀绣缁滈兘鏄姝e父镄勚
绗浜屽畨瑁呬簯妗岄溃杞浠讹纴鎴戜滑鐭ラ亾浜戞岄溃闄や简链夋湇锷″櫒銆佷簯缁堢鍜屾樉绀哄櫒缃戠粶璁惧囱繖浜涚‖浠剁粍鎴愪箣澶栵纴杩樻湁涓涓閲嶈佺殑缁勬垚閮ㄥ垎灏辨槸绂归緳浜戞岄溃杞浠剁殑锛屾垜浠鍦ㄦ湇锷″櫒涓婂垱寤虹殑鐢ㄦ埛妗岄溃涓嬩竴姝ョ殑阃氲繃浜戠粓绔杩炴帴妗岄溃閮界讳笉寮浜戞岄溃杞浠剁殑銆傛墍浠ョ浜屾ユ垜浠杩橀渶瑕佸厛鍦ㄦ湇锷″櫒鍜屼簯缁堢涓婂畨瑁呬簯妗岄溃杞浠跺拰鍐椤叆鍗忚镄勚
绗涓夊湪链嶅姟鍣ㄤ笂鍒涘缓鐢ㄦ埛锛屾垜浠鐭ラ亾浜戞岄溃镄勬墍链夋暟鎹鍜岃繍绠楄繖浜涢兘鏄鍦ㄦ湇锷″櫒涓婅繘琛岀殑锛屼簯缁堢鏄涓嶈繘琛屾暟鎹镄勫瓨鍌ㄥ拰杩愮畻镄勶纴镓浠ユ垜浠闇瑕佸规湇锷″櫒杩涜岃櫄𨰾熷寲鍜屾岄溃铏氭嫙鍖栭厤缃锛屽湪链嶅姟鍣ㄤ笂镙规嵁鐢ㄦ埛闇瑕佸畨瑁呯粓绔鐢ㄦ埛浣跨敤镄勮櫄𨰾熸岄溃骞跺垱寤虹敤鎴凤纴钥屼笉鏄鍜孭C涓镙峰湪缁堢涓鍙颁竴鍙扮殑铡诲畨瑁呯殑銆
绗锲涘湪浜戠粓绔涓婄橱褰曚娇鐢锛屾寜浜戠粓绔镄勫紑链洪敭寮链猴纴鍦ㄤ簯缁堢镄勬樉绀虹晫闱涓婃垒鍒扮浉瀵瑰簲镄勬湇锷″櫒IP锏诲綍锛岀劧钖庤緭浜嗗凡缁忓垎閰嶅ソ镄勮处鍙峰瘑镰佺橱褰曞氨杩涘叆鎴戜滑镡熸倝镄刉indows绯荤粺鐣岄溃浜嗭纴钖庨溃镄勬搷浣滃熀链涓婂氨鍜屾垜浠浣跨敤浼犵粺镄凯C镞朵竴镙风殑浜嗐
铏界劧涓鐩撮兘鍦ㄨ翠簯妗岄溃镄勪娇鐢ㄤ綋楠屽拰浼犵粺镄勫熀链涓镙风殑锛屼絾鏄鐢变簬浠栦滑涓よ呬箣闂磋蒋纭浠剁粍鎴愪笉钖岋纴浠ュ强宸ヤ綔铡熺悊涓婄殑鍖哄埆锛屼簯妗岄溃鍜屼紶缁烶C鍦ㄥ畨瑁呮ラや笂杩樻槸链夊緢澶х殑鍖哄埆镄勚
E. 云服务器cloud-init初始化工具的使用与配置
[TOC]
在云平台中,创建云主机的时候希望能够对主机进行一些初始化操作,如配置ip,主机名,密码,ssh登录等。openstack上可以使用cloud-init进行初始化。
OpenStack虚拟机镜像指南
cloud-init 原理(执行的整个过程)
Cloud-init的认识和应用
cloud-init 是 linux 的一个工具,当系统启动时,cloud-init 可从 nova metadata 服务或者 config drive 中获取 metadata,完成包括但不限于下面的定制化工作:
cloud-init官方文档
官方配置参数参考
阿里云官方文档 安装cloud-init
前提条件
• 准备一台KVM机器,用于制作初始的centos7镜像
• 已为Linux云服务器绑定弹性IP。
• 已登录Linux云服务器。
• Linux云服务器的网卡属性为DHCP方式。
网卡配置文件为动态IP获取
配置ssh文件
在需要免密码登录的机器上执行下面命令,产生密钥对(controller节点上)
编辑配置文件 /etc/cloud/cloud.cfg
用微秒生成随机密码的命令
如果希望能够修改 instance 的 hostname(默认 instance 每次重启后 cloud-init 都会重新将 hostname 恢复成初始值),将 cloud_init_moles 列表中下面两项删除或注释掉:
(可选配置)在 /etc/cloud/cloud.cfg 文件中自定义网络配置
在cloud.cfg文件增加该配置之后,cloud-init不会管理/etc/sysconfig/network-scripts/下网络配置,需要自行管理。
建议提前配置好网卡配置文件为dhcp获取,否则在私有云上创建的实例可能会导致获取不到IP地址;原因是cloud-init中的自动配置网卡文件可能会导致mac地址不一致。
(可选配置)设置root用户密码
修改以下配置使得镜像创建的云服务器主机名不带.novalocal后缀且主机名称中可以带点号。
a. 执行如下命令,修改 __init__.py 文件
执行如下命令进入cloudinit/sources文件夹。
执行以下命令编辑Cloud-Init日志输出路径配置文件,设置日志处理方式handlers
检查Cloud-Init工具相关配置是否成功
执行以下命令,无错误发生,说明Cloud-Init配置成功
设置完成后关闭虚拟机,准备下一阶段生成镜像
如果对接ceph存储。可以把qcow2格式转换为raw格式的镜像再上传
Ceph缺点是不支持从qcow2格式的镜像引导,所以需要转换raw格式的镜像
将镜像上传到openstack的glance节点上(在controller节点上)
在ceph上查看镜像和glance池的数据
创建实例并查看cloud-init配置是否成功
虚拟机镜像需要确保安装了 cloud-init
OpenStack 提供了命令行参数--config-drive 用于配置是否在创建虚拟机时使用 config drive 机制
在/etc/nova/nova.conf中配置,直接使OpenStack计算服务在创建虚拟机时默认使用config drive 机制
注意