47.IaaSインフラストラクチャプラットフォームの導入と運用

137071 ワード

IaaSクラウドコンピューティングインフラストラクチャプラットフォーム
1.基礎環境:
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/

2.Mysql構築:
1.                ,            iaas-install-mysql.sh             。
# time /usr/local/bin/iaas-install-mysql.sh

2.   root        ,         。

#  mysql -uroot -p000000
MariaDB [(none)]> show databases;

3.   root        ,   mysql    ,        。

#  mysql -uroot -p000000
MariaDB [(none)]> show databases;
MariaDB [(none)]> use mysql;
MariaDB [mysql]> show tables;

4.   root        ,   mysql    ,        ,      user        。
MariaDB [mysql]> select host,user,password from user;

3.Keystone構築:
1.       keystone    ,        keystone             。
iaas-install-keystone.sh
#  mysql -uroot -p000000
MariaDB [(none)]> use keystone;
MariaDB [keystone]> desc access_token;

2.      keystone      。
#  mysql -uroot -p000000
MariaDB [(none)]> use keystone;
MariaDB [keystone]> show tables;

3.      ,        。
#  source /etc/keystone/admin-openrc.sh   
#  openstack role list

4.      ,   admin     。
#  openstack project show admin

5.      ,        。
#  openstack user list

6.      ,   admin       。
#  openstack user show admin

7.      ,        。
#  openstack service list

8.        keystone               keystone.sql   ,           keystone.sql# mysqldump -uroot -p000000 keystone > keystone.sql
# du -h keystone.sql 

4.Glance構築:
1.               ,             iaas-install-glance.sh    glance   。      
CentOS_7.2_x86_64_XD.qcow2    glance      CentOS7.2,    qcow2。
#  iaas-install-glance.sh
#  source admin-openrc.sh (         )
# glance image-create --name "CentOS7.0" --disk-format qcow2  --container-format bare --progress <       /opt/images/centos_7-x86_64_xiandian.qcow2  

2.CentOS7.2        。
#  glance image-list
#  glance image-show 30ea40cb-62b6-4866-90bd-3ec7ef3d79eb (           id )

3.      ,         glance             。
#  systemctl status openstack-glance-registry.service openstack-glance-api.service

5.Nova構築:
1.            nova     ,            
iaas-install-nova-controller.sh、             iaas-install-nova-compute.sh,   nova   。
# iaas-install-nova-controller.sh
# iaas-install-nova-compute.sh

2.                     。
# nova hypervisor-list
+----+---------------------+-------+---------+
| ID | Hypervisor hostname | State | Status  |
+----+---------------------+-------+---------+
| 1  | compute             | up    | enabled |
| 2  | controller          | up    | enabled |
+----+---------------------+-------+---------+

3.         nova       。
# nova service-list

4.               。
# nova network-list

5.         nova          。
# nova quota-show
# nova host-list
# nova host-describe compute

6.Neutron構築:
1.            neutron     ,                 neutron   ,   neutron                ,      GRE   。
# iaas-install-neutron-controller.sh
# iaas-install-neutron-compute.sh
# iaas-install-neutron-controller-gre.sh
# iaas-install-neutron-compute-gre.sh

2.            neutron     ,                 neutron   ,   neutron                ,     VLAN   。
# iaas-install-neutron-controller-vlan.sh
# iaas-install-neutron-compute-vlan.sh

3.                 ,           。
#  neutron agent-list | cut - d"|" -f3,8,6

4.                   “binary”  。
# neutron agent-list | cut -c 119-160
# neutron agent-list | cut -d "|" -f 8
#  mysql -uroot -p000000
MariaDB [(none)]> use neutron;
MariaDB [neutron]> show tables;
MariaDB [neutron]> select 'binary' from agents;


5.             DHCP agent      。
# mysql -uroot -p000000
MariaDB [(none)]> use neutron;
MariaDB [neutron]> show tables;
MariaDB [neutron]> select id from agents where agent_type= 'DHCP agent';
[root@controller ~]# neutron agent-show 8631b6d5-1b70-4de1-a7d5-73b2d2a446ed

