目录
- 云计算归档:
- 3.云技术基础架构服务平台搭建
- 3.1基础环境搭建:
- 3.2控制节点安装glance镜像服务
- 3.3控制节点安装nova计算服务控制端
- 3.4计算节点安装nova计算服务agent端
- 3.5控制节点安装neutron网络服务
- 3.6计算节点安装neutron网络服务
- 3.7在计算节点上安装dashboard服务
- 3.8增加一个计算节点 compute2--->ip:10.0.0.32
- 3.9glance镜像服务的迁移
- 4.0安装cinder块存储服务
- 4.1增加flat网段
- 4.2cinder对接nfs后端存储
- 4.2.1cinder对接Glusterfs存储
- 4.3实例的冷迁移
- 4.4cloud-init为云环境中虚拟机的初始化定制【配置元数据代理】
@
云计算归档:
1.了解:
linux 网卡bond
2.KVM命令:
1.日常管理:
virsh list
virsh list --all
virsh start centos7 #启动服务器
virsh shutdown centos7 #关机比较慢
virsh destroy centos7 #强制关机
virsh reboot centos7 #重启
virsh undefine centos7_1 #删除的是系统的配置文件
virsh define vm_centos7.xml #导入配置文件
virsh edit centos7 #修改配置文件
virsh suspend web01 #挂起虚拟机
virsh resume web01 #恢复虚拟机
virsh vncdisplay web01 #查看服务器的端口号
virsh autostart web01 #开机自启动服务器
virsh autostart --disable web01 #取消开机启动
ll /etc/libvirt/qemu/autostart/ #开机启动软链接地址
#配置服务器console:
grubby --update-kernel=ALL --args="console=ttyS0,115200n8"
reboot 重启
virsh console web01 #console实现控制台登录
sysctl -a |grep ipv4|grep ip_forward #开启内核转发参数
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
sysctl -p #立即生效
qemu-img info test.qcow2 #查看虚拟磁盘的信息
qemu-img info /opt/web01.raw #查看raw格式的磁盘
qemu-img create -f qcow2 test.qcow2 1G #创建一块qcow2格式的虚拟磁盘
qemu-img resize test.qcow2 +2G #扩容磁盘容量
time qemu-img convert -f raw -O qcow2 test.raw test.qcow2 #转换磁盘格式(raw-->qcow2)
2.快照管理:
virsh snapshot-create-as web02 --name clean_system #创建快照
virsh snapshot-list web02 #查看快照
virsh snapshot-revert web02 --snapshotname clean_system #还原快照
virsh snapshot-delete web02 --snapshotname clean_system #删除快照
3.虚拟机克隆
4.1完整克隆
virt-clone --auto-clone -o web01 -n web02
4.2手动完整克隆
cp web01.qcow2 web02.qcow2
virsh dumpxml web01 >web02.xml
vim web02.xml
#修改虚拟机的名字
#删除虚拟机uuid
#删除mac地址
#修改磁盘路径
virsh define web02.xml
virsh start web02
4.3链接克隆
qemu-img create -f qcow2 -b web02.qcow2 web03.qcow2 #生成虚拟机磁盘文件
virsh dumpxml web01 >/etc/libvirt/qemu/web03.xml #生成配置文件
#修改虚拟机的名字
#删除虚拟机uuid
#删除mac地址
#修改磁盘路径
virsh define /etc/libvirt/qemu/web03.xml #导入虚拟机
virsh start web03 #启动虚拟机
brctl show #查看交换设备
4.桥接网卡
5.1创建桥接网卡
virsh iface-bridge eth0 br0
5.2取消桥接网卡
virsh iface-unbridge br0
5.热添加
6.1临时添硬盘
virsh attach-disk web01 /data/web01-add.qcow2 vdb --subdriver qcow2
6.2永久添加
virsh attach-disk web01 /data/web01-add.qcow2 vdb --subdriver qcow2 --config
6.3临时剥离硬盘
virsh detach-disk web01 vdb
6.4永久剥离硬盘
virsh detach-disk web01 vdb --config
6.5临时热添加内存
virsh setmem web04 1024M
6.6永久增大内存
virsh setmem web04 1024M --config
6.7调整虚拟机内存最大值
virsh setmaxmem web04 4G
6.热迁移
7.1临时迁移
virsh migrate --live --verbose web04 qemu+ssh://10.0.0.11/system --unsafe
7.2永久迁移
virsh migrate --live --verbose web03 qemu+ssh://10.0.0.100/system --unsafe --persistent --undefinesource
3.云技术基础架构服务平台搭建
3.1基础环境搭建:
1.准备两台内存为8G的服务器,以及挂载光盘镜像[都做]
1.1全部做hosts解析
10.0.0.11 controller
10.0.0.31 compute1
1.2挂载光盘
mount /dev/cdrom /mnt
echo "mount /dev/cdrom /mnt" >>/etc/rc.local
chmod +x /etc/rc.local
2.搭建本地Yum仓库[都做]
[root@controller yum.repos.d]# cat openstack.repo
[openstack]
name=openstack
baseurl=file:///opt/repo
gpgcheck=0
[local]
name=local
baseurl=file:///mnt
gpgcheck=0
3.时间同步
controller节点配置ntp服务端:
vim /etc/chrony.conf
allow 10.0.0.0/24
systemctl restart chronyd
systemctl enable chronyd
4.其他节点配置ntp客户端:
vim /etc/chrony.conf
server 10.0.0.11 iburst
systemctl restart chronyd
5.所有节点安装openstack客户端
yum install python-openstackclient -y
6.控制节点安装数据库并配置
yum install mariadb mariadb-server python2-PyMySQL -y
vi /etc/my.cnf.d/openstack.cnf
[mysqld]
bind-address = 10.0.0.11
default-storage-engine = innodb
innodb_file_per_table
max_connections = 4096
collation-server = utf8_general_ci
character-set-server = utf8
systemctl start mariadb
systemctl enable mariadb
mysql_secure_installation
先回车,选择N,剩下的一路y
7.控制节点安装消息队列
yum install rabbitmq-server -y
systemctl start rabbitmq-server.service
systemctl enable rabbitmq-server.service
rabbitmqctl add_user openstack RABBIT_PASS
rabbitmqctl set_permissions openstack ".*" ".*" ".*"
8.控制节点安装memcache并配置
yum install memcached python-memcached -y
vim /etc/sysconfig/memcached
OPTIONS="-l 0.0.0.0"
systemctl start memcached.service
systemctl enable memcached.service
9.控制节点安装keystone服务
a:准备数据库
mysql>
CREATE DATABASE keystone;
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' \
IDENTIFIED BY 'KEYSTONE_DBPASS';
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' \
IDENTIFIED BY 'KEYSTONE_DBPASS';
b:安装keystone相关软件包
yum install openstack-keystone httpd mod_wsgi -y
c:配置keystone
vi /etc/keystone/keystone.conf
[DEFAULT]
admin_token = ADMIN_TOKEN
[assignment]
[auth]
[cache]
[catalog]
[cors]
[cors.subdomain]
[credential]
[database]
connection = mysql+pymysql://keystone:KEYSTONE_DBPASS@controller/keystone
[domain_config]
[endpoint_filter]
[endpoint_policy]
[eventlet_server]
[eventlet_server_ssl]
[federation]
[fernet_tokens]
[identity]
[identity_mapping]
[kvs]
[ldap]
[matchmaker_redis]
[memcache]
[oauth1]
[os_inherit]
[oslo_messaging_amqp]
[oslo_messaging_notifications]
[oslo_messaging_rabbit]
[oslo_middleware]
[oslo_policy]
[paste_deploy]
[policy]
[resource]
[revoke]
[role]
[saml]
[shadow_users]
[signing]
[ssl]
[token]
provider = fernet
[tokenless_auth]
[trust]
#MD5校验
[root@controller opt]# md5sum /etc/keystone/keystone.conf
d5acb3db852fe3f247f4f872b051b7a9 /etc/keystone/keystone.conf
d:同步数据库
su -s /bin/sh -c "keystone-manage db_sync" keystone
e:初始化fernet
keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
f:配置httpd
echo "ServerName controller" >>/etc/httpd/conf/httpd.conf
echo 'Listen 5000
Listen 35357
<VirtualHost *:5000>
WSGIDaemonProcess keystone-public processes=5 threads=1 user=keystone group=keystone display-name=%{GROUP}
WSGIProcessGroup keystone-public
WSGIScriptAlias / /usr/bin/keystone-wsgi-public
WSGIApplicationGroup %{GLOBAL}
WSGIPassAuthorization On
ErrorLogFormat "%{cu}t %M"
ErrorLog /var/log/httpd/keystone-error.log
CustomLog /var/log/httpd/keystone-access.log combined
<Directory /usr/bin>
Require all granted
</Directory>
</VirtualHost>
<VirtualHost *:35357>
WSGIDaemonProcess keystone-admin processes=5 threads=1 user=keystone group=keystone display-name=%{GROUP}
WSGIProcessGroup keystone-admin
WSGIScriptAlias / /usr/bin/keystone-wsgi-admin
WSGIApplicationGroup %{GLOBAL}
WSGIPassAuthorization On
ErrorLogFormat "%{cu}t %M"
ErrorLog /var/log/httpd/keystone-error.log
CustomLog /var/log/httpd/keystone-access.log combined
<Directory /usr/bin>
Require all granted
</Directory>
</VirtualHost>' >/etc/httpd/conf.d/wsgi-keystone.conf
g:启动httpd
systemctl start httpd
systemctl enable httpd
h:初始化keystone
export OS_TOKEN=ADMIN_TOKEN
export OS_URL=http://controller:35357/v3
export OS_IDENTITY_API_VERSION=3
###千万不能重复!!!
openstack service create --name keystone --description "OpenStack Identity" identity
openstack endpoint create --region RegionOne identity public http://controller:5000/v3
openstack endpoint create --region RegionOne identity internal http://controller:5000/v3
openstack endpoint create --region RegionOne identity admin http://controller:35357/v3
##创建域,项目,用户,角色
openstack domain create --description "Default Domain" default
openstack project create --domain default --description "Admin Project" admin
openstack user create --domain default --password ADMIN_PASS admin
openstack role create admin
openstack role add --project admin --user admin admin
openstack project create --domain default --description "Service Project" service
unset OS_TOKEN OS_URL