汇总一些有用的vim快捷键, 以便平常在使用vim的时候更加有效率.

简写说明

  • C-a --> Ctrl + a
  • M-a --> Alt + a

一般操作

  • :q 关闭vim
  • :w 保存更改内容
  • :wa[!] 保存所有windows[强制]
  • :x 保存更改内容,并退出,等价于 wq
  • :q! 强制退出,若文档有变更,将丢弃变更内容

- 阅读剩余部分 -

在安装其他服务之前确认身份认证服务的操作。

注解
在控制节点上执行这些命令。
  1. 因为安全性的原因,关闭临时认证令牌机制:

编辑 /etc/keystone/keystone-paste.ini 文件,从[pipeline:public_api],[pipeline:admin_api][pipeline:api_v3]部分删除admin_token_auth 。

  1. 重置OS_TOKENOS_URL 环境变量:
$ unset OS_TOKEN OS_URL

- 阅读剩余部分 -

身份认证服务为每个OpenStack服务提供认证服务。认证服务使用 T domains, projects (tenants), :term:users<user>和 :term:roles<role>的组合。

  1. 创建域default
$ openstack domain create --description "Default Domain" default
+-------------+----------------------------------+
| Field       | Value                            |
+-------------+----------------------------------+
| description | Default Domain                   |
| enabled     | True                             |
| id          | e0353a670a9e496da891347c589539e9 |
| name        | default                          |
+-------------+----------------------------------+

- 阅读剩余部分 -

这一章描述如何在控制节点上安装和配置OpenStack身份认证服务,代码名称keystone。出于性能原因,这个配置部署Fernet令牌和Apache HTTP服务处理请求。

先决条件

在你配置 OpenStack 身份认证服务前,你必须创建一个数据库和管理员令牌。

  1. 完成下面的步骤以创建数据库:

    • 用数据库连接客户端以 root 用户连接到数据库服务器:
    mysql -u root -p
    • 创建 keystone 数据库:
    CREATE DATABASE keystone;
    • 对keystone数据库授予恰当的权限:
    GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' \
    IDENTIFIED BY 'KEYSTONE_DBPASS';
    GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' \
    IDENTIFIED BY 'KEYSTONE_DBPASS';

    用合适的密码替换 KEYSTONE_DBPASS 。

    • 退出数据库客户端。

- 阅读剩余部分 -

身份认证服务提供服务的目录和他们的位置。每个你添加到OpenStack环境中的服务在目录中需要一个 service 实体和一些 API endpoints 。

先决条件

默认情况下,身份认证服务数据库不包含支持传统认证和目录服务的信息。你必须使用:doc:keystone-install 章节中为身份认证服务创建的临时身份验证令牌用来初始化的服务实体和API端点。

你必须使用–os-token参数将认证令牌的值传递给:command:openstack 命令。类似的,你必须使用–os-url 参数将身份认证服务的 URL传递给 openstack 命令或者设置OS_URL环境变量。本指南使用环境变量以缩短命令行的长度。

警告
因为安全的原因,,除非做必须的认证服务初始化,不要长时间使用临时认证令牌。
  1. 配置认证令牌:
$ export OS_TOKEN=ADMIN_TOKEN

- 阅读剩余部分 -

我们可以使用环境变量和命令选项的组合通过openstack客户端与身份认证服务交互。为了提升客户端操作的效率,OpenStack支持简单的客户端环境变量脚本即OpenRC 文件。这些脚本通常包含客户端所有常见的选项,当然也支持独特的选项。更多信息,请参考OpenStack End User Guide

创建脚本

创建 admin 和 demo项目和用户创建客户端环境变量脚本。本指南的接下来的部分会引用这些脚本,为客户端操作加载合适的的凭证。

  1. 编辑文件 admin-openrc 并添加如下内容:
export OS_PROJECT_DOMAIN_NAME=default
export OS_USER_DOMAIN_NAME=default
export OS_PROJECT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=ADMIN_PASS
export OS_AUTH_URL=http://controller:35357/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2

- 阅读剩余部分 -

Debian/Ubuntu系列发行版, 自动化安装技术使用proseed file来定义安装过程的选项,这块内容在前面的文章中,也详细介绍过, 可以参见 PXE系列文章(6)-TFTP 工作目录配置.

而当你有一个存储设备已经分区,并格式化的存储设备, 在这样的设备安装启动 Ubuntu Installer 按照 preseed file的选项一步一步完成安装的过程中, 出现下面选项提示

following disks have mounted partitions

- 阅读剩余部分 -

什么是索引?

索引是一种数据结构,可以帮助我们快速的进行数据的查找.

如何为表字段添加索引?

  1. 添加PRIMARY KEY(主键索引)
ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` )
  1. 添加UNIQUE(唯一索引)
ALTER TABLE `table_name` ADD UNIQUE ( `column` )
  1. 添加INDEX(普通索引)
ALTER TABLE `table_name` ADD INDEX index_name ( `column` )

- 阅读剩余部分 -

在常规的网络环境中,大量使用DHCP,比如我们家用的路由器,办公网络的无限AP,我们在这样的网络环境中,仅需将网卡配置为动态获取IP地址即可。而在生产环境,我们需要将IP地址分配到特定的资源,以便让环境的使用保持固定,这样我们就需要配置服务器的固定IP地址。因为Windows环境基于图形操作相对较简单,这里我们介绍下 Linux 各个发行版本的网卡配置流程。

实验环境准备了一台虚拟机,有两个网卡enp0s3/enp0s8, 这里我们选择 enp0s8 作为我们的实验网卡来操作, 在配置网卡之前, 我们还要知道网络的一些信息,我这里的网络网段是 192.168.56.0/24, 可分配的IP地址范围为 192.168.56.2~192.168.56.254, 去掉头尾网关地址和广播地址, 网络的掩码地址为 255.255.255.0, 网关为 192.168.56.1, 我们从可用IP范围中选择 192.168.56.10 作为我们的虚拟机的网卡 IP 地址, 目标配置的网卡为 enp0s8.

REHL/CentOS

REHL/CentOS 的网卡配置文件 /etc/sysconfig/network-scripts/ifcfg-enp0s8, 该文件如果不存在, 创建该文件即可.

- 阅读剩余部分 -

转换 VirtualBox vdi 镜像文件格式为 KVM qcow2文件相对比较简单, 转换过程中, 我们需要依赖 raw 格式,转换不凑如下:

  1. 转换前必须保证虚拟机是关机状态
  2. 使用 VBoxManage 将 vdi 格式转换为 raw 格式
    注意: vdi是压缩文件格式, raw为非压缩文件格式, 需要留下足够的磁盘空间.
VBoxManage clonehd --format RAW vm.vdi vm.img

- 阅读剩余部分 -