6.   ovs-vswitchd                       。
# ovs-vsctl list-br

7.   ovs-vswitchd                    br-ex         。
# ovs-vsctl list-ports br-ex

8.          ext-net,    ext-subnet,      IP        192.168.200.100 ~ 192.168.200.200192.168.200.1。          int-net1,    int-subnet1,      IP       10.0.0.100 ~ 10.0.0.20010.0.0.1;          int-net2,    int-subnet2,       IP       10.0.1.100 ~ 10.0.1.20010.0.1.1。      ext-router     ,      ext-net   ,        int-net1   ,       int-net1         。

# neutron net-create --router:external=true ext-net1
# neutron subnet-create --name ext-subnet1 --allocation-pool start=192.168.200.100,end=192.168.200.200 --gateway 192.168.200.1 --enable-dhcp --ip-version 4 ext-net 192.168.200.0/24
# neutron net-create int-net1
# neutron subnet-create --name int-subnet1 --allocation-pool start=10.0.0.100,end=10.0.0.200 --gateway 10.0.0.1 --ip-version 4 int-net1 10.0.0.0/24
# neutron net-create int-net2
# neutron subnet-create --name int-subnet2 --allocation-pool start=10.0.1.100,end=10.0.1.200 --gateway 10.0.1.1 --ip-version 4 int-net2 10.0.1.0/24
# neutron router-create ext-router
# neutron router-gateway-set 8d8ea5f2-895d-4e78-a40b-d444097c14dc//                           id ea3bf9b6-bb5e-400c-ae07-18755145268//  neutron net-list    name ext-net1   id
# neutron router-interface-add 8d8ea5f2-895d-4e78-a40b-d444097c14dc 4c5519fc-377b-4746-9aea-4dc93c4265b0//  neutron net-list    name ext-net1 sub-net  id

9.                   。
# neutron router-list
# neutron router-show 46c33de5-a148-46a2-9223-72eb6e56cb5c //    id 

10.                  ,            。
# neutron subnet-list
# neutron subnet-show 5130a772-60f9-4492-a9ea-2c3002812ba9
//   id 

11.                  。
# neutron net-list

7.Dashboard構築:
1.     iaas-install-dashboard.sh    dashboard   ,   curl        http://192.168.100.10/dashboard。
#   iaas-install-dashboard.sh
#   curl -i  http://192.168.100.10/dashboard

2.     iaas-install-dashboard.sh    dashboard   ,   chrome        admin          ,               。
http://192.168.100.10/dashboard/admin/info/

8.Heat構築:
1.             iaas-install-heat.sh    heat   。
# iaas-install-heat.sh

2.   heat     ,   stack   。
#  heat stack-list

3.      server.yml   ,        server.yml        mystack,          CentOS7.2、   int-net2。
# glance image-list
# nova network-list
# heat stack-create -f server.yml -P ImageId=CentOS7.2 -P NetID=int-net2 mystack(  )
# heat stack-create -f server.yml -P 0d234b90-f11c-4cf6-b298-9ecbb8e54b34=CentOS7.2 -P ce494d87-a05c-4575-bcba-d79c3bedae8d=int2-net mystack

4.    mystack     CREATE_COMPLETE        。
#   heat event-list mystack

5.    mystack        。
#  heat event-show mystack

9.Trove構築:
  :  trove      cinder swift
1.             iaas-install-trove.sh,         int-net1,       trove   ,   trove           。                。
# iaas-install-trove.sh
# mysql -uroot -p000000
MariaDB [(none)]> use trove;
MariaDB [(none)]>  show databases;

