參考:html
1.http://blog.csdn.net/svmachine/article/details/51523709ubuntu
2.http://wutou.blog.51cto.com/615096/1862488centos
方法一:安全
一.環境準備服務器
Vmware12.0
OS:Ubuntu-16.04桌面版
製做鏡像版本:ubuntu-16.04.1-server-amd64.iso(服務器版)
查看是否支持虛擬化(有輸出表明支持,不然在BIOS頁面中設置,虛擬機的話設置vmware便可):網絡
egrep -o '(vmx|svm)' /proc/cpuinfo
二.安裝kvmssh
sudo apt-get install qemu-kvm libvirt-bin kvm qemu virt-manager bridge-utils
其中:virt-manager爲GUI管理窗口,bridge-utils:用於網絡橋接。工具
三.測試環境是否安裝成功開發工具
- KVM是否安裝成功
kvm-ok
- 驗證KVM內核是否加載成功
lsmod | grep kvm
- 證明KVM正常運行
virsh -c qemu:///system list
以上具體步驟查看:http://www.aboutyun.com/thread-9356-1-1.html測試
四。製做鏡像
- 首先是在pc上建立一塊空鏡像,這塊鏡像用做虛擬機的硬盤,因此請保證留出你所需的空間的大小:
qemu-img create -f qcow2 server.img 20G
-
下載Ubuntu原鏡像文件,能夠去官網
下載地址:http://pan.baidu.com/s/1dF8ufbN -
將下載的iso文件置入某個文件夾,啓動KVM一個虛擬機實例。您將看到安裝過程的開始。鍵入以下命令,它將在端口0開放VNC服務(192.168.155.4是個人本機IP):
sudo kvm -m 1024 -cdrom Ubuntu-14.04.4-server-amd64.iso -drive file=server.img,if=virtio,index=0 -boot d -net nic -net user -nographic -vnc 192.168.155.4:0
- 安裝(直接使用vncviewer會提示找不到命令,安裝gvncviewer)
apt-get install gvncviewer
- 使用0這個展現端口連入虛擬機的VNC,並完成安裝。
gvncviewer 192.168.155.4:0
-
虛擬機界面如圖(按平時安裝操做系統同樣安裝完成就行):
-
安裝結束後,經過以下命令查看虛擬機(製做的鏡像):
sudo kvm -m 1024 -drive file=server.img,if=virtio,index=0 -boot c -net nic -net user -nographic -vnc 192.168.155.4:0
- 若是上面沒有安裝openssh-server,能夠進行以下操做:
sudo apt-get update sudo apt-get upgrade sudo apt-get install openssh-server cloud-init
至此OpenStack使用的鏡像製做完成,能夠直接在openstack中使用,製做的鏡像地址以下:http://pan.baidu.com/s/1boMvdgj
方法二:
參考:
1.http://www.cnblogs.com/CloudMan6/p/6397360.html
2.http://www.jianshu.com/p/9ade0ba91a21
這是 OpenStack 實施經驗分享系列的第 1 篇。
OpenStack 的 instance 是經過 Glance 鏡像部署的,因此準備鏡像是必需要作的工做。本節介紹 Linux 鏡像的製做方法,後面還會討論 Windows 鏡像。
下載clould 鏡像
最簡單的方法是使用標準鏡像。主流的Linux發行版都提供能夠在 OpenStack 中直接使用的cloud鏡像,下載地址:
CentOS6:http://cloud.centos.org/centos/6/images/
CentOS7:http://cloud.centos.org/centos/7/images/
Ubuntu14.04:http://cloud-images.ubuntu.com/trusty/current/
Ubuntu16.04:http://cloud-images.ubuntu.com/xenial/current/
下面以Ubuntu16.04爲例演示如何將標準鏡像導入 Glance。
建立Glance鏡像
登陸 OpenStack,打開 「項目->Compute->鏡像」菜單。
點擊「建立鏡像」按鈕。
在建立頁面填寫鏡像相關信息,其中包括:
-
鏡像名稱爲「Ubuntu 16.04」
-
「鏡像源」選擇「鏡像文件」
-
點擊「選擇文件」定位Ubuntu 16.04的Cloud image文件xenial-server-cloudimg-amd64-disk1.img
-
「鏡像格式」選擇「QCOW2」
-
最小磁盤填寫「20」,這至關於設置instance啓動盤的最小容量
-
勾選「共有」選擇框,這樣全部Project均可以使用該鏡像
點擊「建立鏡像」按鈕,開始上傳鏡像。完成後,新的鏡像將出如今鏡像列表上。
定製鏡像
cloud 鏡像是標準鏡像,沒有圖像界面,是美國時區,並且只能經過密鑰登陸。能夠根據須要對該鏡像進行定製,其方法是:
-
經過 cloud 鏡像部署出一個實例。
-
定製該實例。
-
建立該實例的快照,該快照將保存在Glance中。
-
之後經過該快照部署新的實例。
下面咱們以CentOS標準鏡像爲例演示定製鏡像的每一個步驟,定製內容包括:添加圖形界面,設置中國時區,設置ssh密碼登陸等。
1. 經過cloud鏡像部署出一個實例
進入 「項目->Compute->鏡像」菜單,點擊鏡像「CentOS6」後面的「啓動雲主機」按鈕。
命名爲「centos6-vm」。
由於cloud鏡像默認是經過密鑰對訪問,點擊「訪問&安全」標籤,選擇事先建立好的密鑰對「template」。
點擊「運行」, centos6-vm部署成功。
在「項目->Compute->訪問&安全」菜單中管理密鑰對。「template」就是在這裏建立的。也支持已有的密鑰對。
在建立密鑰時下載並保管好私鑰文件template.pem,下面經過此文件登陸centos6-vm。
ssh -i <key-path>/template.pem centos@172.17.24.97
而後切換到root用戶:
sudo su –
2. 定製該實例
設置中國時區
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
設置yum 源
由於要安裝圖形等相關包,yum源需提早準備好(固然也能夠用官網的源)。而後編輯 /etc/yum.repos.d/CentOS-Base.repo
若是是CentOS7,內容以下:
安裝開發工具和圖形界面
CentOS6安裝以下包:
yum groupinstall "Desktop"
yum groupinstall "X Window System"
yum groupinstall "Development tools"
CentOS7安裝以下包:
yum groupinstall "Server with GUI"
yum groupinstall "GNOME Desktop"
yum groupinstall "Development Tools"
設置系統默認啓動圖形界面
CentOS6,編輯 /etc/inittab,
CentOS7,執行 systemctl set-default graphical.target
設置 root密碼
設置root密碼默認爲「passw0rd」
容許root 經過密碼ssh登陸
編輯 /etc/ssh/sshd_config,做如下修改。
重啓ssh服務
service sshd restart
修改 /etc/cloud/cloud.cfg
cloud image都是用 cloudinit 初始化instance,好比配置網絡,extend 系統盤等,cloudinit 全部的配置都寫在/etc/cloud/cloud.cfg,下面的配置將容許 root 經過password ssh 登陸。
至此,centos6-vm已經能夠啓動圖形界面,而且能夠用密碼經過ssh登陸了。
安裝cloud-utils-growpart(CentOS 6 only)
cloudint 會用到這個軟件管理磁盤分區,由於 CentOS6 cloud image 中沒有安裝,因此這裏須要手工安裝。下載地址:https://pkgs.org/centos-6/epel-x86_64/cloud-utils-growpart-0.27-10.el6.x86_64.rpm/download/
rpm -Uvh cloud-utils-growpart-0.27-10.el6.x86_64.rpm
3. 建立新鏡像
咱們在instance中完成了定製工做,接下來對instance作個快照,生成新的鏡像。點擊「centos6-vm」後面的「建立快照」按鈕。
爲快照命名。
點擊「建立快照」。
4. 部署新實例
點擊「啓動雲主機」經過快照部署新的實例。
點擊「運行」,實例部署成功。
能夠看到,該實例已經啓動了圖形界面,而且root能夠經過ssh密碼登陸。
將 snapshot 轉化爲 image(可選)
Glance鏡像有兩類:image和snapshot,前面經過對instance作快照建立的鏡像類型爲 snapshot,有時候可能會以爲不太方便,能夠將snapshot轉化爲image。
以 CentOS 6.7n爲例,能夠直接glance image-create命令經過將其轉化爲image類型。步驟以下:
1. 在其詳細信息裏面記錄下ID爲:228f7bdc-fcf1-4f6a-8a7a-298b86f9e94b
2. 該鏡像默認存放於控制節點 /var/lib/glance/images/228f7bdc-fcf1-4f6a-8a7a-298b86f9e94b。
3. 執行glance image-create建立新的鏡像。
glance image-create --name "CentOS 6.7" --file 228f7bdc-fcf1-4f6a-8a7a-298b86f9e94b --disk-format qcow2 --container-format bare --is-public true --progress
4. 新建立的鏡像類型爲image。
簡單使用OpenStack建立實例
做者 2010jing
2017.05.06 19:21* 字數 617 閱讀 531評論 4喜歡 4
在搭建好的OpenStack環境,建立虛擬機。
登陸OpenStack
login-openstack.png
根據本身的帳號信息登陸。
登陸進去以後,查看網絡是這樣子的。
main-network.png
因爲IP 有限,不可以給到用戶直接將多個VM 掛載在該網絡上,得由用戶自行建立子網,建立路由,而後經過申請Floating IP來訪問內網建立的VM。
建立子網
Network -- > Network Topology -- > Create Network
create-subnet.png
create-subnet-info-0.png
create-subnet-info.png
輸入子網的一些信息
Network Name: demo
Subnet Name: demo_subnet
Network Address: 10.0.1.0/24
再查看網絡 就能夠看到建立的子網demo(橙色)
created-subnetwork.png
建立路由
Network -- > Routers -- > Create Router
create-router.png
create-router-info-0.png
路由信息
Router Name: demo-router
External Network: ext_net
此時效果是這樣的
created-router.png
給路由添加接口
Network -- Router -- Interfaces -- Add Interface
add-router-interface.png
Select Subnet: demo_subnet
add-router-interface-info-1.png
效果以下
add-router-interface-info-2.png
建立VM實例
Compute -- Instances -- Launch Instance
create-instance.png
Name: demo(隨意)
Count:1
create-instance-1.png
Source: Ubuntu
create-instance-2.png
Flavor: typical
create-instance-3.png
Network
Network: demo
create-instance-4.png
Configuration
#!/bin/sh passwd ubuntu<<EOF 123456 123456 EOF sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/g' /etc/ssh/sshd_config service ssh restart
這個配置很重要,不然建立VM後,你只能在網頁端的console去訪問,網頁端實在太慢太卡,不大建議,很不方便。固然你也可使用key pair, 可是這樣你得在你要使用的電腦上有xxx.pem的文件。本人仍是渴望方便一點,直接SSH 帳號密碼登陸。
命令簡單解釋:
passwd ubuntu 是更改 ubuntu帳號密碼,由於openstack 提供的ubuntu 鏡像,默認建立帳號是ubuntu。
這兩個 123456 是你的密碼 和 確認密碼,自行更改。
用sed 命令更改配置文件 容許密碼認證登陸。
最後就是要重啓一下SSH服務。
create-instance-5.png
最後點擊 Launch Instance.
Launch-Instance-1.png
Launch-Instance-2.png
這樣,一個VM實例就建立出來。
綁定Floating IP
由於建立的VM是連接在你的子網內,外網不能夠直接訪問,這個時候須要給路由綁定Floating IP,才能夠從外網訪問你的VM。
Associate Floating IP
floating-ip-1.png
floating-ip-2.png
floating-ip-3.png
floating-ip-4.png
測試SSH訪問
可能一開始並不可以訪問,由於沒有在安全組添加規則。咱們須要開通一下,添加規則就好。
rule-1.png
ALL ICMP - Ingress
rule-2.png
rule-3.png
SSH
rule-4.png
rule-5.png
添加完畢以後,就開始測試了。
$ ssh ubuntu@192.168.9.15
192.168.9.15 是你對應VM的 Floating IP
ssh-2.png
重複上面的操做,再建立兩個VM。
other-vm.png
這樣咱們就能夠經過Floating IP 去訪問其餘虛擬機。
ssh-3.png
ssh-4.png