實驗一 Openstack的安裝及使用
本實驗openstack平台是在centos7系統中基於紅帽老師四步法安裝的,采用的是all-in-one模式,后續對opensstack進行了一些操作,主要是用戶和項目管理、網絡管理、鏡像管理、虛擬機管理和卷管理,很多問題還待解決,大家可以指正出來,互相學習。
實驗內容
實驗步驟
本實驗主要采用四步法在centos7中安裝Openstack平台,然后進行后續操作
四步法網頁
1、 需要設置好靜態IP,靜態變量設置方法參照以下網頁,可采用nat模式或
橋接模式,但是各有配置方法:
nat模式鏈接
橋接模式鏈接
2、 關閉selinux
# sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/sysconfig/selinux
# setenforce 0
3、 關閉防火牆
#systemctl status firewalld.service ---查看防火牆狀態
# systemctl stop firewalld.service ---關閉防火牆
# systemctl disable firewalld.service ---禁止防火牆開機啟動
出現問題:
pid已被鎖定,PID為xxxx的另一個程序正在運行
說明yum在鎖定狀態中。
可以通過強制關掉yum進程:
使用以下命令:
#rm -f /var/run/yum.pid
或者
#kill 2705
#kill -9 2705
#kill –s 9 2705
四步安裝法:
#sudo yum install –y https://www.rdoproject.org/repos/rdo-release.rpm
#sudo yum update –y
#sudo yum install –y openstack-packstack
#sudo packstack –allinone
該步驟需要花費1個小時左右,請耐心等待
出現問題1:一直停留在Testing if puppet apply is finished: 192.168.31.104_controller.pp [ - ]
解決方案:等待
出現問題2:
可以試一下以下命令,目前未解決,折騰了幾天,選擇重裝centos7系統,修改了配置。
解決方案:
#yum install python2-urllib3
#yum install python-keystoneclient
出現問題3:ERROR:cannot allocate memery
內存不足,需要修改配置,我的配置是
如果出現successfully,好的,恭喜你成功了!
然后我們需要登錄openstack平台啦,還是你之前設置的網卡IP
其中http://192.168.221.134/dashboard代表的是OpenStack的登錄地址,其中/root/keystonerc_admin放着登錄用戶名和密碼。
查看用戶名和密碼(username、password)
#cat /root/keystonerc_admin
打開以上網址進入網頁,登錄用戶名和密碼,如果能登錄成功就ok了
好家伙,我出現的是“Something went wrong“ 頭有些大
出現問題:
俺嘗試了好多方法,都沒用,重裝了(一把老淚),其中又采用了另外一種方法安裝,方案1 方案2但是到最后還是出現錯誤了,最后還是使用四步法安裝。大家可以參考這兩個網頁,非常詳細。
期間學到的一些東西,可跳過
在使用git更新或提交項目時候出現 "fatal: The remote end hung up unexpectedly " 原因是推送的文件太大。
那就簡單了,要么是緩存不夠,要么是網絡不行,要么牆的原因
特別是資源庫在國外的情況下。此問題可能由網絡原因引起。
方法1:
修改提交緩存大小為500M,或者更大的數字
#git config --global http.postBuffer 524288000
或
#git config --global http.postBuffer 1048576000
方法2:
配置git的最低速度和最低速度時間:
#git config --global http.lowSpeedLimit 0
或
#git config --global http.lowSpeedTime 999999 單位 秒
–global配置對當前用戶生效,如果需要對所有用戶生效,則用—system
親測有效
創建用戶
#source keystonerc_admin –--進入CLI模式(命令行模式)
#openstack user list ---查看用戶列表
#openstack catalog list ---列出認證服務目錄
#openstack project create Pro1 ---創建項目Pro1
#openstack project list ---列出所有當前可用的項目
#openstack quota show –default ---查看和編輯項目配額
(OpenStack 附帶默認配額,為項目提供配額限值。通過修改這些值,為項目提供更多資源)
# nova quota-class-update default--instances 15 將實例數量配額設置為15
創建用戶pp1、pp2
#openstack user create pp1
#openstack user create pp2
#openstack user list ---列出所有用戶
#openstack role list ---列出用戶角色
#openstack role create ro1 ---創建用戶角色ro1
分配用戶角色到現有用戶, 可通過openstack role add 命令為用戶添加角色
#openstack role add --project Pro1 --user pp2 ro1
使用openstack role assignment list 命令可列出分配至項目中某一用戶的用戶角:
#openstack role assignment list --project Pro1 --user pp2 –names
#openstack user delete pp1 ---刪除用戶pp1
#openstack user list ---查看所有用戶
網絡管理
創建網絡
#openstack network offer1
查看網絡列表
#openstack network list
創建子網
#neutron subnet-create offer1 --name small_offer1 192.168.1.0/24
#openstack subnet list ---查看網絡列表
鏡像管理
#glance-control all status ---查詢Glance服務狀態
#glance-api –version ---查詢glance-api版本
#glance-control –version ---查詢glance-control版本
啟動相關服務,並設置為開機啟動
#systemctl start openstack-glance-api.service openstack-glance-registry.service
下載CirrOS鏡像文件
#mkdir /tmp/images
#cd /tmp/images/
#wget http://download.cirros-cloud.net/0.3.2/cirros-0.3.2-x86_64-disk.img
(這里0.3.4版本也可以,可以復制網址查看)
遇到問題:wget拒絕連接,connection refused
解決方案:應該是網站禁止被爬,沒關系,在wget命令中添加一個參數 -e robots=off 就可以了
#wget -e robots=off http://download.cirros-cloud.net/0.3.2/cirros-0.3.2-x86_64-disk.img
查看文件信息
# file cirros-0.3.2-x86_64-disk.img
使用 QCOW2 磁盤格式, bare 容器格式上傳鏡像到鏡像服務並設置公共可見
# openstack image create "cirros" \
> --file cirros-0.3.4-x86_64-disk.img \
> --disk-format qcow2 --container-format bare \
> --public
創建成功后,可以登錄界面,查看鏡像信息,這是之前那個dashboard哈
也可以用命令行查看
# glance image-list ---查看鏡像列表
查看鏡像的詳細信息
參數可以是鏡像id或者鏡像名稱,因為我這里用同學電腦弄的,她也弄了這個鏡像名,所以這里我就用鏡像ID進行操作,后面也是一樣的。
# glance image-show f8b27992-c475-4530-881a-844f7ca395eb
刪除鏡像
#openstack image delete f8b27992-c475-4530-881a-844f7ca395eb
虛擬機管理
虛擬機管理參考網頁
openstack常用命令
我們一台虛擬機需要的東西不多,大小、鏡像、網絡以及安全組。所以我們就只需要查出這些配置信息,然后就可以創建虛擬機了,這里指定IP地址和生成節點。
下面這個操作理論上是可以用的,但是可能我的鏡像列表有一些重復項,所以沒有成功,可以靈活使用,奧利給!
#openstack flavor list ---查看flavor,我這里選擇m1.large
#openstack image list ---查看image,我這里選擇cirros
#openstack network list ---查看網絡id,我這里選擇public
#opensatck security group list ---查看安全組
#openstack keypair list ---獲取keypair
#nova service-list ---獲取compute的主機名和zone名稱
(neutron-server)[neutron@B-OPS-9-3 /]$ nova boot --flavor m1.large \ #flavor名字
--imagecirros \ #鏡像id
--nic net-id=d9d1d461-3789-4bd4-8d01-f887ecb4c63e \
--security-groups 5581f825-7075-4101-ab96-c7ad1e357249 \ #安全組ID
--availability-zone nova:localhost \ #在制定的區域:主機名啟動instance
ccwhy #新建虛擬機的名字
#nova list —查看虛擬機列表
#nova show ccwhy —查看虛擬機信息
好了,出錯了,等待一個有緣人
刪除虛擬機
#nova delete 74c8b9f7-341c-48c2-a8f1-417a4b5751c9
#nova list
為啥我這里沒有成功,就是那個我的虛擬機的狀態是創建失敗的,如果是active就是說明創建好了,基本步驟沒問題,可以參考上面虛擬機管理網頁進行操作。
卷管理
#cinder create --display-name empty-vol 10 ---創建空卷,命名為empty-vol
#openstack image list ---查看鏡像
#cinder list ---查看卷
#nova list
把卷掛載到虛擬機
#nova boot –image cirros –-flavor 1 cirros-vm
#nova volume-attach 9bbfd968-f130-4316-8a24-a8882879fdae 67dc2950-bc57-4b1d-82f4-e58d583711a8 /dev/vdb (名字有沖突,使用ID,前面那個ID是虛擬機ID,后面是新建卷的ID)
在虛擬機中卸載卷
#nova volume-detach 9bbfd968-f130-4316-8a24-a8882879fdae 67dc2950-bc57-4b1d-82f4-e58d583711a8
刪除卷完成
#cinder list
實驗結束!
中途我的centos7系統密碼找不回來了,使用如下鏈接重置centos7系統密碼
密碼重置網頁
程序員的路還很長,在一邊汲取的同時,也要一邊創造,奧利給!