分类 linux 下的文章

lsof(list open files)是一个查看当前系统文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述符,该文件描述符提供了大量关于这个应用程序本身的信息。

lsof打开的文件可以是:

  1. 普通文件
  2. 目录
  3. 网络文件系统的文件
  4. 字符或设备文件
  5. (函数)共享库
  6. 管道,命名管道
  7. 符号链接
  8. 网络文件(例如:NFS file、网络socket,unix域名socket)
  9. 还有其它类型的文件,等等

- 阅读剩余部分 -

物理机一般都有专用的带外管理模块, 提供web管理页, 同时提供基于IPMI协议的远程管理接口.
相对来说, web管理页提供的功能更丰富, 但是不便于远程管理.而基于IPMI协议的远程管理接口更能满足这种需求.

在linux上实现该协议的工具是ipmitool命令,可以控制物理机的:

  • 开机
  • 关机
  • 重启
  • 查看机器当前的通电状态
  • 修改IPMI的网络和IP地址
  • 修改bios设置

安装 ipmitool

REHL/CentOS

yum -y install ipmitool

Debian/Ubuntu

apt -y install ipmitool

- 阅读剩余部分 -

类似VirtualBox的虚拟机捕获到鼠标后,某些情况下将不能通过移动鼠标来切换窗口,导致无法控制host主机,对于virtualBox一般是使用右Ctrl快捷键来将光标切换到host.

而对于virt-manager的虚拟机console一样存在这个问题,早期窗口标题栏无退出快捷键提示信息,光标被捕获后,如果不能退出来,你一定会抓狂^_^.
较新的版本已经将快捷键提示在标题栏了,默认快捷键为左CTRL+左ALT.

- 阅读剩余部分 -

我们经常在开源的一些Python代码中看到 *args**kwargs 这样函数参数定义, 到底他们是含义? 又如何使用呢?

在回答这个问题前,我们先来介绍下, Python 参数传递的方式.

函数定义中的 *args**kwargs

在Python中,参数总是通过赋值传递的, 俗称值传递, 在默认情况下, 参数是通过其位置进行匹配的, 但是Python也是支持关键字的参数匹配形式的.

按位置进行匹配

这是Python的默认行为,通过其位置进行匹配, 从左到右,必须精确的传递和函数头部参数名一样多的参数。这种方式我们平常用的最多,比如:

def foo(a, b, c):
    print(a, b, c)

foo(1, 2, 3)

- 阅读剩余部分 -

使用OpenStack计算服务来托管和管理云计算系统。OpenStack计算服务是基础设施即服务(IaaS)系统的主要部分,模块主要由Python实现。

OpenStack计算组件请求OpenStack Identity服务进行认证;请求OpenStack Image服务提供磁盘镜像;为OpenStack dashboard提供用户与管理员接口。磁盘镜像访问限制在项目与用户上;配额以每个项目进行设定(例如,每个项目下可以创建多少实例)。OpenStack组件可以在标准硬件上水平大规模扩展,并且下载磁盘镜像启动虚拟机实例。

OpenStack计算服务由下列组件所构成:

nova-api 服务

接收和响应来自最终用户的计算API请求。此服务支持OpenStack计算服务API,Amazon EC2 API,以及特殊的管理API用于赋予用户做一些管理的操作。它会强制实施一些规则,发起多数的编排活动,例如运行一个实例。

nova-api-metadata 服务

接受来自虚拟机发送的元数据请求。nova-api-metadata服务一般在安装nova-network服务的多主机模式下使用。更详细的信息,请参考OpenStack管理员手册中的链接Metadata servicein the OpenStack Administrator Guide。

- 阅读剩余部分 -

这个部分将描述如何在控制节点上安装和配置 Compute 服务,即 nova。

先决条件

在安装和配置 Compute 服务前,你必须创建数据库服务的凭据以及 API endpoints。

  1. 为了创建数据库,必须完成这些步骤:

    • 用数据库连接客户端以 root 用户连接到数据库服务器:
    $ mysql -u root -p
    • 创建 nova_api 和 nova 数据库:
    CREATE DATABASE nova_api;
    CREATE DATABASE nova;

- 阅读剩余部分 -

这部分描述如何在计算节点上安装并配置计算服务。计算服务支持多种虚拟化方式 hypervisors to deploy instances or VMs. For simplicity, this configuration uses the QEMU hypervisor with the :term:KVM <kernel-based VM (KVM)>计算节点需支持对虚拟化的硬件加速。对于传统的硬件,本配置使用generic qumu的虚拟化方式。你可以根据这些说明进行细微的调整,或者使用额外的计算节点来横向扩展你的环境。

这部分假设你已经一步一步的按照之前的向导配置好了第一个计算节点。如果你想要配置额外的计算节点,像:ref:example architectures <overview-example-architectures>部分中第一个计算节点那样准备好。每个额外的计算节点都需要一个唯一的IP地址。

安装并配置组件

默认配置文件在各发行版本中可能不同。你可能需要添加这些部分,选项而不是修改已经存在的部分和选项。另外,在配置片段中的省略号(...)表示默认的配置选项你应该保留。
  1. 安装软件包:
# yum install openstack-nova-compute

- 阅读剩余部分 -

平常我们都会上网上去下载一些操作系统的ISO文件或者一些其他官方软件,为了确保和官网下载的文件严格一致,也避免被篡改,我们需要检验文件的完整性.
通常官方在发布时,都会对文件生成MD5的Hash校验码,以便使用, 对与各个Linux发行版本,一般都集成有 md5sum 生成和校验工具, 该程序是 coreutils包的一部分.

接下来我们看看 md5sum 的使用方式.

计算文件MD5值

计算文件MD5值,较简单, 格式为 md5sum filename, 这里已 gentoominimal 安装iso文件为例:

# md5sum install-amd64-minimal-20170907.iso 
bff7c5c8ea05d64804ab018d46a7fe02  install-amd64-minimal-20170907.iso

- 阅读剩余部分 -