|
|
(未顯示同一使用者於中間所作的 21 次修訂) |
行 1: |
行 1: |
− | [[檔案:20141216.pptx]]
| + | <font size=3><b>★OpenStack雲端虛擬主機服務介紹與操作★<br></b></font> |
− | | + | 請至 http://wiki.dd.ncu.edu.tw/mediawiki/index.php/OpenStack_Training |
− | | |
− | 一、Ubuntu設定、更新並下載套件<br>
| |
− | 1. 增加本機名稱<br>
| |
− | $ sudo vim /etc/hosts<br>
| |
− | 127.0.0.1 localhost<br>
| |
− | 127.0.1.1 ubuntu14<br><br>
| |
− |
| |
− | 2. 增加DNS server(此步可省略)<br>
| |
− | $ sudo vim /etc/resolv.conf<br>
| |
− | nameserver 140.115.1.31<br><br>
| |
− |
| |
− | 3. 更新系統<br>
| |
− | $ sudo apt-get update<br>
| |
− | $ sudo apt-get upgrade<br><br>
| |
− |
| |
− | 4. 使用root身分<br>
| |
− | $ sudo -s<br><br>
| |
− |
| |
− | 5. 安裝openstack api client端套件<br>
| |
− | # apt-get install -y python-keystoneclient<br>
| |
− | # apt-get install -y python-glanceclient<br>
| |
− | # apt-get install -y python-neutronclient<br>
| |
− | # apt-get install -y python-novaclient<br>
| |
− | # apt-get install -y python-cinderclient<br><br>
| |
− |
| |
− | 二、設定環境變數<br>
| |
− | 1. 改回一般user身分<br>
| |
− | # exit或按ctrl-D<br><br>
| |
− |
| |
− | 2. 編輯.openrc檔案 ,設定環境變數<br>
| |
− | $ vim .openrc
| |
− | export OS_USERNAME=center65
| |
− | export OS_PASSWORD=center65
| |
− | export OS_TENANT_NAME=center65-project
| |
− | export OS_AUTH_URL=http://140.115.17.183:5000/v2.0
| |
− |
| |
− | $ source .openrc
| |
− |
| |
− | | |
− | 三、網路資訊及設定<br>
| |
− | 1. 查看網路、子網路、路由器
| |
− | $ neutron net-list
| |
− | $ neutron subnet-list
| |
− | $ neutron router-list
| |
− |
| |
− | 2. 產生網路、子網路、路由器
| |
− | $ neutron net-create my-net
| |
− | $ neutron subnet-create --name my-subnet --dns-nameserver 8.8.8.8 my-net 10.5.5.0/24
| |
− | $ neutron router-create my-router
| |
− |
| |
− | 3. my-router加入內部網路卡介面
| |
− | $ neutron router-interface-add my-router my-subnet
| |
− |
| |
− | 4. 查看外網
| |
− | $ neutron net-external-list
| |
− |
| |
− | 5. my-router設定外網閘道
| |
− | $ neutron router-gateway-set my-router cloud-net
| |
− |
| |
− | 6. 查看my-router路由器網路卡介面
| |
− | $ neutron router-port-list my-router
| |
− |
| |
− | 四、建立虛擬機前的準備動作<br>
| |
− | 1. 查看有哪些樣版
| |
− | $ nova flavor-list
| |
− |
| |
− | 2. 查看有哪些映像檔
| |
− | $ glance image-list
| |
− |
| |
− | 3. 查看有哪些密鑰對
| |
− | $ nova keypair-list
| |
− |
| |
− | 4. 產生公鑰(前面有講解過)
| |
− | $ ssh-keygen
| |
− |
| |
− | 5. 新增密鑰對
| |
− | $ nova keypair-add --pub-key ~/.ssh/id_rsa.pub my-key
| |
− |
| |
− | 6. 查看安全性群組
| |
− | $ nova secgroup-list
| |
− |
| |
− | 7. 新增allow-remote安全群組
| |
− | $ nova secgroup-create allow-remote "Allow SSH/RDP"
| |
− |
| |
− | 8. 允許22與3389port通過防火牆
| |
− | $ nova secgroup-add-rule allow-remote tcp 22 22 0.0.0.0/0
| |
− | $ nova secgroup-add-rule allow-remote tcp 3389 3389 0.0.0.0/0
| |
− |
| |
− | 五、建立虛擬機<br>
| |
− | 1. 指令
| |
− | $ nova boot --flavor m1.small --image ubuntu-14.04-x86_64 \
| |
− | --security-groups allow-remote \
| |
− | --key-name my-key \
| |
− | --nic net-id=$(nova net-list | awk '/ my-net / { print $2 }') \
| |
− | my-instance
| |
− |
| |
− | 2. 寫成一行
| |
− | $ nova boot --flavor m1.small --image ubuntu-14.04-x86_64 --security-groups allow-remote --key-name my-key --nic net-id=$(nova net-list | awk '/ my-net / { print $2 }') my-instance
| |
− |
| |
− | 六、取得IP<br>
| |
− | 1. 查看有哪些浮動IP
| |
− | $ neutron floatingip-list
| |
− |
| |
− | 2. 取得IP
| |
− | $ neutron floatingip-create cloud-net
| |
− |
| |
− | 3. 將剛才要的浮動IP,與instance聯結
| |
− | $ nova floating-ip-associate my-instance 140.115.0.30
| |
− |
| |
− | 七、新增儲存空間<br>
| |
− | 1. 查看有哪些儲存空間
| |
− | $ cinder list
| |
− | $ cinder quota-show $(keystone token-get | awk '/ tenant_id / { print $4 }')
| |
− |
| |
− | 2. 新增儲存空間
| |
− | $ cinder create --display-name='vdisk' 1
| |
− |
| |
− | 3. 掛載儲存空間
| |
− | $ nova volume-attach my-instance xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx(識別號)
| |
− |
| |
− | 八、查詢開啟虛擬機console的url<br>
| |
− | $ nova get-vnc-console my-instance novnc
| |
− |
| |
− | 九、透過sprac主機遠端連線<br>
| |
− | ssh ubuntu@140.115.0.30
| |
− |
| |
− | 十、其他補充<br>
| |
− | 1. 可以查看更多指令
| |
− | $ nova help|more
| |
− |
| |
− | 2. 查看有哪些instance
| |
− | $ nova list
| |
− |
| |
− | 3. instance 停止
| |
− | $ nova pause my-instance
| |