2.           MySQL_5.6_XD.qcow2     ,    mysql         ,                          。
#  glance image-create --name "mysql-5.6" --disk-format qcow2 --container-format bare --progress < /opt/images/MySQL_5.6_XD.qcow2
#  trove-manage datastore_update mysql ''
#  glance_id=$(glance image-list | awk '/ mysql-5.6 / { print $2 }')
#  trove-manage datastore_version_update mysql mysql-5.6 mysql ${glance_id} '' 1

3.            mysql-15G,       myDB、         user,    r00tme,    m1.small       trove      ,    mysql-1#  FLAVOR_ID=$(openstack flavor list | awk '/ m1.small / { print $2 }')
#  trove create mysql-1  ${FLAVOR_ID} --size 5 --databases myDB --users user:r00tme --datastore_version mysql-5.6 --datastore mysql

# trove list 

4.                ,      mysql          。
# mysql -uroot -p000000
> select version(); 

IaaSクラウドプラットフォームのメンテナンス
10.Rabbitmq運行メンテナンス:
1.               ,                  。
   :
(1)  :IaaS
(2)    :Xiandian-IaaS-All.qcow2
(3)     :4cpu、8G   、100G   
(4)  :   1int-net1,     IP
   2int-net2
 :       IaaS            ,     IaaS           ,                            。
      ,               ,      。

2.   rabbitmqctl      xiandian-admin,    admin。
#  rabbitmqctl add_user xiandian-admin admin
 
3.   rabbitmqctl           。
#  rabbitmqctl list_users

4.      xiandian-admin       ,             。
# rabbitmqctl set_permissions -p / xiandian-admin ".*" ".*" ".*"

5.   rabbitmqctl         。
#  rabbitmqctl cluster_status

6.      xiandian-admin      administrator   ,   。
#  rabbitmqctl set_user_tags xiandian-admin administrator
#  rabbitmqctl list_users

7.        xiandian-admin     ,             ,      xiandian-admin        。
# rabbitmqctl set_permissions -p / xiandian-admin ".*" ".*" ".*"
# rabbitmqctl list_user_permissions xiandian-admin

8.   rabbitmqctl   ,      ,         name,arguments, messages,memory。
#   rabbitmqctl list_queues

9.              memcache      ,   ps        memcahce      ,              、              、   memcache     。
# vi /etc/sysconfig/memcached
# ps -ef | grep memcached

10.   rabbitmq   ,          。

11.Mysql運行メンテナンス:
1.# mysql -uroot -p000000
MariaDB [(none)]> show variables like 'character_set_database';

2.   mysql             。
MariaDB [(none)]> select now();

3.   mysql     ,         。
MariaDB [(none)]> select user();

4.   mysql     ,   mysql          ,    mysql            。
MariaDB [(none)]> show variables like 'default_storage_engine';
MariaDB [(none)]> show engines;

5.      keystone,   user    local_user       ,u     user    ,lu     local_user    ,sql      neutron     enabled     0,       user    local_user   。
MariaDB [(none)]> use keystone;
MariaDB [keystone]> update user u,local_user lu set u.enabled=0 where u.id=lu.user_id and lu.name='neutron';

6.      keystone,   user    local_user       ,u     user    ,lu     local_user    ,       nova     enabled   ,      user    local_user   。
MariaDB [(none)]> use keystone;
MariaDB [keystone]> select u.enabled from user u,local_user lu where u.id=lu.user_id and lu.name='nova';

7.     ,       examuser,    000000,     mysql       user       。              “  ”“   ”“  ”“  ”     。
# mysql -uroot -p000000
MariaDB [(none)]> use mysql;
MariaDB [mysql]> create user 'examuser'@'localhost' identified by '000000';
MariaDB [mysql]> select Host,User,Password from user where User='examuser';
MariaDB [mysql]> grant select,insert,update,delete on *.* to 'examuser'@'localhost' identified  by '000000';

8.   iaas    ,   mysql    ,   keystone    ,              ,    id      。(              )
# mysql -uroot -p000000
MariaDB [(none)]> use keystone;
MariaDB [keystone]> select * from local_user order by id desc;

