虛擬機中搭建雲伺服器
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 機制
注意