第一部分:IaaS雲計算基礎架構平台
服務器:先電
任務一、IaaS雲平台搭建
基礎環境:
1.使用命令行方式設置主機名,防火牆以及 SELinux 設置如下:
(1)設置控制節點主機名 controller;計算節點主機名:compute。
hostnamectl set-hostname controller
hostnamectl set-hostname compute
(2)各個節點關閉防火牆,設置開機不啟動。
systemctl stop firewalld.service
systemctl disable firewalld.service
(3)設置各個節點 selinux 狀態為 permissive。
vi /etc/selinux/config
SELINUX=permissive
2.使用命令查詢控制/計算節點的主機名。
hostname
3 .使用命令查詢控制/計算節點 selinux 的狀態。
getenforce
4 .在控制節點上通過 SecureFX 上傳兩個鏡像文件
CentOS-7-x86_64-DVD-1511.iso, XianDian-IaaS-v2.2.iso 到 opt 下,使用命 令創建/opt 下兩個目錄,並將以上鏡像文件分別掛載到上述兩個目錄下,並 使用命令查看掛載的情況(需顯示掛載的文件系統類型和具體的大小)。
mkdir /opt/centos /opt/iaas
mount -o loop CentOS-7-x86_64-DVD-1511.iso /opt/centos
mount -o loop XianDian-IaaS-v2.2.iso /opt/iaas
df-Th
5 .在控制節點上通過 SecureFX 上傳兩個鏡像文件
CentOS-7-x86_64-DVD-1511.iso, XianDian-IaaS-v2.2.iso 到 opt 下,通過命 令行創建兩個目錄,並將以上鏡像文件分別掛載到上述兩個目錄下。
mkdir /opt/centos /opt/iaas
mount -o loop CentOS-7-x86_64-DVD-1511.iso /opt/centos
mount -o loop XianDian-IaaS-v2.2.iso /opt/iaas
df-Th
6 .配置控制節點本地 yum 源文件 local.repo ,搭建 ftp 服務器指向存放 yum 源路徑;配置計算節點 yum 源文件 ftp.repo 使用之前配置的控制節點 ftp 作 為 yum 源,其中的兩個節點的地址使用主機名表示。使用 cat 命令查看上述 控制/計算節點的 yum 源全路徑配置文件。
[controller]
在/etc/yum.repos.d創建local.repo源文件
[centos]
name=centos
baseurl=file:///opt/centos
gpgcheck=0
enabled=1
[iaas]
name=iaas
baseurl=file:///opt/iaas-repo
gpgcheck=0
enabled=1
[root@controller ~]# cat /etc/yum.repos.d/local.repo
【compute】
在/etc/yum.repos.d創建ftp.repo源文件
[centos]
name=centos
baseurl=ftp://192.168.100.10/centos
gpgcheck=0
enabled=1
[iaas]
name=iaas
baseurl=ftp://192.168.100.10/iaas-repo
gpgcheck=0
enabled=1
# cat /etc/yum.repos.d/ftp.repo
7. 在控制節點和計算節點分別安裝 iaas-xiandian 軟件包,完成配置文件中基 本變量的配置,並根據提供的參數完成指定變量的配置。
yum install -y iaas-xiandian
vi /etc/xiandian/openrc.sh
傳送命令scp /etc/xiandian/openrc.sh 192.168.100.20:/etc/xiandian/
任務二、IaaS雲平台運維
1.按以下配置在雲平台中創建雲主機,完成本任務下的相關試題后關閉雲主 機。
雲主機:
(1)名稱:IaaS
(2)鏡像文件:Xiandian-IaaS-All.qcow2
(3)雲主機類型:4cpu、8G 內存、100G 硬盤
(4)網絡:網絡 1:int-net1,綁定浮動 IP
網絡 2:int-net2
注:該鏡像已安裝 IaaS 平台所有可能使用的組件,用於完成 IaaS 平台相關 運維操作題,必須按以上配置信息配置接入兩個網絡才能保證雲主機運行正常。
根據題目要求,連接相應的雲主機或各節點服務器,進行以下答題。
Nova運維:
1.修改雲平台中默認每個 tenant 的實例注入文件配額大小,並修改。
nova quota-class-show default
nova quota-class-update --instances 20 default
nova quota-class-show default
2.通過 nova 的相關命令創建雲主機類型,並查詢該雲主機的詳細信息。
nova flavor-create exam 1234 1024 20 2
nova flavor-show 1234
3.使用 nova 相關命令,查詢 nova 所有服務狀態。
nova service-list
4.修改雲平台中默認每個 tenant 的實例配額個數並查詢。
nova quota-class-show default
nova quota-class-update --instances 20 default
nova quota-class-show default
5.使用 nova 相關命令,查詢 nova 所有的監控列表,並查看監控主機的詳細 信息。
[root@controller ~]#nova hypervisor-list
[root@controller ~]#nova hypervisor-show controller
6.使用 grep 命令配合-v 參數控制節點/etc/nova/nova.conf 文件中有效的命令行覆蓋輸出到/etc/novaback.conf 文件。
7.此題可使用物理 iaas 環境,使用 nova 相關命令,啟動一個雲主機,雲主 機類型使用 m1.small,鏡像使用 CentOS_6.5_x86_64_XD.qcow2,雲主機名 稱為 examtest。
8.此題可使用物理 iaas 環境,使用 openstack 相關命令,啟動一個雲主機, 雲主機類型使用 m1.small,鏡像使用 centos6.5,雲主機名稱為 xxxtest,並 使用 openstack 命令查看此雲主機的詳細信息。
9.此題可使用物理環境,登錄 dashboard 界面,創建一台虛擬機,將該虛擬 機使用手動遷移的方式,遷移至另一個計算節點並查看。(controller 既是 控制也是計算)
10.登錄 iaas-all 雲主機,修改 nova 后端默認存儲位置。
11.修改相應的配置文件,使得 openstack 雲主機的工作負載實現所要求的性 能、可靠性和安全性。
12.配置 NFS 網絡存儲作為 nova 的后端存儲。
Cinder 運維:
1.使用分區工具,對/dev/vda 進行分區,創建一個分區,使用命令將剛創建 的分區創建為物理卷,然后使用命令查看物理卷信息。
**[root@cyw ~]# fdisk /dev/vda**
**Command (m for help): m**
**Command action**
** a toggle a bootable flag**
** b edit bsd disklabel**
** c toggle the dos compatibility flag**
** d delete a partition**
** g create a new empty GPT partition table**
** G create an IRIX (SGI) partition table**
** l list known partition types**
** m print this menu**
** n add a new partition**
** o create a new empty DOS partition table**
** p print the partition table**
** q quit without saving changes**
** s create a new empty Sun disklabel**
** t change a partition's system id**
** u change display/entry units**
** v verify the partition table**
** w write table to disk and exit**
** x extra functionality (experts only)**
**Command (m for help): p**
**Command (m for help): n**
**Partition type:**
** p primary (0 primary, 0 extended, 4 free)**
** e extended**
**Select (default p): p**
**Partition number (1-4, default 1): 1**
**First sector (2048-83873316, default 2048):**
**Using default value 2048**
**Last sector, +sectors or +size{K,M,G} (2048-83873316, default 83873316): 10240**
**Partition 1 of type Linux and of size 4 MiB is set**
2.使用命令查看當前卷組信息,使用命令創建邏輯卷,查詢該邏輯卷詳細信 息。
3.創建一個卷類型,然后創建一塊帶這個卷類型標識的雲硬盤,查詢該雲硬 盤的詳細信息。
4.通過命令行創建雲硬盤,將其設置為只讀,查詢該雲硬盤的詳細信息。
5.通過命令行創建雲硬盤,查詢該雲硬盤的詳細信息。
6.使用命令,對/dev/vda 分區,並把這個分區創建成物理卷,然后再把這個 物理卷加入到 cinder-volumes 卷組中,查看卷組詳情。
7.使用命令創建一個雲硬盤,然后通過 lvm 相關命令查看該雲硬盤的詳細信 息,最后通過 cinder 命令對這塊雲硬盤進行擴容操作,並查看詳細信息。
8.登錄 iaas 雲主機,使用命令對硬盤/dev/vda 進行分區,將這個分區創建為 物理卷並使用 pvs 查看,然后將這個物理卷添加到 cinder-volumes 卷組中並 使用 vgs 查看。
9 .登錄 controller 節點,創建雲主機,鏡像使用 centos6.5,flavor 使用 m1.medium,配置好網絡。然后給雲主機 iaas 掛載一個雲硬盤,使用這塊雲 硬盤,把雲主機 iaas 的根目錄擴容,最后在 iaas 雲主機上用 df -h 命令查看。
[root@controller ~]# lsblk
[root@controller ~]# vgs
[root@controller ~]# lvs
[root@controller ~]# pvcreate /dev/vda3
[root@controller ~]# vgextend VolGroup /dev/vda3
[root@controller ~]# vgs
[root@controller ~]# lVextend -L +5G /dev/mapper/VolGroup-lv_root
[root@controller ~]# df -h
[root@controller ~]# resize2fs /dev/mapper/volGroup-lv_root
[root@controller ~]# df -h
10 .登錄“iaas-all”雲主機,使用命令對磁盤/dev/vda 進行分區,然后使用命令, 創建 raid 磁盤陣列,最后將 md0 格式化為 ext4 格式並查看該磁盤陣列的 UUID。
12 .登錄“iaas-all”雲主機,查看 cinder 后端存儲空間大小,將 cinder 存儲空間 擴容 10 個 G 大小,最后查看 cinder 后端存儲空間大小。
13 .修改相應的配置文件,增加 cinder backup 后端備份。
14.配置 NFS 網絡存儲作為 cinder 的后端存儲。
Swift 運維:
3.使用 swift 相關命令,查詢 swift 對象存儲服務可以存儲的單個文件大小的 最大值。
6.登錄 IaaS 雲主機,創建 swifter 用戶,並創建 swift 租戶,將 swifter 用戶規 划到 swift 租戶下,賦予 swifter 用戶使用 swift 服務的權限,並通過 url 的方 式使用該用戶在 swift 中創建容器。
7.使用 url 的方式,用 admin 賬號在 swift 中創建容器,創建完之后用 url 的 方式查看容器列表。
8.配置 swift 對象存儲為 glance 的后端存儲,並查看。
KVM運維:
1.在物理雲平台查詢雲主機 IaaS 在 KVM 中的真實實例名,在計算節點使用
virsh 命令找到該實例名對應的 domain-id,使用該 domain-id 關閉雲主機 IaaS。
2.在物理雲平台查詢雲主機 IaaS 在 KVM 中的真實實例名,在計算節點使用
virsh 命令找到該實例名對應的 domain-id,使用該 domain-id 重啟雲主機 IaaS。
3.此題使用物理 iaas 平台。登錄 compute 節點,使用命令將 KVM 進程綁定 到特定的 cpu 上。
[root@controller ~]# ps -e|grep kvm
4.此題使用物理平台。登錄 controller 節點,調優 kvm 的 I/O 調度算法,centos7 默認的是 deadline,使用命令將參數改為 noop 並查詢。
5.此題使用物理 iaas 平台。登錄 controller 節點,使用 cat 命令,只查看當前
最后將大頁掛載到/dev/hugepages/上。
6.登錄 192.168.100.10/dashboard,創建一個雲主機。在雲主機所在的物理節 點,進入 virsh 交互式界面,調整虛擬機的內存大小,最后使用命令查看該 虛擬機的詳情。
7.KVM 網絡優化:讓虛擬機訪問物理網卡的層數更少,直至對物理網卡的 單獨占領,和物理機一樣的使用物理網卡,達到和物理機一樣的網絡性能。
網絡運維:
1.在控制節點安裝配置 JDK 環境。安裝完成后,查詢 JDK 的版本信息。
[root@controller ~]# java -version
2.在控制節點安裝配置 Maven 環境。安裝完成后,查詢 Maven 的版本信息。
[root@controller ~]# java -version
3 .繼續完成 OpenDaylight 的安裝,完成后使用 curl 命令訪問網頁
http://192.168.100.10:8181/index.html
[root@controller ~]# curl -i http://192.168.100.10:8181/index.html
4 .創建網橋 br-test,把網卡 enp9s0 從原網橋遷移到 br-test,查詢 openvswitch
的網橋信息和該網橋的端口信息。
5 .創建命名空間 ns。
6.在網橋 br-test 中創建內部通信端口 tap。
7.在命名空間 ns 中配置端口 tap 的地址為 172.16.0.10/24。
8.在命名空間中查詢端口 tap 的地址信息。
9.通過 openvswitch 手動運維 openstack 中虛擬主機的通訊信息。
數據加密:
前提:按要求配置靜態 fixed_key,使 cinder 和 nova 組件可以使用加密過的 Block Storage 卷服務,配置好之后,創建一個卷類型叫 luks,並把這個類型配置 為加密類型,cipher 使用“aes-xts-plain64”,key_size 使用“512”,control-location 使用“front-end”,Provider 使用“nova.volume.encryptors.luks.LuksEncryptor”。
1.使用命令查看卷類型列表和加密卷類型列表。
2.使用命令創建兩個卷,前者不加密,后者使用 luks 卷類型加密。然后查看 卷列表。
3 .使用命令創建兩個卷,前者不加密,后者使用 luks 卷類型加密。使用 nova 命令,創建一個雲主機,鏡像使用提供的 cirros 鏡像,然后使用命令分別將 創建的兩塊雲硬盤 attach 到雲主機上,最后使用 cinder list 查看。
4 .使用命令創建兩個卷,前者不加密,后者使用 luks 卷類型加密。使用 nova 命令,創建一個雲主機,鏡像使用提供的 cirros 鏡像,然后使用命令分別將 創建的兩塊雲硬盤 attach 到雲主機上,最后使用 strings 命令驗證數據卷的加 密功能。
負載均衡:
1.安裝完 neutron 網絡后,使用 neutron 命令查詢 lbaas 服務的狀態。(物理 環境)
2.使用負載均衡創建 nginx 資源池,使用 http 協議,選擇輪循負載均衡方式。 創建完成后添加 vip:nginx-vip,使用 http 協議,端口為 80,HTTP_COOKIE 會話持久化。使用 neutron 命令查詢資源池 nginx 詳細信息、nginx-vip 詳細 信息。
3.使用負載均衡創建 nginx 資源池,使用 http 協議,選擇輪循負載均衡方式。 創建完成后添加 vip:nginx-vip,使用 http 協議,端口為 80,HTTP_COOKIE 會話持久化。使用命令查看所創建資源池的 haproxy 配置文件。(物理環境)
[root@controller ~]# cd /var/lib/neutron/lbaas/
[root@controller lbaas]# cat /var/lib/neutron/lbaas/9412c907-99f5-401b-b5bc-0d1a7628387e/conf
global
daemon
user nobody
group haproxy
log /dev/log local0
log /dev/log local1 notice
stats socket /var/lib/neutron/lbaas/9412c907-99f5-401b-b5bc-0d1a7628387e/sock mode 0666 level user
defaults
log global
retries 3
option redispatch
timeout connect 5000
timeout client 50000
timeout server 50000
frontend 42aea3d2-84fb-4b15-97c7-cd56376fc360
option tcplog
bind 10.0.0.4:80
mode http
default_backend 9412c907-99f5-401b-b5bc-0d1a7628387e
option forwardfor
backend 9412c907-99f5-401b-b5bc-0d1a7628387e
mode http
balance roundrobin
option forwardfor[root@controller lbaas]#
防火牆:
1.防火牆規則創建,添加名為 icmp 的規則,拒絕所有源 IP、源端口、目的 IP、目的端口的 ICMP 規則。使用 neutron 命令查詢規則列表信息、詳細信 息。(物理環境)
[root@controller ~]# neutron firewall-rule-list
[root@controller ~]# neutron firewall-rule-show
2.防火牆創建,創建名為 nginx 的防火牆,添加防火牆規則 nginx-80,放行 所有源 IP、源端口、目的 IP、目的端口為 80 的規則。創建防火牆策略 nginx-policy,添加 nginx-80 規則。使用 neutron 命令查詢防火牆詳細信息、策略詳細信息、規則詳細信息。(物理環境)
[root@controller ~]# neutron firewall-show
[root@controller ~]# neutron firewall-policy-show
[root@controller ~]# neutron firewall-rule-show
Mariadb高可用:
1.申請兩台虛擬機,構建 mariadb 高可用數據庫集群,通過命令查詢集群狀 態。
2.申請兩台虛擬機,構建 mariadb 主從數據庫,通過命令查詢數據庫狀態。
3.配置 mariadb 高可用數據庫,並對集群數據庫進行運維操作。
系統排錯:
1.使用 awk 相關命令,查詢表格文件中以空格為分隔符,包含關鍵字“key” 的一行中第一個字段和最后一個字段的內容,以“,”作為間隔。
2.使用 sed 相關命令,顯示文件中第 10 行內容。
[root@controller ~]# sed -n '10,10p' cheng.txt
3.使用 sed 相關命令,替換文件中的關鍵詞“key”為“guanjianci”。
[root@controller ~]# sed -i "s/key/guanjianci/g" cheng.txt
4.使用 grep 相關命令,查詢顯示文件中以“[”開始並以“]”結束的所有行。
5.使用 grep 相關命令,查詢顯示文件中的包含關鍵詞“key”的行。
6 .登錄“iaas-all”雲主機,使用 curl 的方式,獲取 token 值,並使用該 token
值,獲取用戶信息。
7 .登錄“iaas-all”雲主機,使用 curl 的方式,獲取 token 值,並使用該 token
值,獲取指定用戶信息。
8 .登錄“iaas-all”雲主機,獲取 token 值,使用 curl 的方式,創建用戶並使用 命令查詢驗證。
9.在雲平台后台管理的過程中出現錯誤導致無法獲取鏡像信息,找出錯誤原
因,並進行修復。
10.在雲平台后台管理的過程中出現錯誤導致無法登錄數據庫,找出錯誤原 因,並進行修復。
11.在雲平台后台管理的過程中出現錯誤導致無法進行 keystone 驗證,找出 錯誤原因,並進行修復。
12.在雲平台后台管理的過程中對象存儲功能無法使用,找出錯誤原因,並 進行修復。
13.在雲平台后台管理的過程中塊存儲功能無法使用,找出錯誤原因,並進 行修復。
14.在雲平台后台管理的過程中無法上傳鏡像,找出錯誤原因,並進行修復。
15.在雲平台后台管理的過程中無法將雲硬盤掛載到雲主機上,找出錯誤原 因,並進行修復。
16.在雲平台后台管理的過程中無法獲取雲主機詳細信息,找出錯誤原因, 並進行修復。
17.在雲平台中創建雲主機過程中出現錯誤無法成功創建,找出錯誤原因, 並進行修復。
18.在雲平台后台管理的過程中發生錯誤,錯誤現象為無法創建可用的雲硬 盤,無法獲取雲主機信息,也無法將雲硬盤掛載到雲主機上。找出錯誤原因, 並進行修復。
19.搭建 Ceph 分布式集群存儲,配置 Ceph 作為 openstack 后端的統一存儲, 為 glance、nova、cinder、swift 提供存儲支持