12.MongoDB運転次元
1.   iaas    ,   MongoDB    ,     ,   ceilometer    ,          ,         ,             。
[root@controller ~]# mongo   //     
> show dbs;      //     
> use ceilometer;      //     
> show collections;       //    
> show users;      //    
> use wjm
switched to db wjm    //    wjm    
> db.createCollection('wjm')
{ "ok" : 1 }                 //         

2.   iaas    ,   MongoDB    ,       ,        ,        ,           。
[root@controller ~]# mongo   //     
> use dancy     //    dancy    
switched to db dancy
> db.user.insert({"name": "dancy", "age": 23})    //       
WriteResult({ "nInserted" : 1 })     
> db.user.find()   //            : db.user.find() , find          (    )
{ "_id" : ObjectId("5cad7de3136f9fa15d2a9a8e"), "name" : "dancy", "age" : 23 }

3.   iaas    ,   MongoDB    ,       ,        ,        ,     ,      ,    ,         。
> use cyw;  //     
switched to db cyw
> db.createCollection("yunjisuan");
{ "ok" : 1 }
>db.yunjisuan.insert({"name":"chengyinwu","age":20,"jiguan":"qingyang"});        //    
WriteResult({ "nInserted" : 1 })
> db.yunjisuan.insert({"name":"zhufanyu","age":20});
WriteResult({ "nInserted" : 1 })
> db.yunjisuan.update({"name":"zhufanyu"},{"age":21});  //    
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.yunjisuan.find()      //        
{ "_id" : ObjectId("5cad8b903345be69b178b3d9"), "name" : "chengyinwu", "age" : 20, "jiguan" : "qingyang" }
{ "_id" : ObjectId("5cad8bbf3345be69b178b3da"), "age" : 21 }

4.   iaas    ,   MongoDB    ,       ,        ,        (           ),       ,                 ,              ,         。
> use zhangsan    //     
switched to db zhangsan
> db.createCollection("chengxuyuan")
{ "ok" : 1 }
> db.chengxuyuan.insert({"name":"yihao","age":100});
WriteResult({ "nInserted" : 1 })      //    (  )
> db.chengxuyuan.insert({"name":"yihao","age":100});
WriteResult({ "nInserted" : 1 })
> db.chengxuyuan.remove({"name":"yihao"})
WriteResult({ "nRemoved" : 2 })     //        
> db.dropDatabase()       //      
{ "dropped" : "zhangsan", "ok" : 1 }

5.   iaas    ,   MongoDB    ,       ,        ,        ,     ,                     。
> use cyw;  //     
switched to db cyw
> db.createCollection("yunjisuan");
{ "ok" : 1 }
>db.yunjisuan.insert({"name":"chengyinwu","age":20,"jiguan":"qingyang"});        //    
WriteResult({ "nInserted" : 1 })
> db.yunjisuan.insert({"name":"zhufanyu","age":20});
WriteResult({ "nInserted" : 1 })
> db.yunjisuan.update({"name":"zhufanyu"},{"age":21});  //    
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

> db.yunjisuan.find().sort({age:1})    //     age  

6.   iaas    ,   MongoDB    ,       ,        ,            ,   for   ,     i=1"_id" : i,"name" : "xiaoming""age" : "21"。       ,           ,                。
> use dhd;
switched to db dhd
> for(var i=1;i<10;i++){db.dhd.insert({_id:i,name:"xiaoming",age:21})}
WriteResult({ "nInserted" : 1 })
> db.dhd.find();
{ "_id" : 1, "name" : "xiaoming", "age" : 21 }
{ "_id" : 2, "name" : "xiaoming", "age" : 21 }
{ "_id" : 3, "name" : "xiaoming", "age" : 21 }
{ "_id" : 4, "name" : "xiaoming", "age" : 21 }
{ "_id" : 5, "name" : "xiaoming", "age" : 21 }
{ "_id" : 6, "name" : "xiaoming", "age" : 21 }
{ "_id" : 7, "name" : "xiaoming", "age" : 21 }
{ "_id" : 8, "name" : "xiaoming", "age" : 21 }
{ "_id" : 9, "name" : "xiaoming", "age" : 21 }

7.   iaas    ,   mongoimport   ,      ,    MongoDB               。      MongoDB    。               。 :PPG--    ;PTS--   ;FG%--      ;3P%--     ;MPG--      
mongoimport -d basketball -c player test.dat
use basketball
db.player.find({"MPG":{$gt:"35"},"PPG":{$gte:"20"},"PPG":{$lte:"25"}}).sort({"PTS":-1}) 

13.Keystone運用:
1.  keystone       testuser,    password。
#  source /etc/keystone/admin-openrc.sh
#  openstack user create --domain demo --password password testuser

2.  testuser       admin   ,     user#  openstack role add --project admin --user testuser user

3.        testuser          000000#  openstack user set --password 000000 testuser

4.   openstack        token  。
[root@controller ~]# openstack token issue

5.[root@controller ~]# mysql -uroot -p000000
MariaDB [(none)]> use keystone;
MariaDB [keystone]> select * from service;  //    
MariaDB [keystone]> select * from endpoint;  //    

6.[root@controller ~]# openstack service list

7.  keystone       testuser,    password,     ,        testuser     000000,    testuser      。
#  source /etc/keystone/admin-openrc.sh
#  openstack user create --domain demo --password password testuser
#  openstack user set --password 000000 testuser
[root@controller ~]# openstack user list
[root@controller ~]# openstack user show b4c59d24268c445da8e69ccb1ff826d8

8.  keystone       testuser,    password,     ,        testuser      down,    testuser      。
#  source /etc/keystone/admin-openrc.sh
#  openstack user create --domain demo --password password testuser

9.   keystone       HTTPS     。
[root@controller ~]# keystone-manage ssl_setup

14.Glance運行メンテナンス:
1.   glance        CentOS_6.5_x86_64_XD.qcow2        ,      testone,     openstack     ,          。
#  source /etc/keystone/admin-openrc.sh
#  glance image-create –name “testone” –disk-format qcow2 –container-format bare –progress < /opt/images/ CentOS_6.5_x86_64_XD.qcow2
# openstack image list
#  openstack image show id 

2.   glance           ,      testone,      testtwo,          CentOS_6.5_x86_64_XD.qcow2,     openstack          ,           checksum      。
#  glance image-create –name “testone” –disk-format qcow2 –container-format bare –progress < /opt/images/ CentOS_6.5_x86_64_XD.qcow2
#  glance image-create –name “testtwo” –disk-format qcow2 –container-format bare –progress < /opt/images/ CentOS_6.5_x86_64_XD.qcow2
# openstack image list
#  openstack image show id 

3.   iaas    ,   glance     ,    ,    CentOS_6.5_x86_64_XD.qcow2,    testone,     openstack              examimage,      openstack         。
#  source /etc/keystone/admin-openrc.sh
#  glance image-create --name "testone" --disk-format qcow2 --container-format bare --progress < /opt/images/CentOS_6.5_x86_64_XD.qcow2
#  openstack image set testone --name examimage
#  openstack image list
 

4    glance     ,    ,    CentOS_6.5_x86_64_XD.qcow2,     examimage,     openstack         ,             ,      lastone,         。
#  glance image-create --name "examimage" --disk-format qcow2 --container-format bare --progress < /opt/images/CentOS_6.5_x86_64_XD.qcow2
#  openstack image list
[root@controller ~]# openstack image set examimage --tag lastone
[root@controller ~]# openstack image show 315f8ebc-8ffb-43a2-8102-b84a40fafbaf

5.                ,       :
(1)   curl           ;
(2)   openstack         token  ;
(3)    awk     “|”        token      。

[root@controller ~]# source /etc/keystone/admin-openrc.sh
[root@controller ~]#curl -i -H "X-Auth-Token:`openstack token issue | awk -F '|' ' / id / {print $3}'`" http://controller:9292/v2/images

6.                 ,       :
(1ID     ;
(2)   openstack           ;
(3)   glance             ;
(4)    awk     “|ID[root@controller ~]# source /etc/keystone/admin-openrc.sh
[root@controller ~]#curl -i -H "X-Auth-Token:`openstack token issue | awk -F '|' ' / id / {print $3}'`" http://controller:9292/v2/images

7.   glance     ,           ,        ,    qemu              。
# cat /etc/glance/glance-api.conf

15.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   。
# grep -v '#' /etc/nova/nova.conf  > /etc/novaback.conf

7.        iaas   ,   nova     ,       ,         m1.small,     CentOS_6.5_x86_64_XD.qcow2,        examtest。
[root@controller ~]# nova start examtest

8.        iaas   ,   openstack     ,       ,         m1.small,     centos6.5,       xxxtest,     openstack              。
[root@controller ~]# openstack image list

9.         ,   dashboard   ,       ,               ,             。(controller          )
[root@compute~]#cd/var/lib/nova/instances/
[root@computeinstances]#ll
[root@computeinstances]#scp-r62b6ab26-7040-4a04-9456-23549a2a0ddb/root@controller:/var/lib/nova/instances/
[root@controller~]#cd/var/lib/nova/instances/
[root@controllerinstances]#ll
[root@controllerinstances]#chown-Rnova:nova62b6ab26-7040-4a04-9456-23549a2a0ddb/
MariaDB[(none)]>showdatabases;
MariaDB[(none)]>usenova;
MariaDB[nova]>updateinstancessethost='controller',node='controller'whereuuid='62b6ab26-7040-4a04-9456-23549a2a0ddb';
[root@controllerinstances]#systemctlrestartopenstack-nova-compute
[root@controllerinstances]#novastart62b6ab26-7040-4a04-9456-23549a2a0ddb

10.   iaas-all    ,   nova         。
[root@controller ~]# cd /var/lib/nova/instances/

11.         ,   openstack                  、       。
# /etc/neutron/neutron.conf

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.            ,         ,           。
Fdisk -l
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         。
[root@xiandian~]#fdisk/dev/vda
Command(mforhelp):n
Select(defaultp):p
Lastsector,+sectorsor+size{K,M,G}(104857600-209715199,default209715199):+10G
Command(mforhelp):w
root@xiandian~]#lsblk
[root@xiandian~]#partprobe
[root@xiandian~]#lsblk
[root@xiandian~]#pvcreate/dev/vda2
Device/dev/vda2notfound(orignoredbyfiltering).
[root@xiandian~]#vi/etc/lvm/lvm.conf
[root@xiandian~]#pvcreate/dev/vda2
Physicalvolume"/dev/vda2"successfullycreated
[root@xiandian~]#pvs
PVVGFmtAttrPSizePFree
/dev/vda2lvm2---10.00g10.00g
/dev/vda7cinder-volumeslvm2a--4.75g4.75g
[root@xiandian~]#vgextendcinder-volumes/dev/vda2
Volumegroup"cinder-volumes"successfullyextended
[root@xiandian~]#vgs
VG#PV#LV#SNAttrVSizeVFree
cinder-volumes200wz--n-14.74g14.74g

13	.         ,   cinder backup     。


14.   NFS        cinder      。

Swift運行維持:
1.       swift     ,        ,            。
[root@controller ~]# source /etc/keystone/admin-openrc.sh
[root@controller ~]# swift stat     //      
[root@controller ~]# swift post test   //    
[root@controller ~]# swift list --lh      //      
2.   swift     ,      ,              。

[root@controller ~]# swift post test   //    
[root@controller ~]# swift stat     //       

3.   swift     ,   swift                       。

4.   swift     ,      ,              (         ),     ,        。
[root@controller ~]# swift post test   //    
[root@controller ~]# dd if=/dev/zero of=/tmp/example-500Mb bs=1M count=500
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 0.380656 s, 1.4 GB/s
[root@controller ~]# swift list --lh      //      

5.   iaas    ,   openstack   ,      ,   ,       (     )      ,   。
[root@controller ~]# swift post test   //    
[root@controller ~]# dd if=/dev/zero of=/tmp/example-500Mb bs=1M count=500
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 0.380656 s, 1.4 GB/s
[root@controller ~]# swift list --lh      //      

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/
[root@xiandian ~]# echo 20 > /proc/sys/vm/nr_hugepages  
[root@xiandian ~]# grep Huge /proc/meminfo            
AnonHugePages:   1067008 kB
HugePages_Total:      20
HugePages_Free:       20
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB6.   192.168.100.10/dashboard,       。            virsh      ,          ,          
[root@controller~]#virsh
virsh#dominfoinstance-000000fd
virsh#setmeminstance-000000fd5242880
virsh#dominfoinstance-000000fd

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 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 

Ceilometer運用次元:
1.   ceilometer     ,          。
[root@controller ~]# ceilometer meter-list

2.   ceilometer     ,                 。

[root@controller ~]# ceilometer meter-list -q resource_id=a55e5bda-2a94-471e-a773-3ed65259b85b

3.   ceilometer     ,        。

[root@controller ~]# ceilometer event-list
4.   ceilometer     ,      。
[root@controller ~]# ceilometer resource-list

5. ceilometer                     。              。

1)   :cpu_hi
2)       :cpu_util
3)   :70.0
4)      :  
5)      :   
6)   :600s
7)      :3
8 URL 'log://'
9)   :resource_id=INSTANCE_ID

# ceilometer alarm-threshold-create --name cpu_hi --meter-name cpu_util --threshold 70.0 --comparison -operator gt --statistic avg --period 600 --evaluqtion-periods 3 --alarm-action 'log://' --query resource_id=INSTANCE_ID

6.   ceilometer     ,           。

[root@controller ~]# ceilometer alarm-list

7.   ceilometer     ,                。

[root@controller ~]# ceilometer alarm-history (id )
8.   ceilometer     ,               。

[root@controller ~]# ceilometer alarm-update --enabled False

9.   ceilometer     ,         ,           
# ceilometer alarm-delete -a   id
10.   Ceilometer     ,           ,     Ceilometer


Heat運維:
1.   heat     ,   heat        。
[root@controller ~]#   heat service-list
2.   heat     ,             。
[root@controller ~]# heat resource-type-list   //         
[root@controller ~]# heat resource-type-show OS::Nova::ServerGroup  //       
3.   heat     ,   heat        。
[root@controller ~]# heat template-version-list
4.   heat     ,   heat            。
[root@controller ~]# heat template-function-list
5.        server.yml      heat   stack,   glance     
centos7,     int-net1。   stack     。

# glance image-list
# nova network-list
# heat stack-create -f server.yml -P ImageId=CentOS7.2 -P NetID=int-net2 mystack(  )
# heat stack-create -f server.yml -P 0d234b90-f11c-4cf6-b298-9ecbb8e54b34=CentOS7.2 -P ce494d87-a05c-4575-bcba-d79c3bedae8d=int2-net mystack

6.   server.yml   ,     yml        mystack,        centos6.5,     int-net1,      ,     mystack       CREATE_COMPLETE      。
#   heat event-list mystack

7.     server.yml       ,      。       heat         test-heat   stack,   glance      centos7,     int-net1。    stack     。

#  heat event-show mystack

データ暗号化:
  :        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、   、   IPICMP   。   neutron           、     。(    )
[root@controller ~]# neutron firewall-rule-list
[root@controller ~]# neutron firewall-rule-show
2.     ,     nginx     ,        nginx-80IP、   、   IP80    。        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”                    , “,”    。
# awk -F “” ‘$1~/key/{print $NF}’ cheng.txt  

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